Scene Cycler

Logic Node for Gira X1 — v4.5.1 — by w00rks UAB

Scene Cycler replaces complex multi-node scene logic with a single configurable node. It handles scene cycling via button press, direct scene activation via timed triggers, auto-off on timer expiry, LED status mapping, and per-scene active status tracking. Supports lighting scenes, climate modes, and any multi-state KNX actuator control.

Parameters

NameTypeDefaultDescription
Number of ScenesInteger (1–8)4 How many scene slots the node manages. Controls the number of Dynamic Scene/LED inputs and Scene Active outputs.
Off Scene ValueInteger (0–255)5 The 8-bit value sent to the actuator when the node is in the "off" state. Must differ from all scene values.
Enable On/Off GateBooleanTrue When enabled, the On/Off input controls the node: it can block cycling (when false) and turn the scene off. When disabled, the On/Off input is ignored entirely.
Browse & ConfirmBooleanFalse Enables browse-then-confirm mode. See Browse & Confirm Mode below.
Activation DelayInteger (0–30)0 Seconds to wait before activating a cycled scene. 0 = immediate. See Activation Delay below.
Number of Cycling ScenesInteger (0–8)0 How many of the first N scenes participate in button cycling. 0 = all scenes cycle (default). Scenes beyond this number are direct-only. See Direct-Only Scenes below.
Scene Value 1–NInteger (0–255)1, 2, 3… The 8-bit value sent to the actuator for each scene slot.
LED Value 1–NInteger (0–255)0 The 8-bit LED bitmask sent to the button LED for each scene slot.
LED Blink Value 1–NInteger (0–255)0 Native blink telegram value per scene. When non-zero and Activation Delay is active, this value is sent to the LED output once, letting the Tastsensor flash natively instead of the node toggling the LED manually. 0 = use manual blink (default, backward compatible). See Activation Delay below.
Scene Overlay 1–NBooleanFalse Per-scene overlay control. When enabled, the Direct Scene input never interrupts active use. While the room is off, it arms the scene (LED preview, lights stay off). While the room is on, it passively tracks (no visible change). When the user turns off, the overlay re-arms automatically. See Scene Overlay below.

Inputs

NameTypeDefaultDescription
Cycle TriggerBoolean (1-bit)False Connect to a button. Each rising edge advances to the next scene in sequence, wrapping around after the last cycling scene. When Number of Cycling Scenes is set, only the first N scenes are cycled.
On/OffBoolean (1-bit)True Gate input. When the gate is enabled (Enable On/Off Gate = True): falling edge turns off, rising edge re-enables cycling (or confirms scene in Browse & Confirm mode). Defaults to True so cycling works immediately without a connection.
Direct Scene 1–NBoolean (1-bit)False Connect to timers or triggers. A rising edge immediately activates the corresponding scene. A falling edge triggers auto-off (only if the scene was previously activated via this input).
Scene ReadbackInteger (8-bit)0 Bus sync input. Connect the same data point as Scene Output (as a DatapointEvent) to restore state after X1 restart. When "Keep value" is enabled on the data point, the runtime sends the last scene value on startup, allowing the node to sync LED, Is On, and Scene Active outputs. Does not write back to Scene Output (no feedback loop). See After Reboot below.

Outputs

NameTypeDescription
Scene OutputInteger (8-bit) The active scene value. Connect to the actuator's scene input group address.
LED StatusInteger (8-bit) The LED bitmask for the current scene. Connect to the button's LED status group address.
Is OnBoolean (1-bit) True when any scene is active (current scene ≠ Off Scene Value). Useful for general on/off status display.
Scene Active 1–NBoolean (1-bit) Per-scene active indicator. True for the currently active scene, false for all others. Useful for status displays, visualization panels, or triggering other logic.
Scene Active outputs must not feed back into Direct Scene inputs If Scene Active N is wired to the same data point as Direct Scene N, a feedback loop occurs and the light will blink uncontrollably. Always use separate data points for input triggers and output status indicators.

Execution Priority

When multiple inputs change in the same execution cycle, the node processes them in strict priority order. The first matching priority handles the event and exits.

  1. Direct Scene rising edge — Activates the scene immediately, or arms it if Scene Overlay is enabled. Always takes precedence over all other inputs.
  2. Cycle Trigger rising edge — Advances to the next scene (or activates an armed overlay scene). Subject to gate check in standard mode (blocked when On/Off = false and gate is enabled). In Browse & Confirm mode, cycling always works (browsing bypasses the gate).
  3. On/Off rising edge (Browse & Confirm only) — Confirms and activates the browsed or armed scene.
  4. Direct Scene falling edge — Auto-off when a timer expires. Scene Overlay scenes don’t auto-off — lights stay as they are.
  5. On/Off falling edge — Turns off (sets scene to Off Scene Value). Re-arms any active Scene Overlay.
  6. Scene Readback — Bus sync from the scene data point. Restores internal state (LED, Is On, Scene Active) without writing Scene Output. Used for restart recovery.
Gate-blocked fallthrough When Cycle Trigger fires but is blocked by the gate (On/Off = false), the node does not stop. It falls through to check lower priorities, allowing the On/Off falling edge (Priority 5) to process in the same cycle.

Browse & Confirm Mode

When Browse & Confirm is enabled, the Cycle Trigger becomes a browse control:

While off (no active scene)

While on (scene active)

Scene memory

Example: Office lighting with browse & confirm
  1. Lights are off. User presses the scene button 3 times → LED previews Scene 3.
  2. User presses On/Off → Scene 3 activates, lights turn on.
  3. User presses On/Off again → Lights turn off.
  4. User presses On/Off again → Scene 3 restores immediately.

Activation Delay

When Activation Delay is set to a value greater than 0, scene changes triggered by the Cycle Trigger are delayed by the specified number of seconds.

When is this useful? Climate and AC control, where rapid mode switching can damage compressors. The delay allows the user to browse through modes without each intermediate selection being sent to the actuator.

Interaction with Browse & Confirm

Direct-Only Scenes

When Number of Cycling Scenes is set to a value greater than 0, only the first N scenes participate in button cycling. Scenes at positions beyond N are "direct-only" — they can only be activated via their corresponding Direct Scene input (e.g. from a timer) and are never reached by the Cycle Trigger.

Example: Office with 4 cycling scenes + 1 night scene
ParameterValue
Number of Scenes5
Number of Cycling Scenes4
Scene Values1 (Welcome), 2 (Cozy), 3 (Clean), 4 (Work), 5 (Night)
Off Scene Value6

The button cycles through scenes 1–4 only. Scene 5 (Night) is activated by a timer via Direct Scene 5, and auto-off turns the lights off when the timer expires. The next button press after night mode ends restarts from Scene 1.

Scene Overlay

When Scene Overlay is enabled for a scene, the corresponding Direct Scene input acts as a transparent overlay — it never interrupts active use:

Room StateDirect Scene Rising EdgeWhat Happens
OffArms the sceneLED preview shown, lights stay off. The next button press activates the armed scene instead of cycling.
OnPassively tracksNo visible change — user keeps their current scene undisturbed.

Turn-off re-arm

When the user turns off while an overlay is passively tracked (Direct Scene still high), the overlay automatically re-arms. The next button press activates the overlay scene.

When the overlay expires

When the Direct Scene input falls (timer expired):

Example: Night mode overlay
  1. 8:00 PM — Lights on (cleaning scene). Night timer fires → passively tracked. Lights stay on cleaning.
  2. 11:00 PM — User turns off. Overlay re-arms (LED shows night indicator).
  3. 11:30 PM — User presses button → Night scene activates (dim lights).
  4. 12:00 AM — User turns off. Night still armed (timer still active).
  5. 12:15 AM — User presses button → Night scene activates again.
  6. 6:00 AM — Night timer expires. Arm cleared, LED reset.
  7. 6:30 AM — User presses button → Normal cycling → Scene 1 (bright lights).
Per-scene control Each scene has its own Scene Overlay setting. This lets you have some Direct Scene inputs that always activate immediately (e.g. motion sensors) and others that overlay without interrupting (e.g. night timers).

Use Cases

Lighting scenes (4 scenes + off)
ParameterValue
Number of Scenes4
Off Scene Value5
Scene Values1 (Welcome), 2 (Cozy), 3 (Clean), 4 (Work)
Enable On/Off GateTrue
Browse & ConfirmTrue
Activation Delay3

User browses scenes with the cycle button, previews via LED, confirms with On/Off. 3-second delay on live switching prevents accidental changes.

Climate control (3 modes + off)
ParameterValue
Number of Scenes3
Off Scene Value4
Scene Values1 (Cold), 2 (Heat), 3 (Fan)
Enable On/Off GateFalse
Activation Delay5

No On/Off gate needed. Cycle button steps through modes. 5-second delay protects the compressor from rapid switching.

GPA Wiring Tips

After Reboot

On startup, the node initializes to the Off Scene Value internally. To fully restore state after an X1 reboot, connect the Scene Readback input:

  1. Enable "Keep value" on the Scene Output data point in GPA.
  2. Create a DatapointEvent node for the same data point.
  3. Wire it to the Scene Readback input.

On restart, the runtime sends the kept scene value to Scene Readback. The node syncs its internal state and updates LED Status, Is On, and all Scene Active outputs — without writing back to Scene Output (no feedback loop).

Without Scene Readback If Scene Readback is not connected, the node starts at "off" internally. The actuator still restores from "keep value", but LED Status, Is On, and Scene Active outputs may be incorrect until the first user interaction.