Moving entire Z-Wave mesh from OH2.5 to OH3 ... quickly

I have an rPi3 running OH2.5. Like, I suspect, many people, it’s become quite useful and I’ve just kept adding Z-Wave devices as limited budget allows. Now, even things like the heating / hot water, the TV remote, and the electric fence (for the chickens) is under OpenHAB control, and my partner is quite reliant on that ease of control.

This reliance means that my “change windows” can’t be too long; I can’t go breaking the electric fence control or the hot water timer without someone noticing and shouting!

I want to move to OpenHAB3, and I’ve got an rPi4B ready and waiting, running OpenHABian. I’d hoped that because the RaZberry GPIO card has the mesh saved to an EPROM, that I’d just be able to swap the card over, import the Z-Wave controller, and all my devices would “magically” appear. The rules etc are fairly simple to re-create so I was really just focusing on simple on/off control to start with.

The “magic” that I’d hoped for didn’t happen, and my z-wave mesh was only imported as a list of unrecognised nodes, apart from the Fibaro FGT-001 radiator valves every single device was merely listed as “nodeXX” without any real identifying features. I tried running a few "heal"s on devices, and re-discovering, but I couldn’t see an immediate way to simply (“magically”) activate an already-defined Z-Wave mesh. I couldn’t easily find a way to get OH3 to recognise these devices, even though they’re definitely in the Z-Wave Binding’s database.

In the end, I gave up and flipped back to OH2.5 by moving the card back to the rPi3.
I still want to move to OH3, and it’s obvious I didn’t plan this correctly, but does anyone know how I’d best export&import/move the mesh details over, so that I can quickly get started, hopefully without resetting the devices and having to import everything “fresh”? That could take a while, and some devices are now accessible only with a ladder…

The fact that your FGT-001 appeared shows that you can eventually make the move in the way you plan to do it. The reason your other devices do not appear in the same way seems to be caused by the (local) Z-Wave database that comes with the Z-Wave AddOn.
Did you try OH3.0 or a OH3.1 Milestone?

Except the encryption key for secure inclusion is stored in the binding, not on the EPROM. Check the device database. The OH 3.0.x binding database is from when 3.0.0 was first released and, due to changes in 3.1.x, cannot be updated.

3.1.0 Milestone 4 & newer currently have the most up to date database.

Are these battery devices? If so you need to wake them up in order for the binding to get enough information from the device to determine what it is. You don’t need to do that for mains powered devices because those devices will respond to direct requests for information. Battery powered devices though are not always listening nor reporting so it can take a significant amount of time (days or weeks, sometimes never) for enough packets to be collected from a battery powered device to identify it.By waking the device up you force it to report to the controller.

So yes, the network is stored on the controller. But there is not enough on the controller to ID the devices.

If you are talking about mains powered devices that are not showing up something else is going wrong. Collecting debug level logs from the binding will be an important first step.

1 Like

Ok, thanks folks. I’m getting the impression that I should pick another evening when my partner is out, and try again with OH 3.1, and, should that fail, collect debug logs from the bindings. I’m not quite sure what to make of the encryption key and wondered if there was a (manual) process for grabbing it and moving it over. I’m a Unix greybeard but there are many moving parts to OH that I don’t yet understand.

I’m fully expecting this to be a multiple evening venture.

Edit: Whoops, Sorry @rlkoshak, they’re almost all mains-powered devices. Curiously, the only devices that did show up are battery-powered.

You could try an in place upgrade. Take a backup of your SD card first and then try the upgrade. That should leave the existing Things mostly unchanged so that OH doesn’t have to rediscover them.

Did you try copying the zwave directory from your OH2 instance’s userdata to your OH3 instance? That’s where the XML files describing the nodes and network are. Not sure if it’s a good practice (if something changed in the meantime) but still, that’s what I did over a year ago and it worked - the nodes just appeared in the inbox with their real names and all I had to do was add them back.

That’s something I didn’t think of, at all. I might try imaging the rPi3 SD card over to the rPi4, then do an in-place upgrade there.