Nachdem ich über einen längeren Zeitraum für mein Projekt eine "herkömmliche" Szenensteuerung vorgesehen und auch schon im GPA visualisiert hatte, habe ich das nun etwas umgearbeitet:
Basis:
Die Umsetzung:
aktualsierter Screenshot auf Basis Anpassung Blatt 1:
Screenshot (895).png
Bei Auslösung eines "Schalters"/Szene werden alle anderen Schalter ausgeschaltet. Über die Formelberechnung wird die Gruppenadresse für die aktive Szene gesetzt.
Formel 1 für die jeweilige Szene: ({Aus:B} & _isAusValueSet_) ? 1 : (int?)null
Formel 2.....x symbolisch: ({Standby:B} & _isStandbyValueSet_) ? 2 : (int?)null
Screenshot (876).png Screenshot (877).png Screenshot (878).png Screenshot (879).png
Die aktive Szene ist nun gesetzt / "eingeschaltet" und wird über ein weiteres Logikblatt verarbeitet:
Screenshot (880).png
Screenshot (881).png Screenshot (882).png Screenshot (883).png Screenshot (884).png Screenshot (885).png
Formel 1-10 sichtbar,
Formel 11: {Scharfschaltung1} & !_previousOut1_ ? (double?){SzeneAus} : ( !{Scharfschaltung1} & _previousOut1_ ? (double?){SzeneAn} : null )
Formel 12: !{Scharfschaltung1} & ( {SzeneAktiv} != {SzeneAus} ) & ( {Studio} | {Büro} | {Flur} | {Nebenraum} ) ? (double?){SzeneAktiv} : ( !{Scharfschaltung1} & !{Studio} & !{Büro} & !{Flur} & !{Nebenraum} ? (double?){SzeneStandby} : ( {Scharfschaltung1} & ( {SzeneAktiv} == {SzeneAus} ) ? (double?){SzeneAus} : null ) )
Formel 13 bis 16 (da ändert sich nur die Variable für den Raum: !{Scharfschaltung1} & ( {SzeneAktiv} != {SzeneAus} ) & {Studio} ? (double?){SzeneAktiv} : ( !{Scharfschaltung1} & !{Studio} ? (double?){SzeneStandby} : ( {Scharfschaltung1} & ( {SzeneAktiv} == {SzeneAus} ) ? (double?){SzeneAus} : null ) )
Verwendete Gruppenadressen:
Aufbau der Szenen:
Screenshot (890).png Screenshot (891).png
Viellleicht kann dieser Ansatz dem einen oder anderen User bei einer ähnlichen Umsetzung helfen.
Gruss und schönen Sonntag
Basis:
- Nutzung der X1-Logiken und Szenenfunktionen
- 4 Räume/Bereiche in einer gewerblichen Mieteinheit / Fotostudio
- alle Funktionen werden standardmässig über PM und Szenen gesteuert. Eine manuelle Steuerung aller Einzelfunktionen ist bewusst nicht vorgesehen -> eher wird eine neue Szene ergänzt bzw. angepasst.
- Steuerung von ca. 4 bis 6 Szenen mit "Schalter" und Rückmeldung der aktiven Szene (dadurch Einsparen einer Kachel "Statusanzeige Text")
- Automatische Aktivierung bzw. Abhängigkeit bestimmter Szenen durch GA-Gruppenadressen (z.B. Präsenzmelder, Sensoren)
Die Umsetzung:
- 2 Logikblätter:
- 1x Definition der aktiven Szene mit Kachel "Schalter" (in meinem Fall über interne "Variablen-Datenpunkte" gelöst, bei dem Wunsch nach Auslösung über normale Tastsensoren sollte man je Szene 2 GA's dafür anlegen (1x E/A und 1x RM) und diese in der ETS mit dafür freigeschalteten Binär-Adressen verbinden)
- 1x "Abhören" welcher Raum gerade welche Szene benötigt und diese Szene auslösen. Alle Szenengruppen sind identisch angelegt und haben sowohl eine "Aus", eine "Standby" und die normalen Szenen. In meinem Fall gibt es auch noch die Szenengruppe "Zentral". Bei Präsenz im Raum wird die über die Schalter ausgewählte Szene ausgelöst/aktiviert. Bei Nichtpräsenz wird in die Szene "Standby" in dem Raum gewechselt.
- Zusätzlich wird beim Aktivieren bzw. Deaktivieren der Scharfschaltung der EMA noch eine vordefinierte Szene aufgerufen bzw. die Ausgänge deaktiviert.
- Bei deaktivierter Scharfschaltung senden alle Haupt-Präsenzmelder ein EIN und AUS auf die für die Steuerung definierten GA's
- ohne die Formelberechnung von hyman hätte ich das nicht zum Laufen bekommen (mal wieder ein Danke an Dich und Deine Bausteine), finde den Ansatz mit den Logikblättern zwar grundsätzlich suboptimal aber es gibt in meinen Augen aktuell keine andere Alternative.
- Es funktioniert in dieser 1. Version genau so, wie es soll und erlaubt das Umschalten zwischen den Szenen und eine simple Bedienung. Es wird noch weitere Optimierung geben oder Euch fallen Verbesserungen ein, dann setze ich das um und dokumentiere es hier ebenfalls.
aktualsierter Screenshot auf Basis Anpassung Blatt 1:
Screenshot (895).png
Bei Auslösung eines "Schalters"/Szene werden alle anderen Schalter ausgeschaltet. Über die Formelberechnung wird die Gruppenadresse für die aktive Szene gesetzt.
Formel 1 für die jeweilige Szene: ({Aus:B} & _isAusValueSet_) ? 1 : (int?)null
Formel 2.....x symbolisch: ({Standby:B} & _isStandbyValueSet_) ? 2 : (int?)null
Screenshot (876).png Screenshot (877).png Screenshot (878).png Screenshot (879).png
Die aktive Szene ist nun gesetzt / "eingeschaltet" und wird über ein weiteres Logikblatt verarbeitet:
Screenshot (880).png
Screenshot (881).png Screenshot (882).png Screenshot (883).png Screenshot (884).png Screenshot (885).png
Formel 1-10 sichtbar,
Formel 11: {Scharfschaltung1} & !_previousOut1_ ? (double?){SzeneAus} : ( !{Scharfschaltung1} & _previousOut1_ ? (double?){SzeneAn} : null )
Formel 12: !{Scharfschaltung1} & ( {SzeneAktiv} != {SzeneAus} ) & ( {Studio} | {Büro} | {Flur} | {Nebenraum} ) ? (double?){SzeneAktiv} : ( !{Scharfschaltung1} & !{Studio} & !{Büro} & !{Flur} & !{Nebenraum} ? (double?){SzeneStandby} : ( {Scharfschaltung1} & ( {SzeneAktiv} == {SzeneAus} ) ? (double?){SzeneAus} : null ) )
Formel 13 bis 16 (da ändert sich nur die Variable für den Raum: !{Scharfschaltung1} & ( {SzeneAktiv} != {SzeneAus} ) & {Studio} ? (double?){SzeneAktiv} : ( !{Scharfschaltung1} & !{Studio} ? (double?){SzeneStandby} : ( {Scharfschaltung1} & ( {SzeneAktiv} == {SzeneAus} ) ? (double?){SzeneAus} : null ) )
Verwendete Gruppenadressen:
- Verbunden mit X1-Datenpunkten in der ETS (aktive Szenennummer)
- Verbunden mit X1-Datenpunkten in der ETS (Auslöser für die Räume)
- Variablen Datenpunkte im X1-Datenpunkten (Schalter / Auslöser für die aktive Szene)
Aufbau der Szenen:
Screenshot (890).png Screenshot (891).png
Viellleicht kann dieser Ansatz dem einen oder anderen User bei einer ähnlichen Umsetzung helfen.
Gruss und schönen Sonntag
Kommentar