Czujnik otwarcia drzwi, łącznik i światło - czy da się zablokować zmianę stanu?

Hej,

Zacznę może od tego jak wygląda moja instalacja:

  1. Mam światło 2 kanałowe sterowane przez przełącznik OXT do którego podłączony jest pojedynczy łącznik (czyli zmienia stan obu kanałów)
  2. Szafa w korytarzu posiada czujnik otwarcia drzwi i zapala tylko jeden kanał na przełączniku i gasi światło 10 sekund po zamknięciu

Problemem jest brak synchronizacji w przypadku gdy ktoś otworzy światło i dodatkowo łącznikiem zmieni stan (jeden kanał zapalony przez otwarcie drzwi zgaśnie a drugi kanał się zapali).

Chwilowo rozwiązałem to tak, że sprawdzam czy mi się stany nie rozjeżdżają i w razie czego ponownie uruchamiam światło na kanale od drzwi. Niestety takie zachowanie ma taką wadę, że na chwilę to jedno światło gaśnie i ponownie się zapala, co jest takim sobie rozwiązaniem.

I teraz pytanie: czy istnieje jakaś opcja by przerwać zmianę stanu wywołaną przez łącznik aby zablokować wyłączenie kanału 2? Albo może da się jakoś rozróżnić czy inicjatorem zmiany stanu był przycisk fizyczny?

Kolego to powinno rozwiązać twój problem

Dzięki za odpowiedź! Wieczorem spojrzę na to na spokojnie i posprawdzam.

Aczkolwiek tak na pierwszy rzut oka nie jestem pewien czy to u mnie się sprawdzi, bo ja szukam sposobu na zatrzymanie zmiany stanu w przypadku użycia łącznika. Może opiszę to raz jeszcze w pkt i będzie bardziej zrozumiałe:

  1. otwieram drzwi szafy i zapala mi się jeden kanał z dwóch
  2. w tym samym czasie używam przycisku który zmienia jednocześnie dwa kanały (czyli ten co się świecił gaśnie i zapala ten drugi)

Moim celem jest w takiej sytuacji zatrzymanie wyłączenia kanału który był na on. Innymi słowy chciałbym żeby stany się synchronizowały podczas użycia fizycznego przycisku.

Ten workflow który wstawiłem robi to co ma robić tylko niestety na chwilę wyłącza i ponownie włącza kanał uruchamiany przez szafę.

[{"id":"44edd060e1f6dc67","type":"server-state-changed","z":"f82d33edc5cf8b28","name":"Wardrobe is opened","server":"8f65cdd1.c26ea","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.hallwardrobe_contact","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":110,"y":440,"wires":[["dfd267a72d48a3ce"],["cbb14a5b740c9b44"]]},{"id":"dfd267a72d48a3ce","type":"api-call-service","z":"f82d33edc5cf8b28","name":"Hall Main 2 turn on","server":"8f65cdd1.c26ea","version":5,"debugenabled":false,"domain":"switch","service":"turn_on","areaId":[],"deviceId":[],"entityId":["switch.0xa4c138cc0727a110_l2"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":370,"y":440,"wires":[[]]},{"id":"f23b4b54236e053f","type":"api-call-service","z":"f82d33edc5cf8b28","name":"Hall Main 2 turn off","server":"8f65cdd1.c26ea","version":5,"debugenabled":false,"domain":"switch","service":"turn_off","areaId":[],"deviceId":[],"entityId":["switch.0xa4c138cc0727a110_l2"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1070,"y":520,"wires":[[]]},{"id":"cbb14a5b740c9b44","type":"delay","z":"f82d33edc5cf8b28","name":"","pauseType":"delay","timeout":"10","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":340,"y":520,"wires":[["10ab52ce157fe9fb"]]},{"id":"c13ad93a7219e8c2","type":"api-current-state","z":"f82d33edc5cf8b28","name":"Still 2 is closed","server":"8f65cdd1.c26ea","version":3,"outputs":2,"halt_if":"off","halt_if_type":"str","halt_if_compare":"is","entity_id":"binary_sensor.hallwardrobethesecond_contact","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":880,"y":520,"wires":[["f23b4b54236e053f"],[]]},{"id":"e6b18ba23ecc0d44","type":"server-state-changed","z":"f82d33edc5cf8b28","name":"Wardrobe 2 is opened","server":"8f65cdd1.c26ea","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.hallwardrobethesecond_contact","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":120,"y":520,"wires":[["dfd267a72d48a3ce"],["cbb14a5b740c9b44"]]},{"id":"8ffe261fbab3f408","type":"api-current-state","z":"f82d33edc5cf8b28","name":"Still is closed","server":"8f65cdd1.c26ea","version":3,"outputs":2,"halt_if":"off","halt_if_type":"str","halt_if_compare":"is","entity_id":"binary_sensor.hallwardrobe_contact","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":690,"y":520,"wires":[["c13ad93a7219e8c2"],[]]},{"id":"10ab52ce157fe9fb","type":"api-current-state","z":"f82d33edc5cf8b28","name":"Hall Main 1 off","server":"8f65cdd1.c26ea","version":3,"outputs":2,"halt_if":"off","halt_if_type":"str","halt_if_compare":"is","entity_id":"switch.0xa4c138cc0727a110_l1","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":500,"y":520,"wires":[["8ffe261fbab3f408"],[]]},{"id":"0c292a2ee577f963","type":"server-state-changed","z":"f82d33edc5cf8b28","name":"Hall Main 2 is off","server":"8f65cdd1.c26ea","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"switch.0xa4c138cc0727a110_l2","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"off","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":100,"y":680,"wires":[["1985a4d8a84fee0c"],[]]},{"id":"1985a4d8a84fee0c","type":"api-current-state","z":"f82d33edc5cf8b28","name":"Hall Main 1 is on","server":"8f65cdd1.c26ea","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"switch.0xa4c138cc0727a110_l1","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"seconds","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":310,"y":680,"wires":[["8a93343a1f45ee34"],[]]},{"id":"8a93343a1f45ee34","type":"api-call-service","z":"f82d33edc5cf8b28","name":"Hall Main 2 turn on","server":"8f65cdd1.c26ea","version":5,"debugenabled":false,"domain":"switch","service":"turn_on","areaId":[],"deviceId":[],"entityId":["switch.0xa4c138cc0727a110_l2"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":510,"y":680,"wires":[[]]},{"id":"8f65cdd1.c26ea","type":"server","name":"Home Assistant","addon":true}]

Kurcze trochę to zagmatwałeś albo ja nie rozumiem. Od początku masz kontraktron w drzwiach szafy do tego przekaźnik OXT 2 obwody ale obydwa obwody sterowane są jednym fizycznym przyciskiem (pojedynczy). Jeśli tak to wygląda to nie da rady ogarnąć tak jak ty chcesz. Podczas włączania przyciskiem zmieniasz jednocześnie stan dwóch przekaźników czuli jeśli jeden i drugi drugi jest w stanie OFF to przejdą w stan ON. Jeżeli jeden będzie w stanie ON a drugi w OFF to odwracasz ich stan. Twój fizyczny przyciska działa jak TOGGLE a nie ON - OFF.

Dokładnie tak. Przycisk jest bistabilny pojedynczy i zawsze zmienia stan dla obu kanałów. Stąd moje pytanie było, czy da się jakoś powstrzymać zmianę stanu - zareagować zanim fizycznie stan się zmieni. Ale jak mniemam dzieje się ta zmiana w samym przełączniku.

dzięki za próbę pomocy!

Dokładnie tak jest i w to nie zaingerujesz.

W przypadku takich przełączników jak napisał @Mariusz_Kuciński sterowanie fizycznym przyciskiem 2 kanałów nie da się zablokować programowo, możliwe jest to jedynie gdy posiadasz przełączniki z oprogramowaniem Tasmota wtedy możliwe jest użyć do tego wewnętrznych reguł Tasmota. Jedyne co przychodzi mi do głowy to pilot naścienny WIFI/Zigbee .

1 polubienie