Boolean Variablen zusammenlegen.

Hallo Leute,

ich habe hier folgende Situation.
Ich überwache meine Fenster mit Fensterkontakten über KNX.
Die Fensterkontakte werden für jedes Fenster einzeln angezeigt.

Jetzt würde ich die Kontakte gerne in eine Variable zusammenlegen.
D.h. sobald ein Fenster geöffnet ist, springt die genannte Variable auf false. Sind alle Fenster zu, ist die Variable True.
Sozusagen. EG-Gesamt -> Offen/zu.

Der Hintergrund ist, Ich möchte diesen Status dann bei änderung auf den BUS senden, damit ich an meinem Bedienfeld sehen kann ob im EG oder OG noch Fenster geöffnet sind sobald ich das Haus verlasse.

Ich habe schon mal mit dem Skript angefangen.
Jedoch weiß ich nicht wie ich das anstelle dass das Skript automatisch ausgeführt wird, sobald sich eine Variable ändert.
Muss ich dazu für jeden Kontakt ein Ereignis erstellen welches dann bei Änderung das Skript ausführt oder gibt es noch eine elegantere Lösung?

Im Anhang das Skript.

Ich hoffe das richtige Unterforum erwischt zu haben :slight_smile:

<?
$Kontakt_Kueche = GetValueBoolean (22402);
$Kontakt_Terrasse = GetValueBoolean (20961);
$Kontakt_Wohnzimmer = GetValueBoolean (27946);
$Kontakt_WC = GetValueBoolean (38241);
$Kontakt_Durchgang = GetValueBoolean (10948);
$Kontakt_Garage = GetValueBoolean (22492);

if(($Kontakt_Kueche == true) and ($Kontakt_Terrasse == true) and ($Kontakt_Wohnzimmer == true) and ($Kontakt_WC == true) and ($Kontakt_Durchgang == true) and ($Kontakt_Garage == true))
{SetValueBoolean (17451, true);
}
else
{SetValueBoolean (17451, false);
}

?>

Schau Mal hier:
Alle Links zu einer Variablen finden - Seite 2
Oder hier:

Michael

Wie Michael schon gezeigt hast gibt es beliebig komplexe Lösungen.

Aber auch dein Ansatz funktioniert super. Du musst lediglich wie du schon vermutet hast noch die einzelnen Events hinzufügen.

Gruß

Burkhard

Hi zusammen,

ahh, Michael war mal wieder schneller :smiley:

ich hatte da mal auch so eine Frage gestellt, siehe hier => Zusandsgruppen bilden für einzelne Gewerke

Die Lösung beruht dann auf dem genialen Ansatz von Michael (siehe oben)!

Viel Spaß
Heiko

Hallo Leute,
vielen Dank für eure schnellen Antworten.

Leider habe ich jetzt mit der Umsetzung doch einige Zeit gebraucht.

Anfänger :banghead:

Habe nun noch etwas weiter gesucht und bin auf das hier gestoßen:

Fensterstatus abfragen und in String schachteln

Hat mir dann persönlich am besten gefallen.

Viele Grüße,
Andi