Asystent AI
Powiadomienia
Wyczyść wszystko

Przypisanie sterowania do TouchSwitch

1 Wpisów
1 Użytkownicy
0 Reactions
2,274 Wyświetleń
(@carpov)
Wpisów: 26
Kontrybutor
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 
[#1377]

Witajcie.

Temat mnie przerósł, dopiero raczkuję ....dlatego proszę o wyrozumiałość.

Taka sytuacja.

W salonie posiadam włącznik / panel dotykowy 3x2 pola.
Tylko 3 z nich są fizycznie podpięte w obwody elektryczne oświetlenia. Pozostałe 3 „wiszą” w powietrzu i chciałbym przypisać im działania/logikę przy pomocy reguł.

Dla przykładu – chciałbym przypisać jednemu z pól włącznika sterowanie lampą przy telewizorze.

Oba urządzenia skonfigurowane w OH2 jako:
1) Włącznik na ścianie z TASMOTA – Item type: switch, name: SW22_Salon
2) Lampa sterowana by SonoffBASIC z AFE – Item type: switch, name: TV_Lamp

Z poziomu OH2 wszystko pięknie działa po MQTT. Włączam/wyłączam, statusy urządzeń uaktualniają się – wszystko OK.

W module rule engine  stworzyłem 4 reguły. Dwie pierwsze odpowiadające za wł/wył lampy przy pomocy włącznika ściennego. Dwie kolejne za „sprzężenie zwrotne” tj. jeżeli lampa zostanie włączona lokalnie lub np. z Habpanel (item TV_Lamp -> ON) to wcześniej przypisany 2 kanał włącznika (SW22_Salon -> ON) także zmieni swój stan na ON - fizycznie zapali się na czerwono.

//Włączenie lampki przy telewizorze za pomocą włącznika ściennego

rule "Włącz TV_Lamp (WTS)" //WTS - Wall Touch Switch
when
Item SW22_Salon changed from OFF to ON
then
TV_Lamp.sendCommand(ON)
end

// Wyłączenie lampki przy telewizorze za pomocą włącznika ściennego

rule "Wyłącz TV_Lamp (WTS)"
when
Item SW22_Salon changed from ON to OFF
then
TV_lamp.sendCommand(OFF)
End

//Aktualizacja stanu włącznika ON

rule "Aktual WTS when Lamp’s ON"
when
Item TV_Lamp changed from OFF to ON
then
SW22_Salon.sendCommand(ON)
End

//Aktualizacja stanu włącznika OFF

rule "Aktual WTS when Lamp’s OFF"
when
Item TV_Lamp changed from ON to OFF
then
SW22_Salon.sendCommand(OFF)
End

Działa to jakiś czas dobrze. W pewnym momencie cały układ wpada „w arytmię”.
Lampa i włącznik zapalają/aktywują się naprzemiennie – i nie da się tego zatrzymać. Taki efekt reakcji łańcuchowej.

Jak tą regułę napisać prawidłowo? Jakie wykluczenia i warunki powinny się tu znaleźć?

 Proszę o poradę. 

Wiem ......temat zapewne trywialny ale jak już wyżej pisałem...przerósł mnie.

 

Pozdrawiam 


 
Dodane : 23/12/2019 11:59 am
Udostępnij: