Zwave switches slow to respond, is it the devices or network?

  • Platform information:
    • Hardware: Raspberry Pi 4 8GB
    • OS: Official docker image
    • openHAB version: 3.1.0 M3
  • Issue of the topic:

A few months back I excluded a bunch of GE zwave switches and replaced them with Inovelli and I just recently started playing with some of the more advanced capabilities like setting default local level on the dimmers at different times (example 50% at night, 99% at sunrise) and the scene functionality and i’ve noticed a few things. Mainly these:

Default level doesn’t always change on the switch even though it’s changed in the thing channel and device configuration


I put all the “scene” items for dimmers into a group and set up this rule to start using the same base name with a different suffix (example BathroomSwitch_Scene, BathroomSwitch_Dimmer)

UPx1        = "2.0"
UPRELEASE   = "2.1"
UPHOLD      = "2.2"
UPx2        = "2.3"
UPx3        = "2.4"
UPx4        = "2.5"
DOWNx1      = "1.0"
DOWNRELEASE = "1.1"
DOWNHOLD    = "1.2"
DOWNx2      = "1.3"
DOWNx3      = "1.4"
DOWNx4      = "1.5"

if str(ir.getItem(event.itemName).type) != "Group":
  item = event.itemName
  dimmer = event.itemName.split("_")[0] + "_Dimmer"
  sceneNumber = str(ir.getItem(event.itemName).state)
  if (sceneNumber == UPx2):
    events.sendCommand(dimmer,"100")
  
  # Reset scene to 0
  events.sendCommand(item,"0")

I’ve noticed that the rule fires right away and sends the 100 right away on the dimmer up double click as I would expect but for the actual light to change there’s a delay of anywhere from about a second to 5 or more seconds


I also have a “goodnight” rule that’s pretty simple, but again some lights sometimes take several seconds to respond.

events.sendCommand('MasterBathroomLight_DefaultLevelLocal', '50');
  events.sendCommand('MasterToiletLight_DefaultLevelLocal', '50');
  events.sendCommand('MasterDoorMotion_Armed','OFF');
  events.sendCommand('MasterGlassDoorMotion_Armed','OFF');
  events.sendCommand('BedLamps_Toggle','OFF')
  events.sendCommand('MasterBathroomLight_Dimmer','OFF')
  events.sendCommand('MasterToiletLight_Dimmer','OFF')
  events.sendCommand('MasterToiletFan_Switch','OFF')
  events.sendCommand('MasterClosetLight_Switch','OFF')
  events.sendCommand('AlarmStatus','ARMED_HOME')
  events.sendCommand('GAllOff', 'OFF');
  events.sendCommand('GuestBathroomFan_Switch', 'OFF');
  events.sendCommand('GuestBathroomLight_Dimmer', 'OFF');
  events.sendCommand('GuestBathroomLight_DefaultLevelLocal', '50');
  events.sendCommand('HallBathLights_DefaultLevelLocal', '50');
  events.sendCommand('HallBathLights_Dimmer', 'OFF');


Looking at debug logs (attached), I see for example in my scene test this in the zwave log viewer on opensmarthouse when testing on node 89

09:16:23.055 89 RX REQ SendData 113 ACK RECEIVED from device in 4084ms

and similar long “ack received” messages in my “goodnight” rule run as well for some devices. I’m thinking this can’t be normal behavior but I don’t know if it’s the switches that are slow in responding or if there is a wider network issue that I need to address. I seem to recall maybe having slow responding issues in the “goodnight” rule for long before the switch to Inovelli so I think it might be a wider network issue but I am not sure where it could be.

Here are the shortened logs for those two times, but I have also posted extensive debug logs starting from when I turned on debug and restarted the binding yesterday morning until now here if anyone needs a bigger picture.

zwave_goodnight.log (887.8 KB)
zwave_scene.log (533.4 KB)

Any ideas?

Does the controller agree they were excluded or do they still appear as zombie nodes? They can ness up network device routing. Devices sometimes try routing through those non-existent nodes to get to the controller.

I had one zombie node because the switch straight up died and I couldn’t get it excluded but I cleared it up shortly after I replaced them and it’s not showing anymore. I don’t believe I have any others

1 Like

As stated in the binding documentation, DEBUG logs are needed to be able to determine what is happening. sometimes the log viewer helps sort through the verbosity. Only unfiltered logs are useful for troubleshooting.

I posted debug logs at the end of my original post, both trimmed to the specific tests plus a link to about 24 hours worth, which include the times of the trimmed logs if more context is needed

1 Like

Sorry, I missed that.

Hopefully our developer can take a look sometime this weekend/

1 Like