Fehler im Modulgenerator?

Moin,

ich beschäftige mich derzeit mit der Erstellung eines Moduls und vor allem damit, den Datenfluss im IPS zu verstehen :confused:
Da ist der Modul-Generator eine große Hilfe, cooles Teil, damit kann man gerade als Anfänger zügig zu einem lauffähigen Modul kommen, auf welchem man aufsetzen kann.

Ich glaube jedoch, dass sich im Modul-Generator ein Fehler eingeschlichen hat. Ich habe versucht ein Modul mit Device - Splitter - und IO anzulegen.
Die Datenfluss Richtung habe ich mit Device -> Splitter und Splitter -> IO angelegt. Dies führt zu folgenden module.jason Files:

device: module.json


{
    "id": "{5C71DE68-3DB9-2B14-58E3-C3A6D5A426C2}",
    "name": "HCLD",
    "type": 3,
    "vendor": "Fibaro",
    "aliases": [],
    "parentRequirements": [
        "{1590D5D7-2F2F-BF7F-3C3A-D9581874BF46}"
    ],
    "childRequirements": [],
    "implemented": [
        "{66D69490-42AD-A343-0F75-185A31AA08BA}"
    ],
    "prefix": "HCLD",
    "url": "http://www.test.de"
}

splitter: module.json


{
    "id": "{518933FA-6D8A-2ADA-5774-8413A058EA2A}",
    "name": "HCLSPLIT",
    "type": 2,
    "vendor": "Fibaro",
    "aliases": [],
    "parentRequirements": [
        "{6DEAE164-60E6-BF7A-53B7-A24588741E4D}"
    ],
    "childRequirements": [
        "{66D69490-42AD-A343-0F75-185A31AA08BA}",
        "{66D69490-42AD-A343-0F75-185A31AA08BA}",
        "{66D69490-42AD-A343-0F75-185A31AA08BA}"
    ],
    "implemented": [
        "{1590D5D7-2F2F-BF7F-3C3A-D9581874BF46}",
        "{1590D5D7-2F2F-BF7F-3C3A-D9581874BF46}",
        "{D443C558-D963-4B2A-D017-B97CF576CB3A}",
        "{1590D5D7-2F2F-BF7F-3C3A-D9581874BF46}"
    ],
    "prefix": "HCLS",
    "url": "http://www.test.de"
}

io: module.json


{
    "id": "{0BE7FA45-4866-1A55-2736-D0CAB9C70680}",
    "name": "HCLIO",
    "type": 1,
    "vendor": "Fibaro",
    "aliases": [],
    "parentRequirements": [],
    "childRequirements": [
        "{D443C558-D963-4B2A-D017-B97CF576CB3A}",
        "{D443C558-D963-4B2A-D017-B97CF576CB3A}"
    ],
    "implemented": [
        "{6DEAE164-60E6-BF7A-53B7-A24588741E4D}",
        "{6DEAE164-60E6-BF7A-53B7-A24588741E4D}"
    ],
    "prefix": "HCLI",
    "url": "http://www.test.de"
}

Meiner Meinung nach sollte es für splitter und io wie folgt aussehen:

splitter: module.json


{
    "id": "{518933FA-6D8A-2ADA-5774-8413A058EA2A}",
    "name": "HCLSPLIT",
    "type": 2,
    "vendor": "Fibaro",
    "aliases": [],
    "parentRequirements": [
        "{6DEAE164-60E6-BF7A-53B7-A24588741E4D}"
    ],
    "childRequirements": [
        "{66D69490-42AD-A343-0F75-185A31AA08BA}"
    ],
    "implemented": [
        "{D443C558-D963-4B2A-D017-B97CF576CB3A}",
        "{1590D5D7-2F2F-BF7F-3C3A-D9581874BF46}"
    ],
    "prefix": "HCLS",
    "url": "http://www.test.de"
}

io: module.json


{
    "id": "{0BE7FA45-4866-1A55-2736-D0CAB9C70680}",
    "name": "HCLIO",
    "type": 1,
    "vendor": "Fibaro",
    "aliases": [],
    "parentRequirements": [],
    "childRequirements": [
        "{D443C558-D963-4B2A-D017-B97CF576CB3A}"
    ],
    "implemented": [
        "{6DEAE164-60E6-BF7A-53B7-A24588741E4D}"
    ],
    "prefix": "HCLI",
    "url": "http://www.test.de"
}

Dies führt dann auch zur fehlerhaften ReceiveData-Funktion im Splitter und Send-Funktion im IO

splitter: module.php


$this->SendDataToChildren(json_encode(Array("DataID" => "{66D69490-42AD-A343-0F75-185A31AA08BA}","Buffer" => $data->Buffer)));

//$this->SendDataToChildren(json_encode(Array("DataID" => "{66D69490-42AD-A343-0F75-185A31AA08BA},{66D69490-42AD-A343-0F75-185A31AA08BA},{66D69490-42AD-A343-0F75-185A31AA08BA}", $data->Buffer)));


io: module.php


$this->SendDataToChildren(json_encode(Array("DataID" => "{D443C558-D963-4B2A-D017-B97CF576CB3A}", "Buffer" => $Text)));
		
//$this->SendDataToChildren(json_encode(Array("DataID" => "{D443C558-D963-4B2A-D017-B97CF576CB3A},{D443C558-D963-4B2A-D017-B97CF576CB3A}", "Buffer" => $Text)));


Weiterhin fehlt in den Funktionen Forwarddata und ReceiveData des Splitter im Array der Key „Buffer“

Vielleicht kann sich mal jemand vom Symcom-Team den Generator anschauen.

Liebe Grüße Detlev.

Wir haben dort letztens erst ein Update gemacht/einen Fehler korrigiert. Evtl. hat sich da ein neuer eingeschlichen. Wir prüfen das!

paresy

Wie paresy schon vermutet hat ist der Fehler ein Resultat des letzten Updates.
Da ich zur Zeit aber noch mit schulischen Aufgaben beschäftigt bin werde ich erst nächste Woche an einer Lösung arbeiten können.

Grüße

Till

Hi Till,

danke für die Info.
Aus meiner Sicht hat es keine Eile, meine Modulvorlage ist ja jetzt generiert :slight_smile:
Grüße Detlev