Hi Chris, great post. May I ask why OpenHAB left OpenZwave and setup a whole new zwave config. To me it looks like that the opensource Z-Wave vision is in line with OpenHAB.
Beside OpenZwave my Razberry uses the pepper1.net DB, can’t OpenHAB use the same?
It’s just for my personal understanding. I would like to spend more time on the Z-Wave topic and help where possible.
I’m not sure if OZW was ever used in OH - certainly it hasn’t been used since I’ve been involved in OH, which is over 2 years - maybe there was an earlier version, but I’m not aware of it… I think the decision was made to write a java version since OH is a java project and JNI wasn’t desirable.
When I started working on the ZWave binding, one of the first things I added was the configuration information. I looked at using existing databases (pepper1, and the OZW format) but these are not compatible with the OH open source license, so I devised our own. The OH1 database format is actually very similar to the OZW format. We quickly rejected pepper due to the licensing, but also because relying on a third party as a fundamental input to run the system didn’t seem like a good idea. Also, we didn’t have any control over it, so if we wanted to add information (which is needed to work around bugs/peculiarities in some devices) then we couldn’t do it…
So, OH requires and uses its own database - it gives us the control over our own destiny…
In OH2, we will actually use a different format which will be inline with the ESH format which is common for all bindings. I’ve written a converter to convert the existing files over to the ESH format, but we will add more information to allow us to eliminate the binding strings (which makes setup a LOT easier).
I hope that makes sense?
Thanks for the detailed explanation. I thought that OZW was used by OH, that’s my mistake (misinterpreted). I had to google JNI, but I get the point. Different language.
It’s silly that it is upto the gateway if devices are properly supported. Z-Wave is promoted as interoperable.
I expect OH Z-Wave binding is based on reverse engineering as well, similar as OZW. When I find some time I will setup OH2 and will try to setup the Z-Wave config.
Yes, and no… ZWave devices will interoperate quite well without the database - it is definitely one of zwaves strengths. This will work fine with devices that aren’t in the database (at least for OH1!), however, where the database comes into play is -:
- To add configuration - the devices don’t self describe the meaning of their configuration parameters, so we add this information to the database so that we can have a nice interface rather than having to resort to low level commands.
- To work around bugs. Some devices don’t stick quite to the standard, or have some sort of bug, and we need to add a workaround. These workarounds are coded into the binding, and then enabled or configured in the database.
Absolutely. In fact I’ve used OZW as a reference in many cases
Where can i check for the first alpha release, I am eager to try it.
Best regards, Haris
Currently I haven’t made this available as it’s not possible to configure associations at the moment. This requires a change to the ESH core - there was some discussion about it on the ESH forum, but it’s not yet decided how to handle this.
Is there any news about this new version ?
Sorry - I needed to do some work in the ZigBee binding over the past week or so.
The problem at the moment is that if I release this you won’t be able to configure associations as some needed functionality is missing is ESH. If I can find some time in a week or so to add this then we can get it available.
Still no news about the missing functionality in ESH ?
I’d like to give the topic a little “push” - any news yet?
No - there’s some discussion about the solution in ESH, but it’s not implemented yet.
Chris, FYI, running the ZWave 1.8 binding under OH2 creates some problems when exiting the ESH runtime, as if a serial port is not closed properly or alike. At least, on my Mac OS X here, the Aeon Labs z-Stick S2 (connected via USB over ethernet) 's driver is bugging the system. Looking forward to the 2.0 version of the binding
What are the missing parts in ESH?
Could you point me to the relevant entries in the Eclipse Bugzilla and Forum?
I need to be able to update options in parameters. I’m not sure that there’s a bug, but the discussion is pretty much at the top of the ESH forum - I think it’s called dynamic configuration information. I’m on my phone at the moment so can’t easily check but you should be able to find it easily…
So under OpenHab1 you can use Habmin to add items and link zwave nodes using the binding etc…
Just so I understand what is going on, is it that the zwave binding works in principle in OH2, but instead of setting up items, it needs to be discovered as a thing instead? And you’re working out the best way to go about this?
So when it’s all sorted you’ll add a zwave device by pairing to the hardwave controller, then go to “descover thing” and it’ll appear ready to make a thing out of it etc…?
It might be worth having a read about OH2 principals - it’s different to OH2…
Things are effectively devices, things have channels, and channels link to items. So, when you include a new zwave device, it automatically creates the thing, all its channels, and the items that are linked to the channels…
Something like that…
You’ll be able to click on ‘Start discovery’ or something similar, this will put the controller into inclusion mode (so far the same as OH1 with HABmin). Hopefully this will find your thing and this new thing (device!) will be in an ‘inbox’ waiting for you to approve. Click on ‘Approve’ and it will be imported into the operational system - the thing gets created, the channels and items are also created and linked together…
(this might sound more complex than it really is - it’s all point and click)
The ‘bad’ thing is that now all your items will have names that you don’t want to use, so it’s more difficult in some ways to use ‘manually’. For example -:
This will make it more important in OH2 to have a GUI to control things. It is possible to create and link items with your own name, but neither HABmin nor PaperUI currently supports this so you get the computer generated name…
On the positive side, you don’t need to do any linking of binding strings to items - the zwave binding will automatically sort this out (once the device has been added to the database of course).
At the moment, there are still outstanding issues with configuration which make me hesitant to release this - hopefully this will be resolved in the coming week or two. It will take some time to add devices though and I’ll build this up a little slowly so we don’t add lots of devices and then find the format needs to change to support something…
Well I’m very impressed and appreciative of all the work you’re putting into this. It seems like a lot of work and I can’t thank you enough. I look forward to playing with it once it’s released…
I want to contribute by testing the Zwave Binding. I have some devices installed in my house.
How can I retreive it ?
Currently it’s not available as I’m still finishing a little bit of testing here, and we are missing some functionality in the core ESH services to allow configuration of devices (namely setting of the associations). This is the issue that is currently holding up the finalisation of the the OH2 binding.
I’m waiting for your new release. Don’t hesitate to send me an alpha or beta release for testing.
Have a good day.