Czasem, aby zrozumieć pewne problemy lub specyfikę działania akcesoriów i odpowiednio na nią zareagować, bez zagłębienia się w „technikalia” się nie obejdzie. Opiszę Wam, jak mocno różni się obsługa powiadomień w HomeKit, zależnie od sposobu transmisji.
Jak akcesoria powiadamiają o zmianie stanu
Funkcja powiadamiania o zmianie stanu akcesoriów jest wyjątkowo ważna w automatyce domowej. W ten sposób sensory informują system, że wykryły jakąś zmianę np. temperatury, czy ruch lub (oby nie) zalanie. Tak samo włącznik sterowany dodatkowo przyciskiem, musi powiadomić HomeKit, że ktoś ręcznie zmienił jego stan. Od sprawności działania takich notyfikacji, zależy sprawność automatyki domowej.
Być może zauważyliście, że niektóre akcesoria powiadamiają np. o wykryciu ruchu szybciej i sprawniej niż inne. Okazuje się, że nie wszystkie opóźnienia wynikają z nieudolności twórców oprogramowania dla urządzenia. Są rzeczy, których po prostu przeskoczyć się nie da, bo tak je, wymyśliło Apple i pewnie miało ku temu jakiś ważny powód.
Jeżeli akcesorium wykryje zmianę np. ruch, czy włączenie, to musi „podnieść wydarzenie”. Chodzi o wysłanie informacji, że jakaś charakterystyka, która może wysyłać powiadomienia, zmieniła stan.
I tu zaczynają się różnice w obsłudze zależnie od sposobu transmisji.
Wi-Fi, Ethernet wysyłają wartość, Bluetooth i Thread nie
Wi-Fi, Ethernet i akcesoria z bramkami, które łączą się tymi metodami z siecią, są inaczej obsługiwane po wykryciu zmiany niż Bluetooth. Jeżeli ona nastąpi, to do Centrum akcesoriów i innych kontrolerów wysyłana jest informacja zawierająca, poza samym powiadomieniem, również nową wartość np. nową temperatury.
W przypadku Bluetooth i Thread akcesorium wysyła informacje „zmieniła mi się temperatura, weź no, sprawdź” i dopiero po tym Centra i kontrolery odpytują akcesorium o temperaturę, czy inną charakterystykę, która uległa zmianie. Jak widać, wymaga to podwójnej wymiany informacji i dodatkowego zaangażowania „HomeKita”.
Nie zawsze wina akcesorium
Po moich ostatnich doświadczeniach z HomeKit odkryłem, że na szczęście rzadko, ale zdarzają się sytuacje, gry akcesorium poprawnie wyśle powiadomienie o zmianie, do Centrum akcesoriów, czyli „HomeKit”, ale ten nie raczy go zapytać o nową wartość. Efektem tego jest kompletny brak reakcji.
Dlatego ważny jest dobór Centrum akcesoriów. Czasem, jeżeli w domu mamy kilak centrów, to po ustawieniu automatyzacji warto, jest dać więcej czasu, aby wszystkie centra się z nią oswoiły. Akcesoria mogą też działać mniej przewidywalnie chwilę po sparowaniu. Czasem pomaga wyłączenie i włączenie Centrów.
Uwaga: informacje są wysyłane do kontrolerów, które są w domu. Tak samo każdy kontroler musi „odpytać” o zmianę. Kontrolerami są Centra akcesoriów i aktywne lokalnie iPhone’y, iPady domowników mających dostęp do HomeKit.
Dajcie znać, jak Wasze doświadczenia z „powiadomieniami” z podziałem na sposób komunikacji akcesorium.
Zapraszamy na forum o Apple. Znajdziesz tam też dział o HomeKit.
U mnie usilnie HomePod chce być centrum akcesoriów, pomimo że mam Apple TV 4K, które moim zdaniem jest szybsze…