Czujnik ruchu - dwa źródła światła

Cześć,

Mam dwa światła w łazience sterowane czujnikiem ruchu, główne i koło lustra. Światło koło lustra zapala się po 20 i tylko to światło się włącza.

Jeśli ktoś ręcznie włączy światło główne to zapala się również to koło lustra.

Chciałbym uzyskać taki efekt. Jeśli włączę ręcznie światło główne nie zapalaj koło lustra nie zależnie od godziny.

Co jest szybsze czujnik ruchu czy ręczne wyzwolenie przełącznikiem ?

Ręczne wyzwolenie przełącznikiem.

Wstaw np. bramkę między
Screenshot - 08.03.2023 , 21_03_28

Screenshot - 08.03.2023 , 21_05_47

[{"id":"a2e742d8173a4f56","type":"gate","z":"ae8c1f6268969984","name":"","controlTopic":"control","defaultState":"closed","openCmd":"open","closeCmd":"close","toggleCmd":"toggle","defaultCmd":"default","persist":false,"x":1150,"y":640,"wires":[[]]},{"id":"2485c93520027fd5","type":"change","z":"ae8c1f6268969984","name":"ON","rules":[{"t":"set","p":"payload","pt":"msg","to":"open","tot":"str"},{"t":"set","p":"topic","pt":"msg","to":"control","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":950,"y":600,"wires":[["a2e742d8173a4f56"]]},{"id":"399d69f03874025b","type":"change","z":"ae8c1f6268969984","name":"OFF","rules":[{"t":"set","p":"payload","pt":"msg","to":"close","tot":"str"},{"t":"set","p":"topic","pt":"msg","to":"control","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":950,"y":660,"wires":[["a2e742d8173a4f56"]]},{"id":"c6802737bbcc7d34","type":"comment","z":"ae8c1f6268969984","name":"przełącznik","info":"","x":780,"y":620,"wires":[]}]

Dodałem w miejscach w których wskazałeś ale bez rezultatu.

Dodałeś bez próby zrozumienia. Gdybyś zobaczył co kryje się wewnątrz ON OFF to byś zobaczył
, że w takim połączeniu węzeł gate otrzymuje dwie sprzeczne komendy sterujące jednocześnie.

Tylko po co te trzy nody ? Nie wystarczy jeden sprawdzający stan głównego oświetlenia ? Stan gł lampy zapisujesz do zmiennej flow i za pomocą zwykłego switcha sprawdzasz stan tej zmiennej zaraz za time range. Jesli zmienna OFF to proces idzie dalej i włącza lustro, w przeciwnym wypadku proces się zatrzyma na nodzie switch.
W pierwotnym flows masz już chyba dwa nody sprawdzajace stan oświetlenia przed nodami cal service, więc wystarczy zapisać stan do zmiennej i sprawdzać stan tej zmiennej za pomocą switcha

Poszedłem za twoim pomysłem, bo ze zrozumieniem działania wcześniejszych miałem problem pomimo wielu testów.
Niestety mam dalej problem to jest efekt, jaki udało mi się uzyskać.
Node switch nie przekazuje stanu off, w efekcie nadal włączają się dwa światła.
flows(1).json (5,5 KB)

@puczik … koledze bardziej chodziło o coś takiego


Czyli stan oświetlenia gł. sprawdzasz niezależnie od czujki ruch ( w czerwonej obwódce)
Druga sprawa to warunki w tej funkcji

if (msg.data.state == "off") {
    flow.set("stan-oswietlenia","on");
} else {
    flow.set("stan-oswietlenia","off");
}
return msg;

Nota bene całą to funkcję można zastąpić samym events state ustawionym w sposób

1 polubienie

Zastępujac funkcję tak jak pokazał @RobinI30 robisz coś takiego
1
Ten switch “Czy jest OFF” sprawdza czy zmienna flow == OFF , po to żeby przy następnych naruszeniach PIR, gdy Główne już świeci, nie wysyłać do call service ponownie ON.
Ten pojedynczy nod events state ustawiasz tak jak pokazał kolega