Hallo,
ist es beim watchdog nicht so, dass nach einer Zeit, nachdem ein Event1 eingetreten ist, eine Aktion passiert, wenn nicht Event2 eingetreten?
Ich möchte, dass wenn die Garage 1 Minute offen ist und nicht wieder geschlossen, eine Nachricht erhalten. Habe den Watchdog wie folgt definiert (Testweise mit dem Arbeitszimmerfenster, das geht schneller):
defmod WD_Garage_open watchdog MQTT2_msh_arbeitszimmer_fenster:STATE:.open 00:01 \
MQTT2_msh_arbeitszimmer_fenster:STATE:.close set Pushnachricht msg 'FHEM' 'Garage seit 10 Minuten offen' priority=1
attr WD_Garage_open autoRestart 1
Der Watchdog erkennt den Status, nach einer Minute erhalte ich aber trotzdem eine Nachricht, unabhängig davon, welchen Status das Fenster hat.
Das verstehe ich nicht...
Moin,
Mach mal den Zeilenumbruch raus ;)
Ich habe das gestern schon in einem Beitrag gelesen, Du verwirrst mit dem Event STATE hier alle. Das setzen des Internal STATE erzeugt bei mir bei keinem MQTT2 Device einen Event.
Hast Du mal ein list von MQTT2_msh_arbeitszimmer_fenster?
Gruß Otto
Weiß der Geier, wo der Umbruch herkam. Geht nun...
Internals:
CID msh_arbeitszimmer_fenster
DEF msh_arbeitszimmer_fenster
DEVICETOPIC MQTT2_msh_arbeitszimmer_fenster
FUUID 6030c36a-f33f-698a-7ad3-b594510662d2bee8
IODev m2server
LASTInputDev m2server
MSGCNT 79
NAME MQTT2_msh_arbeitszimmer_fenster
NR 78
STATE close
TYPE MQTT2_DEVICE
m2server_MSGCNT 79
m2server_TIME 2021-02-25 09:38:55
JSONMAP:
d_arbeitszimmer_fenster_details STATE
READINGS:
2021-02-25 09:38:55 STATE close
2021-02-20 09:08:10 associatedWith MEDION_Alarm
2021-02-25 06:50:44 d_arbeitszimmer_fenster_details open
2021-02-25 09:38:55 d_arbeitszimmer_fenster_mac 50338BDA9A37
2021-02-25 09:38:55 d_arbeitszimmer_fenster_name Arbeitszimmer_Fenster
2021-02-25 09:38:55 d_arbeitszimmer_fenster_rssivalue -69.0
2021-02-25 09:38:55 d_arbeitszimmer_fenster_source unusedName
2021-02-22 06:48:27 d_arbeitszimmer_fenster_timestampRT 1613972907382
2021-02-25 09:38:55 d_arbeitszimmer_fenster_type 4
2021-02-25 09:38:55 d_arbeitszimmer_fenster_value 0
Attributes:
IODev m2server
alias Arbeitszimmer Fenster
devStateIcon close.*:fts_window_1w open.*:fts_window_1w_tilt
event-on-change-reading STATE
icon fts_window_1w
jsonMap d_arbeitszimmer_fenster_details:STATE
readingList msh/d_arbeitszimmer_fenster:.* { json2nameValue($EVENT, 'd_arbeitszimmer_fenster_', $JSONMAP) }
room 12_Arbeitszimmer,Medion
stateFormat STATE
Ich weiß nicht ob das gut ist mit Reading STATE - Du wirst damit immer wieder auf Fragezeichen stoßen.
Ich finde die Verwendung des Überbegriffes Status im "FHEM Sprachgebrauch" anhand der Tatsache: reading state und internal STATE (zwei verschiedenen Dinge die gleich sein können) schon sehr verwirrend.
Wenn jetzt Einer noch das Reading STATE einführt und quasi "drüber mapped" - das hält frisch! 🥶
Per standard in FHEM gibt es das Reading state (welches nicht unbedingt nur final gesetzt wird sondern alle möglichen Statusmeldungen bekommt), ohne weitere Konfiguration wird state zum Internal STATE, dies ist änderbar über attr stateFormat.
state erzeugt Events - ohne Readingname state im Event
STATE erzeugt keine Events
ich muss wohl noch viel lernen ;)
deswegen habe ich ja den Erklärbär versucht ;)
Schau Dir die vielen MQTT2 AttrTemplates mal an und schau wie das da gelöst ist. Dann kannst Du das ja in Anlehnung bauen und wenn es läuft ein Template liefern. ;)