Notifications
Clear all

Timer w PIR zrobiony w OH  

  RSS
Radek
(@radek)
Stażysta

Nie wiem jak Wy macie timer do PIR'a zrobiony w OH, ale ja poradziłem sobie tak:

Items:

Switch przed_lampa "Oświetlenie przedpokoju" { mqtt=">[broker:/przedpokoj/switch/cmd:command:ON:on],>[broker:/przedpokoj/switch/cmd:command:OFF:off]"}

Switch przed_lampa_status {mqtt="<[broker:/przedpokoj/switch/state:state:ON:on],<[broker:/przedpokoj/switch/state:state:OFF:off]"}

Switch przed_lampa_pir_2 {mqtt="<[broker:/przedpokoj/pir/state:state:ON:open]", expire="10s,state=OFF"}

Switch przed_manual "Czujka na przedpokoju"

Rules:

rule "Reczna zmiana wartosci przed_lampa"
when
Item przed_lampa_status changed
then
if (przed_lampa_status.state!=przed_lampa.state) {
if (przed_lampa_status.state==ON) {
sendCommand(przed_lampa,ON)
} else {
sendCommand(przed_lampa,OFF)
}
}
end
rule "Przedpokoj pir"
when
Item przed_lampa_pir_2 received update
then
if(przed_manual.state!=OFF) {
if(przed_lampa_pir_2.state !=OFF) {
sendCommand(przed_lampa, ON)
}
else {
sendCommand(przed_lampa, OFF)
}
}
end
Działa to tak że po wykryciu ruchu przez pir "przed_lampa_pir_2" zmienia się ona ON, a wyłączeniem, timerem i jego resetem (jak dostanie kilka razy ON to licznik się resetuje) zajmuje się Expire-Binding. A reguła jest po to żeby móc wyłączyć czujkę i sterować światłem czy to z przycisku na ścianie, czy z OH
Cytuj
Dodane : 03/10/2018 9:03 pm
adrian polubień
adrian
(@adrian)
Prezes Zasłużony dla Forum, Patron Strony

dzięki @radek - bardzo fajny ten expire-binding, zastosuje u siebie, bo nigdy nie chciało mi się do tego tematu kasowania licznika przysiadać. Potrzebuje coś takiego w korytarzu - teraz mam ustawione na stałe 15sek. włączanie lampy po wykryciu ruchu. Czasami bywamy dłużej w korytarzu niż 15sek przez co mamy po 15sek na chwile wyłączenia lampy, dopóki PIR ponownie wykryje ruch i włączy lampę - czasami denerwuje

PS. Rozdzieliłem wątki i jest zrobiony z tego osobny post

OdpowiedzCytuj
Dodane : 03/10/2018 9:43 pm
Udostępnij: