Urządzenia z ESPHome od dawna potrafią odwzorować przełącznik z Home Assistanta i przełączać go przyciskiem albo z ekranu. W przypadku świateł kończyło się to jednak na włączaniu i wyłączaniu, chyba że ktoś pisał własne wywołania homeassistant.action. Nowa platforma świateł homeassistant uzupełnia tę lukę. Tworzy na urządzeniu światło, które śledzi encję światła w Home Assistancie i steruje nią przez natywne API, łącznie z jasnością, temperaturą barwową i kolorem. Zgłoszenie zmian otworzył 19 października 2025 roku użytkownik GitHuba egormanga, a J. Nick Koston (bdraco) scalił je do gałęzi rozwojowej 18 października 2026 o 22:02 czasu polskiego, prawie równo rok później. Zmiana zamyka prośbę o tę funkcję z maja 2025 roku i jest przewidziana na ESPHome 2026.11. Zgłoszenie z dokumentacją wciąż czeka na scalenie.
Jak to wygląda
light:
- platform: homeassistant
id: living_room
entity_id: light.living_room
button:
- platform: template
name: "Living room dim"
on_press:
- light.turn_on:
id: living_room
brightness: 40%
color_temperature: 370 mireds
Na urządzeniu takie światło zachowuje się jak każde inne. Możesz go używać w automatyzacjach, w zwykłych akcjach świateł, na wyświetlaczu albo w interfejsie zbudowanym w LVGL. Przyda się w panelach ściennych i pokrętłach, które mają sterować lampą Zigbee albo Matter dodaną już do Home Assistanta.
Jak ESPHome i Home Assistant wymieniają stan
Stan, tryb koloru, jasność, temperatura barwowa i kolor podążają za encją w Home Assistancie. Stamtąd pochodzą też obsługiwane tryby koloru i zakres temperatury barwowej, dlatego color_temperature podajesz w miredach i w tym zakresie. Home Assistant od wersji 2026.3, w której usunięto atrybuty w miredach, posługuje się wyłącznie kelwinami, więc platforma przelicza wartości w obie strony.
Zmiana wprowadzona na urządzeniu trafia do Home Assistanta jako light.turn_on albo light.turn_off. Temperatura barwowa lub kolor są wysyłane tylko wtedy, gdy zmieniły się one same albo tryb koloru. Kolor jest wysyłany jako rgb_color, a Home Assistant przelicza go na kanały konkretnej lampy. Sama zmiana jasności nie rusza proporcji bieli ciepłej i zimnej. Efekty działają na urządzeniu i sterują prawdziwą lampą tymi samymi akcjami. Przejście odbywa się tylko na urządzeniu, a Home Assistant dostaje jedynie stan końcowy. Mignięcie (flash) nigdy nie jest wysyłane, o czym ESPHome informuje w dzienniku.
Po każdej zmianie urządzenie czeka, aż Home Assistant zgłosi nowy stan. Jeśli zgłoszenie nie przyjdzie w czasie report_timeout, domyślnie 10 sekund, maksymalnie 255 sekund, ESPHome zapisze ostrzeżenie i przywróci ostatni zgłoszony stan. Tak się stanie na przykład wtedy, gdy połączenia z Home Assistantem jeszcze nie ma, encja jest niedostępna albo akcja została odrzucona. Dla świateł, które Home Assistant tylko okresowo odpytuje, dokumentacja zaleca dłuższy czas, bo na zgłoszenie można czekać nawet minutę.
Urządzenie niczego nie zapisuje ani nie przywraca, bo stan zawsze przychodzi z Home Assistanta. Korekcja gamma i domyślne przejście są wyłączone, ponieważ o tym, jak świeci lampa, decyduje Home Assistant.
Zanim spróbujesz
Tak jak przy innych platformach homeassistant, urządzenie musi być dodane do Home Assistanta, nawet jeśli nie chcesz tam widzieć żadnej z jego encji. Światło wysyła zmiany jako akcje Home Assistanta, a integracja ESPHome domyślnie nie zezwala nowo dodanym urządzeniom na ich wykonywanie. Trzeba więc w opcjach tego urządzenia włączyć ustawienie „Allow the device to perform Home Assistant actions”.