Front end integration + yaml custom config_path?

Hello - currently running the built in / deprecated z-wave integration (waiting for migration path!). I have it configured using the front end configuration > integrations method.

I’m using switches from Inovelli which require custom “drivers” to be added to the openzwave config directory. Installation & Setup | LZW30-SN | On/Off - Red Series (Gen 2) | Home Assistant (Python Virtual Environment) (

Running HA in Docker - every time I update my custom drivers get overwritten and I have to repeat the process.

Thinking if I can run the config_path variable I can run the current openzwave config per instructions here Home Assistant Z-Wave Tips and Tricks - Self Hosted Home and avoid having to re-configure every update.

With the “front end” integration of z-wave (i.e. nothing in my configuration.yaml) is it possible for me to configure config_path?


presume you mean every time I update HA, my Zwave custom drivers get overwritten…
Yes, that happens if the directories are not created and referecned in the zwave yaml config using config_path (which you seem to indicate you do not want to do) or follow the guide which is easily found (Configuration - Home Assistant)

Was that option not available during the initial UI set up?

But even so it can’t be changed after the initial set up so even if it was there you’l need to delete the integration and set it up again.

If it it isn’t then I would delete the UI configuration and add the configuration to your configuration.yaml manually.

You’re saying I cannot change the config_path after the integration has been setup? Seems different from every other HA integration I’ve used - you can typically change variables freely and reload / restart HA to have them picked up.

I do not recall if the option was present when I initially setup zwave - I didn’t have a need for it then so if it was there I left it as default.

I really don’t want to delete the zwave integration and mess up my zwave devices and custom dashboard. Is there a “painless” way to do this?

No, you have to configure via yaml. However, once you do that the integration will appear in the UI for everything else.

it wont mess anything up, just keep your cache file and you’re good to go.

thanks @petro! What is the right order to do things? Delete the “front end” zwave integration, add configuration in configuration.yaml, reboot?

What about my zwave network key? Is there a way to get that?

I don’t know, it’s been 2 years since I switched from the UI to yaml in that integration. I don’t think there will be a smooth transition. Backup your instance with a snapshot. Then I’d probably delete the UI integration. Shutdown. Add the configuration.yaml and go from there. The zwave network key will be inside the hidden .storage folder and i believe it would be in the config_entries file. You can find more details about that file in the migration guides for zwavejs.

Thank you - I will take a look.

FYI for anyone wondering the z-wave network key can be found in /.storage/core.config_entries

I guess I’m confused about how what I said above was different than what you ultimately ended up doing… :man_shrugging:

It is effectively the same thing. I was surprised to hear that was the only option and was seeking clarification.

For the record - I haven’t done anything yet (besides find my key). I’m thinking I might be better off just migrating to zwavejs than trying to keep the legacy zwave integration going.

Even if there is a migration, you’ll have to hand hold the transition because they use different zwave libraries.

I know people are expecting a magic migration tool, but that’s simply not possible. It’ll just be a tool that walks through all the entities.

Thanks @petro. When you first suggested looking at the migration guides to find my network key I searched and found this Z-Wave JS - Home Assistant ( The detail about core.config_entries wasn’t explicit there so I posted the detail here. I now see the guides you have written on the forum How do I switch to Zwave JS? - Configuration / Z-Wave - Home Assistant Community ( which are comprehensive (thank you for writing these!).

If you look at the integration page for Z-Wave JS it specifies the following “we currently do not provide a full-fledged, worry-free, click-a-button, migration from old to new. We’re exploring options to provide this in the future.” I guess that is what I was hoping for based on the official documentation.