Hauptmenü

WATCHDOG und IF

Begonnen von Malte, 21 Oktober 2015, 10:39:41

Vorheriges Thema - Nächstes Thema

Malte

Hallo,

benötige unbedingt Hilfe. Sitze hier schon etwas länger am Rechner und bekomme folgendes Problem einfach nicht hin:

2015.10.21 10:29:39 3: Watchdog T_S_T1_watchdog triggered
2015.10.21 10:29:39 3: Unknown command if, try help.

Wenn der Watchdog triggert wird immer die IF Abfrage als unglütiges Kommando ausgelegt. Folgendes wurde für den Watchdog definiert:

### Türsensor ###
define T_S_T1_Status dummy
attr T_S_T1_Status room Treppe
define T_S_T1_Notify_Tuer notify T_S_T1:contact:.* set T_S_T1_Status %EVTPART1
define T_S_T1_watchdog watchdog T_S_T1_Status:open 00:01:00 { if (Value("Wintermodus") eq "1" && ReadingsVal("ES_H_V1", "desired-temp", "20")+0 > "19.0") { Heiz_Battueber_Mail("T_H_V1") }} trigger T_S_T1_watchdog .
attr T_S_T1_watchdog room Treppe

Kann doch eigentlich nicht so schwer sein, aber irgendwie sehe ich den Wald vor lauter Bäumen nicht mehr  ;)

Funktion sollte einen später sein:
- Kind betritt Zimmer
- kurzes betreten nichts passiert
- Tür länger auf Watchdog spricht an

Vielleicht hat ja auch jemand eine bessere Lösung, würde mich freuen.

Also noch einen schönen Tag!

Hollo

Fehlt da nicht die 2. Bedingung für den watchdog?   ???
Also wenn nach Tür öffnen nicht innerhalb 1 Minute folgendes passiert (was hier fehlt), dann mache das und das.
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"

marvin78

Wenn es in code-Tags wäre, könnte man es vielleicht auch lesen...

Der watchdog ist nicht vollständig. Bitte commandref dazu konsultieren.

Malte

#3
Hallo,

ok verstanden mit SAME trotzdem gleiches Problem.

### Türsensor ###
define T_S_T1_Status dummy
attr T_S_T1_Status room Treppe
define T_S_T1_Notify_Tuer notify T_S_T1:contact:.* set T_S_T1_Status %EVTPART1
define T_S_T1_watchdog watchdog T_S_T1_Status:open 00:01:00 SAME { if (Value("Wintermodus") eq "1" && ReadingsVal("ES_H_V1", "desired-temp", "20")+0 > "19.0"){ Heiz_Battueber_Mail("T_H_V1") ;;}};; trigger T_S_T1_watchdog .
attr T_S_T1_watchdog room Treppe


2015.10.21 14:02:44 3: Watchdog T_S_T1_watchdog triggered
2015.10.21 14:02:44 3: Unknown command {, try help.
Unknown command }}, try help.

Ist eigentlich gleich wie notify aufgebaut, hier funktioniert dies!

marvin78

Ich habe das mal folgendermaßen für den DEF Bereich des watchdogs verändert.

T_S_T1_Status:open 00:01:00 SAME {Heiz_Battueber_Mail("T_H_V1") if (Value("Wintermodus") == 1 && ReadingsVal("ES_H_V1", "desired-temp", "20") > 19)};trigger T_S_T1_watchdog .

Was sollte das +0 bewirken?

Malte

Hallo Marvin,

ich bedanke mich, jetzt ist der Abend gerettet!

Vor trigger habe ich noch doppelte ;; eingefügt.

Die Null ist später mal für einen globalen Offset gedacht.

marvin78

Doppelte ; sind im DEF des Devices im Frontend nicht nötig. FHEM kümmert sich beim Speichern darum.