Прошиваем esp8266 прошивкой esp8266_milight_hub и управляем светодиодной лентой из HomeAssistant
MiLight — это множество лампочек и контроллеров для led лент.
esp8266_milight_hub — это прошивка для esp8266, которая превращает есп в milight хаб и позволяющая управлять всеми устройствами milight, включая пульты
Для управления всеми этими устройствами нужен хаб, который стоит в два раза дороже чем есп, и он не поддерживает mqtt. Есть хаб в виде ночника и в виде коробка, очень похожего на rgb контроллер, только чуть больше размером.
В HomeAssistant есть поддержка MiLight, но управляться все это добро будет по протоколу UDP, тогда как прошивка esp8266_milight_hub позволяет управлять и через UDP и через MQTT
Итак, нам нужна esp8266, в моем случае Nodemcu v2, и радиомодуль NRF24L01
Схема подключения:
Далее, чтобы прошить есп, скачаем свежую прошивку esp8266_milight_hub
Когда прошивка будет завершена, есп перезагрузится в режиме точки доступа, у меня это ESP5439838
Подключаемся, переходим по адресу 192.168.4.1 и вводим данные своей сети wifi
После есп перезагрузится, и найдя присвоенный ей ip адрес мы попадаем в веб интерфейс:
Чтобы добавить новую лампочку или контроллер, нужно в течении 1-5 сек после включения его в сеть нажать кнопку «+ Pair» в Milight Hub, предварительно выбрав группу, тип, и введя номер, например 1.
В Settings > MQTT вводим данные брокера, а в графах MQTT topic pattern и MQTT state topic pattern пишем:
MQTT topic pattern:
milight/:device_id/:device_type/:group_id
milight/states/:device_id/:device_type/:group_id
Сохраняем.
Если все управляется из webUI Milight Hub то можно переходить к настройке в HomeAssistant.
В коде уже прописаны комментарии по добавлению:
добавить в lights.yaml:
# Тест MiLight - name: milight_test_strip # The command topic is derived by substituting real values for the # tokens in the setting mqtt_topic_pattern (e.g., "rgb_cct" for # ":device_type"): # ______________ Device ID # ________ Device Type # | | ___ Group ID # | | | # v v v command_topic: milight/0x1/rgb_cct/1 # This is the same structure as above, but for the setting # mqtt_state_topic_pattern. esp8266_milight_hub sends state updates # to this topic. state_topic: milight/states/0x1/rgb_cct/1 # Use a YAML anchor for common settings so we can just reference # them for other lights. <<: &MILIGHT_PARAMS platform: mqtt schema: json color_temp: true rgb: true brightness: true effect: true effect_list: - white_mode - night_mode - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8
Думаю, тут и так все ясно.
Скорость реагирования можно посмотреть на видео:
В чем преимущество MQTT в отличии от UPD ? Обратная связь?
Преимущества в возможности подключения к любым хабам, поддерживающих mqtt.
В оригинальной статье схема подключения немного отличается:
D2 (GPIO4) — CE
Какая модель контроллера использовалась для статьи?
FUT039
Спасибо, буду пробовать
Готово — завелось))
Отлично ?
Добрый день подскажите к данному контроллеру возможно подключить обычную rgb ленту,за ране спасибо!
Конечно можно. Только в ha будут доступны для управления ещё и теплый/холодный белый, которых не будет по факту. Если это не смущает, а так, лучше подобрать контроллер под определенные нужды, в вашем случае rgb.
Пробую подключать не работает даже не загорается.
Для контроллера не важно, какую ленту вы подключаете. Можно даже 5 монохромных (белых) подключить и будут светить. Это просто каналы. Вот только неудобно будет управлять. Если даже не горит, проверьте питание, соединения, тип ленты и прочее.
Добрый день. Подскажите я же правильно понимаю что можно таким образом к алисе подключить если выставить её в интернет и использовать навык с http запросами?
Здравствуйте, теоретически да. Но точно не знаю, проверять нужно
Сейчас интеграция в Home Assistant совсем простая.
Пробую сейчас настроить новым способом. После настройки mqtt перестает каким-то образом принимать, передавать команды. Раньше светодиод мигал при приеме команты, сейчас вообще не горит. Хотя в HA все появилось, но не реагирует на нажатия. Причем появился только выключатель, без изменения цветов и прочего. Что не так делаю?