Ich möchte, dass ein Notify auf einen Teilausdruck in einem STATE (Reading) reagiert. Ich habe ein Raspberry Pi, der mir mit Hilfe von VZLogger den Stromzähler ausliest. Leider hat dieser ab und zu Aussetzer, entweder stürzt der VZLogger ab oder gleich der ganze RPI. Ich hab noch nicht den Grund dafür gefunden, mir aber einen Workaround gebaut: Ich will benachrichtigt werden, dann gehe ich in den Keller und starte den RPI neu. ;-) Den Notify dafür habe ich bereits erstellt:
define nStromRpiTot notify Zaehlerstand:state:ERROR.* set teleBot message <Empfänger> --- stromzähler-rpi ist tot! ---
Leider reagiert er nicht darauf. Der Zählerstand wird in den STATE "ERROR: <irgendwas>" versetzt, ich bekomme aber keine Nachricht. Ich vermute es liegt am "Zaehlerstand:state:ERROR.*" aber ich kenne mich mit RegEx nicht aus.
Ich nehme an, du hast mal im Event-Monitor geschaut, wie genau das Event wirklch aussieht!?
Ja. Da steht:
Zitat
2022-01-20 08:43:10 VZLOGGER Strombezug ERROR while requesting: 192.168.178.46: Verbindungsaufbau abgelehnt (111)
Im Reading state steht dann:
Zitatstate
ERROR while requesting: 192.168.178.46: Verbindungsaufbau abgelehnt (111)
2022-01-20 08:44:35
Und als STATE:
ZitatSTATE
ERROR while requesting: 192.168.178.46: Verbindungsaufbau abgelehnt (111)
Zitat von: Joesky am 20 Januar 2022, 08:26:29
Ich möchte, dass ein Notify auf einen Teilausdruck in einem STATE (Reading) reagiert.
STATE ist KEIN Reading! Es ist ein INTERNAL und wirft daher auch keinen Event -> kein Eventhandler...
state ist ein Reading (oft wird STATE von state "abgeleitet" ist aber kein muss und STATE kann ja selber per stateFormat etc. beeinflusst werden) -> da kann es Events geben (die sind aber "speziell", da "state" also der Readingname nicht [immer] auftaucht)
Zitat von: Joesky am 20 Januar 2022, 08:26:29
Leider reagiert er nicht darauf. Der Zählerstand wird in den STATE "ERROR: <irgendwas>" versetzt, ich bekomme aber keine Nachricht. Ich vermute es liegt am "Zaehlerstand:state:ERROR.*" aber ich kenne mich mit RegEx nicht aus.
Klar, wenn du dir den Eventmonitor-Eintrag ansiehst und dann mit dem vergleichst auf das das notify reagieren soll: das passt nicht zusammen.
EDIT: im Event gibt es kein "Zaehlerstand" und auch kein "state"... ;)
Der Hinweis mit Eventmonitor kam ja schon.
Evtl. deutlicher: man kann sich dort auch PASSENDE notify/FileLog/DOIF etc. "generieren" lassen!
https://wiki.fhem.de/wiki/Event_monitor
Gruß, Joachim
Popcorn!
Zitat2022-01-20 08:43:10 VZLOGGER Strombezug ERROR while requesting: 192.168.178.46: Verbindungsaufbau abgelehnt (111)
Oder Ihn darauf Hinweisen, das "VZLOGGER Strombezug ERROR" schon etwas über das Event sagt ...
Aber etwas anderes: Wenn der PI Abstürzt, hast Du ein definitives Problem. Mit dem Event versuchst DU aber ein Symptom zu beheben. Normal ist ein Totalabsturz nicht ...
- Ist es wirklich ein Absturz oder ist "nur" das WLAN-weg? Ist in Verbindung mit FritzBox-WLAN bekannt
- Stromversorgunsproblem? (Würde ich aktuell tippen, da DU auch von Sensorproblemen sprachst)
- .......
Alles klar. Ich lös das alleine, irgendwann wird es schon klappen.
Zitat von: Joesky am 21 Januar 2022, 08:44:35
Alles klar. Ich lös das alleine, irgendwann wird es schon klappen.
Ohne Infos wirst du das wohl tun müssen...
(also lists der Devices etc.)
Bzw. geht das ja mit dem Eventmonitor wirklich ganz einfach (siehe Link ins Wiki).
Welche Events wann kommen und welche davon das leisten was du suchst/brauchst kannst eh nur du wissen/festlegen...
Gruß, Joachim
Lösung:
define nStromRpiTot notify Zaehlerstand:state:ERROR.* set teleBot message <Empfänger> --- stromzähler-rpi ist tot! ---