Kategorien unter Instanzen anlegen

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

Ja, der Tipp ist: Keine Kategorien unterhalb Instanzen anlegen!
Das kann die Visualisierung nicht darstellen.
Theoretisch kannst du eine Dummy Instanz benutzen, musst aber dann selber die Variable ermitteln und mit SetValue beschreiben. Die $this->SetValue funktioniert nur direkt unter deiner Instanz.
Aber auch das würde ich nicht so umsetzen!
Entweder alle Variablen direkt unter deiner Instanz anlegen und der User kann dann mit Links sich selber eine sinnvolle Gruppierungen erstellen.
Oder mehrere Instanzen mit jeweils einer Gruppe von Variablen, anstatt eine Instanz mit allen.
Letztes wäre der beste Weg.
Michael

Und wenn es dringend Unterebenen sein müssen, kannst du eher Popup-Module (Instanzen) verwenden. Diese können WebFront und App darstellen.

paresy