Scenes — Continued
A follow-up on how scenes work in Nikobus, because it's caused some confusion (including mine
).
TL;DR
Scenes do not exist in the modules. They only exist in the .nkb project file.
How I proved it
You can verify this yourself with the Nikobus software:
- Open a blank project.
- Load the installation.
- Result: modules, buttons and their links all come back… but zero scenes are created.
I also captured the serial traffic during that load and compared it to what the integration reads the official software queries exactly the same registers we do (we actually read a superset). There is no hidden register, sub-byte or module where scenes are stored. If Niko's own software can't rebuild the scenes from the live installation, they simply aren't on the bus.
Why scenes can't be auto-detected
On the bus, a scene is just a button. When you press a scene's trigger, the output modules act on their stored link records the same way they react to any wall button. In a module, a "scene" link looks byte-for-byte identical to an ordinary button that happens to control many outputs:
address → channel → mode
So when discovery sees one address driving 12 outputs across 4 modules, there's no way to know: is this a scene, or just a button that controls a lot of stuff? The "this group is a Central Function" information lives only in the .nkb (and the names too).
The one exception: light scenes
Light scenes are the lucky case. They store a preset level per output, which forces special modes (M04 / M11 / M12 / M14 / M15 / "recall stored level"). Those modes are a real fingerprint that survives into the modules, so light scenes are detected automatically no .nkb needed. Shutters and on/off "master" scenes have no level to recall, so no special mode, so no fingerprint.
So, where scenes stand now
- Light scenes → detected automatically from the bus. Works for everyone.
- All other scenes (shutter scenes, master-off, "leave the house"…) → only recoverable from the
.nkb.
- Without a
.nkb, those scenes still work they're just shown as their trigger button (pressing it fires the exact same outputs). You only lose the friendly name and the scene.* entity.
What the integration does with your .nkb
Drop your project export in the HA config folder as nikobus.nkb and press Import Names from .nkb. It then:
- names your modules / buttons / IR receivers,
- puts each device in a Home Assistant Area matching its Nikobus room,
- names your light scenes, and
- creates real
scene.* entities for the shutter / master scenes too activated by firing their trigger, so the modules handle roller timing themselves.
This is authoritative, not guesswork: a group only becomes a scene because the .nkb explicitly marks it as a Central Function. Multi-output buttons are never promoted to scenes on their own, and you're never asked to classify anything. (A scene with no trigger button can't be fired from HA, so it's skipped.)
Bottom line
Scenes aren't a bus feature they're a PC-software concept. We surface what the bus can prove (light scenes) automatically, and the rest comes from your .nkb. If you have the file, you get everything named and your shutter/master scenes as proper scenes; if you don't, light scenes still work and every other "scene" is usable as its button.