[Modul] Aktivliste

Moin,
du weißt schon, dass ich nicht wirklich fit in PHP bin … :rofl:
Ein IPS_GetChildrenIDs($id) liefert mir ein Array von allen in der Liste eingetragenen Geräten und Skripten. Ich brauche aber nur die aktiven, also die die nicht auf ‚hidden‘ stehen. Das kriege ich nicht hin …

Ein IPS_GetName liefert mir dann auch die Namen der Links in der Liste - daraus würde ich dann wohl auch eine TTS-Ansage „zusammenbauen“ können.

Grüße, Uwe

$ansage="Folgende Fenster sind offen: ";
$arr = IPS_GetChildrenIDs($id);
foreach($arr as $cid){
    $oi = IPS_GetObject($cid);
    if(!$oi['ObjectIsHidden']){
      $ansage.=$oi['ObjectName'].", ";
    }
}
1 „Gefällt mir“

Danke, Tobias
Ich hatte ja geahnt, dass Hidden irgendwie abgefragt werden kann. Hab’s nur nicht gefunden.
Hier bekomme ich jetzt als Ausgabe:
Folgende Fenster sind offen: Unnamed Object (ID: 26991), Unnamed Object (ID: 32242),
Das sind die Namen der Links in der Liste - wenn ich da ein IPS_GetName drauf geben würde, hätte ich auch den „richtigen“ Namen. Alternativ könnte man auch den Namen der [ObjectID] aus dem array anfragen - kann man? Ich kann’s nicht … :thinking:

LG, Uwe

Innerhalb der Schleife wird der Name hinzugefügt, aktuell der Objektname (der keinen Namen hat) mit

$ansage.=$oi['ObjectName'].", ";

Das jetzt ersetzen durch

$ansage.=IPS_GetName($cid).", ";

Vielleicht sollten wir mal einen Crashkurs Programmieren machen? Diese Änderung hätte ich dir jetzt schon zugetraut.

Machen wir doch gerade … :rofl:
Probieren (und das getippte verstehen) kann ich gut (ähnliches hatte ich vor meinem Post auch schon versucht) - deine Änderung liefert mir aber jetzt aber für den Link auch wieder nur:
Folgende Fenster sind offen: Unnamed Object (ID: 32242),

Lass uns mal weiter kursen - mein PHP-Latein ist da am Anschlag (aber ich weiß schon „geht nicht gibt es nicht“).
Im ObjectIdent steht schon die richtige ID - aber wie „extrahiere“ ich die?

Ich war schon verwundert, dass du behauptet hast mit IPS_GetName findet man den Namen.

$ansage.=IPS_GetName(IPS_GetLink($cid)['TargetID'])  .", ";

Jetzt habe ich’s (auch verstanden) - diesen Kursusteil kannst du abhaken. Dicken Dank Tobias - schieb die Verwunderung mal einfach auf mein Alter (und/oder auf meine „Grundausbildung“) :rofl:

‚Keine Fenster offen‘ (= keine Ansage) generiere ich jetzt einfach über das LogikGatter-Modul - das in Kombination mit der Aktivliste macht mir so oder so viel bessere Meldungen (und Anzeigen) möglich als jede LCN-Summe das (in IPS) könnte.

LG, Uwe

Hallo ! ich habe zwei Aktivlisten erstellt: eine mit 20 Lichtvariablen aus der ETS und eine mit ähnlich viel eigen erstellen Variablen Boolean (in denen ich kipp und auf/zu von Fenstern aus der ETS zusammenführe).
Die Aktivliste mit Licht funktiuoniert wunderbar, die andere gar nicht. Ich kann die geänderten Schaltzustände im Objektbaum sehen - sie werden aber nicht in die Aktivliste übernommen.
Auch der Test mit verschiedenen Profilen bringt mich nicht weiter.
Irgendwie bin ich ratlos - hat jemand noch einen Tipp?

Für Fensterkontakte nutze ich nicht die Aktivliste sondern das LogikGatter.

Magst du mal ein paar mehr Screenshots zur Konfiguration geben. Aktuell kann ich noch nicht vorstellen, wo der Fehler sein könnte.

paresy

Gerne:




Viele Grüße Bernd

Moin Bernd,
ein typischer Fensterkontakt meldet bei geschlossenem Fenster „ein“ - ausschalten macht da keinen Sinn, bzw. geht gar nicht. Die Aktivliste zeigt ‚nur‘ eingeschaltete Verbraucher, das LogikGatter kann auch offene Fenster anzeigen.

Grüße, Uwe

deswegen haben ich mir ja Boolean Variablen erstellt:


damit sollte es laut Beschreibung funktionieren…

Vielleicht das Profil der Variablen anpassen?
~Window oder ~Window.Reversed?

Michael

Hallo - das hatte ich auch schon probiert - aber ‚false‘ bei geschlossenen Fenster ist doch richtig.
Ich wil ja die mit ‚true‘ angezeigt bekommen

Bernd

Ja aber die sind doch alle false bei dir… somit ist doch korrekt das nix angezeigt wird.
Bei mir klappt das

sonst nimm das hier:

Michael

…es sind ja auch Fenster zu - wenn ich eines öffne und der Wert auf true geht tut sich nichts in der Aktivliste.
Das andere Modul klingt auch interessant (für anderes) aber meine Fenster hätte ich geren wie mein Licht ind er Aktivliste…

Bernd

Zeig mal ein Screenshot von der Aktivliste im Objektbaum.


Unterschiedliche Werte weil ich mit anderen Profilen gestestet habe ob es etwas bringt…

Bernd

Mach mal die Kachel groß… die Aktivliste funktioniert, nur die Anzeige in der Kachelvisu ist nicht aktiviert…