Napisz do mnie

Wyślij prywatną wiadomość

STEROWANIE URZĄDZENIAMI PHILIPS HUE

opublikowano: 4 paź 2020 wyświetleń: 2293 komentarzy: 0

#Node-RED #Philips HUE #dariahomesystem #MQTT

Kontynuując temat kontrolowania świateł w domu inteligentnym, tym razem kilka słów o lampach Philips Hue.

Oświetlenie Philips Hue

Pierwszym elementem z serii Philips Hue zakupionym do testów były mostek oraz dwie ściemnialne "żarówki". W zasadzie nie byłem nigdy za bezprzewodową komunikacją, a tutaj taka właśnie występuje, bo urządzenia Hue wykorzystują do porozumiewania się radiowy protokół zigbee. Obecnie, po dwóch latach użytkowania, mogę już co nieco powiedzieć więcej o systemie kablowym i bezprzewodowym. Efekt jest taki, że 80% lamp w moim mieszkaniu jest napędzanych systemem Philips Hue.

Dlaczego Philips Hue?

Sam system do najtańszych nie należy i w zasadzie nie skusiłbym się na niego, gdyby nie fakt, że można relatywnie tanio nabyć podzespoły powystawowe na Allegro. Jako osoba obeznana z elektroniką wiem, że to co oferuje powiedzmy taśma RGB Philipsa jest do zrobienia we własnym zakresie za dużo mniej. Pierwszy plan zakładał nabycie, również niskim kosztem efektownych kinkietów, kloszy itp. i przeszczepieniu im taśm LED sterowanych Hapcanem.

Jednak jak już nabyłem pierwsze żarówki, podłączyłem do pierwszej lepszej lampki i po chwili mogłem już tym sterować ze smartfona czy Node-Reda, to zacząłem głębiej przeglądać ofertę Philipsa. Głównie chodziło w tym wypadku o czas realizacji. Nie trzeba podłączać dodatkowych modułów, ciągnąć kabli, podłączasz lampę, wkręcasz żarówkę i działa. W niedługim czasie praktycznie każde pomieszczenie w mieszkaniu miało już po kilka lamp serii Philips Hue.

Mostek Hue daje dość duże możliwości automatyzacji lamp ale ja z tego w zasadzie nie korzystam — podobnie jak w systemie Hapcan, gdzie całą logikę sterowania przetwarza Node-Red na komputerze Intel NUK. Póki co, niektóre lampy Philipsa są jeszcze włączane pilotami wiszącymi na ścianie — a więc komunikacja odbywa się z pominięciem Node-Reda. Docelowo mam w planie jednak spiąć to z przyciskami działającymi pod kontrolą Hapcana.

Przycisk Philips Hue

W zasadzie to co najbardziej mnie w zainteresowało to żarówki posiadające regulację temperatury barwy światła — od ciepłej do zimnej (Philips Hue ambiance). I to jest jedna z rzeczy, która jest całkowicie zautomatyzowana przez Node-Red.

Sterowanie lampami ściemnialnymi Philips Hue z regulacją temperatury barwy

Przepływ Node-Red odpowiedzialny za sterowanie jest niemal identyczny jak ten przedstawiony w pierwszej części artykułu — przy sterowaniu modułami Hapcan, dlatego nie będę szczegółowo opisywał całego przepływu od początku.

Sterowanie światłamiPhilips Hue w Node-Red

Od lewej, bloczki subskrybujące odpowiednie tematy MQTT pod które wysyłane są komendy sterujące światłami HUE, np. home/env/light/room1/ceiling/control. Bloczek ON/OFF typu switch sprawdza, czy polecenie wysyłane do lampy to włączanie czy wyłączanie. Jest on nieco prostszy niż jego odpowiednik z Hapcana, ponieważ tutaj sprawdzam tylko jedną możliwą wartość pola msg.payload.on typu bool.

W przypadku gaszenia, wiadomość wysyłana jest do bloczka Demux, w przypadku włączania pojawiają się dwie grupy bloczków. Jedna odpowiedzialna jest za sterowanie jasnością (tak jak w Hapcan — oczywiście z modyfikacjami dostosowującymi do struktury wiadomości: msg.payload.brightness zamiast msg.payload.state).

Druga zaś grupa odpowiada za ustawianie odpowiedniej barwy światła. Zasada działania jest identyczna jak w przypadku jasności, z tym, że bloczek typu visual-mapper mapuje aktualny czas w minutach na wartość barwy. W przypadku Philipsa są to wartości 153 (zimna) do 500 (ciepła).

Mapowanie czasu na barwę światła Philips Hue

Przez większość dnia barwa światła jest mniej więcej dzienna. Im bliżej wieczora tym zaczyna się ona robić cieplejsza. W nocy w godzinach między 0:00  a 1:00 temperatura zmienia się na bardzo zimną. Dodatkowo bloczek brightness zmienia wtedy natężenie na minimalne a więc całe światło symuluje wtedy kolor księżyca.

Czy to dobrze czy źle, tego jeszcze nie badałem. Na razie jest jak jest :).

Na rysunku powyżej można zauważyć jeszcze dodatkowy bloczek subskrybujący temat home/sys/service/eventgenerator/time/status podpięty do bloczka inject Time w grupie sterowania barwą. Dzięki temu, co minutę system przelicza barwę światła dla lamp Hue i gdy ta się zmieni dopasowuje ją odpowiednio. W odróżnieniu od jasności świateł, ich barwa jest modyfikowana na żywo. Użytkownik systemu w zasadzie nie ma potrzeby, a nawet bezpośredniej możliwości, zmiany barwy świateł a sama zmiana jest niezauważalna, gdyż zmiana ze światła dziennego na wieczorowe trwa kilka godzin. Nawet gdyby ustawić dość ostry kąt na wykresie to wraz z nową wartością barwy do lamp wysyłany jest również parametr odpowiadający za czas animacji równy 60s, więc nawet gwałtowne przejście jest dość przyjemne dla oka.

Podobny efekt jest użyty także w telefonach z Androidem, gdzie po zachodzie słońca białe zimne kolory zmieniają się na ciepłe żółte. Tylko, że zmiana ta trwa 1-2 sekundy i jest dość nieprzyjemna. W domu świecąc światła w dzień i wieczór w zasadzie nie da się odczuć stopniowej zmiany barwy.

I to właśnie jeden z przykładów, gdzie system dba o komfort użytkownika bez angażowania jego uwagi. Na rynku można kupić światła z pilotem zmieniające barwę, ale szczerze powiedziawszy, wątpię aby ten ficzer był jakoś nagminnie stosowany. U mnie w zasadzie można zapomnieć, że w ogóle taka regulacja jest. Ma być dobrze… i jest :).

Bloczek Demux odpowiada oczywiście za przekierowanie wiadomości do odpowiedniego urządzenia według tematu MQTT, ale dodatkowo zawiera także rozróżnienie czy jest to wiadomość od generatora czasu. Jeśli tak, to dodaje do wiadomości parametr typu msg.payload.transitionTime ustawiony na wspomniane 60 sekund oraz weryfikuje czy taka wartość była już ustawiana i przepuszcza ją dalej tylko jeśli msg.payload.colorTemp (czyli barwa) się zmieniła (bloczek typu RBE, blokujący takie same wiadomości). Przy powolnych zmianach zmiana barwy z wartości np 252 na 253 może potrwać kilkanaście czy kilkadziesiąt minut i nie ma potrzeby notyfikować co minutę każdą lampę w mieszkaniu żeby ustawiła nową barwę, skoro ta się w zasadzie nie zmieniła.

Na samym końcu łańcucha znajdują się bloczki sterujące bezpośrednio urządzenia Philips Hue. Ja wykorzystuję w tym celu bloczki node-red-contrib-huemagic.

4 like voting
is closed
thanks
for your vote

CZYTAJ DALEJ POZOSTAŁE CZĘŚCI TEGO ARTYKUŁU


TO MOŻE CIĘ ZAINTERESOWAĆ


Comments (0)


Allowed tags: <b><i><br>


PODOBAŁO SIĘ?

PODOBAŁO SIĘ?


4 like voting
is closed
thanks
for your vote

PODZIEL SIĘ

PODZIEL SIĘ