Zwave-JS-UI in place of OH Zwave binding

Anyone can contribute. Just raise a PR and we will see from there. I prefer to have small iterations.

Let’s see how far we get. It will be complex, but there are more bindings like this we could use as example.
I also think it can grow, we don’t need 100% coverage from the start. Not promising anything but it would be supercool to have this stable for openHAB 5.

1 Like

The json messages from the zwave js server are somewhat documented, but information about details do not seem to be documented. Or at least I can’t find it.

To determine the capabilities of a device i think i need to process the commandclasses. As they are modelled to json the handling is simple. Anyway, i can’t find a source of all used command classes with their id and what they do. As these classes are modelled and related to channels also provided by the server, I need documentation.

Without docs, an alternative would be to look at the HA code. core/homeassistant/components/zwave_js at dev · home-assistant/core · GitHub Not found what i was looking for yet. If anyone of you has some knowledge about this or can point me in the right direction that would be appreciated.

Pushed some changes to the code:

  • added all DTO’s
  • added device discovery (similar to hue binding)
  • refactored to use listeners

See here @lsiepel

Thanks, I should have been more clear. I’m looking at documentation to the websocket server. As that layer is some kind of abstraction.
The readme.md of the project does show some json messages, but it does not cover the full schema. Like Value and Metadata objects.

I struggle to generate channels based on the endpoint t metadata objects. I’ll try to share my ‘hacks’ later today so some of you can share your thoughts.

@lsiepel I cloned your repo and built the binding. When doing the build for the first time on my Mac, I got the following two errors:

[ERROR] /Users/mark/Development/openhab-zwavejs/openhab-addons/bundles/org.openhab.binding.zwavejs/src/main/java/org/openhab/binding/zwavejs/internal/handler/zwavejsHandlerFactory.java:[42,14] The public type ZwaveJSHandlerFactory must be defined in its own file
[ERROR] /Users/mark/Development/openhab-zwavejs/openhab-addons/bundles/org.openhab.binding.zwavejs/src/main/java/org/openhab/binding/zwavejs/internal/zwavejsBindingConstants.java:[25,14] The public type ZwaveJSBindingConstants must be defined in its own file

When looking at the files on the filesystem, they were named zwavejsHandlerFactory.java and zwavejsBindingConstants.java. To fix, I just renamed those 2 files to have the proper case. Not sure why those were the only files that had the issue.

Not had that locally. Just re-cloned it from GH and experience the same. Weird capitalization issue. ~Will try to fix that later.~ Fixed.

Pushed some more changes. About to work on the channel building, but my node to develop with failed. So have to wait for new ones later this week.