[gelöst] FHEM notify global:INITIALIZED spricht nicht mehr an

Begonnen von Carsten K., 17 Januar 2021, 11:37:07

Vorheriges Thema - Nächstes Thema

Carsten K.

Hallo zusammen,

ich habe ein Notify auf global:INITIALIZED gebaut, dass leider nicht anspricht.
Internals:
   DEF        global:INITIALIZED.* {
fhem("msg FHEM ist jetzt verfügbar... ($EVENT)");
}
   FUUID      5c4da7b2-f33f-17dd-ec33-7a930f365bc11cec
   NAME       notifyFHEM_init
   NOTIFYDEV  global
   NR         375
   NTFY_ORDER 50-notifyFHEM_init
   REGEXP     global:INITIALIZED.*
   STATE      active
   TYPE       notify
   READINGS:
     2021-01-17 11:27:56   state           active
Attributes:
   alias      notifyFHEM_init
   group      Events
   room       ZZ_System


Ich habe zur Fehlersuche den Notify-Event auf global:.* gesetzt. Damit bekam ich dann SAVE, MODIFIED und SHUTDOWN - jedoch nicht INITIALIZED.

Hat jemand eine Idee, wo/wie ich den Fehler eingrenzen kann?

Grüße,
Carsten
NUC FHEM on Debian, CC1101-USB-Lite 868MHz;
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k

Jamo

Bei mir sieht das so aus: notify global:INITIALIZED {} statt notify global:INITIALIZED.* {}
aber ich sehe bei Dir kommt das INITIALIZED gar nicht.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/Conbee III, FB7690, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack, Sonos, ESPresence

Carsten K.

Danke Jamo,
das ".*" ist lediglich der Regex-Ausdruck für "beliebige Zeichen".
Du hast Recht, den kann man weglassen...
Grüße,
Carsten
NUC FHEM on Debian, CC1101-USB-Lite 868MHz;
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k

amenomade

#3
ZitatHat jemand eine Idee, wo/wie ich den Fehler eingrenzen kann?
In der Log bei einem start. Insb. wenn eine Zeile "StartINIT" (loglevl 3) da ist
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Carsten K.

Zitat von: amenomade am 18 Januar 2021, 00:07:01
In der Log bei einem start. Insb. wenn eine Zeile "StartINIT" (loglevl 3) da ist
Das war ein guter Tipp!
Hat mir zumindest Log-Meldungen gezeigt, die ich sonst nicht wahrgenommen hätte ...

Letztlich lag der Fehler am "msg"-Befehl:
global:INITIALIZED.* {
fhem("msg FHEM ist jetzt verfügbar...");
        ...
}

Anscheinend ist dieser Befehl zu diesem Zeitpunkt noch nicht verfügbar.
Ich habe die Meldung jetzt direkt über Signal ausgegeben - das funktioniert...
global:INITIALIZED.* {
fhem("set Signal msg FHEM ist jetzt verfügbar...");
        ...
}


Vielen Dank
NUC FHEM on Debian, CC1101-USB-Lite 868MHz;
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k

Benni

Zitat von: Carsten K. am 18 Januar 2021, 09:25:15
Anscheinend ist dieser Befehl zu diesem Zeitpunkt noch nicht verfügbar.
Ah! Das Phänomen kenne ich auch!  :D

Ich habe das bei mir so gelöst, dass ich die entsprechende Meldung mit einem sleep 15 Sekunden verzögert ausgebe:


fhem("sleep 15;{BenniPushAlarm('FHEM-Restart','FHEM auf $thost wurde soeben neu gestartet!')}");


gb#


Carsten K.

Zitat von: Benni am 18 Januar 2021, 15:18:06

fhem("sleep 15;{BenniPushAlarm('FHEM-Restart','FHEM auf $thost wurde soeben neu gestartet!')}");

Guter Hinweis Benni,
ich habe das gleich mal ausprobiert:

fhem("msg FHEM 0 ist wieder da");
fhem("sleep 1;msg FHEM 1 ist wieder da");
fhem("sleep 1;msg FHEM 2 ist wieder da");
fhem("sleep 1;msg FHEM 3 ist wieder da");
fhem("sleep 1;msg FHEM 4 ist wieder da");
fhem("sleep 1;msg FHEM 5 ist wieder da");

"FHEM 1 ist wieder da" war die erste ausgegebene Meldung :D

Viele Grüße
Carsten
NUC FHEM on Debian, CC1101-USB-Lite 868MHz;
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k

Benni

Hmm ....  ???


... dann reicht evtl. sogar schon ein

fhem("sleep 0.1;msg FHEM ist jetzt schon wieder da");