Hallo zusammen,
aktuell wird bei den Modulen notify und FileLog die Funktion notifyRegexpChanged() nur im Rahmen der DefineFn aufgerufen. Da bei einem Start von FHEM zum Zeitpunkt des Aufrufs evtl. die entsprechenden Definitionen noch nicht existieren, kann es vorkommen, dass kein NOTIFYDEV angelegt wird.
Im Anhang daher ein Patch, der notifyRegexpChanged() beim triggern von global:(INITIALIZED|REREADCFG) aufruft, sofern die User-Regexp nicht erfolgreich ist. In der DefineFn wird notifyRegexpChanged() nur noch bei $init_done aufgerufen.
Gruß
Markus
Es stoert mich, dass dadurch in der innersten Schleife eine meist unnoetige Regexp-Pruefung reinkommt.
Was haeltst du von
InternalTimer(0, sub(){ notifyRegexpChanged($hash, $re); }, $hash);
im DefineFn (statt notifyRegexpChanged direkt auzurufen, ungetestet).
Ja, das funktioniert auch und hat den selben Effekt. Gerade bei notify erfolgreich getestet.
Find ich gut. :)
Gruß
Markus
Hier nun der Patch mit deinem Vorschlag. Getestet für beide Module.
Gruß
Markus
Danke, habs eingecheckt.