Splitter Modul, keine Übergeordnete Instanz auswählbar

Hallo,

ich habe eine Library angelegt mit zwei Modulen (Splitter und Configurator).

Dann lasse ich beim Configurator mit

$this->RequireParent ( "{037CA950-355B-4A35-94CF-C0E605187A39}" );

den Splitter generieren und mit

$this->RequireParent ( "{6DC3D946-0D31-450F-A8C6-C42DB8D7D4F1}" );

den Serial Port als IO für den Splitter. In der Konfigurationsseite vom Configurator kann ich nun auch den Splitter als Übergeordnete Instanz unten auswählen, aber im Splitter kann ich nicht das IO Device auswählen, der Menüpunkt ist nicht vorhanden. Ist das normal, oder mache ich da was falsch? Gegebenenfalls möchte der Nutzer ja einen anderen Serial Port wählen, oder sogar ein ClientSocket. Ich hab

{79827379-F36E-4ADA-8A95-5F8D1DC92FA9}

als parentRequirements für den Splitter eingetragen.

Danke!

Gruß Basti

Du musst auch die RX GUID in implemented in deinem Splitter eintragen.
Und hast du als Typ auch 2 (Splitter) angegeben?
Sonst zeigt bitte die jsons.
Michael

Oh du hast recht, das habe ich vergessen, jetzt wird die übergeordnete Instanz angezeigt.

module.json Splitter


{
	"id": "{037CA950-355B-4A35-94CF-C0E605187A39}",
	"name": "TestSplitter",
	"type": 2,
	"vendor": "",
	"aliases": [
		"Test Splitter"
	],
	"parentRequirements": [
		"{79827379-F36E-4ADA-8A95-5F8D1DC92FA9}"
	],
	"childRequirements": [
		"{873641D6-E914-427C-8170-8714AD6DE665}"
	],
	"implemented": [
		"{018EF6B5-AB94-40C6-AA53-46943E824ACF}",
		"{1D687CD4-17FE-4AD5-B3F7-F195AA9CC6B4}"
	],
	"prefix": "TESTSPLITTER"
}

module.json Configurator


{
	"id": "{B6398CD1-3A11-41B4-A12A-F0191A40BEDE}",
	"name": "TestConfigurator",
	"type": 4,
	"vendor": "",
	"aliases": [
		"Test Configurator"
	],
	"parentRequirements": [
		"{1D687CD4-17FE-4AD5-B3F7-F195AA9CC6B4}"
	],
	"childRequirements": [],
	"implemented": [
		"{873641D6-E914-427C-8170-8714AD6DE665}"
	],
	"prefix": "TESTCONFIGURATOR"
}

So sollte es jetzt passen, oder?

Vielen Dank!

Schau gut aus.
Michael

Danke!

Gruß Basti

Da habe ich gleich nochmal eine Frage passend zum Thema:

Gibt es die Möglichkeit, das mir der alias anstatt der name unten angezeigt wird. In der Doku steht zwar, dass man in der module.json unter name auch Leerzeichen verwenden kann, dann kommt aber ein Parse error.

Ich hätte gerne das unten Test Splitter drin steht anstatt TestSplitter.

Danke!

Gruß Basti

Name = Name der Klasse und wenn IPS eine Instanz automatisch anlegt (z.B. RequireParent).
Alias nur in der Konsole in der Auswahl der Instanzen beim anlegen.
Oder was meinst du mit ‚unten‘.
Michael

So wie es aussieht, verwendet er den alias beim Splitter garnicht, beim Configurator hingegen schon. Auch der Name der Insanz ist ohne Leerzeichen.

Kann ich denn ein Leerzeichen im namen verwenden? Ich kann ja im Klassennamen kein Leerzeichen verwenden.


"name": "DuoFern Gateway",

produziert mir einen Parse error. In der Doku steht: Der Name des Moduls. (A-Z, a-z, 0-9, Leerzeichen, Unterstrich sind erlaubte Zeichen)

Das dort Leerzeichen erlaubt sind, ist mir neu.
Fehler in der Doku?
Das mit dem Namen habe ich oben erklärt; du hast den Splitter ja nicht selbst in der Console angelegt, sondern IPS automatisch :wink:
Michael

Ah okay, und weil ich den Configurator manuell angelegt habe, ist dort das Leerzeichen drin, verstehe. Laut Doku sind Leerzeichen erlaubt und in den nativen Modulen sind auch Leerzeichen im Namen „Z-Wave Gateway“ zum Beispiel. Vielleicht kann parsey was dazu sagen.

Module — IP-Symcon :: Automatisierungssoftware

Gruß Basti