Frage: Ein-/Ausblenden von Variablen

Guten Abend zusammen,

nachdem ich kürzlich IPSView für mich entdeckt habe, bin ich nun gerade dabei, neue Views als Ersatz für die Symcon WebFronts zu erstellen.

Ein Problem habe ich, für das ich bisher noch keine Lösung gefunden habe:
im WebFront stelle ich dar, wenn ein Fenster beim Verlassen des Hauses noch offen ist. Indem ich alle Fensterstati (offen/geschlossen) unter einem Dummy Modul im WebFront zusammengefasst habe und alle Variablen mit „IPS_SetHidden“ versteckt habe, setze ich nur den Status eines Fensters auf „sichtbar“, wenn dieses auch den Status „offen“ hat. So zeige ich platzsparend auf einem kleinen Display im Flur an, welches Fenster noch zu schliessen ist.

Eine solche Funktion habe ich bei IPSView noch nicht gefunden. Ich hatte vor, dies duch PopUps für jedes Geschoss zu realisieren, die ich ferngesteuert hochhole. Leider sind mir das in dem PopUp immer noch zu viele Informationen. Am liebsten wäre mir, stünden in dem/den PopUp(s) nur die Fenster, die tatsächlich noch offen sind.

Wie kann ich dies am geschicktesten realisieren?

Bin, wie immer, für jeden Hinweis dankbar.

Gruss aus EU,

Jörg

Hallo Jörg,

ich mache sowas mit Beleuchtung über Scipte.
Im View steht wieviel Lichter An sind und im Welchem Zimmer.
Kannst auch für Fenstern Benutzen.

Bsp.

Anzahl Geöffnete Fenster:


<?

$BoolVariablen = array (13797,24419,44200,24760 ,12032,27089,46040,36092,16020,21613);  //ID's der Boolvariablen
$Zaehler = 0;

foreach ($BoolVariablen as $ID){
  if (GetValue($ID)) $Zaehler++; //wenn true eins hochzählen
}

SetValue(54443, $Zaehler); //Integer Variable

?>

Welche Fenster sind Offen:


<?php
 
$fenster = [
    13797 => 'Küche',
    44200 => 'Flur',
    24760 => 'Badezimmer',
    12032 => 'Spielzimmer',
    46040 => 'Dachboden',
    36092 => 'Balkon Licht',
    27089 => 'Wohnzimmer',
    21613 => 'RGB Vitrine',
    24419 => 'Schlafzimmer'];

$ausgabe = "Fenster Offen: ";

$fensterOffen = false;

foreach ($fenster as $id => $name) {
    if (GetValue($id)) {
        $ausgabe      .= $name . ' , ';
        $fensterOffen = true;
    }
}

if ($fensterOffen) {
    SetValue(38645, substr($ausgabe, 0, -2)); //String Variable
} else {
    SetValue(38645, 'alle Fenster Geschlossen');
}


Die Überwachten Variablen müssen Verlinkt werden.

Gruß