Hallo und willkommen bei Gladys!
Deine beiden Probleme haben eine Erklärung. Ich nehme sie der Reihe nach.
1. Abruptes Ausschalten
Die Aktion „Lichter ausschalten“ von Gladys sendet einfach {"state": "OFF"} an zigbee2mqtt/<deine lampe>/set. Es ist Zigbee2MQTT, das den Übergang anwendet oder nicht. Grundsätzlich, wenn die Option transition am Gerät eingestellt ist, wandelt Z2M dieses OFF in einen allmählichen Abstieg auf 0 um und schaltet dann aus.
Um zu sehen, wo es hakt, schalte die Lampe direkt über die Z2M-Schnittstelle aus. Wenn es auch sofort passiert, ist Gladys nicht schuld: Es liegt zwischen Z2M und der Lampe. Überprüfe dann, ob der Übergangszeitwert (in Sekunden) tatsächlich gespeichert wurde.
In jedem Fall ist es am zuverlässigsten, den Übergang direkt in der Nachricht anzufordern: Er geht dann vor der Geräteeinstellung. In deiner Szene ersetze „Lichter ausschalten“ durch die Aktion „Zigbee2mqtt-Nachricht senden“:
- Topic:
zigbee2mqtt/NOM_DE_TON_AMPOULE/set (der Name, wie er in Z2M erscheint, inklusive Präfix zigbee2mqtt/)
- Nachricht:
{"state": "OFF", "transition": 3} (3 Sekunden Fade-out)
Es wird eine Aktion pro Lampe benötigt. Wenn deine GU10 in einer Z2M-Gruppe sind, reicht eine einzige Nachricht an zigbee2mqtt/NOM_DU_GROUPE/set, und sie schalten genau gleichzeitig aus. Der gleiche Trick funktioniert für das Dimmen, z. B. {"brightness_percent": 20, "transition": 2}.
2. Die Verzögerung startet nicht von vorne
Die Szene setzt nicht dort fort, wo sie aufgehört hat. Jede Bewegung startet eine neue Ausführung der Szene, parallel zu der, die bereits läuft, und Gladys bricht die vorherige nicht ab.
Ich nehme an, deine Szene sieht so aus: „Bewegung → einschalten → 2 Minuten warten → dimmen → 30 Sekunden warten → ausschalten“. Wenn du dich während der gedimmten Phase bewegst, schaltet die neue Ausführung das Licht wieder voll ein. Aber die alte ist immer noch in ihrer „30 Sekunden warten“-Phase und schaltet am Ende aus. Außerdem wird die neue Ausführung 2 Minuten später die Helligkeit dimmen, was die Lampen wieder auf schwache Helligkeit einschalten könnte: Das Einstellen einer Helligkeit schaltet eine Z2M-Lampe ein.
Die Lösung besteht darin, nicht mehr mit „Warten“ die Zeit zu zählen und den Auslöser das tun zu lassen. Der Auslöser „Gerätezustandsänderung“ hat eine Option dafür: „Szene ausführen, nachdem die Bedingung für: gültig war“. Der Timer wird zurückgesetzt, sobald der Sensor wieder auf „Bewegung erkannt“ schaltet, und startet bei der nächsten „Keine Bewegung“ neu.
Man muss also in 3 kleine Szenen aufteilen:
Szene A – Flur: Einschalten
- Auslöser: „Gerätezustandsänderung“ → Flur-Detektor = Bewegung erkannt
- Aktionen: deine Tag/Nacht-Logik. Zum Beispiel eine Bedingung „Wenn… Dann… Sonst…“, die eine „Zeitbedingung“ enthält: Dann starke Helligkeit, sonst schwache Helligkeit.
Szene B – Flur: Dimmen
- Auslöser: Flur-Detektor = Keine Bewegung, mit der Option „Szene ausführen, nachdem die Bedingung für: 2 Minuten gültig war“
- Aktion: Helligkeit dimmen
Szene C – Flur: Ausschalten
- Auslöser: Flur-Detektor = Keine Bewegung für 150 Sekunden (2 min + 30 s, da beide Timer gleichzeitig starten)
- Aktion: die Zigbee2mqtt-Nachricht
{"state": "OFF", "transition": 3} wie oben gesehen
Ergebnis: Wenn du dich während der gedimmten Phase bewegst, setzt Szene A das Licht wieder auf volle Helligkeit und die Timer von B und C werden zurückgesetzt. Wenn du stehen bleibst, starten sie neu: 2 Minuten volle Helligkeit, dann 30 Sekunden gedimmt, dann Fade-out-Ausschalten.
Zwei Tipps:
- In B und C aktiviere auch „Nur ausführen, wenn der Schwellenwert überschritten wird“. Der Timer startet dann erst beim Übergang von „Bewegung erkannt“ zu „Keine Bewegung“. Wenn der Sensor später „Keine Bewegung“ zurücksendet, wird das Dimmen nicht neu gestartet, und deine Lampen werden nicht auf schwache Helligkeit eingeschaltet.
- Der Timer startet nur, wenn der Detektor „Keine Bewegung“ sendet, und jeder Detektor wartet eine bestimmte Zeit, bevor er dies tut. Bei einigen Modellen lässt sich diese Zeit in Z2M einstellen (Option
occupancy_timeout). Die tatsächliche Verzögerung ist also diese Zeit plus deinen 2 Minuten: Passe sie entsprechend an.
Die Dauer in Sekunden im Auslöser und in der Zigbee2mqtt-Aktion sind in der aktuellen Version von Gladys (5.1.3) verfügbar: Denke daran, bei Bedarf zu aktualisieren.
Halte uns auf dem Laufenden!