Raportowanie stanu baterii w ekosystemie Zigbee odbywa się poprzez 3 różne mechanizmy.
Dwa z nich opierają się o standard Zigbee, czyli raportuje klaster POWER_CFG za pomocą atrybutu BATTERY_PERCENTAGE lub BATTERY_VOLTAGE.
Ten pierwszy podaje wartości od 0 (=0%) do 200 (=100%), natomiast ten drugi podaje wartość napięcia baterii ×10, np. 33 = 3,3V.
O ile BATTERY_PERCENTAGE dostarcza wartość jednoznaczną, o tyle BATTERY_VOLTAGE wymaga do przeliczenia na % znajomości Vmin i Vmax.
Bramka przyjmuje wartości domyślne, ale one nie zawsze pasują, stąd możliwość wprowadzenia własnych progów w GUI.
Zdarzają się urządzenia, które raportują oba powyższe atrybuty i niestety nie zawsze robią to spójnie, tzn. z jednego atrybutu wynika 100% a z drugiego 20%.
W tym celu powstały dwie flagi DISABLE_BATTERY_PERCENTAGE_MSG i DISABLE_BATTERY_VOLTAGE_MSG, które pozwalają zablokować raportowanie wybranego atrybutu, żeby komunikaty o stanu baterii były spójne.
Część urządzeń Tuya oraz innych producentów (np. Aqara) wprowadza jeszcze własne mechanizmy raportowania stanu baterii np. poprzez tzw. datapoints.
Najczęstsze pytania i odpowiedzi [bramka ZigBee]
Moderator: vajera
-
vajera
- Posts: 7293
- Joined: Wed Oct 31, 2018 7:58 am
- Location: Biedrusko
- Has thanked: 291 times
- Been thanked: 161 times
Last edited by vajera on Fri Oct 24, 2025 2:50 pm, edited 3 times in total.
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
-
vajera
- Posts: 7293
- Joined: Wed Oct 31, 2018 7:58 am
- Location: Biedrusko
- Has thanked: 291 times
- Been thanked: 161 times
Poradnik dotyczący lokalnych zdarzeń i akcji w bramce Z2S (cz. I).
Kilka słów wstępu - cały system opiera się na mechanizmie wbudowanym w SuplaDevice. Dawno temu @klew stworzył ten system i wbudował go praktycznie we wszystkie komponenty - oznacza to, że chociaż jest praktycznie niewidoczny stanowi ważny element komunikacji w SD.
Podstawowa zasada jest następująca - chcemy skomunikować ze sobą DWA kanały w taki sposób, że ZDARZENIE w jednym kanale (źródłowym) wywoła AKCJĘ w drugim kanale (docelowym).
Ważna uwaga - do jednego kanału i związanego z nim zdarzenia może się zarejestrować wiele kanałów docelowych - każdy z inną akcją.
Przykład:
kanał źródłowy PRZYCISK generuje zdarzenie ON_TURN_ON, SuplaDevice sprawdza, które kanały zarejestrowały się na to zdarzenie na tym kanale i znajduje:
- kanał LIGHT_HALL z akcją TURN_ON oraz
-kanał LIGHT_KITCHEN z akcją TURN_OFF.
To oznacza, że zdarzenie ON_TURN_ON w kanale źródłowym PRZYCISK włączy kanał LIGHT_HALL i wyłączy kanał LIGHT_KITCHEN.
W mojej opinii to jest kluczowa kwestia dla zrozumienia mechanizmu zdarzeń i akcji - jedno zdarzenie -> wiele różnych akcji, np. jest mi smutno (zdarzenie), więc wysyłam smsy do wszystkich moich dziewczyn - każdy o innej treści (AKCJA)
Przykłady zdarzeń:
ON_TURN_ON, ON_TURN_OFF - generowane np. przez przekaźniki, ale również przez czujniki binarne;
ON_CLICK_1, ON_CLICK_2, ON_HOLD - generowane przez AT w bramce - to pozwala na to, że AT mógł jednocześnie generować akcje na serwerze i lokalnie - to oczywiście mogą być całkowicie różne akcje;
ON_HVAC_HEATING, ON_HVAC_STANDBY, ON_HVAC_WEEKLY_SCHEDULE_ENABLED, ON_HVAC_WEEKLY_SCHEDULE_DISABLED, ON_HVAC_MODE_OFF - zdarzenia generowane przez termostat Supla;
ON_CHANGE - ogólne zdarzenie generowane, gdy zmienia się wartość kanału Supla;
Z2S_SUPLA_EVENT_ON_SUPLA_INITIALIZED, Z2S_SUPLA_EVENT_ON_SUPLA_REGISTERED_AND_READY - zdarzenia generowane przez SuplaDevice;
Z2S_SUPLA_EVENT_ON_ZIGBEE_STARTED - zdarzenie generowane po uruchomieniu podsystemu Zigbee;
Z2S_SUPLA_EVENT_ON_EVERY_5_SECONDS, Z2S_SUPLA_EVENT_ON_EVERY_30_SECONDS, Z2S_SUPLA_EVENT_ON_EVERY_60_SECONDS, Z2S_SUPLA_EVENT_ON_EVERY_24_HOURS - zdarzenia genrowane cyklicznie.
Specjalnym rodzajem zdarzeń są tzw. warunki (conditions) - pozwalają na porównanie wartości kanału z wartością/wartościami progowymi - przydaje się to np. przy czujnikach T/H lub kanałach GPM.
Przykładowy warunek ON_LESS wartość - zdarzenie zostanie wygenerowane gdy wartość kanału zmieni się z >= wartość na < wartość.
Przykłady akcji:
TURN_ON, TURN_OFF, TOGGLE - akcje np. dla przekaźników, RGBW, termostatów;
SET, CLEAR - akcje ustawiające stan czujnika binarnego;
OPEN, CLOSE, STOP - akcje dla rolet;
BRIGHTEN_ALL, DIM_ALL - akcje dla ściemniacza;
SOFT_RESTART;
INCREASE_TEMPERATURE, DECREASE_TEMPERATURE, SWITCH_TO_MANUAL_MODE - przykładowe akcje dla termostatu;
Z2S_SUPLA_ACTION_RESEND_RELAY_STATE - akcja wymusza na przekaźniku ponowne wysłanie swojego stanu (jako ON_TURN_ON/ON_TURN_OFF) niezależnie od zmiany stanu;
Z2S_SUPLA_ACTION_START_TIMER/Z2S_SUPLA_ACTION_STOP_TIMER - uruchamia wyłącza zdarzenia cykliczne.
Kilka słów wstępu - cały system opiera się na mechanizmie wbudowanym w SuplaDevice. Dawno temu @klew stworzył ten system i wbudował go praktycznie we wszystkie komponenty - oznacza to, że chociaż jest praktycznie niewidoczny stanowi ważny element komunikacji w SD.
Podstawowa zasada jest następująca - chcemy skomunikować ze sobą DWA kanały w taki sposób, że ZDARZENIE w jednym kanale (źródłowym) wywoła AKCJĘ w drugim kanale (docelowym).
Ważna uwaga - do jednego kanału i związanego z nim zdarzenia może się zarejestrować wiele kanałów docelowych - każdy z inną akcją.
Przykład:
kanał źródłowy PRZYCISK generuje zdarzenie ON_TURN_ON, SuplaDevice sprawdza, które kanały zarejestrowały się na to zdarzenie na tym kanale i znajduje:
- kanał LIGHT_HALL z akcją TURN_ON oraz
-kanał LIGHT_KITCHEN z akcją TURN_OFF.
To oznacza, że zdarzenie ON_TURN_ON w kanale źródłowym PRZYCISK włączy kanał LIGHT_HALL i wyłączy kanał LIGHT_KITCHEN.
W mojej opinii to jest kluczowa kwestia dla zrozumienia mechanizmu zdarzeń i akcji - jedno zdarzenie -> wiele różnych akcji, np. jest mi smutno (zdarzenie), więc wysyłam smsy do wszystkich moich dziewczyn - każdy o innej treści (AKCJA)
Przykłady zdarzeń:
ON_TURN_ON, ON_TURN_OFF - generowane np. przez przekaźniki, ale również przez czujniki binarne;
ON_CLICK_1, ON_CLICK_2, ON_HOLD - generowane przez AT w bramce - to pozwala na to, że AT mógł jednocześnie generować akcje na serwerze i lokalnie - to oczywiście mogą być całkowicie różne akcje;
ON_HVAC_HEATING, ON_HVAC_STANDBY, ON_HVAC_WEEKLY_SCHEDULE_ENABLED, ON_HVAC_WEEKLY_SCHEDULE_DISABLED, ON_HVAC_MODE_OFF - zdarzenia generowane przez termostat Supla;
ON_CHANGE - ogólne zdarzenie generowane, gdy zmienia się wartość kanału Supla;
Z2S_SUPLA_EVENT_ON_SUPLA_INITIALIZED, Z2S_SUPLA_EVENT_ON_SUPLA_REGISTERED_AND_READY - zdarzenia generowane przez SuplaDevice;
Z2S_SUPLA_EVENT_ON_ZIGBEE_STARTED - zdarzenie generowane po uruchomieniu podsystemu Zigbee;
Z2S_SUPLA_EVENT_ON_EVERY_5_SECONDS, Z2S_SUPLA_EVENT_ON_EVERY_30_SECONDS, Z2S_SUPLA_EVENT_ON_EVERY_60_SECONDS, Z2S_SUPLA_EVENT_ON_EVERY_24_HOURS - zdarzenia genrowane cyklicznie.
Specjalnym rodzajem zdarzeń są tzw. warunki (conditions) - pozwalają na porównanie wartości kanału z wartością/wartościami progowymi - przydaje się to np. przy czujnikach T/H lub kanałach GPM.
Przykładowy warunek ON_LESS wartość - zdarzenie zostanie wygenerowane gdy wartość kanału zmieni się z >= wartość na < wartość.
Przykłady akcji:
TURN_ON, TURN_OFF, TOGGLE - akcje np. dla przekaźników, RGBW, termostatów;
SET, CLEAR - akcje ustawiające stan czujnika binarnego;
OPEN, CLOSE, STOP - akcje dla rolet;
BRIGHTEN_ALL, DIM_ALL - akcje dla ściemniacza;
SOFT_RESTART;
INCREASE_TEMPERATURE, DECREASE_TEMPERATURE, SWITCH_TO_MANUAL_MODE - przykładowe akcje dla termostatu;
Z2S_SUPLA_ACTION_RESEND_RELAY_STATE - akcja wymusza na przekaźniku ponowne wysłanie swojego stanu (jako ON_TURN_ON/ON_TURN_OFF) niezależnie od zmiany stanu;
Z2S_SUPLA_ACTION_START_TIMER/Z2S_SUPLA_ACTION_STOP_TIMER - uruchamia wyłącza zdarzenia cykliczne.
Last edited by vajera on Thu Jan 15, 2026 11:13 pm, edited 1 time in total.
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
-
vajera
- Posts: 7293
- Joined: Wed Oct 31, 2018 7:58 am
- Location: Biedrusko
- Has thanked: 291 times
- Been thanked: 161 times
Poradnik dotyczący lokalnych zdarzeń i akcji w bramce Z2S (cz. II).
W GUI w zakładce Channels na liście kanałów dostępny jest specjalny kanał GATEWAY EVENTS:
- to jest "kanał" lokalny - nie będzie widoczny w Cloud ani w aplikacji (podobnie jak bramki logiczne);
- nie można go usunąć, natomiast można mu zmienić nazwę;
- ten kanał odpowiedzialny jest za generowanie tzw. zdarzeń systemowych bramki, które można wykorzystać m.in. przy budowania lokalnych akcji;
- obecnie kanał generuje następujące zdarzenia:
-- ON_DEVICE_STATE_CHANGE - zdarzenie generowane przez SuplaDevice na różnych etapach rejestracji;
-- ON_SUPLA_INITIALIZED - zdarzenie generowane, gdy status SuplaDevice przyjmuje wartość INITIALIZED;
-- ON_SUPLA_REGISTERED_AND_READY - zdarzenie generowane, gdy status SuplaDevice przyjmuje wartość REGISTERED_AND_READY;
-- ON_ZIGBEE_STACK_STARTED - zdarzenie generowane po zakończeniu inicjalizacji podsystemu Zigbee;
-- ON_ZIGBEE_OPEN_NETWORK - zdarzenie generowane w momencie wejścia bramki w tryb parowania;
-- ON_ZIGBEE_CLOSE_NETWORK - zdarzenie generowane w momencie wyjścia bramki z trybu parowania;
-- Z2S_SUPLA_EVENT_ON_GUI_STARTED - zdarzenie generowane po uruchomieniu GUI;
-- ON_EVERY_5_SECONDS, ON_EVERY_30_SECONDS, ON_EVERY_60_SECONDS, ON_EVERY_24_HOURS - te zdarzenia celowo generowane są w metodzie iterateAlways () a nie w onTimer(), wiec podane czasy są orientacyjne;
- kanał ten przyjmuje też następujące akcje:
-- SOFT_RESTART - powoduje ponowne uruchomienie bramki;
-- Z2S_SUPLA_ACTION_START_TIMER - uruchamia zdarzenia cykliczne (domyślnie wyłączone);
-- Z2S_SUPLA_ACTION_STOP_TIMER -zatrzymuje zdarzenia cykliczne;
--Z2S_SUPLA_ACTION_OPEN_ZIGBEE_NETWORK - akcja włącza tryb parowania w bramce (o ile nie jest już uruchomiony);
-- Z2S_SUPLA_ACTION_CLOSE_ZIGBEE_NETWORK - akcja wyłącza tryb parowania w bramce (o ile jest włączony);
-- Z2S_SUPLA_ACTION_START_GUI_MINIMAL - akcja uruchamia GUI (o ile nie jest uruchomione) w trybie minimal;
-- Z2S_SUPLA_ACTION_START_GUI_STANDARD - akcja uruchamia GUI (o ile nie jest uruchomione) w trybie standard;
W GUI w zakładce Channels na liście kanałów dostępny jest specjalny kanał GATEWAY EVENTS:
- to jest "kanał" lokalny - nie będzie widoczny w Cloud ani w aplikacji (podobnie jak bramki logiczne);
- nie można go usunąć, natomiast można mu zmienić nazwę;
- ten kanał odpowiedzialny jest za generowanie tzw. zdarzeń systemowych bramki, które można wykorzystać m.in. przy budowania lokalnych akcji;
- obecnie kanał generuje następujące zdarzenia:
-- ON_DEVICE_STATE_CHANGE - zdarzenie generowane przez SuplaDevice na różnych etapach rejestracji;
-- ON_SUPLA_INITIALIZED - zdarzenie generowane, gdy status SuplaDevice przyjmuje wartość INITIALIZED;
-- ON_SUPLA_REGISTERED_AND_READY - zdarzenie generowane, gdy status SuplaDevice przyjmuje wartość REGISTERED_AND_READY;
-- ON_ZIGBEE_STACK_STARTED - zdarzenie generowane po zakończeniu inicjalizacji podsystemu Zigbee;
-- ON_ZIGBEE_OPEN_NETWORK - zdarzenie generowane w momencie wejścia bramki w tryb parowania;
-- ON_ZIGBEE_CLOSE_NETWORK - zdarzenie generowane w momencie wyjścia bramki z trybu parowania;
-- Z2S_SUPLA_EVENT_ON_GUI_STARTED - zdarzenie generowane po uruchomieniu GUI;
-- ON_EVERY_5_SECONDS, ON_EVERY_30_SECONDS, ON_EVERY_60_SECONDS, ON_EVERY_24_HOURS - te zdarzenia celowo generowane są w metodzie iterateAlways () a nie w onTimer(), wiec podane czasy są orientacyjne;
- kanał ten przyjmuje też następujące akcje:
-- SOFT_RESTART - powoduje ponowne uruchomienie bramki;
-- Z2S_SUPLA_ACTION_START_TIMER - uruchamia zdarzenia cykliczne (domyślnie wyłączone);
-- Z2S_SUPLA_ACTION_STOP_TIMER -zatrzymuje zdarzenia cykliczne;
--Z2S_SUPLA_ACTION_OPEN_ZIGBEE_NETWORK - akcja włącza tryb parowania w bramce (o ile nie jest już uruchomiony);
-- Z2S_SUPLA_ACTION_CLOSE_ZIGBEE_NETWORK - akcja wyłącza tryb parowania w bramce (o ile jest włączony);
-- Z2S_SUPLA_ACTION_START_GUI_MINIMAL - akcja uruchamia GUI (o ile nie jest uruchomione) w trybie minimal;
-- Z2S_SUPLA_ACTION_START_GUI_STANDARD - akcja uruchamia GUI (o ile nie jest uruchomione) w trybie standard;
Last edited by vajera on Fri Jan 16, 2026 2:11 pm, edited 2 times in total.
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
-
vajera
- Posts: 7293
- Joined: Wed Oct 31, 2018 7:58 am
- Location: Biedrusko
- Has thanked: 291 times
- Been thanked: 161 times
Poradnik dotyczący lokalnych zdarzeń i akcji w bramce Z2S (cz. III).
Przykłady wykorzystania kanału GATEWAY EVENTS i zdarzeń systemowych:
1. Uruchomienie zdarzeń cyklicznych po ponownym uruchomieniu bramki:
- kanał źródłowy GATEWAY EVENTS
- zdarzenie ON_SUPLA_INITIALIZED
- kanał docelowy GATEWAY EVENTS
- akcja START_TIMER
2. Restart bramki co 24 godziny:
- kanał źródłowy GATEWAY EVENTS
- zdarzenie ON_EVERY_24_HOURS
- kanał docelowy GATEWAY EVENTS
- akcja SOFT_RESTART
3. Włącznik parowania w aplikacji Supla:
- dodajemy w GUI VirtualRelay i nadajemy mu nazwę np. PAIRING,
- ustawiamy następujące akcje lokalne:
- kanał źródłowy GATEWAY EVENTS
- zdarzenie Z2S_SUPLA_EVENT_ON_ZIGBEE_OPEN_NETWORK
- kanał docelowy PAIRING
- akcja TURN_ON
- kanał źródłowy GATEWAY EVENTS
- zdarzenie Z2S_SUPLA_EVENT_ON_ZIGBEE_CLOSE_NETWORK
- kanał docelowy PAIRING
- akcja TURN_OFF
- kanał źródłowy PAIRING
- zdarzenie ON_TURN_ON
- kanał docelowy GATEWAY EVENTS
- akcja Z2S_SUPLA_ACTION_OPEN_ZIGBEE_NETWORK
- kanał źródłowy PAIRING
- zdarzenie ON_TURN_OFF
- kanał docelowy GATEWAY EVENTS
- akcja Z2S_SUPLA_ACTION_CLOSE_ZIGBEE_NETWORK
- kanał źródłowy GATEWAY EVENTS
- zdarzenie Z2S_SUPLA_EVENT_ON_SUPLA_INITIALIZED
- kanał docelowy PAIRING
- akcja TURN_OFF
4. Włącznik GUI w aplikacji Supla:
- dodajemy w GUI VirtualRelay i nadajemy mu nazwę np. GUI,
- ustawiamy następujące akcje lokalne:
- kanał źródłowy GATEWAY EVENTS
- zdarzenie Z2S_SUPLA_EVENT_ON_SUPLA_INITIALIZED
- kanał docelowy GUI
- akcja TURN_OFF
- kanał źródłowy GUI
- zdarzenie ON_TURN_ON
- kanał docelowy GATEWAY EVENTS
- akcja Z2S_SUPLA_ACTION_START_GUI_MINIMAL lub
- akcja Z2S_SUPLA_ACTION_START_GUI_STANDARD
- kanał źródłowy GATEWAY EVENTS
- zdarzenie Z2S_SUPLA_EVENT_ON_GUI_STARTED
- kanał docelowy GUI
- akcja Z2S_SUPLA_ACTION_SET_RELAY_STATE_DISABLED - tutaj włączenie GUI spowoduje przejście przekaźnika w tryb offline (GUI można tylko włączyć 1x/sesję).
Przykłady wykorzystania kanału GATEWAY EVENTS i zdarzeń systemowych:
1. Uruchomienie zdarzeń cyklicznych po ponownym uruchomieniu bramki:
- kanał źródłowy GATEWAY EVENTS
- zdarzenie ON_SUPLA_INITIALIZED
- kanał docelowy GATEWAY EVENTS
- akcja START_TIMER
2. Restart bramki co 24 godziny:
- kanał źródłowy GATEWAY EVENTS
- zdarzenie ON_EVERY_24_HOURS
- kanał docelowy GATEWAY EVENTS
- akcja SOFT_RESTART
3. Włącznik parowania w aplikacji Supla:
- dodajemy w GUI VirtualRelay i nadajemy mu nazwę np. PAIRING,
- ustawiamy następujące akcje lokalne:
- kanał źródłowy GATEWAY EVENTS
- zdarzenie Z2S_SUPLA_EVENT_ON_ZIGBEE_OPEN_NETWORK
- kanał docelowy PAIRING
- akcja TURN_ON
- kanał źródłowy GATEWAY EVENTS
- zdarzenie Z2S_SUPLA_EVENT_ON_ZIGBEE_CLOSE_NETWORK
- kanał docelowy PAIRING
- akcja TURN_OFF
- kanał źródłowy PAIRING
- zdarzenie ON_TURN_ON
- kanał docelowy GATEWAY EVENTS
- akcja Z2S_SUPLA_ACTION_OPEN_ZIGBEE_NETWORK
- kanał źródłowy PAIRING
- zdarzenie ON_TURN_OFF
- kanał docelowy GATEWAY EVENTS
- akcja Z2S_SUPLA_ACTION_CLOSE_ZIGBEE_NETWORK
- kanał źródłowy GATEWAY EVENTS
- zdarzenie Z2S_SUPLA_EVENT_ON_SUPLA_INITIALIZED
- kanał docelowy PAIRING
- akcja TURN_OFF
4. Włącznik GUI w aplikacji Supla:
- dodajemy w GUI VirtualRelay i nadajemy mu nazwę np. GUI,
- ustawiamy następujące akcje lokalne:
- kanał źródłowy GATEWAY EVENTS
- zdarzenie Z2S_SUPLA_EVENT_ON_SUPLA_INITIALIZED
- kanał docelowy GUI
- akcja TURN_OFF
- kanał źródłowy GUI
- zdarzenie ON_TURN_ON
- kanał docelowy GATEWAY EVENTS
- akcja Z2S_SUPLA_ACTION_START_GUI_MINIMAL lub
- akcja Z2S_SUPLA_ACTION_START_GUI_STANDARD
- kanał źródłowy GATEWAY EVENTS
- zdarzenie Z2S_SUPLA_EVENT_ON_GUI_STARTED
- kanał docelowy GUI
- akcja Z2S_SUPLA_ACTION_SET_RELAY_STATE_DISABLED - tutaj włączenie GUI spowoduje przejście przekaźnika w tryb offline (GUI można tylko włączyć 1x/sesję).
Last edited by vajera on Fri Jan 16, 2026 2:54 pm, edited 1 time in total.
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
