Hauptmenü

Notify funktioniert nicht

Begonnen von Holger S, 05 Januar 2023, 14:31:14

Vorheriges Thema - Nächstes Thema

Holger S

Hallo,
bei meinem Notify für Batteriestatus wird meine Routine "Batterie_warnung" nicht ausgeführt.

.*:[Bb]attery.*:.* { if($EVENT !~ m/ok/) {Batterie_warnung}}

EVENT Monitor
2023-01-05 14:21:21 MQTT2_DEVICE TempLuftTKT battery: low

Habe schon einiges probiert. Kann jemand unterstützen?

Vielen Dank

Otto123

Hi,

da ist immer die Frage: nicht getriggert oder nicht ausgeführt? Ob getriggert siehst Du in den Readings.
Laut Deiner Zeile Event und dem notify sollte es triggern und das if sollte auch true liefern.

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

Holger S

Hallo,

Readings vom Notify:
triggeredByDev TempLuftTKT 2023-01-05 15:01:19
triggeredByEvent battery: low 2023-01-05 15:01:19

Habe Notify geändert um einen Log Eintrag zu erstellen:
.*:[Bb]attery.*:.* { if($EVENT !~ m/ok/) {Batterie_warnung};; Log 3, "$NAME : Batteriewarnung $EVENT";;}

es wird kein Log Eintrag geschrieben wenn battery auf low geht

Uwe S.

#3
Zitat.*:[Bb]attery.*:.* { if($EVENT !~ m/ok/) {Batterie_warnung}}

ich vermute der Doppelpunkt vor [Bb] ist das Problem.
In deinem Event taucht kein Doppelpunkt vor dem battery auf und somit passt es nicht zu dem gewählten regulären Ausdruck (RegEx)


Otto123

NEIN der Doppelpunkt ist ok! Suchmuster beim notify ist Device:Event siehe auch https://fhem.de/commandref_modular_DE.html#notify

Dann mach mal nur ein Log
.*:[Bb]attery.*:.* { Log 1, "$NAME : Batteriewarnung $EVENT"}
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

frank

und poste mal die funktion Batterie_warnung.
falls dort zb bestimmte "setreadings" enthalten sind, könnten die zb "verhindert" werden.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Holger S

Nach Änderung Notifiy def auf:

.*:[Bb]attery.*:.* { Log 1, "$NAME : Batteriewarnung $EVENT"}

werden Logeinträge geschrieben
2023.01.05 16:11:16 1: TempLuftTKT : Batteriewarnung battery: low
2023.01.05 16:09:15 1: LaCrosse_WzF : Batteriewarnung battery: ok
2023.01.05 16:07:58 1: TempLuftBad : Batteriewarnung batteryPercent: 83.7
usw..

betateilchen

#7

defmod TempLuftTKT dummy
defmod TempLuftTKT_notify notify .*:[Bb]attery.*:.* {if($EVENT !~ m/ok/) {Debug $EVENT}}
setreading TempLuftTKT battery low


ergibt bei mir im Log

2023.01.05 16:18:53 1: DEBUG>battery: low

grundsätzlich funktioniert Deine Definition also.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Holger S

Habe das:

.*:[Bb]attery.*:.* {if($EVENT !~ m/ok/) {Debug $EVENT}}

bei mir reinkopiert und jetzt funktioniert es. Keine Ahnung was das Problem war.

Danke an alle