Volkmar,
wie Du in Prosa schreibst:
[zitat]Der Taster soll also das Licht dann ausschalten, wenn die damit verbundene Lichtszene aktiv ist. Ist eine andere Lichtszene aktiv, dann soll er die ihm zugedacht Lichtszene aktivieren![/zitat]
Also darf ein Taster nur ausschalten, wenn er (bzw. seine Lichtszene) zuletzt aktiv war.
Irgendwo muss man sich also dieses "ich war zuletzt aktiv" speichern - ob das virtuelle Relais sind oder Lämpchen oder TVar und Schwellwerte (oder event. sogar Lichtszenenregister?) (oder dyn. Gruppen?) (oder sogar in IPS), ist ein Entscheidungs- und Resourcenfrage.
Irgendwo müssen die Speicherbits halt sitzen, die sich das merken.
Ich skizziere hier mal einen Ansatz mit "gesperrten Tasten" als Speicherbits:
Code: Alles auswählen
# Taste B5 ist entsperrt, wenn Lichtszene 1 aktiv ist
A1 Kurz: (1) Sende Tasten 1---5--- B=Kurz
B1 Kurz: (1) Lichtszene 1 abrufen (2) Sperre Tasten B 10-- 01-- # entsperre für das nächste Mal A1 kurz
B5 Kurz: (1) Licht aus (2) Sperre Tasten B 00-- 11-- # sperre alle "Licht Aus" Tasten fürs nächste Mal
# Taste B6 ist entsperrt, wenn Lichtszene 2 aktiv ist
A2 Kurz: (1) Sende Tasten -2---6-- B=Kurz
B2 Kurz: (1) Lichtszene 2 abrufen (2) Sperre Tasten B 01-- 10-- # entsperre für das nächste Mal A2 kurz
B6 Kurz: (1) Licht aus (2) Sperre Tasten B 00-- 11-- # sperre alle "Licht Aus" Tasten fürs nächste Mal
[hr]
Und hier das gleiche, wenn man statt 2 jetzt 4 Lichtszenen so nutzen möchte.
Code: Alles auswählen
# Genau eine der Tasten B5-B8 ist entsperrt, wenn die passende Lichtszene 1-4 gerade aktiv ist
A1 Kurz: (1) Sende Tasten 1---5--- B=Kurz
B1 Kurz: (1) Lichtszene 1 abrufen (2) Sperre Tasten B 1000 0111
B5 Kurz: (1) Licht aus (2) Sperre Tasten B 0000 1111
A2 Kurz: (1) Sende Tasten -2---6-- B=Kurz
B2 Kurz: (1) Lichtszene 2 abrufen (2) Sperre Tasten B 0100 1011
B6 Kurz: (1) Licht aus (2) Sperre Tasten B 0000 1111
usw.
so ist es nicht gerade Resourcensparend - aber es sollte gehen (habe es aber nicht getestet!).
Wenn man sehr gut auf das Timing achtet, kann man vielleicht auch auf die Tasten Sperren für B1 bis B4 verzichten und sich nur die "Licht Aus" Entsperrung/Freigabe für die jeweilige Szene (B5 bis B8) merken.
Es schadet ja auch nicht wenn z.B: Lichtszene 1 aktiv ist und der Taster A1 gedrückt wird, dass die Lichtszene 1 noch mal kurz aktiviert wird, solange anschliessend sofort das "Licht Aus" Kommando kommt, weil LCN sich gemerkt hatte, das "Lichtszene 1" ja schon aktiv war.
[hr]
BTW - die neuen Module sollen ja Relaiszustände als "Lichtszene" abspeichern und abrufen können. Somit müsste man 8 Relais-Bits in 100 Lichtszenen zur Verfügungen haben: das macht also theoretisch 800 zusätzliche Bits pro Modul (!)
Da müsste man sich in einem Relais X doch merken können, ob diese Szene n schon zuletzt aufgerufen war:
- Wenn ja, dann "Licht Aus" und vermerken, dass keine Szene aktiv ist.
- Wenn nein, dann die Szene n aufrufen und nur für diese Szene das Relais X entsprechend setzen.
Gruß, Martin - der manchmal an Lösungen denkt, die am besten mit zukünftigen Modulen zu lösen sind

- Editiert von MartinH am 17.10.2008, 23:58 -