The Future of Z-Wave in HA - QT-OpenZWave

Today I migrated to the official beta integration in Home Assistant 0.110b2. I haven’t used the beta version before in production but so far so good.

I started by uninstalling the integration in HACS and removing the integration in Home Assistant via Configuration > Integrations. To apply the change restart Home Assistant.

I still have QT-OpenZWave running in a separate docker container which is sending the data to a separate Mosquitto MQTT container. Home Assistant is configured to use the external MQTT container.

After restarting Home Assistant I installed the “OpenZWave (beta)” integration. And that was it really. There were no configuration options and everything is working perfectly.

I had to rename my Z-Wave entities which is easier then ever from the Devices tab in the configuration menu. I have 15 devices so it took me 15-20 minutes to confirm which device is in which room and to name them correctly.

Thanks @cgarwood. Great work!

I am missing something here.

I started the process to join the beta and have installed the new OpenZWave plugin from the hass.io store. Part of the migration process is to grab the Z-Wave network key used for secure inclusion. The Home Assistant documentation on the topic says it should be in the configuration.yaml file as well as the options.xml file.

In my install, both of those locations are empty. The relevant lines don’t exist. I suspect this means that I have never set a security key, and I’d believe that. What I’m surprised by is that I’ve used the Z-Wave integration’s AddNodeSecure functionality to add all of my devices (except my thermostat, which is standard Z-Wave and not ZW+). I don’t recall seeing any errors in the logs during the inclusion process for any devices, so have I missed where this might be stored? Did HA just start automagically generating one for networks when it wasn’t specified? Is my network not using ZW secure communication at all or is it just eminently hackable due to having a blank security key?

Ultimately, my question is, what can I do to migrate to the new OpenZWave plugin in this situation?

FYI that I bring this up because if it’s a mistake that I’ve made, there are probably a lot more people that will run into this in a couple of weeks when 110 exits beta. It would be good to get ahead of that and document it for others.

Your key will be stored in the .storage directory in likely core.config_entries

1 Like

Old documentation unfortunately.
That was the way it use to be handled prior to integrations moving out of YAML.
@firstof9 has given the location of all the config files. Look for zwave and have a look for the “network_key” entry

Thanks to you both! I did find the key in core.config_entries.

Now on to learning MQTT…!

1 Like

I’m trying to get the new OZW integration to work but I’m missing something… I have previously used both the old integrated zwave support and the other ZWave to MQTT addon but all of that is removed.

I have installed the OpenZWave addon and configured it with the controller device and network key. It starts ok but outputs a ton of text in the log window. This is good I think…

I have also installed the MQTT Explorer on another computer and I can see all the OpenZWave messages pouring in. All my nodes are in /OpenZWave/1/node/ but only as numbers.

From what I can see everything is working…

But I don’t get anything into Homeassistant. And should there be a console somewhere to configure OZW?

OpenZWave/1/status/
{
    "OpenZWave_Version": "1.6.1115",
    "OZWDaemon_Version": "0.1.0",
    "QTOpenZWave_Version": "1.0.0",
    "QT_Version": "5.12.5",
    "Status": "driverAllNodesQueried",
    "TimeStamp": 1589897322,
    "ManufacturerSpecificDBReady": true,
    "homeID": 3609849604,
    "getControllerNodeId": 1,
    "getSUCNodeId": 0,
    "isPrimaryController": false,
    "isBridgeController": false,
    "hasExtendedTXStatistics": false,
    "getControllerLibraryVersion": "Z-Wave 3.95",
    "getControllerLibraryType": "Static Controller",
    "getControllerPath": "/dev/serial/by-id/usb-0658_0200-if00"
}

Do you have MQTT Discovery enabled?

Yep. But I just realized that I forgot to install the integration… Now it works!

1 Like

Just migrated to the new OpenZwave implementation… It appears my qubino Flush Shutter devices are not recognised as Covers in HA. They are recognised as ZMNHCDx Flush Shutter but there is only a switch available. Does this require any extra configuration? Or is it not implemented yet?

How do you get in the OZW control panel with the new integration?

I dont believe that is one of the implemented device types yet.

I dont believe there is any type of UI available yet. Ive been interacting with my added ZWave devices via manual MQTT commands. They seem to be developing a new control panel so I am not sure that the upstream control panel will work.

I’m finding ozw-admin to be helpful. I have this on my desktop computer and connected to qt-openwave running on RPI.

It seems that, at least for now, if you create or change the ‘Node Name’ using ozw-admin, it will update all the entity_ids of a device in Home Assistant!

Before

ozw-admin

Home Assistant

image

After

In ozw-admin, just give a Node Name

And magic happens! ( I think it’s magic anyways ) All the entities of that switch device have been automagically rename in Home Assistant!

And it even updated in Lovelace as well!
image

And it updated all the entities fro the switch!

2 Likes

A quick question, are RFID keypads supported already?
I’m getting this error:

Screenshot_2020-05-20 Outils de développement - Home Assistant

My conclusion: “the future of z-wave and home assistant is very vague”. Nothing is working ok, and nothing is clear…

I really hope I will be able to see the light in the near future.

Might I ask if that same Raspberry Pi hosting qt-openzwave also hosting your Home Assistant instance? Thanks!

Try to remember this integration is still BETA and the limitations are very clearly labelled. The old OZW1.4 integration is not being deprecated and is available for use for those who want full ZWave support. The new integration is for the early adopters, willing to take the bumpy ride and report the issues at hand

4 Likes

No, I’m running Home Assistant Core (virtualenv) on FreeNAS, I set up the RPI specifically for qt-openzwave. – I also made an outline of minimal steps to setup RPI for qt-openzwave.

1 Like

Great post troy! Looking at my devces using ozw-admin i can see the options i’m missing within HA so it looks like the OpenZwave integration component is the problem…

EDIT: everything seems to be there in the ozw-daemon, just the HA integration is lacking support for a couple of devices. I worked around it by creating MQTT switches for all missing zwave functions. For instance, to turn on/off my Qubino Heat and Cool thermostat:

- platform: mqtt
  name: "Handdoekverwarming"
  state_topic: "OpenZWave/1/node/11/instance/1/commandclass/64/value/189792276/"
  command_topic: "OpenZWave/1/command/setvalue/"
  value_template: '{{value_json.Value["Selected_id"]}}'
  state_on: "3"
  state_off: "0"
  payload_on: '{"ValueIDKey":189792276, "Value":3}'
  payload_off: '{"ValueIDKey":189792276, "Value":0}'

So as long as these devices are not part of the new zwave integration i can still use them.

3 Likes

Any idea of the best way to set multiple value ID keys to the same value?
I have 16 switches and collecting value ID keys to put into different flows/automations is quite the onerous task…