Watchdog Zeit über Dummy-Variable

Begonnen von Bednorz, 27 Juni 2018, 15:48:35

Vorheriges Thema - Nächstes Thema

Bednorz

Hallo,
ich versuche gerade meine Fenster auf Energiesicht zu überwachen. Soll heißen: Ein bestimmtes Fenster ist offen und wird nach Zeit x nicht geschlossen gibt es einen Hinweis im Telegram Messenger. Solange die Zeit x fest auf zum Beispiel 20 Minuten steht ist das auch alles kein Problem.
Ich möchte aber nun, dass die zeit Variable ist. Also habe ich einen Dummy der als state die Zeit im Format HH:MM:SS (so wie beim watchdog auch) bekommt. Dann habe ich mir gedacht, dass ich diesen Wert dann einfach per ReadingsVal in den watchdog eintragen kann. Ungefähr so:

defmod OG.KZ.Funktion.GiebelfensterKontrolle watchdog UG.VR.Anlage.Sicherheit:OG4:.Offen {ReadingsVal('FensterKontrolleZeit', 'state', '')}; UG.VR.Anlage.Sicherheit:OG4:.Geschlossen \
set TelegramMessenger.* send Das Kinderzimmergiebelfenster steht seit 20 Minuten offen. Bitte umgehend schließen.;;\
trigger OG.KZ.Funktion.GiebelfensterKontrolle .


Das funktioniert leider nicht. Ich habe deswegen auch andere Schreibvarianten versucht (ohne Semikolon, ohne geschwungene Klammern). So langsam zweifle ich aber, dass das überhaupt geht. Vielleicht übersehe ich ja nur etwas oder muss ich wirklich komplett umdenken?

mfG Bednorz

Otto123

Hi,

ich behaupte mal das geht nicht, sonst stünde das in der Doku:
ZitatDefine

    define <name> watchdog <regexp1> <timespec> <regexp2> <command>

    Start an arbitrary FHEM command if after <timespec> receiving an event matching <regexp1> no event matching <regexp2> is received.
    The syntax for <regexp1> and <regexp2> is the same as the regexp for notify.
    <timespec> is HH:MM[:SS]
    <command> is a usual fhem command like used in the at or notify

Wenn Du das so machen willst, musst Du entweder das watchdog mit modify zur Laufzeit neu setzen oder es mit DOIF bauen.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Ellert

Wenn Du DOIF verwendest benötigst Du keinen Dummy, sondern kannst die Zeit über ein Reading setzen, siehe http://fhem.de/commandref_DE.html#DOIF_setList__readingList ff.

Bednorz

Hallo,
vielen Dank für die schnellen Antworten. Habe ich mir schon fast gedacht. Dann werde ich es mit einem DOIF lösen.

mfG Bednorz