Hallo zusammen,
ich weiß es wurde schon hundert mal behandelt, aber ich stehe hier leider total auf dem Schlauch, für etwas (aus meiner Sicht) eigentlich einfachem .
Und zwar will ich mir ein Modul machen, welches einmal meine Baumstruktur durchläuft und alle Geräte IDs in eine Liste innerhalb des Moduls einträgt. Im Anschluss will ich die Geräte klassifizieren (z.B. Raum, Typ, Hersteller etc.).
Jetzt scheitere ich hier schon an einem ersten Versuch, mit dem ich einfach nur die Liste sichtbar befüllen will.
Und zwar habe ich die Liste mit der Form erstellt:
{
„elements“:
[
{
"type": "List",
"name": "Devices",
"caption": "Devices",
"rowCount": 5,
"add": true,
"delete": true,
"sort": {
"column": "Room",
"direction": "ascending"
},
"columns": [ {
"caption": "Room",
"name": "Room",
"width": "75px",
"add": "",
"edit": { "type": "ValidationTextBox", "name": "Room", "caption": "Room" }
}
]
}
],
"actions":
[
],
"status":
[
{ "code": 102, "icon": "active", "caption": "information valid" },
{ "code": 201, "icon": "error", "caption": "information invalid" }
]
}
In der PHP habe ich für den Start erst einmal nur folgendes versucht:
class ClassificationModule extends IPSModule {
public function Create()
{
//Never delete this line!
parent::Create();
$this->RegisterPropertyString("Devices","[]");
}
public function ApplyChanges() {
parent::ApplyChanges();
}
public function AddList($listname, $listproperty, $value){
$this->UpdateFormField($listname, $listproperty, json_encode($value));
$this->ApplyChanges();
}
Nun versuche ich von einem externen Skript aus, die Liste zu befüllen.
$arrString = json_decode(IPS_GetConfigurationForm(16966));
$arrString->elements[0]->values = Array(
"Room" => "test"
);
Classification_AddList(16966,„Devices“,„value“,$arrString);
Jedoch klappt dies nicht beziehungsweise wird es mir innerhalb der Modulinstanz nicht angezeigt. Ich denke ich habe hier einfach einen einfachen Denkfehler, dass ich irgendwie Properties, Configuration oder sonstiges in den Befehlen verwechsel.
Wo liegt denn mein Fehler, dass ich nicht einfach der Liste Werte per Skript zufügen kann und diese auch in der Modulinstanz direkt sichtbar sind?
Schöne Grüße
Stefan