Continuing the discussion from Busch-Jaeger Free@Home:
I started a new thread for the ABB/Busch-Jäger free@home with the official REST api.
This binding is based on the REST API for setting values and Event Socket communication is used for status updates. This current version is complete is fulfilling the openHAB design guidelines where the binding is keeping handing one free@home device as one openHAB Thing. No splitting the devices into multiple Things. This means a 4xChannel actuator will be kept as one multi-channel Thing. For this it is important to give a name to the channels on the free@home dashboard, because it is used for the openHAB representation.
The data model used channels and data points in the free@home system. However they are used in combination for setting and reading state. Therefore a middle layer was necessary in the design, where it is able to group datapoints into get/set group.
Introducing a new Input/Output (Sensor/Actuator) functionalities is very simple, it just needed to define on which channel, and which “idp/odp” the communication is happening and define for the function ID lookup a new data point group.
The introduction of a new device time is simple as well, it just make a new lookup entry in the code for the new device
The usage of the current version needs only configuration of the SysAP (gateway) as use interaction. the further devices and channels are detected automatically, no user action or any additional configuration is needed.
The automatic detection is based on the REST API available function ID and pairing ID information. Due to this the binding can adapt itself and able to detect and control new/unknown devices, where the known function ID is used.
I made my test based on my free@home system and based on some shared configuration file.
If somebody would like to have a binary to test, to try it, I am happily sharing my current binary build.
In case of any question, or request to implement a new feature please contact me, the best would be in private message.
and
The source Code can be found here
In any questions or ideas to improve the binding, implement new functions feel free to contact me.
Thank you