Syntax für IPS_SetProperty bei FS20EX

Hallo Zusammen,

ich versuche gerade für den Umzug meiner diversen Geräte vom Win-Server auf eine neue IP-Symcon-Installation die Devices automatisiert neu anzulegen.
Bei den meisten Instanzen habe ich es geschafft, lediglich bei FS20EX habe ich ein kleines Problem mit der Syntax von IPS_SetProperty. Ich möchte also meine FS20-Geräte mit ihrer jeweligen Adresse eintragen:

IPS_SetProperty($id,„DeviceList“, ??? ) Die Doku zeigt dazu nur ein paar eckige Klammern: []

Hat jemand einen kleinen, korrekten Code-Schnipsel der funktioniert? Im Forum habe ich leider nur die Variante für einen Parameter gefunden:

IPS_SetProperty($id, „HomeCode“, 12341111) und danach den IPS_ApplyChanges($id); - das funktioniert.

Danke.

Viele Grüße aus dem Unterallgäu
Harry

Der beste Trick, der immer anwendbar ist:

a) Erstelle mal eine Instanz per Hand
b) var_dump(IPS_GetProperty($id, „NameDerProperty“));

Dort müsste in deinem Fall dann ein JSON String drin sein, welcher die Einzeladressen enthält.

paresy

Hallo paresy,

danke für die schnelle Antwort, das wäre ja zu einfach :confused:

Ein var_dump(IPS_GetProperty(57044, „DeviceList“)); liefert

string(106) „[{„Address“:„33“,„SubAddress“:„11“},{„Address“:„33“,„SubAddress“:„12“},{„Address“:„33“,„SubAddress“:„13“}]“.

Aber was davon gehört tatsächlich in IPS_SetProperty($id2, ‚DeviceList‘, ???); an die Stelle der ???

Er liefert mir immer wieder Syntaxfehler: entweder { oder [ usw. - sorry, ich bin heute wohl zu blöd dafür. :rolleyes:

[ol]
[li]IPS_SetProperty($id2, ‚DeviceList‘, ‚[{„Address“:„33“,„SubAddress“:„11“},{„Address“:„33“,„SubAddress“:„12“},{„Address“:„33“,„SubAddress“:„13“}]‘);
[/li][li]IPS_SetProperty($id2, ‚DeviceList‘, [{„Address“:„33“,„SubAddress“:„11“},{„Address“:„33“,„SubAddress“:„12“},{„Address“:„33“,„SubAddress“:„13“}]);
[/li][li]IPS_SetProperty($id2, ‚DeviceList‘, {„Address“:„33“,„SubAddress“:„11“},{„Address“:„33“,„SubAddress“:„12“},{„Address“:„33“,„SubAddress“:„13“});
[/li][li]IPS_SetProperty($id2, ‚DeviceList‘, ‚{„Address“:„33“,„SubAddress“:„11“},{„Address“:„33“,„SubAddress“:„12“},{„Address“:„33“,„SubAddress“:„13“}‘);
[/li][/ol]

Was wäre richtig? Durch Ausprobieren krieg ich es einfach nicht hin. Doch eigentlich ein Array anstelle der ???

Bitte noch einen kleinen Tipp.

Gruß und Danke
Harry

Das scheint die korrekte Syntax zu sein:

IPS_SetProperty($id, 'DeviceList', '[{"Address":"33","SubAddress":"11"},{"Address":"33","SubAddress":"12"},{"Address":"33","SubAddress":"13"}]');

also IPS_SetProperty($id, ‚DeviceList‘, ‚[JSON-String]‘);

Danke fürs Anschieben. Vielleicht in der Doku eine kleine Ergänzung? :rolleyes:

Viele Grüße aus dem Unterallgäu
Harry