Здравейте! В тази статия ще ви покажа интеграция на WiFi RGB контролер с Home Assistant чрез приложението MagicHome.
Каква е историята?
В кабинета си имам скрита RGB лента. Управлявам я чрез стандартен IR контролер и едно умно универсално дистанционно BroadLink mini R2. Повече за BroadLink mini R2 и интеграцията му с Home Assistant можете да прочетете тук(скоро). Проблемът в случая е, че мога да управлявам напълно RGB лентата чрез IR команди. IR командите се подават от Home Assistant и възпроизвеждат от BroadLink, но нямам обратна връзка, защото управлението през IR е еднопосочно. Когато подам команда, например да се загаси лентата, системата няма идея дали тази команда се е изпълнила. Също така нямаме и мониторинг на състоянието на лентата. Когато например не съм вкъщи, аз не знам дали тя работи или не, и ако работи, в какъв режим.
Запитах се, няма ли WiFi RGB контролери
Веднага проверих сайтовете за малки обяви и попаднах на WiFi RGB контролер. За изненада беше на цена, близка до стандартния RGB IR контролер. След бърза справка в интернет разбрах, че тези контролери могат да се флашнат с Tasmota. А също и да се интегрират с Home Assistant. Веднага поръчах един за проба. След като пристигна, първото което направих, е да го изпробвам дали работи в оригиналния си вид. Устройството е китайско, ребрандирано по всевъзможни начини, но работи с приложението MagicHome. Самият контролер изглежда така:
Конфигуриране на WiFi RGB контролер с MagicHome
За да използвате такова устройство, първо е необходимо да си свалите и инсталирате приложението MagicHome. Можете да го намерите тук за Android и тук за iOS.
След това отваряте приложението и избирате плюсчето в горния десен ъгъл, след което Add Device.
Отваря ви се нов прозорец, в който виждате процеса на сканиране. Ако сканирането не започне автоматично, изберете бутон Rescan. В този момент устройството (WiFi RGB контролера) е в режим на АР с определено име на мрежата. Когато приложението сканира и види wifi мрежа с подобно име, знае, че това е устройство, което може да контролира. След това ви го показва в списъка с открити устройства. Избирате устройството от списъка и преминавате към следващия прозорец. Тук ще бъдете попитани за данните на вашата wifi домашна мрежа. Избирате вашата мрежа и въвеждате паролата си. В този момент телефонът ви е свързан към wifi-а на самото устройство (то в момента е в режим на АР). През тази връзка се прехвърля конфигурацията за вашата домашна мрежа в в RGB контролера. След като процесът завърши, контролера ще се рестартира. След рестарта той се свързва към домашната ви мрежа според данните, които сте му подали. Телефонът ви губи връзка с устройството след рестарта му, защото то вече не е в режим на АР. Телефонът ви се свързва също към домашната ви мрежа. В приложението се появява самото устройство и можете да му зададете име. След като потвърдите името на контролера вече можете да го използвате.
Впечатления от WiFi RGB контролера на MagicHome
Като цяло останах приятно изненадан от опциите в приложението. Изглежда, че работи стабилно. Мога да определям точния цвят, в който да свети лентата, само чрез плъзгане с пръста върху цветната пита. Има около 15 предварително зададени ефекта например пулсация или светкавица и т.н. Има опция да се създадат къстъм ефекти. Но най-много ми харесаха функциите Cinema, Camera, Mic и Music. При функцията Cinema, насочвате камерата на телефона към телевизора. Лентата започва да свети с цветовете на картината на телевизора, реакцията е бърза и доста ефектна. Това е може би е най-евтиния вариант за изграждане на Ambilight за домашно кино. Функцията Camera е същата като Cinema и аз не виждам смисъл от нея. Функцията mic включва микрофона на телефона и той започва да слуша околните звуци. Лентата пулсира спрямо звуците, т.е. получава се нещо като цветомузика. И накрая функцията music, която представлява плейър, чрез който можете да си пуснете музика. Лентата пулсира според музиката, аналогично е на функцията mic.
Подготовка за флашване на WiFi RGB контролера
До тук всичко беше прекрасно и сега предстоеше да свържа въпросният контролер с Home Assistant и ако всичко мине както трябва, обмислях подмяната на всички IR контролери с wifi такива. Разглобих устройството и намерих изходите за RX, TX, 3.3V, GND, но не намерих GPIO-0, вместо това намерих изход, наречен BOOT и реших, че това трябва да е GPIO-0. Тъй като изводите бяха доста малки и без оставен отвор, извадих поялната станция и започнах да споявам кабели на изходите, за да мога да ги свържа с FTDI кабел.
След като споих всичко и свързах кабела, се опитах да флашна устройството с Tasmota чрез Tasmotizer и ESPEasy, но без никакъв успех. Постоянно получавах грешка в комуникацията с устройството. След около 2 часа презапояване и проверка на връзките, снимах много отблизо чипа на устройството и останах неприятно изненадан.
Това не беше ESP-8266, дори не беше ESP-8285, това беше BL606. BL602/604/606 са ново поколение чипове, разработени върху RISK V архитектура, за които все още няма поддръжка от Tasmota или ESPHome. Останах много разочарован и потърсих из интернет информация за този нов чип. Оказа се че, този wifi rgb контролер се произвежда в 3 модификации.
Първата е с чип ESP 8266 и успешно може да се флашне с Tasmota, но поради големия обем на чипа, скоро е заменен с ESP 8285, който също успешно се флашва с Tasmota. Тези две модификации обаче са спрени от производство и ако случайно ги намерите на пазара, ще са някакви изостанали складови наличности. Третата модификация е базирана на далеч по-евтиния и малък чип BL602, и съответно неговите варианти 604 и 606, какъвто е и моят. Архитектурата на чипа е коренно различна от тази на ESP и флашването му с Tasmota изглежда невъзможно.
Интеграция на WiFi RGB контролер с Home Assistant чрез MagicHome
Реших да опитам да интегрирам контролера чрез приложението MagicHome. Оказа се, че Home Assistant има интеграция с MagicHome, но в официалната документация подчертават, че не всички устройства, работещи с MagicHome, ще се интегрират успешно в Home Assistant. За да проверите дали вашия контролер може да се интегрира, първо трябва да научте IP адреса му. Това може да стане, като сканирате мрежата с AdvancedIPScaner или чрез приложението MagicHome като изберете основното меню. От него избирате Device Manager. След това от новия прозорец селектирате конкретното устройство. От появилото се меню избирате Device information. И накрая от появилия се прозорец получавате информация за IP адреса на устройството.
Тук е момента, в който е добре да направите резервация на IP-то, тъй като устройството си взима IP-то под DHCP и след евентуално рестартиране, може да получи съвсем различен адрес. От гледна точка на MagicHome това не е проблем, но от гледна точка на Home Assistant това е голям проблем, защото IP адреса се въвежда в конфигурацията. Сега, след като имам конфигурирано в MagicHome устройство и съм сигурен, че то е със статичен адрес осигурен чрез резервация на IP-то, от рутера преминавам към интеграцията с Home Assistant.
Интеграцията с Home Assistant
Отваряме конфигурационния файл на Home Assistant – configuration.yaml. Аз използвам за редактор VisualStudio add on-a. Въвеждаме следната конфигурация:
light:
# WiFi RGB LED MagicHome - BL602
- platform: flux_led
devices:
192.168.1.90:
name: wifi_rgb_office
mode: "rgb"
Тук light регистрира група от устройства, които логично би трябвало да са свързани с осветлението. В тази група може да регистрираме множество устройства от различни производители, всяко устройство и набора от функции се определя от параметъра platform. Тук платформата се определя на flux_led, чрез тази стойност Home Assistant знае, че става въпрос за MagicHome устройства.
След определянето на платформата, следва списък с всички устройства от този тип, които имаме (все пак може да имаме повече от едно). След параметъра devices следва списъка, като за идентификация на всяко устройство се ползва IP адреса му. Ето затова е важно устройството винаги да получава един и същ адрес, в противен случай, ако след рестарт устройството получи друг адрес, интеграцията ще спре да работи. След IP адреса следва името на устройството name. Това е името, с което ще работите с устройството в Home Assistant. Накрая имаме параметър mode. Той определя в какъв режим работи самото устройство и какви са наличните му функции. В моя случай устройството е RGB контролер и стойността на параметър mode ще е rgb, но има и RGBW контролери, при които стойността ще е rgbw, а също така има и RGB-IR и RGBW-IR контролери, които съответно са с поддръжка и на IR дистанционно управление. Пълен списък на поддържаните mode може да намерите в официалната документация на Home Assistant тук. След като сме въвели всички устройства, запазваме конфигурацията и рестартираме Home Assistant. След рестартирането, ако всичко е наред, вече ще имаме достъп до ново устройство – light.wifi_rgb_office.
Интерфеис за управление на WiFi RGB контролер с Home Assistant
За управление на устройството може да ползвате стандартната карта на Home Assistant за осветление, която ви предлага pop-up прозорец, в който има цветна пита за определяне цвета на rgb лентата, бутон за включване и изключване, плъзгач за определяне на интензитета на светлината и падащо меню с предефинирани ефекти. Можете да използвате и къстъм компонента Light Entity Card от хранилището HACS, което ви предлага същото, но под формата на карта, а не на pop-up. Ако все още нямате интеграция с HACS, прочетете тук (скоро) как да я изградите.
Стандартен компонент на НА за осветление.
Компонента Light Entity Card
Като цяло устройството работи добре под управлението на Home Assistant, имате обратна връзка с него и по всяко време можете да проверите дали то работи. Ако работи, в какъв цвят свети лентата или на какъв режим е пусната. Можете да разберете например, ако друг член на семейството я пусне и т.н. Въпреки че не успях да флашна устройството с Tasmota, съм доволен от интеграцията, първо защото ми дава обратна връзка за състоянието на лентата, и второ защото интеграцията не е обвързана с клауда на MagicHome, т.е. нещата са локално при нас.
Полезни съвети
След няколко дни ползване реших, че ще подменя всички останали IR контролери у дома с такива. В заключените ще дам два полезни съвета за тези, които са се насочили към закупуването на такива контролери. Когато купувате такъв контролер, е най-добре да имате възможност да го отворите и да видите какъв е чипа. Аз лично бих си купувал само устройства с ESP, за да мога да ги флашвам с Tasmota. Ако обаче не можете да отворите устройството, до колкото разбрах, можете да ги разпознаете по кутийката. Устройствата с ESP са с правоъгълна кутийка, а тези с BL602 са с правоъгълна кутийка, но ъглите са скосени. Имайте предвид това, но не залагайте на него на 100%, тъй като никой не знае какво и как е направил китаецът.
Трикове
Следваща забележка е стандарта на RGB LED лентата. RGB лентата идва със споена в края рейка, чрез която става включването ѝ към контролера. При някои ленти Синият и Зеленият цвят са обърнати, както е в моя случай. Така, когато задам лентата да светне в син цвят, тя свети в зелено, и обратното. За да се поправи това, единият вариант е да обърнете проводниците на синия и зеления канал, което може да стане с две рейки и проводници между тях. Тъпо, но работещо решение.
Оказа се обаче, че китаецът е помислил за това и е дал решение. Отваряте приложението MagicHome. Задържате върху устройството и ще се появи меню, от което избирате Change Device Type. От новопоявилото се меню избирате тип BRG – това обръща каналите. Потвърждавате с Confirm и сте готови.
Промяната на каналите на устройството се отразява успешно и в Home Assistant, т.е. и тук цветовете се калибрират успешно.
Надявам се съдържанието на статията да ви е било интересно! Ако някой разполага с ESP контролер и е правил интеграция през MagicHome или е флашвал с Tasmota, нека сподели опит в коментарите.