MiLight Hub. Управляем устройствами MiLight через esp8266 из HomeAssistant

Прошиваем 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

Думаю, тут и так все ясно.

Скорость реагирования можно посмотреть на видео:

Поделитесь с друзьями
Подписаться
Уведомить о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

16 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Павел
Павел
4 лет назад

В чем преимущество MQTT в отличии от UPD ? Обратная связь?

Алексей
4 лет назад

В оригинальной статье схема подключения немного отличается:
D2 (GPIO4) — CE

Андрей
Андрей
4 лет назад

Какая модель контроллера использовалась для статьи?

Андрей
Андрей
4 лет назад
Ответить на  kvv

Спасибо, буду пробовать

Андрей
Андрей
4 лет назад
Ответить на  kvv

Готово — завелось))

Артём
Артём
4 лет назад

Добрый день подскажите к данному контроллеру возможно подключить обычную rgb ленту,за ране спасибо!

Артём
Артём
4 лет назад
Ответить на  kvv

Пробую подключать не работает даже не загорается.
 

изображение_viber_2020-06-08_13-43-22.jpg
Valery
Valery
3 лет назад

Добрый день. Подскажите я же правильно понимаю что можно таким образом к алисе подключить если выставить её в интернет и использовать навык с http запросами?

pb318
pb318
3 лет назад

Сейчас интеграция в Home Assistant совсем простая.

  1. Во вкладке настроек mqqt в поле префикс Home Assistant нужно указать homeassistant чтобы в HA сработало автообнаружение
  2. В основном окне Device Name нужно создать сколько необходимо символических имен, указав реальные адреса пультов, настенных панелей или произвольный виртуальный ID устройства. Не забудьте про правильный тип — CCT, RGB и пр. не забудьте выполнить привязку (спаривание) с физическими источниками света, либо пультом, либо этой софтиной
  3. В Home Assistant появятся сущности light.ВашеИмя, которыми можно напрямую пользоваться как источником света. Если привязка была к реальным пультам, нажатие на кнопку пульта будет менять состояние в HA
Последний раз редактировалось 3 лет назад pb318 ем
Nik
Nik
3 лет назад
Ответить на  pb318

Пробую сейчас настроить новым способом. После настройки mqtt перестает каким-то образом принимать, передавать команды. Раньше светодиод мигал при приеме команты, сейчас вообще не горит. Хотя в HA все появилось, но не реагирует на нажатия. Причем появился только выключатель, без изменения цветов и прочего. Что не так делаю?