Hallo,
ich habe folgende situation:
ein Aktor wird über einen Eingang (Lichtschranke) getriggert. Der Aktor schaltet ein Lampe für 20s ein. da ich "pressed" abfrage, wird auch entsprechend nachgetriggert.
define LichtEin notify EnO_switch:buttons.*pressed set EnOcean_switch_FSR14 on-for-timer 20
Nun soll die Lichtschranke parallel überwacht werden, soll heißen, wenn die LS für längere zeit blockiert wird (z.B. 10min Status "pressed" gesendet wird) dann soll das Licht abgeschaltet werden. Und zwar solange, bis der Status "pressed" nach "released"wechselt. Erst dann darf die 2normale2 funktion wieder aktiviert werden. Wie überwache ich das am Besten?
Gruß,
Spartacus
Hallo,
das sollte sich mit einem watchdog lösen lassen.
Grüße
...danke Puschel! Ich sehe mir das Modul mal an...kannte ich bislang noch nicht!
Christian.
Hallo zusammen,
so! das mit dem Watchdog funktioniert.
EnO_switch_00001010:buttons.*pressed 00:00:10 EnO_switch_00001010:buttons.*released
set EnOcean_switch_FSR14 off
Allerdings habe ich jetzt ein anderes Problem! Die Lampe schaltet nach 20s. ab und nicht über das Watchdog-Modul mit 10s! Die Timerzeit von 20s hat offenbar Vorrang
EnO_switch_00001010:buttons.*pressed set EnOcean_switch_FSR14 on-for-timer 20;
On-for-timer kann ich hier nicht nutzen, zumal ich festgestellt habe, dass hier auch nicht nachgetriggert wird, solange ein "pressed" am Eingang anliegt.
Ich müsste mit dem "pressed"-Signal die Lampe einschalten und mit dem "released"-Signal den Timer für 20s. starten. Dann würde der watchdog m.E. direkt zuschlagen, wenn die watchdog-Zeit abgelaufen ist.
Aber wie kann ich einen on-for-timer auf die fallen Flanke am Eingang des FTS14-EM auswerten? Das ist der Übergang zwischen "pressed"->"released"?
Spartacus.
Hallo,
dann solltest du dir vermutlich eher mal DOIF anschauen.
Grüße
Hallo,
Scheint irgendwie alles auf DOIF zurrueckzulaufen..... Muss ich noch mal genau studieren....
Danke für den Ansatz.
Christian
Hallo,
Jetzt wird zwar das Licht korrekt nachgetriggert, solange "pressed" anliegt, aber es soll ja eine Zwangsabschaltung nach max 600s erfolgen, wenn der Eingang blockiert ("pressed") ist. Wenn ich das richtig verstanden habe, kann das innerhalb des DOIFs gelöst werden ohne das Modul watchdog zu benutzen...aber irgendwie fehlt mir noch der richtige Durchblick, wie ich das anstellen muss.
define LichtAn DOIF ([EnO_switch_00001010:buttons] eq "pressed")(set Lampe on) DOELSEIF ([EnO_switch_00001010:buttons] eq "released") (set Lampe off)
attr LichtAn cmdState on|off
attr LichtAn room EnOcean
attr LichtAn wait 0:10
Gruß Christian.
Hallo,
DOIF wird unter Automatisierung behandelt - es gibt dort bereits einen (mehrere) Beiträge.
Stell die Frage bitte dort und Damian wird dir dann antworten.
Danke.
Grüße