Hallo,
ich brauche mal einen Denkanstoß…
- Ist es richtig, wenn KR_Ready erreicht wird, dass ich davon ausgehen kann, dass alle Module geladen und verfügbar sind? (Habe im Kopf, dass IP-Symcon die Modul nach einem „Zufallsprinzip“ startet, somit ist dann nicht auszugehen, dass wenn ein Modul „ready“ ist, das andere auch schon „ready“ ist.
So nun zu meinem Vorhaben:
Ich habe ein Modul A, welches als (ich nenne es mal) Hauptinstanz dienen soll.
Ich habe ein weiteres Modul B, mit dem n-Instanzen angelegt werden. Diese sind und arbeiten eigenständig. Diese Instanzen sehe ich mal als-Subinstanzen von Modul A.
D.h. ich kann z.B. einen Switch in einer Instanz in Modul B betätigen.
Angenommen ich habe nun 10 Instanzen von Modul B und will bei „allen“ Instanzen von Modul B den Switch betätigen. Damit ich dies nicht 10 mal machen muss, nutze ich die Instanz von Modul A, welche dann in einer foreach-Schleife alle Instanzen von Modul B durchläuft.
Das klappt auch soweit, weil das schalten ja im laufenden Betrieb erfolgt und KR_READY vorhanden ist.
Modul A ist wie eine Art „Kontrollzentrum“ zu verstehen.
Nun zum Punkt:
In Modul A versuche ich mit IPS_GetProperty Daten der Konfiguration von Modul B auszulesen, welche in die Instanz von Modul A geschrieben werden sollen.
Ich habe es schon mit MessageSink probiert aber wenn ich einen manuellen Modul-Reload (MC_ReloadModule) mache bekomme ich als Fehlermeldung „InstanceManager*| Could not create instance interface“, was aus meiner Sicht bedeutet, dass das Modul noch nicht geladen ist.
Gibt es eine Möglichkeit abzufragen, ob ein „fremdes“ Modul gestartet ist oder welchen Lösungsansatz sollte man verfolgen?
Hoffe, es ist verständlich.
Gruß
UB