Nowa funkcjonalność - lokalne akcje i warunkowanie [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

edm wrote: Mon Nov 24, 2025 10:12 pm
vajera wrote: Mon Nov 24, 2025 9:43 pm Reasumując źródło światła masz poza bramką Z2S, tak?
Tak.
vajera wrote: Mon Nov 24, 2025 9:43 pm W takim razie w grę wchodzi hybryda:
1) czujnik PIR i czujnik oświetlenia muszą być spięte bramką logiczną AND,
Ok.
Zakładka Zigbee channels
Robię klik na Add AND gate i widzę że w Channels pojawia się AND GATE.
Jak teraz spiąć czujnik PIR i czujnik oświetlenia. To jest do wykonania w zakładce Zigbee channels czy może Local actions. Dodam, że działam na Standard GUI. Jeśli to nie jest wystarczające wybiorę FULL GUI.
vajera wrote: Mon Nov 24, 2025 9:43 pm 2) bramka logiczna AND steruje stanem wirtualnego przekaźnika,
Ten wirtualny przekaźnik też mam utworzyć w Zigbee channels / Add virtual relay.
vajera wrote: Mon Nov 24, 2025 9:43 pm 3) dla tego wirtualnego przekaźnika budujesz w Cloud reakcję do źródła światła.
To rozumiem.
Przepraszam, ale mam lot wcześnie rano i muszę się położyć spać - napiszę jutro rano.
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
edm
Posts: 677
Joined: Mon Jan 15, 2018 6:18 pm
Been thanked: 2 times

Post

vajera wrote: Mon Nov 24, 2025 10:16 pm Przepraszam, ale mam lot wcześnie rano i muszę się położyć spać - napiszę jutro rano.
Jasne. Nie musi być jutro. Dziękuję.
Wziąłem udział w Supla Offline Party 2023 :D
User avatar
vajera
Posts: 7290
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 289 times
Been thanked: 161 times

Post

edm wrote: Mon Nov 24, 2025 10:17 pm
vajera wrote: Mon Nov 24, 2025 10:16 pm Przepraszam, ale mam lot wcześnie rano i muszę się położyć spać - napiszę jutro rano.
Jasne. Nie musi być jutro. Dziękuję.
Tak, wirtualny przekaźnik też tworzysz w zakładce Zigbee channels (Add virtual relay).

Operacje "spięcia" poszczególnych komponentów przeprowadzasz w zakładce Local actions.

Zaczynając od końca:

do połączenia bramki z wirtualnym przekaźnikiem potrzebujesz 2 lokalne akcje:

1) source channel - bramka AND
source event ON_TURN_ON
destination channel - przekaźnik
destination action TURN_ON
2) to samo dla zdarzenia ON_TURN_OFF i akcji TURN_OFF ( można użyć przycisku COPY ACTION).

Teraz bramka - ogólna zasada działania tych bramek logicznych w Z2S jest następująca - bramka reaguje na zmianę stanu na wejściach i każda zmiana stanu powoduje obliczenie wartości logicznej bramki i wygenerowanie zdarzenia ON_TURN_ON, gdy wartość logiczna == 1 lub ON_TURN_OFF, gdy wartość logiczna == 0.

Zmianę stanu wejść bramki uzyskujemy za pomocą akcji TURN_ON/TURN_OFF - każda taka akcja zmienia pin 0 lub 1 bramki (po kolei), czyli jak podamy na bramkę 1x TURN_ON, to ona wyśle ON_TURN_OFF, jak podamy kolejne TURN_ON to ona wyśle ON_TURN_ON.

Potrzebne będą następujące akcje (local actions):
czujnik PIR
1) source channel: kanał czujnika PIR,
source event ON_TURN_ON (albo ON_TURN_OFF - piszę z komórki i nie pamiętam, co wysyłają te czujniki binarne po wzbudzeniu),
destination channel: bramka AND,
destination action: TURN_ON,
2) ta sama akcja dla ON_TURN_OFF/TURN_OFF.,

czujnik światła - rozumiem, że tutaj chcesz zrobić warunkowanie, więc potrzebne będą kolejne 2 akcje:
3) source channel: illuminance
source condition ON_LESS
threshold wartość progowa dla "ciemności",
destination channel: bramka AND
destination action: TURN_ON
4) source channel: illuminance
source condition ON_GREATER
threshold wartość progowa dla "ciemności",
destination channel: bramka AND
destination action: TURN_OFF.
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
myxhir
Posts: 664
Joined: Thu Jan 07, 2021 12:16 pm
Location: Skórzewo, Poznań
Has thanked: 6 times
Been thanked: 9 times

Post

Vajera dzieki za rozpiske sam do konca nie wiedzialem jak to wszystko działa. Natomiast tutaj bedziemy mieli klasyczny problem skakania bo gdy zapalimy swiatlo warunek na oswietlenie przestanie byc spelniony i swiatlo wylaczy po czym warunek znowu sie spelni i bedzie migać :)
dlatego trzeba to chyba jeszcze spiąć z ORem któy wejdzie na ANDa i załatwi sprawę migającego warunku z czujnika oświetlenia.
Pozostaje kwestia ze jak czuja bedzie umieszona w miejscu gdzie bedzie wykrycie a my zgasimy swiatlo to znowu mamy tą sytuację :) ale to już koledze napisałem
Dzięki również za pomoc
You do not have the required permissions to view the files attached to this post.
Spełniony Automatyk / Mąż / Świeżo Upieczony Ojciec
zzrr
Posts: 1864
Joined: Wed Oct 26, 2022 7:35 pm
Has thanked: 76 times
Been thanked: 119 times

Post

Przenoszę tutaj dwie wiadomości które nieopacznie sprowokowałem raczej w niewłaściwym temacie. Jeśli by kontynuować to chyba lepiej tutaj
vajera wrote: Sun Dec 07, 2025 3:58 pm
zzrr wrote: Sun Dec 07, 2025 3:18 pm A jak jesteśmy przy "klockach" w bramce. To mam testowe dwa virtual relay i zrobiłem sobie AND żeby przy obu włączonych włączało POWER SWITCH. Działa mi to tylko jeden raz. Czyli jak spełniam warunek że włączę oba to mi włacza virtual relay. Ale jak później te relaye wyłącze i wyłacze ten power Switch to juz za drugim razem jak właczę oba relave to warunek nie uruchamia POWER SWITCH.
Jak znasz prose wytłumaczenie to powiedz, ale jeśli to by wymagało jakichś dodatkowych informacji itp. to nie zawracaj sobie nawet tym glowy teraz. Robię to w formie czysto edukacyjnej i jeszcze popróbuje. Na pewno nie jest to na ten moment warte żeby Ci tym czas zajmować.
INPUT_1 (VirtualRelay)
INPUT_2 (VirtualRelay)

POWER_SWITCH (RELAY)
AND_GATE

Akcje (S - source channel, D - destination channel, A - action, E - event):

1. S=INPUT_1, D=AND_GATE, E=ON_TURN_ON, A=TURN_ON
2. S=INPUT_1, D=AND_GATE, E=ON_TURN_OFF, A=TURN_OFF
3. S=INPUT_2, D=AND_GATE, E=ON_TURN_ON, A=TURN_ON
4. S=INPUT_2, D=AND_GATE, E=ON_TURN_OFF, A=TURN_OFF
5. S=AND_GATE, D=POWER_SWITCH, E=ON_TURN_ON, A=TURN_ON
6. S=AND_GATE, D=POWER_SWITCH, E=ON_TURN_OFF, A=TURN_OFF

W powyższej konfiguracji powinno działać - były testy w październiku.
zzrr wrote: Sun Dec 07, 2025 6:12 pm
vajera wrote: Sun Dec 07, 2025 3:58 pm W powyższej konfiguracji powinno działać - były testy w październiku.
Zaraz zobaczę takie ustawienia. Dopiero do domu dotarłem. Dzięki 👍
EDIT:
W tej konfiguracji jak są wpisane i na ON i na OF to faktycznie jest powtarzalność włączenia jak oba reley idą na ON.
Ale dlaczego jak wyłączę warunki 2,4,6 to już wtedy włączenie POWER_SWITCH odbywa się tylko za pierwszym razem? :? Taka ciekawostka... przynajmniej dla mnie. Te funkcje logiczne to super sprawa, tylko trzeba je pojąć :)
EDIT:
A w tym przykładzie co podałeś to powinna być reakcja na ON POWER_SWITCHa gdy oba relay są włączone. No i tak to działa. A w drugą stronę teraz przy tym przykładzie... jak obstawiasz? POWER_SWITCH się przełącza na OFF jak wyłączone są oba relay czy już przy pierwszym którymkolwiek? :)
User avatar
vajera
Posts: 7290
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 289 times
Been thanked: 161 times

Post

zzrr wrote: Sun Dec 07, 2025 11:01 pm Przenoszę tutaj dwie wiadomości które nieopacznie sprowokowałem raczej w niewłaściwym temacie. Jeśli by kontynuować to chyba lepiej tutaj
vajera wrote: Sun Dec 07, 2025 3:58 pm
zzrr wrote: Sun Dec 07, 2025 3:18 pm A jak jesteśmy przy "klockach" w bramce. To mam testowe dwa virtual relay i zrobiłem sobie AND żeby przy obu włączonych włączało POWER SWITCH. Działa mi to tylko jeden raz. Czyli jak spełniam warunek że włączę oba to mi włacza virtual relay. Ale jak później te relaye wyłącze i wyłacze ten power Switch to juz za drugim razem jak właczę oba relave to warunek nie uruchamia POWER SWITCH.
Jak znasz prose wytłumaczenie to powiedz, ale jeśli to by wymagało jakichś dodatkowych informacji itp. to nie zawracaj sobie nawet tym glowy teraz. Robię to w formie czysto edukacyjnej i jeszcze popróbuje. Na pewno nie jest to na ten moment warte żeby Ci tym czas zajmować.
INPUT_1 (VirtualRelay)
INPUT_2 (VirtualRelay)

POWER_SWITCH (RELAY)
AND_GATE

Akcje (S - source channel, D - destination channel, A - action, E - event):

1. S=INPUT_1, D=AND_GATE, E=ON_TURN_ON, A=TURN_ON
2. S=INPUT_1, D=AND_GATE, E=ON_TURN_OFF, A=TURN_OFF
3. S=INPUT_2, D=AND_GATE, E=ON_TURN_ON, A=TURN_ON
4. S=INPUT_2, D=AND_GATE, E=ON_TURN_OFF, A=TURN_OFF
5. S=AND_GATE, D=POWER_SWITCH, E=ON_TURN_ON, A=TURN_ON
6. S=AND_GATE, D=POWER_SWITCH, E=ON_TURN_OFF, A=TURN_OFF

W powyższej konfiguracji powinno działać - były testy w październiku.
zzrr wrote: Sun Dec 07, 2025 6:12 pm
vajera wrote: Sun Dec 07, 2025 3:58 pm W powyższej konfiguracji powinno działać - były testy w październiku.
Zaraz zobaczę takie ustawienia. Dopiero do domu dotarłem. Dzięki 👍
EDIT:
W tej konfiguracji jak są wpisane i na ON i na OF to faktycznie jest powtarzalność włączenia jak oba reley idą na ON.
Ale dlaczego jak wyłączę warunki 2,4,6 to już wtedy włączenie POWER_SWITCH odbywa się tylko za pierwszym razem? :? Taka ciekawostka... przynajmniej dla mnie. Te funkcje logiczne to super sprawa, tylko trzeba je pojąć :)
EDIT:
A w tym przykładzie co podałeś to powinna być reakcja na ON POWER_SWITCHa gdy oba relay są włączone. No i tak to działa. A w drugą stronę teraz przy tym przykładzie... jak obstawiasz? POWER_SWITCH się przełącza na OFF jak wyłączone są oba relay czy już przy pierwszym którymkolwiek? :)
Bramka AND działa w taki sposób, że POWER_SWITCH powinien się przełączyć, gdy jeden z przekaźników wejściowych zmieni stan ON->OFF.
U Ciebie to nie działa?
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
zzrr
Posts: 1864
Joined: Wed Oct 26, 2022 7:35 pm
Has thanked: 76 times
Been thanked: 119 times

Post

vajera wrote: Sun Dec 07, 2025 11:13 pm Bramka AND działa w taki sposób, że POWER_SWITCH powinien się przełączyć, gdy jeden z przekaźników wejściowych zmieni stan ON->OFF.
U Ciebie to nie działa?
No właśnie... kilka podpowiedzi i chyba będę wiedział o co chodzi...
Czyli jest tak mówisz i tak działa. Jeśli zrobię wszystkie te akcje które podałeś od 1-6 to dokładnie jest tak jak mówisz. Czyli wszystko inne niż Relay1 = 1 i Relay2 = 1 daje wynik faktycznie zgodny z działaniem bramki AND. i POWER SWITCH załącza przy włączonych obu RELAYach.
Bo mnie zastanawiało dlaczego jak zrobiłem akcje tylko 1,3,5 warunek działał ale tylko jeden raz. Tzn. wykonywał się ale już później drugi raz nie. Dopiero po resecie bramki.
Czyli budując warunek trzeba opisać wszystkie możliwości wejściowe bramki, tak?

Czyli budując warunek nie kierujemy się samym zdarzeniem że coś zadziała jak wystąpi jakiś stan tylko trzeba to dopasować do ewentualnych kombinacji wejściowych i wyniku bramki logicznej?

I pytanie na przy okazji... na które odpowiedz raczej wyjaśniła by mi to już kompletnie. Powiedzmy mam te 6 akcji bo przy tym działa.
Co teraz gdybym chciał dodać warunek do tego powyższego... Mam już dwa Virtual Relay1 i 2 = 1 uruchomił się Power Switch. Chcę aby wyłączenie Power Switch nastąpiło gdy oba Virtual Relay mają 0. Trzeba dodać podobnie jak wyżej bramkę NOR ?
User avatar
vajera
Posts: 7290
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 289 times
Been thanked: 161 times

Post

zzrr wrote: Mon Dec 08, 2025 7:49 am No właśnie... kilka podpowiedzi i chyba będę wiedział o co chodzi...
Czyli jest tak mówisz i tak działa. Jeśli zrobię wszystkie te akcje które podałeś od 1-6 to dokładnie jest tak jak mówisz. Czyli wszystko inne niż Relay1 = 1 i Relay2 = 1 daje wynik faktycznie zgodny z działaniem bramki AND. i POWER SWITCH załącza przy włączonych obu RELAYach.
Bo mnie zastanawiało dlaczego jak zrobiłem akcje tylko 1,3,5 warunek działał ale tylko jeden raz. Tzn. wykonywał się ale już później drugi raz nie. Dopiero po resecie bramki.
Czyli budując warunek trzeba opisać wszystkie możliwości wejściowe bramki, tak?

Czyli budując warunek nie kierujemy się samym zdarzeniem że coś zadziała jak wystąpi jakiś stan tylko trzeba to dopasować do ewentualnych kombinacji wejściowych i wyniku bramki logicznej?
To może tak - mini tutorial ;)

1) część pierwsza - wprowadzenie do bramek

Klasyczna bramka logiczna AND ma taką tabelę wejść/wyjść:

INPUT_1 = 0, INPUT_2 = 0 => OUTPUT = 0
INPUT_1 = 1, INPUT_2 = 0 => OUTPUT = 0
INPUT_1 = 0, INPUT_2 = 1 => OUTPUT = 0
INPUT_1 = 1, INPUT_2 = 1 => OUTPUT = 1

Inaczej mówiąc zdanie wyjściowe jest prawdziwe wtedy i tylko wtedy, gdy oba zdania składowe są prawdziwe.

Bramka OR:

INPUT_1 = 0, INPUT_2 = 0 => OUTPUT = 0
INPUT_1 = 1, INPUT_2 = 0 => OUTPUT = 1
INPUT_1 = 0, INPUT_2 = 1 => OUTPUT = 1
INPUT_1 = 1, INPUT_2 = 1 => OUTPUT = 1

Inaczej mówiąc zdanie wyjściowe jest prawdziwe wtedy, gdy przynajmniej jedno zdanie składowe jest prawdziwe.

2) bramki logiczne w bramce ;) Z2S

Typowa bramka logiczna w układzie elektronicznym działa w oparciu o 1 (jest prąd) i 0 (brak prądu).

Bramka AND będzie więc miała napięcie na wyjściu, gdy do obu wejść będzie płynął prąd - zanik napięcia na którymkolwiek z wejść spowoduje zanik napięcia na wyjściu bramki.

Bramka logiczna w Z2S działa w oparciu o zdarzenia (ON_TURN_ON, ON_TURN_OFF...) - czyli tutaj nie ma ciągłego sygnału tylko coś na kształt impulsu.

Odnosząc się do Twojego przykładu - gdy pierwszy z wejściowych VR wysyła zdarzenie ON_TURN_ON, to w bramce "włącza" się pierwszy "przełącznik" i pozostaje włączony (tak jakby cały czas płynął prąd), następny VR wysyła zdarzenie ON_TURN_ON - w bramce "włącza" się drugi "przełącznik, bramka generuje akcję TURN_ON na docelowym przekaźniku (jednorazowa akcja - impuls).

Jeżeli spojrzysz teraz na ten obraz, to zobaczysz, że z punktu widzenia bramki przez nią cały czas "płynie" prąd - oba wewnętrzne "przełączniki" są "włączone" - dlatego kolejne sygnały z VR już nic nie zmieniają.

W związku z powyższym potrzebne są te dodatkowe akcje z ON_TURN_OFF - one w jakiś sposób symulują "brak" prądu i powodują reset wewnętrznych "przełączników" bramki, przez co staje się ona znowu wrażliwa na sygnały wejściowe.
Last edited by vajera on Mon Dec 08, 2025 9:31 am, 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
User avatar
vajera
Posts: 7290
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 289 times
Been thanked: 161 times

Post

zzrr wrote: Mon Dec 08, 2025 7:49 am Mam już dwa Virtual Relay1 i 2 = 1 uruchomił się Power Switch. Chcę aby wyłączenie Power Switch nastąpiło gdy oba Virtual Relay mają 0.

5. S=AND_GATE, D=POWER_SWITCH, E=ON_TURN_ON, A=TURN_ON
6. S=AND_GATE, D=POWER_SWITCH, E=ON_TURN_OFF, A=TURN_OFF

Tutaj akurat możesz zdecydować, że dana bramka logiczna wykonuje tylko jedną akcję, np. TURN_ON albo TURN_OFF

Te same przekaźniki wejściowe możesz spiąć z dwiema bramkami, np. z AND i z OR. Wtedy jedna bramka może generować akcję TURN_ON a druga TUN_OFF.

Czyli w Twoim przypadku robisz tak - potrzebujesz 2 bramki (AND i OR):

1. S=INPUT_1, D=AND_GATE, E=ON_TURN_ON, A=TURN_ON
2. S=INPUT_1, D=AND_GATE, E=ON_TURN_OFF, A=TURN_OFF
3. S=INPUT_2, D=AND_GATE, E=ON_TURN_ON, A=TURN_ON
4. S=INPUT_2, D=AND_GATE, E=ON_TURN_OFF, A=TURN_OFF
5. S=AND_GATE, D=POWER_SWITCH, E=ON_TURN_ON, A=TURN_ON

1. S=INPUT_1, D=OR_GATE, E=ON_TURN_ON, A=TURN_ON
2. S=INPUT_1, D=OR_GATE, E=ON_TURN_OFF, A=TURN_OFF
3. S=INPUT_2, D=OR_GATE, E=ON_TURN_ON, A=TURN_ON
4. S=INPUT_2, D=OR_GATE, E=ON_TURN_OFF, A=TURN_OFF
6. S=OR_GATE, D=POWER_SWITCH, E=ON_TURN_OFF, A=TURN_OFF

W takiej konfiguracji POWER_SWITCH włączy się tylko, gdy oba wejścia będą == 1, a wyłączy tylko gdy oba wejścia == 0.
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
zzrr
Posts: 1864
Joined: Wed Oct 26, 2022 7:35 pm
Has thanked: 76 times
Been thanked: 119 times

Post

vajera wrote: Mon Dec 08, 2025 9:21 am W takiej konfiguracji POWER_SWITCH włączy się tylko, gdy oba wejścia będą == 1, a wyłączy tylko gdy oba wejścia == 0.
Powiem tak... jest to do ogarnięcia :lol:
A tak na poważnie to wydaje mi się że kluczowe w tym tutorialu - dziękuję, jest że ten impuls włącza stan w bramce symulując jakiś stan wysoki lub niski który zostaje zapamiętany. Teraz wiem dlaczego akcja nie włączała się drugi raz. Teraz to już tylko pozostaje umiejętność kombinowania. Dla drugiego przypadku gdzie zrobione jest ON przy dwóch włączonych i OFF przy dwóch wyłączonych tak bez praktyki obstawiałem wstępnie bramkę NOR. Ale widzę że trzeba to po prostu też trochę na zasadzie prób sobie przetestować. W każdym razie o taką podpowiedź dokładnie mi chodziło. Jeszcze raz dzięki

Return to “Bramka ZigBee”