Verschiedene Probleme mit Modulen

Hi allerseits!

Meine Module haben über Jahre gut funktioniert - so langsam fangen einige an zu „spinnen“ und ich verstehe einfach nicht wieso. Seit Stunden versuche ich verschiedenen Problemen auf die Spur zu kommen, aber irgendwie finde ich keine Lösung.
Hat sich bei den letzten 5.4 Stable (und auch Beta) Versionen irgendwas entscheidendes geändert?

Hier mal 2 meiner „akutesten“ Probleme als Beispiel:

Problem 1:

Konnte Instanz nicht erstellen
<br />
<b>Warning</b>: Property registration is only possible in the Create method in <b>/var/lib/symcon/modules/MELCloud/MEL_CONFIGURATOR/module.php</b> on line <b>36</b><br />
<br />
<b>Warning</b>: Property registration is only possible in the Create method in <b>/var/lib/symcon/modules/MELCloud/MEL_CONFIGURATOR/module.php</b> on line <b>37</b><br />
(Code: -32603)

… diese nette Fehlermeldung bekomme ich beim Versuch eine MELCloud Konfigurator Instanz zu erstellen (bei IPS 5.4 Stable und auch bei der neusten Beta)

Die angemeckerten Zeilen sehen wie folgt aus (Zeile 36 und 37 sind die beiden „RegisterProperty“):

public function Create()
    {
        //Never delete this line!
        parent::Create();

        // Connect instance and set receive filter
        $this->ConnectParent('{xxxxxxxxxxxxxxxx}');
        $this->SetReceiveDataFilter('.*xxxxxxxxxxx.*');

        // Register Properties
        $this->RegisterPropertyInteger('CategoryIDDeviceInstances', 0);
        $this->RegisterPropertyBoolean('debug', false);
    }

…also für mich ist das innerhalb von „Create“ :confused:

Problem 2:
Ich habe schon immer in diesem Modul (und auch anderen Modulen) mit „SendDataToParent“ vom Konfigurator (und Device) etwas zum I/O geschickt und das return aus der „ForwardData“ Funktion vom I/O wieder weiter in der „Quell“-Instanz (Konfigurator/Device) verarbeitet - jetzt kommt da überhaupt nichts mehr zurück - kein einziges Zeichen :confused: Es kommt aber definitiv etwas im I/O in „ForwardData“ an, nur „die Antwort“ verschwindet im Nirvana.

$resultJson = @$this->SendDataToParent(json_encode($dataAR));

…hier das $resultJson ist immer komplett leer und enthält gar nichts :frowning:

return json_encode(array("AAAA", "BBBB"));

…auch wenn ich das hier in „ForwardData“ vom I/O reinschreibe…

Bin für jegliche Tipps dankbar!

Viele Grüße,
Chris

  1. Kannst du mir einen Link zum Repo zukommen lassen? Ich versuche das dann nachzustellen.
  2. Wir haben den Datenfluss zur 5.4 in die andere Richtung erweitert… Aber die diese Richtung sollte alles beim alten geblieben sein. Magst du das @ mal entfernen? Kommen dann Fehler? Kommen die Daten überhaupt beim I/O an?

paresy

Zu 1) Schick mir eine PN mit deinem GitLab-Username, dann schalte ich dich frei.

Zu 2) Die Daten werden vom Device/Configurator an den I/O geschickt und in „ForwardData“ auch sauber verarbeitet. Der I/O redet dann mit der Cloud und hat die angefragten Daten und alles gut - aber eigentlich sollten die dann in „ForwardData“ mit „return $resultJson;“ wieder zurück zum Device/Configurator geschickt werden - klappt aber nicht mehr - ist einfach leer.
Andere Sachen die ich aus dem I/O mit „SendDataToChildren“ an Device/Configurator schicke kommen an - geht also nur um das „return“ in „ForwardData“ im I/O was nicht mehr beim Device/Configurator ankommt.
>> Wenn ich das @ weg mache kommen keine Fehler - Daten kommen ja beim I/O an.

Danke und Grüße,
Chris