Configuration options missing for device

How does the Z-Wave integration come up with the configuration options for a particular device? Is this polled from the device itself when it’s included, is it manually programmed into the integration for each device type, or ???

I’m asking because I added a couple of Wink Motion Detectors to the system. It’s finding 7 sensor values and 1 configuration option. But the documentation for the Motion Detectors says there should be 10 configuration options for the device. I’d like to change some of them, but can’t see a way to do it in Home Assistant. Other devices have numerous configuration options so in general this must work. Is there some way to resolve this?

Thanks!

It’s based on the .xml files for each device, it’s not pulled from the debice itself. Unfortunately with the native Z-Wave integration there’s no easy way to adjust these files and add new config parameters. With OpenZWave beta, which will probably at one point replace the native Z-Wave integration, you can edit these files yourself or even add a new file for an unsupported device.

Bummer, I had been thinking it was pretty cool that the Z-wave specification had all the UI information included. But if it’s manually edited then it’s a huge deal getting hardware supported in each of the different home automation platforms like Home Assistant. A lot of work has obviously been done by the community to get devices included into Home Assistant.

I found a file called zwcfg_*.xml that I assume is the XML file you were talking about. Is it worth trying to edit this and submit a pull request or should I just bite the bullet and try to migrate to the new Z-wave stuff in Home Assistant? I’m having other issues with the Z-wave integration in Home Assistant anyway, so moving to the new integration is seems like my best option.

Thanks for the help!

I must admit that my knowledge about Z-Wave is limited, but as far as I know, the .xml file you are talking about is “only” the configuration of your current network. In OpenZWave you have one file per device e.g. there is a file called zw100.xml for the Aeotec Multisensor 6, which defines what command classes this device supports etc.

I asked this myself around 2 weeks ago :slight_smile: I did it and I don’t regret it, however I only have around 6 Z-Wave devices but all were paired securely and and recognized immediately by OpenZwave so no adding/removing of devices needed. I’d check if your devices are supported and if they are, do it! :smile: I shared a detailed guide on how I set it up here in case you are interested.

I think the zwcfg_*.xml file means your running OpenZwave1.4. 1.6 is the more recent version and is the one pull requests are to be submitted to…but there is some chance 1.6 has picked up your device’s config.

For configuration parameters this is only true for very recent versions of the standard.

No one accepts device XML files for OZW 1.4 (the zwave integration) anymore. If you want to create one in this version, you’re on your own. Instructions here: Adding Devices (1.4 Old Version) · OpenZWave/open-zwave Wiki · GitHub

In 1.4 you don’t need a config file though. You can use the zwave.set_config_parameter service and specify the raw values.

But is there no file needed that specifies which parameters are available for the device in order for this service to work? Also does the servixe work for you? I tried it but had no sucess, only with the OZW Daemon admin UI.

Awesome - thanks for the writeup on migrating!

I haven’t been excited about migrating until they smooth out the process. I’ve got about 40 Z-wave devices hooked up and some of them would be a pain to remove and re-add (the smoke detectors in particular are tough to reach in some cases). But I’ve got devices that don’t work any more in Home Assistant, some that disappeared completely, and some that aren’t fully supported (like the PIR’s that triggered the original post). I should just do it. Maybe this afternoon…

I’m using HassOS on a NUC if that indicates a reason I shouldn’t do the migration.

The zwave integration is entirely different from the ozw integration, so the service code is also different. zwave.set_config_parameter allows you to set values for parameters that are unknown, ozw does not.

1 Like

You don’t need to remove and add the devices when moving from zwave to ozw, because the devices are stored on the controller. But you do have to deal with the cache file being lost, which means refreshing all of the battery devices, plus dealing with entirely new entities (no migration). That is not necessarily a simple task with 40 nodes. That said, you experiment with the new integration w/o completely removing the old one. I think there’s a community guide for that.

1 Like

Oh, I mixed it up, thought you wrote ozw.set_config_parameter. :upside_down_face: does the ozw service work for you? I tried it but didn’t have any success setting a known parameter.

is the stick attached to this NUC or a separate machine? My guide is for a separate Pi, so it won’t work with HA OS. I don’t know if there exists an add-on already.

The stick is plugged into the NUC. Your guide has a lot of steps that I assume I won’t need to do because the add-ons for HassOS seem like they’ll do it for me, but it helps to know what the steps are and what I do and don’t need to do to migrate.

I think touching all the battery powered devices will be the biggest pain in my case. I’ve got 8 smoke/CO detectors, 5 door sensors, 3 door locks, etc. I do think the new integration will work better for me though because the current integration is a bit wonky.

1 Like

In my case it was enough to trigger the device once but probably depends on the device.

Well, I’ve set up the OpenZWave integration. It’s sort of working (about 3/4 of the devices showed up). It’ll be interesting working through the problems…

1 Like

It works, but some types are missing like short, if the configuration parameter uses a short it won’t work just yet. There’s an upstream library update needed to get that working.

Are list types also missing? I’ve tried setting param 120 on a aeotec nano shutter, and it seems to not send anything to ozw. Any pointer to what is missing? PR or something? Is it on ozwadmin side?

Nope, list types work fine. You either specify the integer value, or the string label.

1 Like

I’ve tried it with the Aeotec nano shutter and it just doesn’t send anything (I have been able to set other params though, but not param 120 and 121). I’ve tried with both int and string:

node_id: 11
parameter: 120
value: 3
node_id: 11
parameter: 120
value: "Push button"

But nothing happens. No logs or anything.

Any update on this? Any link to a PR or Issue?