I noticed in a recent update that Zwave JS UI is now included with the base Zwave JS app. However I was running Zwave JS UI already before. I’ve stopped and uninstalled the old ZWave JS UI app but in the new Zwave JS that includes the UI, all of my devices show as unknown attributes. Like this:
As well, the devices are not functioning in the dashboard. I can ping them though in the new Zwave JS ui. I tried to do a re-interview node, and refresh values but still doesn’t seem to be listing them correctly.
Ok. It was still installed. I’m just going to reset everything. I have smart provisioning templates that I can just import for most things, so it should be easy to re-do stuff in the new configuration. thanks again.
I see in this forum conflicting reports on Zwave JS and Zwave JS UI. One version is that Zwave JS UI will disappear and one needs to transfer to Zwave JS eventually.
What is the reality ?
ZwaveJS-UI is a HACS (user community made) app, ZWaveJS is the “official” HA made app.
The older version of ZWaveJS was limited in UI functionality, hence the HACS version was made.
in the latest ZWaveJS version, all of the UI functionality is now included, making the HACS version redundant.
Please read the link above how to migrate from the HACS version to the official version, it more then a remove of the old app and install of the new app, some configuration files need to be migrated as well.
amost unreal how complicated this is. running linux scripts, peek, poke, compile, configure… this is why I would really bin this whole HA thing and move to apple or homey or whatever.
I had a working thing and nabu casa wrecked it, forcing me to execute manouvres I am absolutely not comfortable with.
Did you find a fix for this or just re import everything? I get the same error you got.
/migrate_to_zwave_js_app.sh store-backup_20260512212359.zip
[migrate] ERROR: No non-core Z-Wave integration found in config entries.
If and when the time comes that I have no choice but to change to Zwave JS, I may have to exclude my 64 Zwave devices from Zwave JS UI and include again in Zwave JS.....
After 2 reboots I removed the zwave js add on then rebooted then added the zwave js add on again and redownloaded the backup file and tried again it just worked.. No idea why. Thanks for the quick replied though!
Yes, you can absolutely use **Exclusion Mode** to move devices between the two versions of the software.
Since both **Z-Wave JS** and **Z-Wave JS UI** are just different "interfaces" talking to the same Z-Wave controller hardware, the process is straightforward. However, because they are separate integrations within Home Assistant, a device cannot be "active" in both at the same time.
### **The Migration Logic**
If you are moving a device from Z-Wave JS UI to the standard Z-Wave JS integration:
1. **Exclusion is Universal:** You can put the Z-Wave JS integration into **Exclusion Mode** even if the device was originally paired via Z-Wave JS UI. The controller doesn't care which software was used to pair it; it just sends a "clear your pairing data" signal to whatever device performs the inclusion/exclusion sequence.
2. **The "Clean Slate" Rule:** Excluding the device from within the standard Z-Wave JS integration will effectively "wipe" it from the Z-Wave JS UI network and factory reset the radio on the device itself.
3. **The Manual Swap:** As noted in the [Home Assistant Community](https://community.home-assistant.io/t/zwave-js-now-including-zwave-js-ui-issue/1004181/11), many users find that doing this manually (excluding from one and including in the other) is the most reliable way to ensure a clean migration, even if it is a bit of a "pain in the butt" for large networks.
---
### **Step-by-Step Transition**
If your goal is to move a specific device from the UI version to the standard version:
* **Step 1:** Go to **Settings** > **Devices & Services** > **Z-Wave JS** (Standard Integration).
* **Step 2:** Click **Configure** > **Remove Device** > **Start Exclusion**.
* **Step 3:** Trigger the exclusion sequence on your physical device (e.g., triple-click the switch).
* **Step 4:** Once Home Assistant confirms the device is removed, click **Add Device** in the standard Z-Wave JS integration.
* **Step 5:** Trigger the inclusion sequence on the device again.
### **Important Consideration: Controller Identity**
If you are using the **same USB stick** for both, the controller already knows the "Home ID" of the network.
* If you simply switch the *driver* from JS UI to Z-Wave JS, your devices may actually show up automatically because they are stored on the USB stick's internal memory.
* However, if you are seeing errors or "dead nodes," the manual **Exclude -> Re-include** method described above is the best way to fix the communication path.
Are you planning to move your entire network over, or just a few specific devices that are giving you trouble?
I did migrate from the zwave js ui hacs add to just the zwave js add on. I never uninstalled the zwave js ui app until after the migration was finished. My above post is referring to adding and removing the zwave js add on. Hopefully that is clearer than mud...
yeah.
did a full backup just in case
Downloaded the store file and the script
extracted the script
installed samba add on
terminal add on
installed zwave js add on
used samba to upload script and backup files to a folder I chose /config/packages (doesn't really matter as long as you can get there in the terminal)
open terminal app
cd to folder /config/packages/ this is where you put the files so might be different for you
type ls to see that the files you uploaded are there. Also confirms that you're in the right directory
if files are there the type chmod +x ./migrate_to_zwave_js_app.sh
if this runs without error you will just have the next prompt show no error
then type /migrate_to_zwave_js_app.sh
assuming that finishes correctly go to the next steps on the web page for "the how to"
I had to do
Reconfiguring the Z-Wave integration to use the Z-Wave JS app
followed this and disabled the zwave js ui app and everything worked.
well - I discovered that the whole "manual" from nabu casa assumes (assumption is the mother of all fuckups) that you use the zwave js backend. BUT.... you can also use the MQTT backend with Zwave JS UI - wich was what I had.
Now because nothing worked - I reverted back to JS UI and dumped the whole nabu casa thing - but all my entity names have been changed in all the hassle. Thus automations corrupted.