Zwave adding devices

  • Platform information:
    • Hardware: Raspberry 4 (2GB RAM)
    • OS: Raspbian GNU/Linux
    • openHAB version: 2.5.10 (Latest openhabian)
  • Issue of the topic: I can’t add my Aeotec devices to the ZME controller
  • Devices: two Aeotec Sensor 6 and a range 6 device.
  • Controller ZME USB (in one of the USB ports on the device)

I replaced my trusty PI3 a couple of months ago with a new Pi4 and moved over the zwave controller. The three zwave devices continue to work.

Then a month or so ago my zwave devices stopped working and after a number of frustrating attempts to re-include after resetting them, hard resetting the controller a number of times, installing and reinstalling the binding, I finally decided to get a new controller.

That new controller arrived today and I have re-installed the binding, verified that the zwave device is “online”.

I’ve tried to include the device a couple of times: at a distance to the controller and right next to it (literally 5 cm’s away from the controller), I’ve verified that the controller blinks (blue) when pressing the plus sign in the paper UI (Inbox). Neither the sensor 6 nor the range 6 was found. When I press the “inclusion” button on the devices, they blink green for a couple, then goes red.

This is what I see in the logs:

2020-11-27 16:13:54.155 [DEBUG] [wave.discovery.ZWaveDiscoveryService] - ZWave discovery: Stop zwave:serial_zstick:ZMEUZB1

2020-11-27 16:13:54.158 [DEBUG] [ve.internal.protocol.ZWaveController] - ZWave inclusion process not running - nothing to do

2020-11-27 16:13:54.163 [DEBUG] [wave.discovery.ZWaveDiscoveryService] - ZWave discovery: Start zwave:serial_zstick:ZMEUZB1

2020-11-27 16:13:54.166 [DEBUG] [ve.internal.protocol.ZWaveController] - ZWave controller start inclusion - mode 2

2020-11-27 16:13:54.169 [DEBUG] [ve.internal.protocol.ZWaveController] - Event listener added.

2020-11-27 16:13:54.172 [DEBUG] [al.protocol.ZWaveInclusionController] - ZWave controller start inclusion

2020-11-27 16:13:54.175 [DEBUG] [ol.serialmessage.AddNodeMessageClass] - Setting controller into INCLUSION mode, highPower:true networkWide:true.

2020-11-27 16:13:54.178 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 255: Added 59 to queue - size 1

2020-11-27 16:13:54.181 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.

2020-11-27 16:13:54.185 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 05 00 4A C1 1B 6A 

2020-11-27 16:13:54.189 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - NODE 255: Sending REQUEST Message = 01 05 00 4A C1 1B 6A 

2020-11-27 16:13:54.192 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Message SENT

2020-11-27 16:13:54.193 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 06

2020-11-27 16:13:54.195 [DEBUG] [nal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=null[0], type=ACK[2], dest=255, callback=0, payload=

2020-11-27 16:13:54.195 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage started: TID 59: [WAIT_REQUEST] priority=Controller, requiresResponse=true, callback: 27

2020-11-27 16:13:54.196 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=null[0], type=ACK[2], dest=255, callback=0, payload=

2020-11-27 16:13:54.198 [DEBUG] [nal.protocol.ZWaveTransactionManager] - lastTransaction null

2020-11-27 16:13:54.199 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 07 00 4A 1B 01 00 00 A8 

2020-11-27 16:13:54.199 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Received msg: ACK

2020-11-27 16:13:54.201 [DEBUG] [nal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty

2020-11-27 16:13:54.202 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 1 out at start. Holdoff false.

2020-11-27 16:13:54.204 [DEBUG] [nal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=AddNodeToNetwork[74], type=Request[0], dest=1, callback=27, payload=1B 01 00 00 

2020-11-27 16:13:54.207 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=AddNodeToNetwork[74], type=Request[0], dest=1, callback=27, payload=1B 01 00 00 

2020-11-27 16:13:54.209 [DEBUG] [nal.protocol.ZWaveTransactionManager] - lastTransaction TID 59: [WAIT_REQUEST] priority=Controller, requiresResponse=true, callback: 27

2020-11-27 16:13:54.210 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Checking outstanding transactions: 1

2020-11-27 16:13:54.212 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Last transaction: TID 59: [WAIT_REQUEST] priority=Controller, requiresResponse=true, callback: 27

2020-11-27 16:13:54.213 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Checking TID 59: (Callback 27)

2020-11-27 16:13:54.215 [DEBUG] [.serialmessage.ZWaveCommandProcessor] - Callback match!

2020-11-27 16:13:54.216 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Correlated to TID 59: callback 27

2020-11-27 16:13:54.219 [DEBUG] [ve.internal.protocol.ZWaveController] - Incoming Message: Message: class=AddNodeToNetwork[74], type=Request[0], dest=1, callback=27, payload=1B 01 00 00 

2020-11-27 16:13:54.220 [DEBUG] [ol.serialmessage.AddNodeMessageClass] - Add Node: Learn ready.

2020-11-27 16:13:54.222 [DEBUG] [al.protocol.ZWaveInclusionController] - Inclusion event: Current state IncludeSent, new event IncludeStart

2020-11-27 16:13:54.223 [DEBUG] [e.internal.protocol.ZWaveTransaction] - TID 59: Transaction COMPLETED

2020-11-27 16:13:54.225 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 255: Response processed after 31ms

2020-11-27 16:13:54.226 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 255: TID 59: Transaction completed

2020-11-27 16:13:54.227 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 255: notifyTransactionResponse TID:59 DONE

2020-11-27 16:13:54.229 [DEBUG] [nal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty

2020-11-27 16:13:54.230 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
2020-11-27 16:14:54.162 [DEBUG] [wave.discovery.ZWaveDiscoveryService] - ZWave discovery: Stop zwave:serial_zstick:ZMEUZB1

2020-11-27 16:14:54.164 [DEBUG] [al.protocol.ZWaveInclusionController] - ZWave controller stopping inclusion at IncludeStart

2020-11-27 16:14:54.165 [DEBUG] [ol.serialmessage.AddNodeMessageClass] - Ending INCLUSION mode.

2020-11-27 16:14:54.167 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 255: Added 60 to queue - size 1

2020-11-27 16:14:54.168 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.

2020-11-27 16:14:54.171 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 05 00 4A 05 1C A9 

2020-11-27 16:14:54.174 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - NODE 255: Sending REQUEST Message = 01 05 00 4A 05 1C A9 

2020-11-27 16:14:54.177 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 06

2020-11-27 16:14:54.176 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Message SENT

2020-11-27 16:14:54.179 [DEBUG] [nal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=null[0], type=ACK[2], dest=255, callback=0, payload=

2020-11-27 16:14:54.179 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage started: TID 60: [WAIT_REQUEST] priority=Controller, requiresResponse=true, callback: 28

2020-11-27 16:14:54.181 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=null[0], type=ACK[2], dest=255, callback=0, payload=

2020-11-27 16:14:54.182 [DEBUG] [nal.protocol.ZWaveTransactionManager] - lastTransaction null

2020-11-27 16:14:54.183 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Received msg: ACK

2020-11-27 16:14:54.184 [DEBUG] [nal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty

2020-11-27 16:14:54.186 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 1 out at start. Holdoff false.

2020-11-27 16:14:54.232 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 07 00 4A 1C 06 00 00 A8 

2020-11-27 16:14:54.236 [DEBUG] [nal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=AddNodeToNetwork[74], type=Request[0], dest=6, callback=28, payload=1C 06 00 00 

2020-11-27 16:14:54.239 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=AddNodeToNetwork[74], type=Request[0], dest=6, callback=28, payload=1C 06 00 00 

2020-11-27 16:14:54.241 [DEBUG] [nal.protocol.ZWaveTransactionManager] - lastTransaction TID 60: [WAIT_REQUEST] priority=Controller, requiresResponse=true, callback: 28

2020-11-27 16:14:54.242 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Checking outstanding transactions: 1

2020-11-27 16:14:54.244 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Last transaction: TID 60: [WAIT_REQUEST] priority=Controller, requiresResponse=true, callback: 28

2020-11-27 16:14:54.246 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Checking TID 60: (Callback 28)

2020-11-27 16:14:54.248 [DEBUG] [.serialmessage.ZWaveCommandProcessor] - Callback match!

2020-11-27 16:14:54.250 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Correlated to TID 60: callback 28

2020-11-27 16:14:54.253 [DEBUG] [ve.internal.protocol.ZWaveController] - Incoming Message: Message: class=AddNodeToNetwork[74], type=Request[0], dest=6, callback=28, payload=1C 06 00 00 

2020-11-27 16:14:54.255 [DEBUG] [ol.serialmessage.AddNodeMessageClass] - Add Node: Done.

2020-11-27 16:14:54.266 [DEBUG] [al.protocol.ZWaveInclusionController] - Inclusion event: Current state IncludeDone, new event IncludeDone

2020-11-27 16:14:54.268 [DEBUG] [ol.serialmessage.AddNodeMessageClass] - Ending INCLUSION mode.

2020-11-27 16:14:54.270 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 255: Added 61 to queue - size 1

2020-11-27 16:14:54.272 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 1 out at start. Holdoff false.

2020-11-27 16:14:54.273 [DEBUG] [al.protocol.ZWaveInclusionController] - ZWave controller end exclusion

2020-11-27 16:14:54.275 [DEBUG] [ve.internal.protocol.ZWaveController] - ZWaveController include done

2020-11-27 16:14:54.276 [DEBUG] [nal.protocol.ZWaveTransactionManager] - TID 60: Advanced to DONE

2020-11-27 16:14:54.277 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 255: Response processed after 98ms

2020-11-27 16:14:54.279 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 255: TID 60: Transaction completed

2020-11-27 16:14:54.280 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 255: notifyTransactionResponse TID:60 DONE

2020-11-27 16:14:54.282 [DEBUG] [nal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty

2020-11-27 16:14:54.291 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.

2020-11-27 16:14:54.294 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 05 00 4A 05 00 B5 

2020-11-27 16:14:54.297 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - NODE 255: Sending REQUEST Message = 01 05 00 4A 05 00 B5 

2020-11-27 16:14:54.300 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 06

2020-11-27 16:14:54.299 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Message SENT

2020-11-27 16:14:54.301 [DEBUG] [nal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=null[0], type=ACK[2], dest=255, callback=0, payload=

2020-11-27 16:14:54.303 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage started: TID 61: [WAIT_REQUEST] priority=Controller, requiresResponse=true, callback: 0

2020-11-27 16:14:54.305 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=null[0], type=ACK[2], dest=255, callback=0, payload=

2020-11-27 16:14:54.307 [DEBUG] [nal.protocol.ZWaveTransactionManager] - lastTransaction TID 61: [WAIT_REQUEST] priority=Controller, requiresResponse=true, callback: 0

2020-11-27 16:14:54.308 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Received msg: ACK

2020-11-27 16:14:54.309 [DEBUG] [nal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty

2020-11-27 16:14:54.311 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 1 out at start. Holdoff false.
2020-11-27 16:14:59.305 [DEBUG] [sactionManager$ZWaveTransactionTimer] - NODE 255: TID 61: Timeout at state WAIT_REQUEST. 3 retries remaining.

2020-11-27 16:14:59.307 [DEBUG] [sactionManager$ZWaveTransactionTimer] - TID 61: Transaction is current transaction, so clearing!!!!!

2020-11-27 16:14:59.308 [DEBUG] [e.internal.protocol.ZWaveTransaction] - TID 61: Transaction CANCELLED

2020-11-27 16:14:59.310 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 255: notifyTransactionResponse TID:61 CANCELLED

2020-11-27 16:14:59.319 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
2020-11-27 16:18:15.427 [DEBUG] [al.protocol.ZWaveInclusionController] - ZWave inclusion controller finalised
2020-11-27 16:18:34.397 [DEBUG] [wave.discovery.ZWaveDiscoveryService] - ZWave discovery: Stop zwave:serial_zstick:ZMEUZB1

2020-11-27 16:18:34.399 [DEBUG] [ve.internal.protocol.ZWaveController] - ZWave inclusion process not running - nothing to do

Any suggestions and good ideas are very welcomed.

Thanks!

It sounds like your issue is that you cannot include devices on you new zwave network. Make certain that the devices are excluded from the old network. Do this by putting the new controller into exclusion mode and then initiate the exclusion on the device. Check the manual, but this is typically the same procedure as putting the device in inclusion mode. If there are existing Things for the devices in OH, delete them.

I’ve hard reset all the devices.

Hard resetting does not clear the zwave network info on some devices, but I’d be very surprised if an Aeotec device behaved this way. Make sure they were hard reset?

You can also put the new controller in exclusion mode to exclude the old devices. Any Z-Wave controller can trigger a device exclusion. It does not need to ne the controller the device is joined to.

That’s what I said…

1 Like

Sorry. Missed that.

1 Like

Just following up on my post. I finally fixed the issue. @Bruce_Osborne and @5iver Thanks for your suggestions. Ultimately, the issues I ran info probably had more to do with the new USB controller than with OpehHAB and the z-wave binding. As I noted, I’ve just finished migrating my installation to a new Raspberry Pi 4. After banging my head against walls and chasing solutions in the OpenHAB forums, I decided to set up the z-wave controller and devices on the old Raspberry PI 3B+ installation that I’d kept. To my surprise, everything worked the first time! I then moved the controller over to the new installation. The devices did show up in PaperUI, but nothing actually worked. I tried to wake the devices up several times, I had the 2 cm’s from the controller when running discovery. Nothing made any difference.

I took to searching for similar problems with Raspberry PI’s and Z-wave controllers and came across a thread on the Raspberry PI (org) forum, where someone had similar problems with an Aeotec Gen5 stick. He had solved the issue using a USB 2 (unpowered) hub between the Pi and the Z-wave controller. I got myself an unpowered USB 2 hub, hooking it up and after restarting the Pi my Z-wave controller could see my devices and I could start seeing their status and data coming.

In short: everything works.

I’m not sure why the USB 2 hub solves the issue I had. The post I found points to potential issues between the new PI 4 USB controller and the Z-wave controllers. Regardless, I now have a working z-wave installation! YESS!!

1 Like

The USB stick does not follow the USB specification so the Pi sees it as a a USB 3 device. The USN 2 hub blocks that.

That sound like a very tempting explanation, but the stick that I have is a ZME USB (2) device and it was plugged into one of the 2 USB 2 ports on the PI…

The vendor later came out with a new model of the stick without the issue.

1 Like

The ZME UZB1 Stick? I just bought a new one and it had the exact same issue…

Oops I was thinking of Aeotec, I think. I did not realize the ZME stick had ta similar issue.

I think I’m having exactly this issue. I “included” a device (Fibaro motion sensor) on a 700 series controller, which apparently doesn’t work with openhab. I’ve got a new controller (ZME brand; USB identifies it as “Sigma Designs, Inc. Aeotec Z-Stick Gen5 (ZW090) - UZB”). The controller added without a problem, but the device will not include - with a nearly identical log as above.

It sure sounds as if “Do this by putting the new controller into exclusion mode and then initiate the exclusion on the device.” will fix my problem.

The issue: How does one put a controller in “exclusion mode” and then “initiate exclusion on the device”? The openhab binding documentation mentions that exclusion mode exists, but that’s about it; everything is about inclusion.

The Fibaro instructions:

  1. Set the main controller in remove mode (see the controller’s manual).
  2. Quickly, three times press the B-button – visual indicator will glow blue.
  3. Wait for the removing process to end.

The posts on the ZME forum all assume one knows how to do this. The “manual” just tells you how to change frequency (mine should be OK - manual says my SKU defaults to US, which is where I am).

On the controller “thing” page in the UI you can select Exclude devices

Also with the Aeotec Gen 5 you can use the button to put controller in exclude when it is not plugged into a port. From the manual “To initiate Removal-Mode, unplug Z-Stick from the USB connector. Then press and hold down the Action Button for approximately 2 seconds. (The orange LED will blink fast.)”

Do I feel foolish. My only, lame, excuse is that it was scrolled off the bottom of the page and I didn’t see it.

Thank you!

Update: I’ve had time to do this. It worked fine. I did have to delete the controller Thing and re-add it before the Add Thing Scan (i.e. inclusion mode) found the sensor. This could very well have been because of some edit I made while trying to figure out why it wouldn’t include or exclude the sensor.

I don’t think you should. It’s a bit odd that the inclusion is found in one place, and exclusion in a completely different place. I understand why - the adding of devices is very common and flows through the inbox. In theory the exclusion should be rare. But in practice with Zwave it seems that everybody needs to do it sooner or later, and the first thought is to go back to where the inclusion was done since this is the opposite of inclusion. But of course exclusion isn’t found there.

That changed with new UI.

Nothing foolish. I always fail to notice what is in front of me when using something I think is familiar.