Лампа-будильник Alex Gyver'а на адресных светодиодах и esp8266. Добавление в Home Assistant, Apple Home Kit, интеграция с Алисой и Node-RED

02 августа 2019, 20:59

Содержание:

Не так давно наткнулся на очень интересный проект Alex Gyver'a "Лампа-будильник на адресных светодиодах". Проект мне очень понравился, решил собрать себе такую лампу! Это отличный и уникальный декор, возможность использовать в сценариях и оповещениях. Кто еще не посмотрел ролик - ссылка ниже, обязательно посмотрите. 

Собрался в Леруа, закупил плафон и пару ПВХ труб :)

Светодиодной матрицы у меня небыло, зато была катушка адресной свтодиодной ленты (которая ждала своего часа) и желание все спаять. Светодиоды самоклеящиеся, перед поклейкой важно хорошо обезжирить поверхность. Я использовал изопропиловый спирт "Калоша", которым обычно оттираю флюс. На всю сборку ушел всего один вечер, проект не сложный, время проходит незаметно. После сборки возник вопрос интеграции в систему управления умным домом. К сожалению у Алекса это не было предусмотрено, поэтому я решил реализовать это самостоятельно. Возник вопрос, каким спососбом это сделать. Было по большому счету два варианта: написать собственный компонент/плагин либо добавить платформу-посредник,  поддерживаемую большинством систем домашней автоматизации, например, MQTT. Я выбрал второй вариант т.к. в этом случае лампу можно будет интегрировать сразу во все системы домашней автоматизации. Home Assistant довольно популярен в последнее время, поэтому я решил акцент сделать именно на нем. 

1600x_image.png?1564779594

Подключаем все по схеме Alex'а: 

1600x_image.png?1564779433

По совету aurodionov в качестве подставки использовал основу датчика дыма, получилось на мой взгляд неплохо, достаточно аккуратно и устойчиво. Можно было еще улучшить, сняв немного боковые зубчики, однако их не особо заметно при использовании, поэтому решил оставить как есть для лучшей надежности. 

1600x_image.png?1570258811

Добавление в Home Assistant

Доработанная прошивка позволяет с легкостью добавить лампу Gyver'а в Home Assistant, используя встроенный механизм MQTT Discovery - лампа просто появится в списке устройств после указания адреса вашего MQTT сервера.  Для функций масштабирования и скорости необходимо добавить дополнительные настройки в Home Assistant:

В файле configuration.yaml

input_number:
  speed:
    name: Speed
    initial: 30
    min: 0
    max: 255
    step: 1

  scale:
    name: Scale
    initial: 30
    min: 1
    max: 100
    step: 1

В файле automations.yaml

- alias: Gyver Speed
  trigger:
    platform: state
    entity_id: input_number.speed
    
  action:
    - service: mqtt.publish
      data_template:
        topic: homeassistant/light/ESP-3dc22b/effect/speed/set
        payload_template: "{{ trigger.to_state.state | int }}"
    
- alias: Gyver Scale
  trigger:
    platform: state
    entity_id: input_number.scale
    
  action:
    - service: mqtt.publish
      data_template:
        topic: homeassistant/light/ESP-3dc22b/effect/scale/set
        payload_template: "{{ trigger.to_state.state | int }}"

3dc22b - необходимо заменить на уникальный ID чипа ESP8266, он будет виден в названии лампы и в entity_id в конце строки после знака подчеркивания, а также на портале первоначальной конфигурации. Настройка MQTT сервера проводится в wi-fi менеджере при первом запуске. Для этого создается открытая точка доступа с именем, начинающимся с ESP. Нужно указать адрес MQTT сервера, имя пользователя и пароль для доступа к вашему MQTT серверу.

В первый раз надо прошить, полностью стерев ESP8266, в последующем можно обновлять прошивку через сетевой порт - я добавил такую возможность. 

Если вы уже подключили к ESP8266 светодиодную ленту, перед прошивкой обязательно подключите внешнее питание, иначе есть риск спалить USB порт вашего компьютера. 

Добавление в Home Bridge и Apple HomeKit

Как я уже говорил, с поддержкой MQTT брокера лампу стало возможно интегрировать во все системы управления умным домом, поддерживающих платформу MQTT. Если у вас еще не установлен MQTT брокер, необходимо его установить. Как это сделать - описано в статье - просто переходим до места "Установка MQTT брокера Mosquitto" и делаем все по инструкции. Там описана установка без пароля, при настройке лампы можно указывать любые пароли для MQTT брокера (можно оставить по умолчанию). Для управления из Home Bridge необходимо установить плагин homebridge-mqttthing:

npm install -g homebridge-mqttthing

И внести в файл конфигурации некоторые изменения. Переключение эффектов в Home Bridge не предусмотрено, поэтому заведем эффекты в компонент телевизора. Ну чем панель не телевизор? :)

    "accessories": [
        {
            "accessory": "mqttthing",
            "type": "lightbulb",
            "name": "Gyver Lamp",
            "url": "http://127.0.01:1883",
            "mqttPubOptions": {
                "retain": false
            },
            "topics": {
                "getOn": "homeassistant/light/ESP-3bd20b/status",
                "setOn": "homeassistant/light/ESP-3bd20b/switch",
                "getBrightness": "homeassistant/light/ESP-3bd20b/brightness/status",
                "setBrightness": "homeassistant/light/ESP-3bd20b/brightness/set",
                "getRGB": "homeassistant/light/ESP-3bd20b/rgb/status",
                "setRGB": "homeassistant/light/ESP-3bd20b/rgb/set"
            },
            "onValue": "ON",
            "offValue": "OFF"
        },
        {
            "accessory": "mqttthing",
            "type": "television",
            "name": "Gyver Lamp Effects",
            "url": "http://127.0.0.1:1883",
            "topics": {
                "setActive": "homeassistant/light/ESP-3bd20b/switch",
                "getActive": "homeassistant/light/ESP-3bd20b/status",
                "setActiveInput": "homeassistant/light/ESP-3bd20b/effect/set",
                "getActiveInput": "homeassistant/light/ESP-3bd20b/effect/status"
            },
            "inputs": [
                {
                    "name": "Конфетти",
                    "value": "Конфетти"
                },
                {
                    "name": "Огонь",
                    "value": "Огонь"
                },
                {
                    "name": "Радуга верт.",
                    "value": "Радуга верт."
                },
                {
                    "name": "Радуга гориз.",
                    "value": "Радуга гориз."
                },
                {
                    "name": "Смена цвета",
                    "value": "Смена цвета"
                },
                {
                    "name": "Безумие 3D",
                    "value": "Безумие 3D"
                },
                {
                    "name": "Облака 3D",
                    "value": "Облака 3D"
                },
                {
                    "name": "Лава 3D",
                    "value": "Лава 3D"
                },
                {
                    "name": "Плазма 3D",
                    "value": "Плазма 3D"
                },
                {
                    "name": "Радуга 3D",
                    "value": "Радуга 3D"
                },
                {
                    "name": "Павлин 3D",
                    "value": "Павлин 3D"
                },
                {
                    "name": "Зебра 3D",
                    "value": "Зебра 3D"
                },
                {
                    "name": "Лес 3D",
                    "value": "Лес 3D"
                },
                {
                    "name": "Океан 3D",
                    "value": "Океан 3D"
                },
                {
                    "name": "Снегопад",
                    "value": "Снегопад"
                },
                {
                    "name": "Матрица",
                    "value": "Матрица"
                },
                {
                    "name": "Светлячки",
                    "value": "Светлячки"
                }
            ],
            "onValue": "ON",
            "offValue": "OFF"
        }
    ]

Если доступ к вашему MQTT брокеру осуществляется с логином и паролем, необходимо добавить еще пару строчек в конфигурацию после строчки "url":

"username": "MQTT_username",
"password": "MQTT_password",

Здесь вместо 3bd20b нужно прописать ID чипа ESP. Он отображается в консоле Arduino IDE, а также на портале конфигурации при первоначальной настройке. Перезагружаем HomeBridge, после перезагрузки перезагружаем лампу. В итоге после перезагрузки Home Bridge просто и легко у нас в Home Kit  появится два новых устройства: RGB лампа и "телевизор", выходами которого можно переключать эффекты. 

1600x_image.png?1565420262
1600x_image.png?1565022968
1600x_image.png?1565022968
1600x_image.png?1565022970
1600x_image.png?1565022968
1600x_image.png?1565022968
1600x_image.png?1565022969

Включение и выключение синхронизируется и в "телевизоре", в лампе, в Home assistant, в веб интерфейсе и в приложении для смартфона. Описанным выше способом можно добавить все остальные эффекты. Ползунки скорости и масштабирования если они необходимы можно добавить как отдельную лампу и управлять через уровень яркости. 

Управляющие топики MQTT (для интеграции с прочими системами домашней автоматизации)

Получение статуса лампы:

-- статус включено/выключено. Статус включено "ON" статус выключено "OFF"
"homeassistant/light/ESP-ID/status"

-- статус яркости от 0 до 255
"homeassistant/light/ESP-ID/brightness/status"

-- название эффекта, например "Огонь"
"homeassistant/light/ESP-ID/effect/status"

-- текущая скорость эффекта
"homeassistant/light/ESP-ID/effect/speed/status"

-- текущее значение масштабирования эффекта
"homeassistant/light/ESP-ID/effect/scale/status"

-- значение цвета в RGB палитре, например, 255,255,255 - белый цвет
"homeassistant/light/ESP-ID/rgb/status"

Управление лампой:

-- включение/выключение. Статус включено "ON" статус выключено "OFF"
"homeassistant/light/ESP-ID/switch"

-- установить яркость от 0 до 255
"homeassistant/light/ESP-ID/brightness/set"

-- включение эффекта, например "Огонь"
"homeassistant/light/ESP-ID/effect/set"

-- установить скорость эффекта
"homeassistant/light/ESP-ID/effect/speed/set"

-- установить масштабироване эффекта
"homeassistant/light/ESP-ID/effect/scale/set"

-- установить значение цвета в RGB палитре, например, 255,255,255 - белый цвет
"homeassistant/light/ESP-ID/rgb/set"

Интеграция с Яндекс Алисой

Как же без "импортозамещения"? Сервис умного дома Яндекс хоть очень молод, можно сказать находится в стадии бета тестирования, но уже сейчас он может управлять умными устройствами вашего дома на русском языке. Для интеграции лампы Alex Gyver'а с умным домом Яндекс необходимо подключить интеграцию Домовенок Кузя и загрузить актуальную версию прошивки. На сайте предусмотрено два способов интеграции:

  • С помощью брокера MQTT
  • С помощью http запросов

Текущая версию прошивки поддерживает оба способа. Но так как не у всех есть возможность установить свой mqtt брокер, рассмотрим интеграцию через http запросы. Для удаленного управления необходимо прокинуть в роутере порт до вашей лампы. Далее необходимо настроить правила управления лампой на сайте Домовенка Кузи и связать их с виртуальной лампой:

1600x_image.png?1565887703
1600x_image.png?1565887701
1600x_image.png?1565887707
1600x_image.png?1565887703
1600x_image.png?1565887703

  • Управление включением лампы: http://login:password@ip-address:8000/setconfig?on=1
  • Управление выключением лампы: http://login:password@ip-address:8000/setconfig?on=0
  • Установка яркости лампы: http://login:password@ip-address:8000/setconfig?brightness={value}
  • Состояние лампы: http://login:password@ip-address:8000/getconfig

Если вы собираетесь использовать навык Домовенок Кузя совместно с Умным домом Яндекс, можно настроить ответ домовенка в поле "Ответ Алисы" (да, да.. логика разработчика немного страдает..) необходимо вписать:

яркость {brightness} процентов, эффект {currentMode}

После этого при запросе статуса лампы домовенок сообщит нам уровень яркости лампы и текущий эффект (в виде порядкового номера эффекта). Таким же образом в ответ можно добавить информацию по скорости эффекта и его масштабировании.

т.к. теперь у нас лампа будет доступна из интернет, в прошивку добавлена базовая аутентификация. Для ее включения необходимо раскоментировать строчку #define WEBAUTH в прошивке.  В качестве логина и пароля используется уникальный идентификатор ESP, о котором говорилось выше. Он отображается при первичной настройке в менеджере подключения. Если вы не собираетесь использовать mqtt брокер, в поле mqtt server при первичной настройке необходимо указать none

Для управления доступны также переключение эффекта, скорости и масштабирования. Управляются следующими запросами:

  • Управление переключением эффекта лампы: http://login:password@ip-address:8000/setconfig?currentMode=1
  • Установка скорости эффекта : http://login:password@ip-address:8000/setconfig?speed=10
  • Установка масштабирования эффекта : http://login:password@ip-address:8000/setconfig?scale=10

Вместо 8000 нужно указать порт, который прокинут от лампы с порта 80 в интернет. 

Интеграция в Node-RED

Спасибо Алексею  за проделанную работу по интеграции лампы Gyver'а в Node-RED! 

1600x_image.png?1569065400
1600x_image.png?1569065401

Flow для импорта в Node-RED находятся в папке Node-Red проекта на GitHub

Дополнительно необходимо: 

  • Установить node-red-contrib-homekit-bridged (для добавления в Homekit)
  •  Установить node-red-contrib-color-convert (для конвертации RGB в HSV и обратно) 
  • в mqtt нодах надо поменять ESP-267059 на свой ID 
  • всех homekit нодах надо поменять bridge на свой 
  • в нодах также необходимо заменить ESP-267059 на свой ID

Изменения относительно оригинальной прошивки

  • Поддержка работы с MQTT брокером
  • Нативная интеграция с Home Assistant методом Discovery
  • Возможность ОТА обновления через сетевой порт с интересным эффектом "матрица" во время обновления
  • Возможность выбирать цвет из палитры Home Assistant либо через MQTT брокер
  • Автоматическое обнаружение подключенной сенсорной кнопки и корректная работа без нее
  • Корректная работа в случае потери WiFi сигнала либо MQTT брокера (адаптивное подключение)
  • Возможность настроить работу как с MQTT брокером, так и без него без повторной компиляции прошивки. Для этого достаточно при настройке вместо адреса MQTT сервера ввести none
  • Добавлен веб интерфейс управления (не свой, доработал, взял наработки CoOre, который так же создал Fork проекта на GitHub) - достаточно перейти по адресу http://ESP-ID.local/. Вместо ID нужно вписать ID чипа ESP8266. Он отображается в названии лампы и в entity_id после знака подчеркивания, а также в консоле Arduino IDE и на портале первоначальной конфигурации.
  • Доработана интеграция с Яндекс Алисой через интеграцию с Домовенком Кузи.

Прошивку можно скачать из репозитория на GitHub. Прошивка пока находится в бета версии, в дальнейшем возможны изменения. 


Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @Soprut

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Александр Вайдуров (AlexAW)
    Александр Вайдуров (AlexAW) 5 месяцев назад

    Классно! Подключаюсь к тестированию.

    • (Mathew)
      (Mathew) 2 месяца назад

      Что означает пробросить порт от роутера ??

      • (sir)
        (sir) 13 дней назад

        надо на вашем роутере настроить нат, если не знаете что это лучше обратитесь к знакомому айтишнику/сисадмину

  2. (HEoH)
    (HEoH) 5 месяцев назад

    очень понравилось, соберу себе такую

  3. (aurodionov)
    (aurodionov) 5 месяцев назад

    тоже заказал матрицу и по мелочи , зацепило ... надо делать :)

    • (gonczarov)
      (gonczarov) отредактировано 5 месяцев назад

      не подскажите какую брали?

  4. Александр Вайдуров (AlexAW)
    Александр Вайдуров (AlexAW) 5 месяцев назад

    Ну вот, пару дней тестирования, усердной работы автора, и лампа становится вполне приемлемым продуктом. Мне нравится и функционал и эксплуатационные фишки. И устойчивость работы улучшилась. 

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 5 месяцев назад

      Да, спасибо Александру за тестирование, удалось сделать прошивку значительно стабильней и быстро исправить найденные баги. 

  5. Владимир Иванов (saylar964)
    Владимир Иванов (saylar964) 5 месяцев назад

    Доброго времени суток, подскажите, пожалуйста, все сделал по инструкции, при добавлении в home Bridge и Apple HomeKit в конфигурации менял только  ID чипа ESP на свой. По адресу http://esp-6ac738.local/ заходит, в Home Kit  появились два новых устройства, но они не реагируют. Где то сделал ошибку, скорее всего при авторизации не верно указал ip адрес MQTT (я указал адрес малинки). Правильно ли сделал и нужно ли еще менять что либо в конфигурации, ip адрес, порт?  

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) отредактировано 5 месяцев назад

      А MQTT брокер установлен на малинке? Как установить описано здесь. Если установлен, то с паролем или без пароля? Если с паролем, то их надо добавить в конфигурацию:

      "url": "http://127.0.0.1:1883",
      "username": "MQTT_username",
      "password": "MQTT_password",

      Так же нужно указать правильный логи н пароль при настройке лампы в случае использования MQTT с логином и паролем. 

      • Владимир Иванов (saylar964)
        Владимир Иванов (saylar964) 5 месяцев назад

        У меня установлен HomeBridge и для управления из Home Bridge я по инструкции установил плагин homebridge-mqttthing. Больше ни чего не устанавливал. 

  6. Владимир Иванов (saylar964)
    Владимир Иванов (saylar964) 5 месяцев назад

    Я установил  MQTT брокер по ссылке выше, там ни где не требовалось вводить пароль и так далее (честно говоря не изучал как им пользоваться) но все равно c home kit не управляется((((  

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 5 месяцев назад

      Попробуй перезагрузить малинку, потом после перезагрузки минут через пять перезагрузить ESP. По ссылке выше установка брокера без пароля. В качестве адреса MQTT брокера нужно указать IP адрес малинки (если установка была на нее). 

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 5 месяцев назад

      Надо убедиться, что mosquitto запустились: 

      sudo service mosquitto status

      Должно отображаться что-то вроде:

      Active: active (running)

      После этого перезагрузить лампу. И да, нужно убедиться, что IP адрес в настройках лампы введен корректно. Можно перепрошить устройство, полностью его стерев либо как вариант отключить на время роутер и перезагрузить лампу. Тогда она откроет на время точку доступа и конфигурационный портал. 

  7. Владимир Иванов (saylar964)
    Владимир Иванов (saylar964) 5 месяцев назад

    А вообще без HA инструкция по добавлению отдельно в Home Bridge и Apple HomeKit можно рассматривать как отдельно? 

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) отредактировано 5 месяцев назад

      Да, для работы лампы устанавливать ХА не обязательно. Для работы требуется только MQTT брокер, HomeBridge и плагин homebridge-mqttthing. Ну и естественно моя версия прошивки. 

      • Владимир Иванов (saylar964)
        Владимир Иванов (saylar964) 5 месяцев назад

        Спасибо огромное, все заработало, получил огромный урок, огромное спасибо за статью, кстати видел у Алекса этот проект, сделал его давно, и прям не нарадуюсь что все таки им можно управлять с HomeKi. 

  8. (sega66)
    (sega66) 5 месяцев назад

    Спасибо за прошивку!
    Хочется прикрутить Вашу прошивку к Яндекс-станци

     Для этого надо сделать HTTP запрос типа:
    http://192.168.1.16/control?cmd=GPIO,12,1 
    Можно ли это в Вашей прошивке?
    Если можно-напишите пример запроса на включение лампы.

  9. (sega66)
    (sega66) 5 месяцев назад

    "".....Пример: http://site.com/set-light/{1}, где {1} в это место будет подставлено значение найденое во фразе вкл или выкл передается как 0 - выкл и 1 - вкл, так же можно получить фразу которая пришла от Алисы матка {in}
    по этому url будет отправлен GET запрос"

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) отредактировано 5 месяцев назад

      Насколько я понял, IP адрес устройства должен смотреть напрямую в интернет? Не очень безопасная схема. Там у него есть интеграция с MQTT, можно вывести MQTT сервер в интернет (либо использовать внешний) и управлять через MQTT (с логином и паролем). Все это доступно без модификации текущей прошивки. 

  10. (sega66)
    (sega66) 5 месяцев назад

    Как это реализовать? У меня нет  MQTT сервера:(

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) отредактировано 5 месяцев назад

      Можно поискать бесплатные. Например у  www.cloudmqtt.com есть бесплатные тарифные планы для MQTT хостинга, либо установить свой на малинку по инструкции выше. Там при настройке в сервисе домовенка в качестве Payload нужно указать ON или OFF для включения или выключения лампы. Так же можно добавить включение эффектов. Если будет время, позже добавлю инструкцию. 

  11. (sega66)
    (sega66) 5 месяцев назад

    Спасибо! Если найдете время, напишите как интегрировать лампу с внешним  MQTT на примере  www.cloudmqtt.com 

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 5 месяцев назад

      Маякни в телегу, сообщу когда добавлю инструкцию. Либо проверяй время от времени запись в блоге. 

  12. (sega66)
    (sega66) 5 месяцев назад

    Телеги нет:( Буду проверять блог!

  13. Белояр Иван (Ivan711)
    Белояр Иван (Ivan711) 5 месяцев назад

    Сюда бы еще приконтачить светомузыку

    • (aurodionov)
      (aurodionov) 4 месяца назад

      так допишите , аналоговый вход свободен + фурье

  14. Maksim Zhdanov (zhdanovich_q)
    Maksim Zhdanov (zhdanovich_q) 5 месяцев назад

    Ребят. А сколько метров ленты надо, что бы проект повторить?

  15. (aurodionov)
    (aurodionov) 4 месяца назад

    повторил , для нижней подставки использовал такую штуку ,подошла идеально .
    нужна ТОЛЬКО РОЗЕТКА БЕЗ ДАТЧИКА 

    69496e9b-f6d1-11e8-bbad-00155d0a1f03_f5e5b6ab-0f00-11e9-bbb8-00155d0a2206.jpg
  16. (aurodionov)
    (aurodionov) 4 месяца назад

    Розетку без дипа ... вот http://www.csb72.ru/catalog/ob... 

    это в моём городе ,у себя можете поискать по модели .

    Закрепил так, сори за размер картинок 

    1000x_image.jpg?15677668211000x_image.jpg?15677668781000x_image.jpg?15677669051000x_image.jpg?1567766906
  17. Дмитрий Санников (directman66)
    Дмитрий Санников (directman66) отредактировано 4 месяца назад

    Есть идея заменить стекло на алюминиевую сетку и внедрить DIY голосовой помощник на базе raspberry pi zero w и respeaker 2-mic. Видимо придется повторить протокол Алекса Гувера для raspberry. Чат для обсуждения голосового помощника тут  https://t.me/mdmPiTerminal

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 4 месяца назад
      В качестве голосового помощника в текущий момент можно использовать Алису от Яндекса или Siri от Apple. 

      • Дмитрий Санников (directman66)

        Готовые помощники только для инфраструктуры производителя. Кому нужен полноценный настраиваемый диалог  - собирают свои. Про настройку навыков для Сири  я не слышал, решения от Яндекса пока сильно ограниченно в возможностях. Отсутствие протоколов типа dlna и chromecast внутри прошивок яндекса  вызывает недоумение.

  18. (MrEnzo)
    (MrEnzo) 3 месяца назад

    Подскажите, на  Wemos mini будет работать эта прошивка ?

  19. Дмитрий Санников (directman66)

    Спасибо за форк. Работа с приложением Гайвера сохранена? 

  20. (tuxoren)
    (tuxoren) 3 месяца назад

    Добрый день! Для работы домовенка нужен белый IP ?

  21. (as1800)
    (as1800) отредактировано 3 месяца назад

    Привет, что-то не получается у меня переключать режимы по MQTT. В homeassistant/light/ESP-ID/effect/set   что бы я не задавал, лампа переключается на Конфети. Другие режимы speed, status, rgb, etc. работают. Но в них задаются цифры, а в effect слова. Или я делаю что нетак?

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 3 месяца назад

      У меня только предположение, что возможно кодировка не совпадает (должна быть UTF-8) либо есть какие-то еще символы в payload - должно быть слово без кавычек и посторонних символов. В какую систему пытаетесь интегрировать?

  22. (as1800)
    (as1800) 3 месяца назад

    Спасибо за ответ, я пробовал через программу MQTT.fx  Сейчас не дома, надо будет посмотреть, можно ли там выставить UTF-8 .

  23. (as1800)
    (as1800) 3 месяца назад

    Так и есть, был не тот формат. Всё работает!

  24. (generatione)
    (generatione) 2 месяца назад

    В плане конекта с Алисой в строчке логин-пароль нужно писать от яндекса? И будет ли вся эта вещь работать по WIFI?

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 2 месяца назад

        Нет, здесь по умолчанию задается ESP-ID устройства (отображается при первоначальной настройке в веб интерфейсе). С Алисой работает только через интернет. 

  25. (dimon7772)
    (dimon7772) 2 месяца назад

    Как эту прошивку подключить к openHab через MQTT ? Ковыряюсь целый день, а так не могу понять какие топики и куда они стучат, никто не подскажет как это сделать, либо как узнать какие топики шлёт эта лампа?

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 2 месяца назад
      Выше в статье указаны все статусные и управляющие топики. OpenHUB у меня нет, поэтому с настройками помочь не смогу. 

      • (dimon7772)
        (dimon7772) 2 месяца назад

        Такое ощущение что крайняя прошивка не подключается к москито, либо топики не отсылаются либо подключение не происходит.

        • Антон Киселёв (Whilser)
          Антон Киселёв (Whilser) 2 месяца назад
          Адрес сервера, имя пользователя и пароль верно указаны?
          А в терминале что шлет? Раскомментриуй директиву #define DEBUG и покажи что пишет. 

          • (dimon7772)
            (dimon7772) 2 месяца назад

            Адрес, логин и пароль правильно, другие устройства работают. Про терминал не понял, о каком терминале идёт речь, терминал брокера? Подскажите про терминал, не слишком разбираюсь, дайте направление чего и куда рыть.

            • Антон Киселёв (Whilser)
              Антон Киселёв (Whilser) 2 месяца назад

              Нужно понять посылает ли лампа сообщения об изменении статусов и принимает ли их. Для этого нужно подключиться к UART ESP и запустить "монитор порта" в Arduino IDE. 

  26. (anisart)
    (anisart) отредактировано 2 месяца назад

    Не получается подключить по MQTT к Home Assistant, Discovery не проходит (просто команды слать можно). Hass.io + Mosquito add-on. В логах esp вижу

    Attempting MQTT connection to 192.168.1.218 on port 1883 as mqtt...connected!
    Error sending discover message
    Error sending discover message
    Error sending discover message

    В логах Mosquito только

    New client connected from 192.168.1.36 as ESP-4c5133 (p2, c1, k15, u'mqtt').
    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) отредактировано 2 месяца назад

      Если есть доступ в консоль хост машины, попробуй установить москито напрямую в систему по инструкции выше. 

      • (anisart)
        (anisart) 2 месяца назад

        Всему виной была константа MQTT_MAX_PACKET_SIZE. Я использовал библиотеки и менеджера, а не модифицированные из репы. По непонятным для меня причинам define этой константы даже до include не отрабатывает. Поменял на define MQTT_MAX_PACKET_SIZE 1024 и discovery прошло.

        • (AlexBird55)
          (AlexBird55) 7 дней назад

          У меня ситуация один в один, но Ваше решение мне не помогло, к сожалению. Буду дальше копать. У меня mosquito стоит как add-on. 

  27. (zrilov2001)
    (zrilov2001) отредактировано 2 месяца назад

    А можно сделать типо Яндекс станции на этот светильник

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 2 месяца назад
      Что ты имеешь ввиду? Размер светильника может быть любым. Если ты про интеграцию с умным домом от Яндекса, то она есть (смотри интеграцию с Алисой). 

  28. (id87342159)
    (id87342159) 2 месяца назад
    Привет. Можно поподробнее про интеграцию через http запросы.
    Застопорился на пункте: "т.к. теперь у нас лампа будет доступна из интернет, в прошивку добавлена базовая аутентификация. Для ее включения необходимо раскоментировать строчку #define WEBAUTH в прошивке.  В качестве логина и пароля используется уникальный идентификатор ESP, о котором говорилось выше. Он отображается при первичной настройке в менеджере подключения."

    Где взять этот логин и пароль или где его прописать нужно?

  29. (superyarik)
    (superyarik) месяц назад

    а часто https://alexstar.ru бывает недоступен?

  30. (black_sun_white)
    (black_sun_white) месяц назад

    Добрый день, я никогда не сталкивался ни с протоколом MQTT, ни с Mosquitto, но очень хотелось бы поставить прошивку в HomeKit. Трудности возникают сразу на первом этапе установки москита. Как именно это нужно сделать? 

  31. Иван Дылгиров (dr_divan)
    Иван Дылгиров (dr_divan) месяц назад

    Привет сообществу!

    Не подскажете подробнее о реализации управления через HTTP запросы в Алисе?

    Я прошил Wemos (ESP8266) на последнюю версию прошивки в локальном режиме и подключил к роутеру. По инструкции прокинул порты (см.скриншот1),на сайте alexstar.ru создал устройство и правила для него (см.скриншот2-3), на телефоне активировал Домовёнка Кузю и обновил список утройств (лампа там появилась, но не управляется совсем).

    1000x_image.png?15766633331000x_image.png?15766638541000x_image.png?1576663893


    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) отредактировано месяц назад

       Привет, для проброски нужно использовать протокол TCP, у тебя выбран протокол UDP. Для того, чтобы все работало необходим прямой внешний ("белый")  IP. Именно его нужно и указывать при настройке лампы на сайте alexstar.ru. Если включена веб авторизация - проверь правильность задания логина и пароля. Попробуй обратиться к лампе с внешнего IP, проверь, откроется ли веб интерфейс (должен открыться). 

  32. (PucKu)
    (PucKu) 28 дней назад

    Доброго времени суток.

    Делал всё вроде бы по инструкции но лампа не может подключиться к mqtt брокеру.

    12:50:51.426 -> WiFi manager...connected! IP address: 192.168.1.110. Signal strength: 86% 12:50:51.426 -> 12:50:51.426 -> MAC: DC:4F:22:61:11:D9 12:50:51.426 -> UDP server on port 8888 12:50:51.531 -> Запущен веб сервер по адресу: http://ESP-6111d9.local/ 12:50:55.372 -> Attempting MQTT connection to ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @ on port ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @ as ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @...failed, rc=-2 try again in 10 seconds 12:51:05.353 -> Attempting MQTT connection to ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @ on port ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @ as ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @...failed, rc=-2 try again in 20 seconds 12:51:25.374 -> Attempting MQTT connection to ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @ on port ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @ as ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @...failed, rc=-2 try again in 40 seconds 12:52:05.383 -> Attempting MQTT connection to ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @ on port ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @ as ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @...failed, rc=-2 try again in 80 seconds

    В  Home Bridge и Apple HomeKit добавил,  брокер Mosquitto установлен.

    Вот файл прошивки которую заливал.

    Моя прошивка

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 28 дней назад

      Вместо адреса MQTT сервера какая-то каша. Попробуй перепрошить последней версией (предварительно все стерев) и настрой все по-новой (введи адрес, логин и пароль при первичной настройке). 

      • (PucKu)
        (PucKu) 28 дней назад

        Как сбросить настройки?

        • Антон Киселёв (Whilser)
          Антон Киселёв (Whilser) 28 дней назад

          Перепрошить, полностью стерев перед этим. Ещё портал открывается при загрузке если сеть не найдена. 

          • (PucKu)
            (PucKu) 28 дней назад

            Спасибо огромное. Получилось только тогда когда полностью стёр esp  esptool.exe.

  33. (Uef)
    (Uef) 28 дней назад
    Добрый вечер,
    Прошил контроллер Вашей версией, всё работает кроме будильника. ВЕБ интерфейсе разрешаю день недели ставлю время, но ни функция рассвет ни включение лампы не работает. В ВЕБ интерфейсе текущее время отображается правильно. Может нужна какая-то дополнительная конфигурация скетча? Кнопка у меня не подключена. В чем может быть проблемма?

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 26 дней назад

      Включение совсем не работает или только рассвет? Рассвет вполне может не работать из-за кнопки т.к. кнопка отключает будильник, когда ее нет система может воспринимать ее как нажатую и отключает рассвет, не успев включить. 

  34. (Uef)
    (Uef) 26 дней назад
    Будильник и рассвет совсем не работают, вероятно без кнопки эти режимы не работают. К порту D2 у меня не подключено ни чего, может его нужно " подтянуть" через резистор к GND?

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 26 дней назад
      1. Прошивка последняя, 1.5? Подтяжка не нужна, будет время - посмотрю код на предмет того, как он будет реагировать без подключенной кнопки и по возможности если будет найдена ошибка - поправлю. 
  35. (Uef)
    (Uef) 26 дней назад
    Да, прошивка 1.5, я имел ввиду поставить резистор чтоб система думала что кнопка подключена.

  36. (virbatim)
    (virbatim) 22 дня назад

    Добрый вечер, очень хотелось бы подключить лампу по данному методу, но увы я не могу понять что куда загружать, куда настойки добавлять. Помогите пожалуйста.

  37. (jsph_parker)
    (jsph_parker) 21 день назад

    Глянул комменты, но не видел (возможно пропустил, возможно действительно нет), как запустить процесс обновления прошивки On The Air ? В самом файле прошивки в Ардуино ИДЕ увидел только реакцию кнопки на 5 нажатий (покажет IP), кроме стандартных 1 (вкл/выкл), 2 (след), 3 (пред).

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 21 день назад

      Да, действительно нет, добавлю в текст. Для обновления необходимо в Arduino IDE в качестве порта выбрать сетевой порт (он появится в списке портов если до этого была установлена моя версия прошивки). А дальше как обычно - нажать загрузить и подождать пару минут. 

  38. (sir)
    (sir) 16 дней назад

    Доброго времени суток, помогите плиз с настройками и подскажите для чего нужен id яндекс устройства . 

    Лампу настроил вроде, строку разкомментировал, порт пробросил. По хттп все отрабатывается. В кузе настроил по рецепту.

    Когда прошу Алису она отвечает как хочет и дергает тригер в я.устройствах, лампа не включается.

    Когда прошу Кузю, отвечает как прописал, но тригер  в я.устройствах не реагирует, лампа не включается.

    Моя строка работает через браузер хттп//ESP-e4b024:ESP-e4b026@10.130.230.240:8000/setconfig?on=1,

     А в демолампе по другому, там через id(у меня так не фурычит) lamp.alexstar.ru/a07087d1-eb48-4562-947a-510b34e31c22/set/{value}.

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 15 дней назад
      Аутентификация нужна для того, чтобы закрыть несанкционированный доступ извне т.к. теперь наше устройство становится доступным из сети интернет. Попробуй протестировать настройку, отключись из домашней сети и попробуй вызвать команду извне. Если сработает - все настроено верно. Судя по твоему IP - он относится в частной сети, для настройки нужно использовать внешний ("белый") желательно статический IP, который и нужно указывать в домовенке, прокинув порт со статического внутреннего адреса. 

      • (sir)
        (sir) 15 дней назад

        с аутентификацией понятно, айпи именно внешний(немного поправил его, типа шифруюсь =)), домашний 192..., в браузере через команду все работает и по домашнему и по внешнему - все отрабатывает четко. 

        думаю что-то с настройками кузи, можешь скрин показать

        1000x_image.gif?1578425821
        • Антон Киселёв (Whilser)
          Антон Киселёв (Whilser) 14 дней назад

          Проверь все же свой реальный внешний IP, IP 10 подсети относятся к частным, очень похоже, что у тебя "серый"  IP, т.е. ты находишься за NAT. Интеграция будет работать только с белым IP (его можно запросить у провайдера, часто такая услуга предоставляется). Ну а дальше создаются правила на включение, на выключение лампы (либо на включение какого-то эффекта), на настройку яркости. После этого правила активируются. Дальше создается виртуальная лампа и к ней подвязываются созданные ранее правила. После этого все должно заработать. 


          В демолампе используется другой механизм идентификации и аутентификации, поэтому там все немного по-другому. 

          • (sir)
            (sir) 13 дней назад

            благодарю, вы были совершенно правы и желтый цвет строки активно на это намекал =), взял у прова белый айпи и все сразу получилось. почему-то казалось, что в диапазоне 10 тоже есть белые адреса.

  39. Wlad Gusca (necton)
    Wlad Gusca (necton) 13 дней назад
    Собрал, но вот что не делал в Home Assistant устройство обнаруживаться упорно не хочет. Возможно нужны какие-то танцы с бубном? И камрады, большая к вам просьба - я мало знаю об MQTT просветите пожалуйста как на лампу слать команды?
    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 11 дней назад
      1. Установить MQTT брокер (как это сделать - ссылка выше в статье)
      2. Добавить интеграцию MQTT в Home Assistant: Настройки - Интеграции - нажать на плюсик, выбрать MQTT, ввести IP адрес MQTT брокера (если устанавливал на малину - IP малины), нажать добавить
      3. При первичной настройке лампы (портал первоначальной настройки) ввести IP адрес MQTT брокера
      4. Перезагрузить лампу (возможно после этого понадобится перезагрузить Home Assistant)
      5. После перезагрузки все пропишется и пробросится автоматически. 
  40. (bla84diamond)
    (bla84diamond) 7 дней назад

    Заметил глюк. Если настроен MQTT в лампе и вдруг он становится недоступен, то лампа самопроизвольно включается через несколько минут. Выключаешь её и она снова минут через 10-20 сама включается.

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 5 дней назад
      Это происходит из-за того, что если лампа долго не может соединиться с MQTT брокером, она думает что возможно зависла и перезагружает себя. Если MQTT не используется - его можно просто отключить. А в остальном, надо сделать сохранение последнего состояния, чтобы даже если лампа перезагружалась, то статус ее не менялся. Позже подправлю. 

К списку блогов

Скидки для сообщества

Интернет-магазин yourhomekit.ru

+7 914 550-51-11
Промокод:
SPRUT-BLG
Размер скидки:
8%
Cамый большой ассортимент в России аксессуаров Apple HomeKit

Похожие записи

25 марта 2019, 05:02
Нативный Homekit на ESP8266 Relay_8CH
20 января 2019, 17:39
Создание очень бюджетной автоматизации рулонных штор
13 февраля 2019, 22:00
Подключение радио на Xiaomi Gateway к Home Assistant c дальнейшим использованием в автоматизациях
19 апреля 2019, 20:53
Требуется ваше мнение!
06 февраля 2019, 12:02
Автоматизированное открытие/закрытие окна
04 апреля 2019, 12:45
Самое важное из апдейта Home Assistant 0.91-0.91.4 от 03.04.19.
26 апреля 2019, 08:32
Обновление Умного зеркала, доработали, причесали, и теперь почти закончили наворачивать функционал зеркала.
21 марта 2019, 11:59
Самое важное из апдейта Home Assistant 0.9 от 20.03.19.
21 февраля 2019, 21:12
Самое важное из апдейта Home Assistant 0.88 от 20.02.19.
07 февраля 2019, 21:12
Самое важное из апдейта Home Assistant 0.87 от 06.02.19.