Hi, I am considering to develop a binding for the Z-wave hub Fibaro Home Center 2 in order to expose devices on the HC2 to openHAB. This will be a challenge to me, as my background is micro controller embedded development ©, and I am new to openHAB. However, the HC2 seems to have a nice REST API, and if I get some pointers here when I’m stuck, it will be a great learning experience which hopefully will end up in something that is useful to other people as well.
A rough design plan is to implement wrapper functions for the HC2 REST API, with at least the ability to enumerate devices, read status and send commands, and on the other end make this appear as automatically discovered things (or items?) in OH2.
Any comments or pointers on my idea? Are there any simple bindings I should look at in order to get an overview of the frameworks and concepts?
openHAB already has a decent support for z-wave - splendid work of @chris on Z-wave binding and recently Z-way binding by @pathec are a proof that z-wave as a technology is becoming more and more popular.
I +1 an idea of integrating Fibaro with openHAB for the same reason Z-way binding was added - the ability to connect more devices/bridges with the platform.
From the implementation standpoint, I would suggest you to take a look at how the Z-way binding was built.
Also, I’d strongly advise you to create an openHAB2 Binding, instead of 1.x
Make sure you read through the contributing guideliness.
Thank you! I agree with your point regarding using the built-in Z-wave binding. My personal use of the HC2 binding would be to be able to gradually migrate the Z-wave devices to openHAB, so I can make sure that important automation such as ventilation and heating is working before I move a device from HC2, and move other devices when I get time.
I had a look at the exec binding, and although there are some principles I’m not familiar with yet, the amount of code required seems overcomable.
I have decided to focus on making a solution using the existing bindings and some middleware script for now, as I think that solution will be sufficient and much more efficient.