Watchdog erneut Triggern Problem / Lösung

Begonnen von laserrichi, 10 Oktober 2016, 19:47:52

Vorheriges Thema - Nächstes Thema

laserrichi

Hallo Gemeinde,

ich habe mir einen Watchdog folgendermaßen eingerichtet:

define TerasseOffenWarnung watchdog Terassentuer.reportedState:.open 00:05 Terassentuer.reportedState:.closed set sprachausgabe tts Bitte Terassentüre wieder schließen;;trigger TerasseOffenWarnung .

Sinn der Übung ist es die Sprachausgabe zu wiederholen bis die Türe geschlossen wird.
Aber hier gibt es ein kleines Problem, der trigger funktioniert so nicht.

so funktionierts:

define TerasseOffenWarnung watchdog Terassentuer.reportedState:.open 00:05 Terassentuer.reportedState:.closed set sprachausgabe tts Bitte Terassentüre wieder schließen;;trigger TerasseOffenWarnung .;;trigger TerasseOffenWarnung .

man muss 2mal triggern, erst dann wiederholt er sich, der erste Trigger setzt ihn auf defined, der zweite auf activated.

Die eigentlich geplante Lösung:
wenn der Watchdog wieder aktiv sein soll, sollte er das attribut autoRestart bekommen.
Das macht er auch, aber, hier gibt es wohl eine Abhängigkeit der Reihenfolge, denn den trigger der gesetzt wurde, wird danach durch das autoRestart überschrieben und der Watchdog geht immer in defined.

Hier sollte man vieleicht den Loop oder so als attribut generell einführen.

Ich habe schon forum durchsucht, das Problem hatten schon viele, aber meist dann mit notify gelöst.

Desweiteren finde ich in der Doku execOnActivate  jedoch nicht execOnReactivate... sollte wohl selbiges sein aber hier müsste die Doku angepasst werden.

RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

laserrichi

mir scheint das Problem hatte nur ich ? oder hatte ich da etwas übersehen und einen Denkfehler ?
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

Hollo

Der watchdog funktioniert zunächst wie er soll...

er wartet auf das auslösende Ereignis (das Öffnen der Tür) und wartet dann, ob in der angegebenen Zeit (die 5 Sekunden) die 2. Bedingung (Tür wird wieder geschlossen) erfolgt. Ist das nicht der Fall, werde die Befehle ausgeführt (Sprachausgabe und Zurücksetzen des watchdog auf defined).

Da Deine Tür nicht erneut geöffnet wird, sondern noch offen ist, wird der watchdog nicht erneut getriggert. Korrekt.
Wenn Du also wie genannt einen 2. trigger dahinter hängst, wird der watchdog automatisch erneut gestartet.

Alternativ-Vorschlag:
- starte mit dem watchdog ein wiederholendes at aber kein Zurücksetzen = Sprachausgabe alle x Sekunden
- mach ein notify auf das Schliessen der Tür, welches den watchdog zurücksetzt
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

Rampler

Hallo Ritchi,
ich würde es mal so probieren:
Timer:
define Terasse.timer at +*00:00:10 set sprachausgabe tts Bitte Terassentüre wieder schließen
Watchdog:
define TerasseOffenWarnung watchdog Terassentuer.reportedState:.open 00:05 Terassentuer.reportedState:.closed set Terasse.timer active ;; trigger TerasseOffenWarnung .

Notify:
define Terasse.watchclose notify Terassentuer.reportedState:.closed set Terasse.timer inactive


bis die Tage
  Klaus
3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

laserrichi

ah jetzt verstehe ich was du meintest.
Bis jetzt habe ich es so gelöst das ich den Watchdog 2x triggere, weil ich gedanklich alles in einem abbilden wollte:

define Terassentuer.reportedState:.open 00:05 Terassentuer.reportedState:.closed set sprachausgabe tts Bitte Terassentüre wieder schließen;trigger TerasseOffenWarnung .;trigger TerasseOffenWarnung .

somit loopt das ganze immer wieder bis der .closed kommt
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light