Hallo, ich habe über ein MQTT-device einen Öffnungssensor angebunden. Das funktioniert soweit auch. Zur Sicherheit dessen Definition:
define SENSOR_BAD MQTT_DEVICE Fenstersensor-Bad
attr SENSOR_BAD IODev MyBroker
attr SENSOR_BAD event-on-change-reading state
attr SENSOR_BAD room Residents
attr SENSOR_BAD stateFormat Status
attr SENSOR_BAD subscribeReading_Status stat/fenstersensor-bad/status
attr SENSOR_BAD suppressReading transmission-state
Damit geht der Status des Devices auch schön von open auf closed und umgekehrt. Jetzt möchte ich das aber mit einem Watchdog verbinden der mir (später unter bestimmten Bedingungen) eine Push schickt.
define watchdog_SENSOR_BAD1 watchdog SENSOR_BAD:open 00:00:10 SENSOR_BAD:closed {fhem("set pushmsg msg "FHEM" "Fenster im Bad oben länger als 20min auf!")}
Nur leider tut der Watchdog nichts und steht immer nur auf "defined".
Wie sieht das Event aus für den SENSOR_BAD
Also: Es gab kein Event! Ich habe darum folgendes angepasst:
attr SENSOR_BAD event-on-change-reading Status
Also ersten Fehler beseitigt, denn nun kommt auch ein Event im Event Monitor:
2018-03-08 14:31:26 MQTT_DEVICE SENSOR_BAD Status: open
Aber der Watchdog feuert trotzdem nicht...
Du musst das RegEx für den watchdog noch anpassen
define watchdog_SENSOR_BAD1 watchdog SENSOR_BAD:Status:.open 00:00:10 SENSOR_BAD:Status:.closed {fhem("set pushmsg msg "FHEM" "Fenster im Bad oben länger als 20min auf!")}
In Zukunft bitte immer ein list der entsprechenden Devices machen und den Output hier posten.
list SENSOR_BAD
list watchdog_SENSOR_BAD1
Danke,
es war tatsächlich zuerst das nicht passende event-on-change-reading und dann die falsche Schreibweise für den Status. In allen Beispielen die ich gelesen hatte hiess es immer nur Devicename:open bzw. Devicename.closed.
Nun wird der Watchdog tatsächlich getriggert...
Entscheidend ist das Event. Du hast ganz links ganz unten einen Eventmonitor. Dort siehst Du wie das Event was ausgelöst wurde aus schaut. Basierend darauf baust Dein Regex auf.
Das mit dem State ist mehr wie seltsam und bisschen an FHEM Standard vorbei :D
ZitatBasierend darauf baust Dein Regex auf.
Am besten im Event-Monitor die ganze Zeile markieren, "Create/Modify device" klicken, und watchdog auswaehlen.