Добавляем этот контроллер в Home Assitant с компонентом MagicLight, прошиваем альтернативную прошивку
Вот такой недорогой контроллер на базе esp8285:
Поддерживает 5 каналов: RGB, WW и CW
Заявлена поддержка 4А на каждый канал
Ссылка на товар: https://ru.aliexpress.com/item/32579734729.html
Ссылка на магазин: https://greenwisdom.ru.aliexpress.com/store/511600
Для управления данным контроллером предлагается скачать приложение Magic Home из Google Play. Скачиваем.
Подключаем ленту, подаем питание.
Контроллер начнет мигать поочередно всеми каналами ленты:
https://www.instagram.com/p/B0xnMMkjAZd/
Подключаемся к появившейся Wifi сети. В приложении жмем Add Device и контроллер автоматически подтянется:
Далее нам предложат подключиться к существующей Wifi сети — подключаемся. После выбираем тип подключения. В моем случае это RGBW:
После контроллер перезагрузится, подключившись к нашей Wifi сети, и им можно управлять из приложения.
Разобраться в приложении не составит труда:
Управление из Home Assistant
Чтобы подключить этот контроллер к Home Assistant даже не понадобится его перепрошивать. Есть компонент Flux Led/MagicLight
В описании все подробно описано. Есть выбор схемы подключения, куча эффектов.
Достаточно добавить в lights.yaml:
- platform: flux_led devices: 192.168.0.11: name: Led Controller protocol: 'ledenet'
Где 192.168.0.11 это ip адрес вашего Magic Home контроллера.
Перезагружаем Home Assistant. Теперь им можно управлять и из HA:
https://www.instagram.com/p/B0x-8xQDG32/
Пару интересных особенностей прошивки и компонента Magic Home:
- Если выключить питание на включенном контроллере, то через несколько секунд в Home Assistant статус изменится на «выкл».
- При возобновлении питания включится тот цвет, который был на момент отключения от сети. И статус в Home Assistnat так же изменится на «вкл»
Прошивка ESPHome
Теперь давайте прошьем этот контроллер на альтернативную прошивку. Я использую ESPHome, но суть это не меняет.
Для начала нужно разобрать контроллер. Аккуратно поддеваем пластик снизу, удобнее всего канцелярским ножом. Корпус легко открывается:
Внутри модуль esp8285 и 5 M3006D для управления 5 каналами — RGB, WW, CW.
С задней стороны платы удобно выведены пины 3.3V, GND, GPIO0, RX, TX
Подключаем USB to TTL адаптер по схеме:
3.3V к 3.3V esp8285
GND к GND esp8285
RX к TX esp8285
TX к RX esp8285
Так же подключаем GPIO0 к GND на время прошивки
Желательно сделать бэкап оригинальной прошивки!
Для ESPHome конфиг следующий:
esphome: name: magichome_rgbww platform: ESP8266 board: esp8285 wifi: ssid: "wifi" password: "wifipass" # Enable logging logger: # Enable Home Assistant API api: password: "magichome_rgbww_api_password" ota: password: "magichome_rgbww_ota_password" output: # led strip - platform: esp8266_pwm pin: 14 max_power: 0.95 id: output_red - platform: esp8266_pwm pin: 12 id: output_green - platform: esp8266_pwm pin: 13 id: output_blue - platform: esp8266_pwm pin: 15 id: output_warm_white - platform: esp8266_pwm pin: 5 max_power: 0.95 id: output_cold_white # green info led - platform: esp8266_pwm pin: 2 id: output_gpio2_led inverted: true light: - platform: rgbww name: "Led Controller RGBWW" red: output_red green: output_green blue: output_blue cold_white: output_cold_white warm_white: output_warm_white cold_white_color_temperature: 6536 K warm_white_color_temperature: 2000 K - platform: binary name: output_gpio2 output: output_gpio2_led id: gpio2_led # button binary_sensor: - platform: gpio pin: 0 name: gpio0button id: gpio0button filters: - invert # restart esp on button click on_click: min_length: 50ms max_length: 350ms then: - switch.toggle: restart_controller # restart esp switch: - platform: restart id: restart_controller name: "Living Room Restart"
Кнопка на плате это GPIO0, которую я использую для перезагрузки контроллера, как и было задумано производителем.
Зеленый светодиод GPIO2 можете использовать по своему желанию.
В ESPHome все переходы плавные и приятные для глаз. Но, опять же, если кому то не нравится — все можно настроить на свой вкус.
https://www.instagram.com/p/B0yEHpWDCPa/
Спасибо за обзор, хотелось бы еще увидеть тест другого rgb контроллера, поменьше который, на 5В для ws2812b, в частности прошивку esphome, просто HA с magic home на нем не корректно работает.
Спасибо за ваш комментарий. Скиньте ссылку на контроллер, о котором вы говорите
https://s.click.aliexpress.com/e/b42oxf7G
На 5 вольт
Ссылка недействительная, но я понял о каком контроллере вы говорите
Здравствуйте, стоит ли ожидать обзор на этот контроллер? Я свой смог прошить на esphome, но настроить конфигурацию так, чтобы лента управлялась, не получается.
P.s. пытался с вами связаться по этому вопросу через почту.
Думаю да, в скором времени приобрету. Поделитесь, пожалуйста, своей конфигурацией, и точной моделью вашего контроллера
Модель с питание 5В для WS2812B, esp установленная в ней ESP8285mod (ESM m2)
Маркировка платы ZJ-MV5V-HC A V1.4.
Прикрепил бы и фото, но сюда нельзя.
Отправьте сюда ваш конфиг esphome, может получится у нас с вами найти нужный пин для WS2812B
Сейчас у меня стоит tasmota, но сегодня тогда верну esphome.
https://github.com/xoseperez/espurna/issues/1437 вот вроде пытались разобраться в проблеме этого контроллера.
Вот такой конфиг был, перепробовал казалось уже все пины.
esphome:
name: magichome
platform: ESP8266
board: esp8285
wifi:
ssid: «Lede2»
password: «***»
# Enable logging
logger:
# Enable Home Assistant API
api:
password: ‘***’
ota:
password: ‘***’
web_server:
port: 80
sensor:
— platform: wifi_signal
name: «magichome_wifi»
update_interval: 60s
light:
— platform: fastled_clockless
chipset: WS2812B
pin: GPIO15
num_leds: 60
rgb_order: BRG
name: «FastLED WS2812B Light»
Пока не переходите на esphome. Судя по этой проблеме на гитхаб, лентой управляет не сам модуль есп, а некий mcu, к которому, в свою очередь подключен есп. Автор проблемы планировал найти пины (пин) на mcu, через которые управляется лента. Но так и не отписался толком. Я не совсем понял, что он имеет ввиду под словом buffer в этой фразе «and the buffer is connected to pin 9 and 10 (PA3 and PA4).»
Вы написали, что сейчас на тасмоте, она поддерживает этот контроллер?
Видимо нет, я пытался подобрать и тут конфиг, но не вышло.
Скорее всего придется удалить mcu и подключить контакты напрямую к свободным gpio.
Не хотелось бы лезть в плату, может в home assistant всё же добавят поддержку — есть созданная тема, были даже результаты, но их не стали вносить в flux_led.
Дайте ссылку на эту тему, пожалуйста. Может там кастом компонент какой есть..
https://github.com/home-assistant/home-assistant/issues/22161#issuecomment-546720641
Перепрошил такого плана контроллер на 12 вольт. Пришлось поискать какие GPIO за какие каналы отвечают. Вот ссылка, может поможет разобраться с моделями: https://github.com/arendst/Sonoff-Tasmota/wiki/MagicHome-LED-strip-controller
спасибо. а где взять прошивку, которую заливать в контроллер?
Составляете конфиг в ESPHome и компилирует. Если что то непонятно- спрашивайте
А зачем его перепрошивать, если он, как вы говорите, и так интегрируется штатными средствами в НА?
Для более тонкой настройки, под себя
Прошил маленький контроллер Smart Home. Вот такого плана: https://ru.aliexpress.com/item/33060750692.html?spm=a2g0v.best.6.2.50724c65UE7dxW&scm=1007.17258.148196.0&pvid=8fb13bdf-5a69-461c-93b7-0f3e882c1452
Там очень слабые ключи, которые контролируют каждый канал. Хочу объединить все каналы РГБ, чтобы увеличить мощность обычной белой ленты. Т.е. плюс от ленты подключаем к общему выводу на контроллере. А минус от ленты подключаем к 3м выводам РГБ на контроллере.
Как бы это теперь настроить в ESPHome. И вообще, реально ли это?
Я поэтому и не брал такие, уж слишком они хилые на вид. Может для каких то проектов с небольшими участками ленты он и подойдёт, а вот на потолок такой контроллер я точно не установлю) А чтобы управлять 3 каналами как одним, лучше будет изучить плату и подключить всё к одному из gpio. Найти откуда и куда что идёт от них, перерезать дорожки и подпаяться проводами. Но, опять же, я бы так не делал. Советую вам купить более серьезный контроллер чтобы не спалить свой дом/квартиру) Я вот вообще хочу свой zigbee контроллер на wifi переделать) там такой проект, что одна esp32… Подробнее »
Проблема в том, что все эти вайфай контроллеры идут с поддержкой минимум 3х каналов. Нельзя просто так взять и купить контроллер, который управляет одним ключем, но зато мощным. Получается, либо нужно прилично переплачивать, либо собирать свой контроллер на ESPшке уже с нормальным мосфетом типа IRFxxx. Поэтому и возникла эта идея, купить китайский контроллер, перешить его объединив все каналы. И пускать одинаковый ток через все ключи, распределяя тем самым на них общую нагрузку. Вот и думаю, это вообще реально в прошивке на ESPHome сделать?
Через Lambdas можно все что угодно сделать. Но нужно их понять, чтобы знать как писать.
https://esphome.io/guides/automations.html#templates-lambdas
Я в них еще не разбирался, поэтому подсказать с настройкой не смогу. Напишите подробное описание вопроса в чате esphome Discord https://discord.gg/KhAMKr вдруг кто поможет.
Спасибо за подсказку, про Lambda в ESPHome читал, но что-то вылетело из головы. Попробую разобраться.
Здравствуйте, спасибо за статью. Заинтересовался данным контроллером. Подскажите, если подсоединить ленту к данному контроллеру и обклеить телевизор с задней стороны, возможно ли как-то реализовать функцию ambilight (или что-нибудь подобное)?
Здравствуйте! Может сейчас уже и есть такое на esp8266, но себе я делал с помощью raspberry, проект называется Hyperion.
https://github.com/hyperion-project
Увы, об этом я не написал в блоге. Может найду время и фотки, да напишу.
https://www.youtube.com/watch?v=jrtbKhhW5tc
У себя я реализовал это пару лет назад на малинке с kodi на борту, поэтому только в нем работает адаптивная подсветка. Эффект бомбический, потом мы долго привыкали к другому тв без подсветки. Есть еще варианты сделать это для любых источников сигнала. Вот им и хочу заняться, но уже для другого телевизора.
Спасибо за ответ)
Было бы интересно почитать о вашем проекте!
Эффект действительно уникальный, смотрится очень впечатляюще)