The Problem
Setting up scene control in GPA (Gira Project Assistant) is tedious. A typical room with 4 lighting scenes requires 60+ interconnected logic nodes — comparators, counters, multiplexers, memory blocks, LED mappers, status trackers — all manually wired together. Multiply that by every room in a building, and you're looking at hundreds of nodes, thousands of connections, and a project that's nearly impossible to maintain or hand off to another integrator.
The Solution
SceneCycler compresses all of that into one node per function. Configure it, wire it, done. It handles:
- Scene cycling via push button
- Direct scene activation via dedicated buttons, presence detectors, or automation triggers
- Dedicated per-scene switches with active status — works as standard on/off switches in visualization apps, Apple Home, Google Home, or Home Assistant
- LED status feedback to multi-LED push buttons
- Bus synchronization with other controllers
- Browse-before-activate mode for deliberate scene selection
- Scene memory across on/off cycles
Key Features
- Press the cycle button while lights are off — LEDs preview each scene, but lights stay off
- Press a separate On button — the selected scene activates and lights turn on
- Press Off — lights turn off, but the selected scene is remembered
- Press On again — the remembered scene is instantly restored
- Cycle while lights are on — scenes switch immediately (live switching)
- 1 to 8 scenes per node instance
- Custom scene values (0–255) matching your KNX actuator configuration
- Custom LED bitmasks (0–255) for any multi-LED button
- Custom off-scene value matching your actuator's off command
- On/Off gate enable/disable
- Require confirmation enable/disable
Use Cases
An office has 4 lighting presets — Welcome, Cozy, Work, Clean — controlled by a wall-mounted Gira Tastsensor with LED status feedback.
- 4 scenes with values 1–4, off value 5
- LED bitmasks: Welcome=7, Cozy=13, Work=5, Clean=3
- On/Off gate connected to a wall switch
- Direct scene inputs wired for one-tap activation of specific scenes
- Press the cycle button to step through scenes (Welcome → Cozy → Work → Clean → Welcome…)
- Each scene activates its lights immediately — LEDs on the push button change to match
- Direct scene input triggers a specific scene in one tap without cycling
- Wall switch off kills all lights; switch on re-enables cycling
- Per-scene active status lets you see and switch lighting scenes from visualization apps
A room has 4 climate modes — Heating, Cooling, Fan, and Off — cycled by a push button.
- 3 scenes with values 1–3 (Heating, Cooling, Fan), off value 4
- On/Off gate disabled (cycling always allowed)
- No direct scene inputs needed
- Press the button to cycle through Heating → Cooling → Fan → Off → Heating…
- LED feedback shows the current mode; LEDs off when in Off state
- One button controls everything — keep pressing to cycle, including back to Off
- Per-scene active status lets you see and switch climate modes from visualization apps
A homeowner wants to browse lighting options before committing. They don't want lights flickering through scenes as they press the button.
- 4 scenes, Require Confirmation enabled
- Cycle button on the left push button
- On/Off on the right push button
- Lights are off. User presses cycle — LEDs show “Welcome” preview, lights stay off
- Presses cycle again — LEDs show “Cozy” preview, still no lights
- Presses On — “Cozy” scene activates, lights turn on
- Presses Off — lights turn off
- Presses On — “Cozy” scene is restored from memory, lights turn on
- While lights are on, pressing cycle switches scenes immediately (live mode)
A whole-home audio system has 4 source presets per zone — Spotify, Radio, Vinyl, TV — selected by a push button.
- 4 scenes with values matching the audio matrix switcher
- LED bitmasks matching the zone controller's LED inputs
- Scene readback connected to the matrix switcher's status output
- Press to cycle through sources
- If someone changes the source from a different panel, the node syncs via readback
- Next button press continues from the synced source
A conference room has scene presets — Presentation, Meeting, Video Call, Break — controlled by a wall panel and a master switch.
- 4 scenes with On/Off gate and direct scene inputs
- Cycle button on a wall panel to step through presets
- Direct scene inputs wired to dedicated buttons for one-tap preset selection
- On/Off connected to the room's master switch
- Press the cycle button to step through presets, or tap a dedicated button for a specific one
- LED feedback shows the active preset on the wall panel
- Master switch off kills everything; switch on re-enables cycling
- Per-scene active status lets you see and switch presets from a room booking panel or app
Architecture
SceneCycler exposes a clean set of inputs and outputs — everything routes through one node.
Technical Specifications
Parameters
| Parameter | Type | Range | Default | Description |
|---|---|---|---|---|
| Number of Scenes | Integer | 1–8 | 4 | How many scene slots to create |
| Off Scene Value | Integer | 0–255 | 5 | Scene value representing “all off” |
| Enable On/Off Gate | Boolean | — | true | Whether the On/Off input controls cycling |
| Require Confirmation | Boolean | — | false | Enable browse-then-confirm mode |
| Scene Value 1–N | Integer | 0–255 | 1, 2, 3… | KNX scene number per slot |
| LED Value 1–N | Integer | 0–255 | 0 | LED bitmask per slot |
Inputs
| Input | Data Type | KNX DPT | Description |
|---|---|---|---|
| Cycle Trigger | 1-bit | DPT 1.x | Rising edge advances to next scene |
| On/Off | 1-bit | DPT 1.x | Gate control — falling edge turns off, rising edge activates (in confirm mode) |
| Direct Scene 1–N | 1-bit | DPT 1.x | Rising edge activates scene, falling edge auto-offs |
| Scene Readback | 8-bit unsigned | DPT 5.x | Bus sync from actuator status (no write-back) |
Outputs
| Output | Data Type | KNX DPT | Description |
|---|---|---|---|
| Scene Output | 8-bit unsigned | DPT 5.x | Active scene value (persists across X1 restart) |
| Scene Output (No Memory) | 8-bit unsigned | DPT 5.x | Active scene value (volatile) |
| LED Status | 8-bit unsigned | DPT 5.x | LED bitmask for active scene |
| Is On | 1-bit | DPT 1.x | True when any scene is active |
| Scene Active 1–N | 1-bit | DPT 1.x | Per-scene active indicator |
Compatibility
- Gira X1 controller (all firmware versions supporting custom logic nodes)
- Gira Project Assistant (GPA) for configuration and commissioning
- Any KNX push button, presence detector, or automation trigger
Why I Built It This Way
Traditional room control gives users too many choices and too little clarity. Multiple push buttons for individual lights, thermostat displays for setting exact temperatures, separate fan controls — it adds up to cluttered walls and confused occupants. Scene-based control simplifies this: pre-configured presets replace manual adjustments, reducing wall clutter and making rooms easier to operate.
Lighting — Instead of a bank of push buttons — one per circuit, one per dimmer, one per scene — a single button cycles through presets. LED feedback makes each scene instantly recognizable — blue means cleaning light, orange means cozy, and so on. Use the same color scheme across every room in the house and it becomes second nature. Fewer switches on the wall, cleaner interiors, and anyone can operate the room without a manual.
Climate — Most of the time, people just want it warmer or cooler. They don’t want to scroll through a thermostat setting 1 °C increments. With SceneCycler, a single button cycles between climate presets — Heating, Cooling, Fan — each with pre-configured setpoints. No dedicated climate panel needed on the wall.
Fine-tuning stays available — The thermostat never goes away — it just doesn’t need to be on every wall. Same with per-light-source control — individual dimming, color temperature, on/off per circuit. It all stays accessible through visualization panels, mobile apps, or any KNX-integrated smart home platform. Fewer thermostats and fewer switches means cleaner walls, and those who still prefer dedicated controls in a specific room can keep them. SceneCycler exposes separate status addresses per scene, so every app and panel stays in sync and can override when needed.
About
Not a KNX integrator by trade — just someone who fell down the KNX rabbit hole and started building tools to scratch his own itch. SceneCycler is the first one.
Get SceneCycler
No license key, no trial period, no feature limits. Use it in your home, your project, wherever you need it. All I ask — donate something, any amount, to a good cause of your choice. A local shelter, a children’s hospital, an environmental fund — whatever matters to you.
Download — Coming April 2026Using SceneCycler in client installations? Support the project directly. Every contribution goes to a charity or cause of my choice — nothing stays in my pocket.
Support the Project