UWAGA: Strona oraz Forum Smart'ny Dom nie będzie dostępne 23 Grudnia 2024 ze względu na przenoszenie serwisu na mocniejszą maszynę.
W tym czasie polecam poświęcenie swojego czasu na pomoc partnerowi w przygotowaniu udanych Świąt 😉
Za niedogodności z góry przepraszam, admin
Hej
czy to powinno działać?
Założenia są takie że jeśli wykryje ruch, a światło jest zgaszone ma je zaświecić na 60s.
Po odliczeniu czasu ma je wyłączyć chyba że w tym czasie wykryje kolejny ruch to ma anulować timer i uruchomić nowy.
Wynik jest taki że światło się świeci i gaśnie po 60s ale jak wykryje ruch to chyba nie zaczyna liczyć na nowo.
rule "Motion Sensor Light Control" when Item C_Kuchnia changed from OFF to ON then var Timer timer = null if (OswKuch.state == OFF) { sendCommand(OswKuch, ON) logInfo("Motion Sensor Light Control","Start timer 60s") timer = createTimer(now.plusSeconds(60)) [| sendCommand(OswKuch, OFF) ] } else { if (timer !== null) { timer.cancel() timer = null logInfo("Motion Sensor Light Control","Timer anulowany") } logInfo("Motion Sensor Light Control","Start nowego timera 60s") timer = createTimer(now.plusSeconds(60)) [| sendCommand(OswKuch, OFF) ] } end
W logach pojawia się "start timer 60s" oraz "start nowego timera 60s" ale nigdy "timer anulowany"
var Timer timer = null rule "Motion Sensor Light Control" when Item C_Kuchnia changed from OFF to ON then if (OswKuch.state == OFF) { sendCommand(OswKuch, ON) logInfo("Motion Sensor Light Control","Start timer 60s") if (timer===null) { timer = createTimer(now.plusSeconds(60)) [| sendCommand(OswKuch, OFF) timer = null ] } } else { logInfo("Motion Sensor Light Control","PIR triggered one more time, light already ON") if (timer !== null) { logInfo("Motion Sensor Light Control","Timer counts") timer.reschedule(now.plusSeconds(60)) logInfo("Motion Sensor Light Control","Timer reschedued for the next 60sec to midnight ;)") } } end
Sorry za mały off... ale zapytam czy próbowałeś programować reguły w Blockly? Ja jestem cienki z programowania a w Blockly jestem w stanie wyklikać reguły.
Ja osobiście "graficznie" niczego nie programowałem więc nie pomogę ale jeśli zadasz w odpowiednim dziale pytanie to zazwyczaj ktoś chętnie pomoże