Mittlerweile ist mein Smarthome immer größer geworden und hat devices für I2C Signal und Ausgänge ...
Jetzt geht es darum einen sauberen Start zu machen.
So wie ich sehe ist die Reihenfolge wie folgt:
* laden der Perl Module
* Ausführung der my_Utils_Initialize
* laden der fhem.cfg
* einspielen der save Werte
* -- Event global:Initialize
Nun verwende ich PERL Funktionen, welche z.b. an notify Regeln hängen, wenn eine Signal anliegt.
Sprich wenn ein Signal kommt, wird meine Applikation was tun, sprich fhem objekte verändern, z.w. globale
PERL variablen setzen oder Ausgabe Signale für Relais schicken.
Nun aber das Problem der Initialisierung. In my_Utils_Initialize kann ich nur PERL variablem initialisieren --
da noch keine FHEM objekte geladen sind !
Werden jedoch später save Werte zurückgespielt, so werden meine Signal notify ausgelöst -- und zwar noch bevor
ein global:Initialize kommt, mit welchem ich bisher meine Initialisierungen angestoßen habe .
Frage:
+ Wie initialisiere ich PERL und Fhem, bevor ein notify getriggered wird ?
Habe mich bis jetzt nur als workaround so beholfen:
+ alle notify an Signal-ports sind 1 gruppe X zugeordnet
+ nach den defines mache ich eine "set group=X inactive "
+ in meiner Perl routine, welche durch notify global:initialize aufgerufen wird,
mache ich am Ende ein freischalten der Signal-ports --- "set group=X active "
Geht soweit ist aber nicht schön. Habe ich irgendwo was nicht verstanden oder kann es besser machen ?