First, let me start by saying that I love Home Assistant. My install has over 300 entities from over 40 integrations, I have multiple wall tablets, and even a HA t-shirt.
But today, I am disappointed.
Today, I tried to migrate to Z-Wave JS. It did not go well.
For some background, my Z-Wave network consists of primarily hardwired nodes (over 40) in the form of GE/Jasco/enBrighten in-wall switches. I have a handful of wireless sensors as well (less than 5).
Here are the steps I took to migrate from the legacy Z-Wave integration (outdated) to Z-Wave JS - note that these instructions can basically be summed up in the form of āI followed the migration wizard.ā
- Performed a partial backup (I excluded any addons that I didnāt need to back up, like VS Code, InfluxDB, etc). HA itself and all of the configuration folders were included.
- Ran the migration tool.
- Stopped my old Z-Wave network.
- Copied the network key from /config/.storage (Issue 1)
- Installed the addon, entering my old network key into the S0 option
- The wizard informed me that ALL of my devices couldnāt be migrated. (Issue 2) I proceeded anyway, figuring that my network would still be operational and Iād just have Node1, Node2, ā¦NodeX and have to rename them.
- Completed the wizard. The Z-Wave network reported as āOperationalā with a green check.
After the wizard, I found all of the entities for node status, with nodes in various states (alive, unknown, sleeping), but no actual control nodes. I couldnāt re-include/re-add the nodes or really do anything. (Issue 3) Effectively, all of my devices were non-functional and I couldnāt easily see the status of all of them or what was going on. I even tried āincludingā a device that was already on my network. No dice. So I restored my backup.
After backup restoration, I had to manually remove the new Z-Wave JS addon (otherwise both would be running), and then restart HA a second time so that the old integration would work again. After restarting (and rebooting the host, too, since the USB device seemed to be stuck), the legacy Z-Wave integration fails to start (but the entities show up in HA, they just donāt work if you try to toggle them on/offā¦ so the integration is loaded, just not correctly). The error is āZ-Wave not ready after 300 seconds, continuing anywayā.
And to top it all off, my SQLite database was corrupted, so now Iāve lost 2 months of power and solar history (Issue 4).
Now, I did not come here just to complain. I have some constructive feedback that I hope can make this experience better in the future.
Issue 1: Network key migration does not work / is not present in the wizard. If migrating, please pull the old network key automatically and populate it into the S0 field, or at the very least provide instructions on where to find the value on-screen during the wizard. Donāt make the user go into a JSON configuration file to look for it and copy it out.
Issue 2: I have no idea why it told me that ALL of my Z-Wave entities could not be migrated. All of the products I own are standard and from well-known manufacturers (GE/Jasco/enBrighten, and a few Aeotec and Zooz devices) and are not complex. Most arenāt even āZ-Wave Secureā because theyāre hard-wired. So there should have been no issue whatsoever in migrating.
Issue 3: Iām now left with a completely broken Z-Wave network, and over 40 devices to try and figure out how to manually exclude/reset and then re-include AND re-setup with the correct friendly names and more importantly, the correct entity IDs so that my automations continue to work correctly. If the wizard told me to take a backup first, and the backup doesnāt work (the Z-Wave integration didnāt restore correctly or isnāt functioning correctly), then why even take the backup in the first place? In this case, the wizard should warn you that this is irreversible and restoring from a backup will not work.
Issue 4: I understand databases get corrupt, and I know that improvements have been made so that Home Assistant doesnāt just completely stop functioning when this happens. But now that we have statistics and long-term measurement storage in the database, it really sucks having to lose all of that data with no (easy) way of getting it back, especially with the new energy dashboard being able to show months or even a yearās worth of data at a time. It would be great if we could configure the statistics data to write to a different database than the standard entity recorder/history integration, so that if the main history recorder gets corrupted, we donāt lose all of our historical statistics.
Again, I Home Assistant, and this is certainly not the end for me - but this whole experience has left a sour taste in my mouth. Having to spend hours and hours to fix this stuff, effectively being āpunishedā for simply trying to upgrade from a deprecated integration/addon, is frustrating and tiring.