Encja MQTT w Home Assistancie może należeć do urządzenia tylko wtedy, gdy ma unikalny identyfikator (unique_id). Mimo to Home Assistant do tej pory czytał sekcję device także w encjach, które go nie miały, i miało to jeden widoczny skutek. Zmiana #187856, scalona z gałęzią rozwojową 22 października 2026 i oznaczona jako niezgodna wstecz, to zmienia. Trafi do Home Assistanta 2026.11.
Co się zmienia
Od wersji 2026.11 sekcja device w encji MQTT bez unique_id będzie pomijana. Dotyczy to encji zdefiniowanych w YAML i tych, które powstają przez automatyczne wykrywanie MQTT, łącznie z późniejszymi aktualizacjami ich konfiguracji.
Sama encja dalej działa. Znika tylko pozostałość po jej sekcji device. Jeśli była w niej pozycja via_device, Home Assistant zakładał dla niej urządzenie w rejestrze urządzeń, chociaż encji i tak nie dało się z żadnym urządzeniem powiązać. Takie niepotrzebne urządzenie nie będzie już tworzone.
Home Assistant ostrzegał przed tym już wcześniej. W dzienniku pojawiał się wpis, że MQTT próbuje przypiąć urządzenie do encji bez unikalnego identyfikatora i że od wersji 2027.8 przestanie to działać. Teraz integracja MQTT sama odrzuca dane urządzenia, jeszcze przed tym terminem.
Kogo to dotyczy
Przejrzyj encje MQTT, które napisałeś ręcznie w YAML i które mają sekcję device:, ale nie mają unique_id:. To samo dotyczy komunikatów wykrywania wysyłanych przez własne skrypty albo oprogramowanie urządzeń, w których obiekt dev lub device jest, a uniq_id brakuje. Gotowe mostki, takie jak Zigbee2MQTT, zwykle wysyłają unikalny identyfikator z każdą encją, więc to raczej nie one. Częściej pomijają go domowej roboty programy publikujące dane.
Jeśli taka encja ma się pojawić pod urządzeniem, dodaj jej unikalny identyfikator:
mqtt:
sensor:
- name: "Temperatura w garażu"
state_topic: "garage/temp"
unique_id: garage_temperature
device:
identifiers: ["garage_node"]
name: "Moduł w garażu"
Bez unique_id Home Assistant nadal pokaże czujnik, ale nie przypisze go do urządzenia „Moduł w garażu” i nie utworzy tego urządzenia tylko z jego powodu.
Część większej zmiany w MQTT
Ta zmiana została wydzielona z #186015, która dodaje obsługę urządzeń podrzędnych w MQTT i wciąż czeka na scalenie. W tym samym czasie scalono też dwie poprawki MQTT: jedna naprawia błędne aktualizacje wykrywania dla wyzwalaczy urządzeń i znaczników, a druga obsługuje błędy rejestracji urządzeń dla tych samych wyzwalaczy i znaczników.