Hallo,
ich habe in dem Modul das ich gerade schreibe ein paar mehr Variablen unterhalb der Geräteinstanz angelegt.
Um dieses übersichtlicher zu gestallten möchte ich nun unterhalb der Instanz ein paar Kategorien anlegen.
Das habe ich erfolgreich unter
public function Create()
mit
// Status
$CatID_Status = IPS_CreateCategory();
IPS_SetName($CatID_Status, "Status");
IPS_SetIdent($CatID_Status, "Ident_Status_Categorie");
IPS_SetParent($CatID_Status, $this->InstanceID);
...
$variablenID= $this->RegisterVariableInteger("Ident_Status", "Status");
IPS_SetParent($variablenID, $CatID_Status);
getan.
Im Objektbaum sind diese Kategorien nun auch unterhalb der Geräteinstanz sichtbar.
Das Modul liest nun zyklisch Daten von einem Gerät aus und schreibt diese in einer weiteren Funktion in die Variablen:
$this->SetValue('Ident_Status', $decode_r["status"]);
Das funktioniert allerdings nur wenn die Variable direkt unter der Geräteinstanz aufgehängt ist. Sobald sie unter die weitere Kategorie verschoben wird, scheint das „SetValue“ nicht mehr zu funktionieren.
Hat jemand einen Tipp für mich?
Ich vermute ja, dass beim „SetValue“ das $this nicht mehr ausreicht und SetValue den Ident nur auf der Ebene der Geräteinstanz aber nicht mehr in der untergeordneten Kategorie sucht. Weiss aber leider nicht wie.
VG
Sönke