Z-Wave JS, sterownik, na którym opiera się integracja Z-Wave w Home Assistancie oraz Z-Wave JS UI, usunął błąd, przez który jedno urządzenie w sieci mogło wywoływać alarmy w imieniu innego. Poprawkę przygotował Dominic Griesel (AlCalzone), główny programista projektu, a 22 października 2026 trafiła do głównej gałęzi.
Na czym polegał problem
Błąd dotyczył odczytywania raportów Alarm Sensor. Taki raport zawiera pole z identyfikatorem węzła źródłowego, przewidziane na wypadek, gdy jedno urządzenie przekazuje alarm innego. Z-Wave JS na podstawie tego pola ustalał, do którego urządzenia należy alarm, zamiast sprawdzać, kto faktycznie wysłał wiadomość.
W efekcie dowolny węzeł mógł wysłać raport z identyfikatorem innego węzła i alarm wyglądał tak, jakby pochodził od tamtego urządzenia. Według opisu poprawki działało to nawet z urządzenia dołączonego bez zabezpieczeń, więc omijało klasę bezpieczeństwa podszywanego urządzenia. Bezpiecznie dołączony czujnik dymu czy zalania niewiele daje, jeśli niezabezpieczone urządzenie może wywoływać alarmy w jego imieniu.
Co się zmienia
Sterownik zawsze przypisuje teraz raport do urządzenia, które go wysłało. Jeśli identyfikator węzła źródłowego w raporcie nie jest ani zerem, ani identyfikatorem nadawcy, raport jest odrzucany, a w dzienniku pojawia się komunikat.
Ma to swoją cenę. Odrzucane są też raporty Alarm Sensor przekazywane w dobrej wierze, bo Z-Wave JS nie ma jak sprawdzić, czy urządzenie przekazujące może występować w imieniu innego. Poprawka dotyczy wyłącznie klasy poleceń Alarm Sensor.
Kiedy trafi do użytkowników
Poprawki nie ma w Z-Wave JS 15.31.2, wydanym 22 października kilka godzin przed jej scaleniem. Znajdzie się w kolejnym wydaniu, a użytkownicy Home Assistanta dostaną ją, gdy serwer Z-Wave JS albo Z-Wave JS UI, z którego korzystają, przejdzie na tę wersję sterownika.