Upgrade from OH2.5.12 to OH3.4.2 (Raspberry 3+ to Raspberry Pi 4+)

I was not precise. “stored things” I ment all of the z-wave components in 2.5 system. Since they are “stored” on the ZWave stick the new OH3 shall see them when the stick is connected to the new RPi.

So when I configure fresh and new PRi with Oh3 and connect my Zwave USB stick (controller), openhabian will see them on the list. I can add one after another and configure step-wise new OH3.
Any time i can shutdown RP4 and connect ZWave controller back to the old Oh2 having full functionality.

If it is so. This would be a solution for me.
.

Things are a concept that only exists in openHAB. There is no such thing as a Thing in Zwave. The Zwave controller stores a bunch of information about the Zwave network and it’s nodes and when auto-discovery takes place, OH creates Things based on that information.

Yes.

Thank you for the explanation! Yes you are right, I had used a wrong language but meant the same.

Let me try this step-wise approach to bring the new OH3 up to speed.

ahhhh! First problems.
I use AEOTEC USB Z-wave stick 5Gen and it is not being recognised by the OH3 on RPi 4. I read this post and find out there are problems with the compatibility

it is not even recognised after connecting to the usb slot so i assume it needs to be connected over the hub. I do not want to go this way. It means I have to migrate with every singe z-wave node to the new system. :frowning:

How you plug in the zwave controller changes nothing. Either you’d have to do this anyway no matter what, or you never have to. All the USB hub provides is cleaner power to the controller.

I am afraid your are right. I do not want to have usb hub as of now. for me it is important to have clean, stable and reliable home automation system. With OH2 I have been learning. With OH3 I need to clean up this what was not properly done before.
I created new post to gather user experience.

Your option are:

  • Fix your Z-Wave stick (Aeotec Z-Stick Gen5 Raspberry Pi4 Mod - olausson.de).
  • Use a hub.
  • Replace your Z-Wave controller (note that series 700 Z-Wave controllers are not supported by the Z-Wave Binding, series 700 Z-Wave devices (i.e. non-controllers) are supported).

thanks for the warning. The list has been just reduced. The tip with the resistor is worth to try.
Thanks for the link

I try to bring the z-wave stick to alive with the usb hub.

  1. Connect USB Hub - the stick was able to be recognised
openhabian@oh3:~ $ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0658:0200 Sigma Designs, Inc. Aeotec Z-Stick Gen5 (ZW090) - UZB
Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
openhabian@oh3:~ $ dmesg | grep tty
[    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 bcm2708_fb.fbwidth=0 bcm2708_fb.fbheight=0 bcm2708_fb.fbdepth=16 bcm2708_fb.fbswap=1 smsc95xx.macaddr=DC:A6:32:77:8E:67 vc_mem.mem_base=0x3f000000 vc_mem.mem_size=0x3f600000  console=ttyS0,115200 console=tty1 root=PARTUUID=b1c15527-02 rootfstype=ext4 fsck.repair=yes rootwait
[    0.001060] printk: console [tty1] enabled
[    1.589956] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 32, base_baud = 0) is a PL011 rev2
[    3.347625] systemd[1]: Created slice system-getty.slice.
[  291.862010] cdc_acm 1-1.3.1:1.0: ttyACM0: USB ACM device

  1. Initialising of the zwave controller was not successful

2023-03-10 21:20:06.010 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'zwave:serial_zstick:616a0823fc' changed from OFFLINE (BRIDGE_OFFLINE): Controller is offline to UNINITIALIZED
2023-03-10 21:20:06.304 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'zwave:serial_zstick:616a0823fc' changed from UNINITIALIZED to UNINITIALIZED (DISABLED)
==> /var/log/openhab/openhab.log <==
2023-03-10 21:20:08.189 [DEBUG] [wave.discovery.ZWaveDiscoveryService] - Creating ZWave discovery service for zwave:serial_zstick:616a0823fc with scan time of 60
2023-03-10 21:20:08.191 [DEBUG] [wave.discovery.ZWaveDiscoveryService] - ZWave discovery: Active zwave:serial_zstick:616a0823fc
2023-03-10 21:20:08.193 [INFO ] [zwave.handler.ZWaveControllerHandler] - Attempting to add listener when controller is null
2023-03-10 21:20:08.253 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Initializing ZWave serial controller.
2023-03-10 21:20:08.254 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Initializing ZWave Controller zwave:serial_zstick:616a0823fc.
==> /var/log/openhab/events.log <==
2023-03-10 21:20:08.241 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'zwave:serial_zstick:616a0823fc' changed from UNINITIALIZED (DISABLED) to INITIALIZING
2023-03-10 21:20:08.257 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'zwave:serial_zstick:616a0823fc' changed from INITIALIZING to OFFLINE (BRIDGE_OFFLINE): Controller is offline
2023-03-10 21:20:12.223 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'RaspberryPiSystem_Cpu_Load' changed from 0.9 % to 1.8 %
==> /var/log/openhab/openhab.log <==
2023-03-10 21:20:13.258 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Connecting to serial port '/dev/ttyAMA0'
2023-03-10 21:20:13.267 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Starting receive thread
2023-03-10 21:20:13.270 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Starting ZWave thread: Receive
2023-03-10 21:20:13.272 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Serial port is initialized
2023-03-10 21:20:13.275 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Initialising ZWave controller
2023-03-10 21:20:13.279 [INFO ] [ve.internal.protocol.ZWaveController] - Starting ZWave controller
2023-03-10 21:20:13.279 [DEBUG] [nal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty
2023-03-10 21:20:13.281 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
2023-03-10 21:20:13.281 [INFO ] [ve.internal.protocol.ZWaveController] - ZWave timeout is set to 5000ms. Soft reset is false.
2023-03-10 21:20:13.284 [DEBUG] [ve.internal.protocol.ZWaveController] - Event listener added.
2023-03-10 21:20:13.287 [DEBUG] [ve.internal.protocol.ZWaveController] - Event listener added.
2023-03-10 21:20:13.289 [DEBUG] [zwave.handler.ZWaveControllerHandler] - Scheduling network mesh heal for 5 hours time.
2023-03-10 21:20:16.283 [DEBUG] [.ZWaveController$InitializeDelayTask] - Initialising network
2023-03-10 21:20:16.287 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 255: Added 5 to queue - size 1
2023-03-10 21:20:16.289 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
2023-03-10 21:20:16.292 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 03 00 15 E9 
2023-03-10 21:20:16.294 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - NODE 255: Sending REQUEST Message = 01 03 00 15 E9 
2023-03-10 21:20:16.297 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Message SENT
2023-03-10 21:20:16.300 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage started: TID 5: [WAIT_RESPONSE] priority=Controller, requiresResponse=true, callback: 0
2023-03-10 21:20:16.302 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 255: Added 6 to queue - size 1
2023-03-10 21:20:16.304 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 1 out at start. Holdoff false.
2023-03-10 21:20:16.306 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 255: Added 7 to queue - size 2
2023-03-10 21:20:16.309 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 1 out at start. Holdoff false.
2023-03-10 21:20:16.311 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 255: Added 8 to queue - size 3
2023-03-10 21:20:16.313 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 1 out at start. Holdoff false.
2023-03-10 21:20:16.315 [DEBUG] [rialmessage.GetSucNodeIdMessageClass] - Get SUC NodeID
2023-03-10 21:20:16.317 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 255: Added 9 to queue - size 4
2023-03-10 21:20:16.319 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 1 out at start. Holdoff false.
2023-03-10 21:20:18.301 [DEBUG] [sactionManager$ZWaveTransactionTimer] - NODE 255: TID 5: Timeout at state WAIT_RESPONSE. 3 retries remaining.
2023-03-10 21:20:18.305 [DEBUG] [sactionManager$ZWaveTransactionTimer] - TID 5: Transaction is current transaction, so clearing!!!!!
2023-03-10 21:20:18.307 [DEBUG] [e.internal.protocol.ZWaveTransaction] - TID 5: Transaction CANCELLED
2023-03-10 21:20:18.309 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 255: notifyTransactionResponse TID:5 CANCELLED
2023-03-10 21:20:18.320 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
2023-03-10 21:20:18.322 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 03 00 20 DC 
2023-03-10 21:20:18.325 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - NODE 255: Sending REQUEST Message = 01 03 00 20 DC 
2023-03-10 21:20:18.327 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Message SENT
2023-03-10 21:20:18.329 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage started: TID 6: [WAIT_RESPONSE] priority=Controller, requiresResponse=true, callback: 0
2023-03-10 21:20:20.330 [DEBUG] [sactionManager$ZWaveTransactionTimer] - NODE 255: TID 6: Timeout at state WAIT_RESPONSE. 3 retries remaining.
2023-03-10 21:20:20.332 [DEBUG] [sactionManager$ZWaveTransactionTimer] - TID 6: Transaction is current transaction, so clearing!!!!!
2023-03-10 21:20:20.334 [DEBUG] [e.internal.protocol.ZWaveTransaction] - TID 6: Transaction CANCELLED
2023-03-10 21:20:20.336 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 255: notifyTransactionResponse TID:6 CANCELLED
2023-03-10 21:20:20.340 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
2023-03-10 21:20:20.342 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 03 00 07 FB 
2023-03-10 21:20:20.345 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - NODE 255: Sending REQUEST Message = 01 03 00 07 FB 
2023-03-10 21:20:20.347 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Message SENT
2023-03-10 21:20:20.349 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage started: TID 7: [WAIT_RESPONSE] priority=Controller, requiresResponse=true, callback: 0
2023-03-10 21:20:22.352 [DEBUG] [sactionManager$ZWaveTransactionTimer] - NODE 255: TID 7: Timeout at state WAIT_RESPONSE. 3 retries remaining.
2023-03-10 21:20:22.353 [DEBUG] [sactionManager$ZWaveTransactionTimer] - TID 7: Transaction is current transaction, so clearing!!!!!
2023-03-10 21:20:22.354 [DEBUG] [e.internal.protocol.ZWaveTransaction] - TID 7: Transaction CANCELLED
2023-03-10 21:20:22.355 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 255: notifyTransactionResponse TID:7 CANCELLED
2023-03-10 21:20:22.358 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
2023-03-10 21:20:22.360 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 05 00 06 96 0F 65 
2023-03-10 21:20:22.362 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - NODE 255: Sending REQUEST Message = 01 05 00 06 96 0F 65 
2023-03-10 21:20:22.363 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Message SENT
2023-03-10 21:20:22.365 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage started: TID 8: [WAIT_RESPONSE] priority=Controller, requiresResponse=true, callback: 0
==> /var/log/openhab/events.log <==
2023-03-10 21:20:22.242 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'RaspberryPiSystem_Cpu_Load' changed from 1.8 % to 1.1 %
==> /var/log/openhab/openhab.log <==
2023-03-10 21:20:24.367 [DEBUG] [sactionManager$ZWaveTransactionTimer] - NODE 255: TID 8: Timeout at state WAIT_RESPONSE. 3 retries remaining.
2023-03-10 21:20:24.369 [DEBUG] [sactionManager$ZWaveTransactionTimer] - TID 8: Transaction is current transaction, so clearing!!!!!
2023-03-10 21:20:24.371 [DEBUG] [e.internal.protocol.ZWaveTransaction] - TID 8: Transaction CANCELLED
2023-03-10 21:20:24.373 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 255: notifyTransactionResponse TID:8 CANCELLED
2023-03-10 21:20:24.376 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
2023-03-10 21:20:24.379 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 03 00 56 AA 
2023-03-10 21:20:24.381 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - NODE 255: Sending REQUEST Message = 01 03 00 56 AA 
2023-03-10 21:20:24.383 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Message SENT
2023-03-10 21:20:24.385 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage started: TID 9: [WAIT_RESPONSE] priority=Controller, requiresResponse=true, callback: 0
2023-03-10 21:20:26.386 [DEBUG] [sactionManager$ZWaveTransactionTimer] - NODE 255: TID 9: Timeout at state WAIT_RESPONSE. 3 retries remaining.
2023-03-10 21:20:26.388 [DEBUG] [sactionManager$ZWaveTransactionTimer] - TID 9: Transaction is current transaction, so clearing!!!!!
2023-03-10 21:20:26.390 [DEBUG] [e.internal.protocol.ZWaveTransaction] - TID 9: Transaction CANCELLED
2023-03-10 21:20:26.392 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 255: notifyTransactionResponse TID:9 CANCELLED
2023-03-10 21:20:26.396 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
2023-03-10 21:23:30.656 [DEBUG] [g.zwave.internal.ZWaveConfigProvider] - No bridgeUID found in getConfigDescription thing:zwave:serial_zstick:616a0823fc

try changing the UI controller port to /dev/ttyACM0. That looks like the port at 291.8662010 on the dmesg

I am confused. I though it is there. I placed this one in the configuration

Not an expert, but I have always seen the aeotec come up as ttyACM0 on both Rpi3 and Rpi4. Usually ttyAMA0 means there is a problem. Should be a quick try. Just change the port and wait 30 seconds. If not, then it is something else.

You are probably right!!!
I compared the configuration with my OH2 system and it is indeed /dev/ttyACM0
let me try this out…

WORKS!
change to /dev/ttyAMO (typo: I meant /dev/ttyACMO) changed the controller to online.

Great. (I think you mean ttyACM0).

The other thing I was going to mention from an earlier post of yours (I think it was you). Is that the binding gets a little jumpy switching the z-stick in and out of Rpi3 and Rpi4. I usually do a bundle:list in karaf to find the zwave binding number, then a bundle:stop xxx before removing the zstick, then a bundle:start xxx after I plug it back in. Worst case if zwave doesn’t come up in 30 seconds is a OH restart. There used to be a LCK file problem too, but I think that is fixed.

oh yes. I think I am spending too long time on this today. Thanks for the fruitful support

I decided to bring a new instance of the openhab with a new z-wave controller.

Now it is the time to exclude all of my nodes (one by one, slowly) and include them again into a new controller. Before i will do this, I need to be sure the procedure I want to use is the right one.

OH2 runs with Aeotec 5G USB stick. This are steps i want to go:

  1. Set up the controller in the exclusion mode as in the manual explained
  2. after step 2 remove the node
  3. The controller shall provide exclusion confirmation
  4. Set the z-wave device into factory mode
  5. Include the node to a new controller (system)

What will happen with my Items? Shall I take care about them as well? Most of them are in the files, but some were added with the UI.

This is my theory. Usually, it does not run so smoothly so i will try to set up DEBUG mode for z-vawe binding. I read aslo about z-vawe log viewer but I do not know how to capture the right file in this case :frowning:

Can someone confirm the procedure?
Can someone explain how to capture the z-wave log file for analysis?

Maybe I’m missing something. Why don’t you simply backup the old stick and copy that to the new one? The free simplicity studio has a backup option or there is an old aeotec backup utility.

Edit: you may need a PC?

I decided to use a new USB stick (Aeotec 5G → UZB). I assume there is not easy backup option between these two.

It should work. They have the same chip.

Edit: the other advantage is that both your Rpi3 and Rpi4 will still be operational. I have copied the network from an Aeotec to a Zooz stick. I have an UZB but use it for a Zniffer. Anyway it will save you lots of time (depending on how many nodes you have)

Edit2: Here is a link to the Aeotec Z-Stick Gen5 Backup Software : Aeotec Help Desk (freshdesk.com)

1 Like