[gelöst]Watchdog: Auslösendes Device per Mail senden ($NAME, $EVENT)

Begonnen von frober, 12 Juni 2021, 13:37:43

Vorheriges Thema - Nächstes Thema

Jamo

Hallo Bernd,
freut mich das es funktioniert. Du kannst noch in der Zeile
"my $EVENT = shift // return "Error, sub Beregnungsalarm: we need NAME as parameter!";"
"Name" durch "EVENT" ersetzen, also
"my $EVENT = shift // return "Error, sub Beregnungsalarm: we need EVENT as parameter!";"

Wegen dem Perl Fehler my $sub ist nicht deklariert.... -> ja da habe ich normalerweise immer noch eine variable "my $sub = 'Bewaesserungsalarm'; deklariert, aber das hast Du ja jetzt schon fest eingefügt.

Noch eine Frage: Warum hatte deine Watchdog 30 Sekunden timeout, aber dein notify nur 1 Sekunde?

Beste Grüsse, Jamo!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/Conbee III, FB7690, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack, Sonos, ESPresence

frober

Zitat von: Jamo am 16 Juni 2021, 20:15:01
Hallo Bernd,
freut mich das es funktioniert. Du kannst noch in der Zeile
"my $EVENT = shift // return "Error, sub Beregnungsalarm: we need NAME as parameter!";"
"Name" durch "EVENT" ersetzen, also
"my $EVENT = shift // return "Error, sub Beregnungsalarm: we need EVENT as parameter!";"

Wegen dem Perl Fehler my $sub ist nicht deklariert.... -> ja da habe ich normalerweise immer noch eine variable "my $sub = 'Bewaesserungsalarm'; deklariert, aber das hast Du ja jetzt schon fest eingefügt.

Noch eine Frage: Warum hatte deine Watchdog 30 Sekunden timeout, aber dein notify nur 1 Sekunde?

Beste Grüsse, Jamo!
Danke Jamo,

- mit dem EVENT hast du Recht, werde ich noch Ändern.
- bei $sub hatte ich vermutet, dass das eine globale Variable ist
- 1s stammt noch aus den Tests mit trigger

Grüße Bernd
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

rudolfkoenig

Ich habe watchdog angepasst:
- das Geraet und Event was den watchdog getriggert hat, steht als $DEV und $EVENT im ausfuehrbaren Teil zur Verfuegung
- diese Werte werden auch als Reading triggeredByDev und triggeredByEvent gespeichert (ohne Event).

frober

Zitat von: rudolfkoenig am 17 Juni 2021, 20:10:58
Ich habe watchdog angepasst:
- das Geraet und Event was den watchdog getriggert hat, steht als $DEV und $EVENT im ausfuehrbaren Teil zur Verfuegung
- diese Werte werden auch als Reading triggeredByDev und triggeredByEvent gespeichert (ohne Event).

Super danke dir, ich werde es nächste Woche testen und eine Rückmeldung geben.

Grüße Bernd
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

xenos1984

Zitat von: rudolfkoenig am 17 Juni 2021, 20:10:58
- das Geraet und Event was den watchdog getriggert hat, steht als $DEV und $EVENT im ausfuehrbaren Teil zur Verfuegung

Sind es $DEV und $EVENT oder %NAME und %EVENT?


200   my %specials= (
201     "%NAME" => ReadingsVal($name, "triggeredByDev", ""),
202     "%EVENT" => ReadingsVal($name, "triggeredByEvent", "")
203   );


(Aus 91_watchdog.pm.)

rudolfkoenig

Danke fuer den Hinweis, habe den Code zu $DEV geaendert, dann entspricht es der Dokumentation.
% vs. $ ist historisch, es ist ueberall $DEV, also in FHEM-Befehlen, in der Shell und in Perl-Ausdruecken.

frober

Hallo @Rudi,

danke, funktioniert einwandfrei. :)

Eine Frage noch:
Ich bin mir nicht sicher, ob es nur bei MYSENSORS so ist, aber ein ausgelöstes Event per trigger verhält sich anders als ein "Echtes".

Eventmonitor: das Rote wurde per trigger ausgelöst -> beim EVENT fehlt der Doppelpunkt
Zitat2021-06-21 18:32:19 MYSENSORS_DEVICE MYSENSOR_1 volume1: 3709
2021-06-21 18:32:34 MYSENSORS_DEVICE MYSENSOR_1 status3: on
2021-06-21 18:32:35 MYSENSORS_DEVICE MYSENSOR_1 status3: on
2021-06-21 18:32:50 MYSENSORS_DEVICE MYSENSOR_1 status3: off
2021-06-21 18:34:20 MYSENSORS_DEVICE MYSENSOR_1 volume1: 3704
2021-06-21 18:35:20 MYSENSORS_DEVICE MYSENSOR_1 flow1: 88
2021-06-21 18:35:20 MYSENSORS_DEVICE MYSENSOR_1 volume1: 3676
2021-06-21 18:36:20 MYSENSORS_DEVICE MYSENSOR_1 flow1: 89
2021-06-21 18:36:20 MYSENSORS_DEVICE MYSENSOR_1 volume1: 3709
2021-06-21 18:36:34 MYSENSORS_DEVICE MYSENSOR_1 status3 on

D.h. nach jedem Testen, muss ich die Doppelpunkte einfügen damit es funktioniert. :(

Ist hier auch etwas machbar?

Grüße Bernd
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

rudolfkoenig

Das hat mit watchdog nichts zu tun.
Der Doppelpunkt wird von readings*Update eingefuegt, und trigger macht das halt nicht, da trigger nicht in "readingsName / readingsWert" denkt.
Ich fuerchte das bleibt so, sonst gibt es Kompatibilitaetsprobleme (vulgo Geschrei).

frober

Zitat von: rudolfkoenig am 21 Juni 2021, 19:47:25
Das hat mit watchdog nichts zu tun.
Der Doppelpunkt wird von readings*Update eingefuegt, und trigger macht das halt nicht, da trigger nicht in "readingsName / readingsWert" denkt.
Ich fuerchte das bleibt so, sonst gibt es Kompatibilitaetsprobleme (vulgo Geschrei).

OK, danke nochmals.

Dann setze ich den Thread auf gelöst.
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...