Wersja 0.7.0 - nowy mechanizm weryfikacji obecności urządzeń [bramka Zigbee]

Moderator: vajera

User avatar
vajera
Posts: 7290
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 289 times
Been thanked: 161 times

Post

Uwaga - poniższy opis dotyczy urządzeń zasilanych w sposób ciągły (AC), a więc przekaźników, włączników, gniazdek i liczników elektrycznych, żarówek oraz sterowników LED. Urządzenia zasilane bateryjnie opisane są w kolejnym poście.

Do tej, pory w głównej pętli programu odbywało się odpytywanie wszystkich urządzeń zasilanych z sieci o ich stan i na tej podstawie wykrywane było, np. fizyczna nieobecność urządzenia.
W tej pętli odbywało się też odpytywanie stanu niektórych modeli liczników elektrycznych przez co ten mechanizm stawał się coraz mniej wydolny i coraz bardziej podatny na błędy, więc się go pozbyłem 😉

Aktualnie wygląda to tak:
każdy przekaźnik pracuje na swoich indywidualnych parametrach keepalive i timeout
keepalive - określa odstęp czasowy (w sekundach), po którym bramka próbuje sprawdzić obecność urządzenia wysyłając ping
timeout- określa odstęp czasowy (w sekundach), po którym bramka przełącza kanał w tryb offline, jeżeli w tym czasie nie zarejestrowała żadnej aktywności ze strony urządzenia, włącznie z brakiem odpowiedzi na ping
identyczne parametry ma każdy licznik elektryczny - tutaj pojawia się jeszcze jeden parametr refresh
refresh - określa odstęp czasowy (w sekundach), po którym bramka wysyła do licznika zapytanie o V/A/W
W przypadku urządzeń złożonych, w skład których wchodzi, np. kilka przekaźników lub przekaźnik + licznik elektryczny bramka monitoruje każdą aktywność w obrębie jednego urządzenia, co ozacza, że jeżeli np. licznik wysłał pomiar prądu a 5 sekund później wypadałby czas na ping gniazdka to zostanie on pominięty żeby zmniejszyć ilość komunikatów wysyłanych do bramki.

Z tego powodu liczniki dostały ten dodatkowy parametr refresh, który wymusi odczyt parametrów elektrycznych nawet, jeżeli chwilę wcześniej urządzenie wysłało np. sygnał ON.
W zasadzie w przypadku licznika elektrycznego można zdefiniować albo refresh i timeout - jeżeli chcemy otrzymywać regularny odczyt parametrów licznika albo keepalive i timeout (wtedy refresh należy ustawić na 0) - ma to sens gdy nasz licznik sam wysyła wartości w przypadku zmiany albo reaguje na polecenie configure-reporting.
Wartości tych parametrów można ustawić w GUI lub za pomocą konsoli:

update-device-timings numer_kanału nazwa_parametru wartość_w_sekundach

gdzie nazwa parametru może przyjmować następujące wartości: keepalive, timeout, refresh
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
User avatar
vajera
Posts: 7290
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 289 times
Been thanked: 161 times

Post

Mechanizm weryfikacji obecności urządzeń Zigbee zasilanych bateryjnie:

  1. Urządzenia oparte o SUPLA_CHANNELTYPE_BINARYSENSOR - wszystkie czujniki binarne (otwarcia, zalania, dymu, gazu, obecności):
    • keepalive - nie jest wykorzystywany, alternatywą może być wykorzystanie funkcji configure-reporting, np. dla stanu baterii.
    • timeout - określa czas (sekundy), po którym czujnik przejdzie w stan offline*, jeżeli nie zgłosi zmiany stanu/stanu baterii.
    • autoset - określa czas (sekundy), po którym czujnik zresetuje swój stan po wystąpieniu alarmu - przydatne w przypadku czujników, które powracają do stanu wyjściowego z opóźnieniem .
  2. Urządzenia oparte o SUPLA_CHANNELTYPE_THERMOMETER, SUPLA_CHANNELTYPE_HUMIDITYANDTEMPSENSOR, SUPLA_CHANNELTYPE_PRESSURESENSOR- wszystkie czujniki temperatury, temperatury i wilgotności oraz ciśnienia:
    • keepalive - nie jest wykorzystywany, alternatywą może być wykorzystanie funkcji configure-reporting, np. dla stanu baterii.
    • timeout - określa czas (sekundy), po którym czujnik przejdzie w stan offline*, jeżeli nie zgłosi zmiany wartości/stanu baterii.
    • refresh/autoset/debounce - nie jest wykorzystywany.
  3. Urządzenia oparte o SUPLA_CHANNELTYPE_HVAC - wszystkie głowice termostatyczne:
    • keepalive - nie jest wykorzystywany, alternatywą może być wykorzystanie funkcji configure-reporting, np. dla stanu baterii.
    • timeout - określa czas (sekundy), po którym głowica przejdzie w stan offline*, jeżeli nie zgłosi zmiany stanu/stanu baterii.
    • refresh/autoset/debounce - nie jest wykorzystywany.ㅤ
  4. Urządzenia oparte o SUPLA_CHANNELTYPE_ACTIONTRIGGER - wszystkie przyciski wirtualne:
    • keepalive - nie jest wykorzystywany, alternatywą może być wykorzystanie funkcji configure-reporting dla stanu baterii.
    • timeout - określa czas (sekundy), po którym przycisk przejdzie w stan offline*, jeżeli nie zgłosi zmiany stanu/stanu baterii.
    • debounce - Określa czas (w milisekundach) poniżej którego kolejne naciśnięcie przycisku jest ignorowane. Uwaga - ustawienie wartości 0 dla tego parametru powoduje przyjęcie domyślnego czasu 100 ms (1500 ms dla Moes 4x3).ㅤ
    * Po włączeniu flagi SET_STATE_OFFLINE_REMOTE_WAKEUP_IS_NOT SUPPORTED dla danego kanału, będzie się on domyślnie uruchamiał w tym stanie i przechodził w niego po przekroczeniu timeout.
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
djack2017
Posts: 784
Joined: Mon Nov 27, 2017 7:36 am
Been thanked: 1 time

Post

1. Defaultowe wartości tych parametrów po sparowaniu urządzenia mają wartość "0" - co to wtedy oznacza?
2. Jeżeli np dla kanału termometr zmienię wartość "timeout" na większą od zera (np.20) następuje rozłączenie kanału w supli, po ustawieniu tego parametru z powrotem na "0" po pewnym czasie włącza kanał.
__________________________________________________________
Specjalizowane oprogramowanie do sterowników Sonoff, Gosund, Blitzwolf, Shelly i innych:
https://djack.com.pl/modules.php?name=Downloads&d_op=viewdownload&cid=54
User avatar
vajera
Posts: 7290
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 289 times
Been thanked: 161 times

Post

djack2017 wrote: Wed Feb 11, 2026 8:46 pm Defaultowe wartości tych parametrów po sparowaniu urządzenia mają wartość "0" - co to wtedy oznacza?
Funkcja wyłączona.
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
User avatar
vajera
Posts: 7290
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 289 times
Been thanked: 161 times

Post

djack2017 wrote: Wed Feb 11, 2026 8:46 pm 2. Jeżeli np dla kanału termometr zmienię wartość "timeout" na większą od zera (np.20) następuje rozłączenie kanału w supli, po ustawieniu tego parametru z powrotem na "0" po pewnym czasie włącza kanał.
Zgodnie z założeniem - jeżeli nie przyjdzie pomiar temperatury w ciągu 20 sekund termometr przejdzie w offline. 20 sekund to o dwa rzędy wielkości za mało na czujnik bateryjny - proponuję raczej wartości z przedziału 3600 -14 400, ewentualnie jeżeli zależy Ci na bardzo częstych pomiarach, to musisz odpowiednio skonfigurować raportowanie.
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
djack2017
Posts: 784
Joined: Mon Nov 27, 2017 7:36 am
Been thanked: 1 time

Post

vajera wrote: Wed Feb 11, 2026 9:28 pm to musisz odpowiednio skonfigurować raportowanie.
Super a gdzie to zrobić?
__________________________________________________________
Specjalizowane oprogramowanie do sterowników Sonoff, Gosund, Blitzwolf, Shelly i innych:
https://djack.com.pl/modules.php?name=Downloads&d_op=viewdownload&cid=54
User avatar
vajera
Posts: 7290
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 289 times
Been thanked: 161 times

Post

djack2017 wrote: Wed Feb 11, 2026 9:31 pm
vajera wrote: Wed Feb 11, 2026 9:28 pm to musisz odpowiednio skonfigurować raportowanie.
Super a gdzie to zrobić?
Pytanie nr 3 😉

viewtopic.php?p=208857#p208857

Wszystko ustawiasz w GUI, zakładka Clusters&Attributes (C&A).
Musisz tylko pamiętać, że w przypadku sleep end devices (np. termometr) musisz wybudzić urządzenie na 1 max. 2 sekundy przez naciśnięciem przycisku configure-reporting.
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277

Return to “Bramka ZigBee”