I’ve tried some time now to make openHAB 2 + KNX Binding 1.9 reply to read requests that come from the KNX bus. I’m currently migrating a SmartHome.py installation to openHAB and this is the only feature I’m really missing right now. The most important use case is that KNX devices should read the GA states from openHAB in when restarting (e.g. after programming). Without auto updating the states, my complete system becomes inconsistent. This is the reason why I keep SmartHome.py still running in parallel to openHAB - however, I would like to rely on one system only if possible.
Does anyone know if and how sending replies to KNX reads from the KNX binding are supported right now? And if not do you have plans to support this in the future?
Thanks a lot for all your efforts and best regards
No, this isn’t supported yet. As far as I remember, there was a discussion about that.
Thanks Udo for clarifying this. I’ve not found anything about that in the forum here. IMHO for system integrators / KNX professionals, this feature is a must-have for considering openHAB in productive setups. I would be very happy to support anyone who could take the lead here with testing, documentation, or code contributions - but since my Java development time is > 10y ago I’m not daring to start it on my own right now to be honest.
Maybe the discussion was at github, or perhaps at the german support forum… in fact, right here is the best place for further discussion…
I’m also currently missing this feature. My OH is providing a config status via KNX to other KNX nodes. They poll frequently and OH is not answering - thus on the remote side, they fall back to a default setting…
Only way I currently see is frequent re-sending…
openHAB should definitely be capable to answer read requests for *-control channels, as these channels are devices or parts of devices (at least from openHAB perspective) and openHAB is holding the true state of these channels.
On the other hand, if a control-channel state is changed, openHAB should send it to the bus. If the state does not change, there should be no need to send it. If it’s a kind of heart beat (or “openHAB is alive” signal), openHAB should send it automatically (e.g. by using a cron rule).
I agree, that openHAB should be able to answer read requests to GAs only openHAB knows the state of, e.g. when using openHAB as a bridge to other systems.
But regarding the use case of the original post: All KNX actuator I know of have an option to restore the state after programming or loss of buss power. Is that not sufficient?
No, there are some knx devices (old ones, I guess…) which do not provide a frequent send or even a send on every change. There is a flag in ETS to tell a device that a GA is requestable, so that a device could ask for the correct state when powered on.
If openHAB is working as a virtual knx device, it has to have the ability to answer to read requests, there is no doubt about that.
And it would be nice if one would be able to do a single read request to a GA not only when starting up openHAB.