angelesen, wie die Modulentwicklung laufen soll. Wenn ich mit einer eigenen Modulinstanz Werte aus einer bestimmten Homematic Instanz (via Homematic Socket) empfangen möchte, muss ich nach meinem Verständnis Folgendes tun:
[ul]
[li]„parentRequirements“: ["{A151ECE9-D733-4FB9-AA15-7F7DD10C58AF}"] als Teil der Modulbeschreibung verwenden
[/li][li]In der create() Methode $this->ConnectParent("{A151ECE9-D733-4FB9-AA15-7F7DD10C58AF}"); verwenden
[/li][li]In der public function ReceiveData($JSONString) sollen nun Daten vom Homematic Socket empfangen werden.
[/li][/ul]
Die ReceiveData Methode wird aber nie aufgerufen, auch wenn der VariableManager Änderungen von HM Variablen mitloggt.
Wo liegt mein Denkfehler? Ich verwende dafür IPS 4.1 RC2.
„id“ ist identisch zu „implemented“ und selbst generiert. Oder habe ich hier etwas falsch verstanden? Im Homematic Extended Modul sind die einzelnen Modul IDs unterschiedlich, die implemented ID aber identisch.
Vielen Dank! Jetzt funktioniert es. Als Filter werde ich dann die HM Adresse definieren, also z.B. JEQ12345:1, da diese ja in der DeviceID einer JSON Message immer drinsteckt.
Wo kann ich das mit der implemented ID nachlesen? Das würde mir weiterhelfen. Mir ist die Bedeutung davon nicht klar.
Du kannst dir die IDs über IPS_GetModule ja mal ansehen und für den HomeMatic Socket die jeweiligen Requirements ansehen. Daraus kannst du dann ableiten was die Modul einbinden muss.
Habt Ihr das irgendwo dokumentiert? Ich suche mir gerade nen Wolf, erahne Informationen aus zig Foren-Beiträgen, so richtig verstanden habe ich es aber nicht.
Der Hinweis auf das DelphiSDK hat mal gar nichts gebracht, mit paresys Hinweis auf IPS_GetModule bin ich etwas weiter, aber auch da muss ich noch mutmaßen.
Hier der Output für das Enocean-Gateway:
ich „erahne“ jetzt das ich als parentRequirements in meiner module.json eine der [Implemented]-Einträge des Moduls nutzen muss und als „implemented“ eine der "[ChildRequirements] " einzutragen habe um „nachzuweisen“ das ich diese unterstütze? Und Connectieren muss ich mich per ConnectParent mit der ModuleID oder?
Puh, also einfach ist es nicht… und ankommen tut bei meinem Modul leider auch noch nichts…
aber über Lesbarkeit und Nachvollziehbarkeit der Doku muss man sich noch mal gedanken machen… und der Hinweis auf IPS_GetModule sollte ergänzt werden, sonst hat man ja keine Ahnung wo man die GUIDs her nehmen soll