Home Assistant integration for the B-Logicx bus gateway (NWM / NWX)
View the Project on GitHub rafverbiest/homeassistant_b-logicx
← Home · Nederlands · English
A dimmer is normally addressed in group 5, 6, 7, 8 or 9. That group defines the room. Sfeer entries are gathered per group, and therefore per room.
Home Assistant shows an individual dimmer as one light: a master switch and a slider from 0 to 100. On and off send a Dimmer command to that address, followed by Dimmer again to the fixed address 220. The dimmer itself answers with Set or Reset. The protocol lets you leave time between the two commands, time in which the dimmer starts dimming up and down. The idea is that you release at the wanted level, but that is not very usable through Home Assistant, so the two commands follow each other immediately.
There are 3 ways to control dimmers:
All of these can be used together, but I would choose to do it only through Sfeer or scenes where possible. Because of the technical limits of the B-Logicx protocol, it is hard for Home Assistant to know the dimmer’s set light level in percent. Home Assistant can set the dimmer to a requested percentage. A short tap leaves that percentage in place, but once the level is changed with an INM (for example by holding the button and releasing at the right moment) the percentage shown in HA is unknown afterwards, because it cannot be read back from the bus.
A Sfeer is a recorded setting for the dimmers that share a group. You set the dimmers to a good level by hand and then record the Sfeer. It then sits at address 221 through 228. At most eight per room.
This integration calls a Sfeer by sending Dimmer to <group> 221–228. The dimmers that take part answer themselves with Set or Reset on their own address. That answer shows which lamp is on. We do not know the recorded percentage, but we do know which of the at most eight Sfeer entries is active.
Some dimmers also send Set or Reset to particular RLMs or SoftMs when a Sfeer runs, from a condition saved with that Sfeer. That normally goes through BLConfig, but automations can do it through HA as well.
BLConfig has the same option, “Mood switches on only”. It is off by default. When it is on, Sfeer behaves differently: the lights can then only be switched off with the group reset. If it is on in BLConfig, turn it on in this integration too, on the Sfeer room, or the two will not behave the same way. In YAML that is sfeer_on_only: true.
Finding a good level by holding the button is not a pleasant daily control. With many LED lamps the useful range sits in a small slice of the actual operating range, and because of the delay on the bus you release the button too late. With the slider you can send a value in percent, either by hand or through automations.
| Option | YAML | Default |
|---|---|---|
| Memo | remembers_level |
off |
| Participates in Sfeer | participates_in_moods |
on |
| Ask for state at startup | check_status |
off |
Memo means the module remembers the dim level when off. With check_status off, Home Assistant shows the last on/off and the last percent after a restart. Turning it on asks the bus for on or off only, because the percent cannot be read back due to technical limits in B-Logicx.
- type: dimmer
name: Table lamp
group: 5
address: 40
remembers_level: false
participates_in_moods: true
check_status: false