ZWave JS devices keep becoming unavailable

I received a Zooz Z-Wave stick for Christmas. I’ve slowly been migrating over my Inovelli switches.

Frequently, when the lights are turned off via automation they become ‘unavailable’. If I ping them they come back and work for a while, but invariably within a few hours or days it will become unavailable again. This is one of the scripts I’m using to turn them off:

interior_lights_off:
  alias: Interior lights off
  icon: mdi:lightbulb-group
  mode: single
  sequence:
    - service: light.turn_off
      target:
        entity_id:
          - light.living_room_pot_lights
          - light.dining_room_pot_lights
          - light.kitchen_pot_lights
          - light.bedroom_2_lamp
          - light.bedroom_3_lamp
    - service: switch.turn_off
      target:
        entity_id:
          - switch.living_room_accent_lights
          - switch.living_room_sconces
          - switch.living_room_chandelier
          - switch.dining_room_chandelier
          - switch.kitchen_pendants
          - switch.under_cabinet_lights
          - switch.stair_light
          - switch.entrance_lights

I’m new to Home Assistant, so if you need other data I’m not sharing please let me know. I’m not quite sure where to start with tracking this down. At this point I’m not sure if it is a mesh issue or something I have done wrong in my configuration.

Thanks in advance for your help!

Here are the logs from the most recent incident, if that helps.

If you’re using Z-Wave JS you might start by opening the debug log in a separate window and turning the lights on and off there to see if they go unavailable and what the debug log says. If you’re able to reproduce it there, the problem likely isn’t with your script and you might focus on the Inovelli firmware (update to the latest) and health of the network.

If you have been “slowly” migrating your switches, that means your ZWave mesh is not as good as it was, until you have migrated EVERYTHING. ZWave lives on the stick itself, unlike Zigbee which is just a radio, and the software does all the work - with ZWave the software requests that the stick does stuff, and waits for responses from the stick. ZWave stick usually have a feature where after a certain number of attempts to speak to a “dead” device, the stick marks the device as dead in it’s internal table and ignores any further attempts to speak to that device, unless it speaks to the network itself, when it magically becomes alive again. To get around this inconvenience, ZWave software usually has it’s own table, and stops asking the stick to talk to the problematic device before the stick marks the device as dead - because ZWave sticks typically don’t fully reset until you unplug them and plug them back in, a soft reset doesn’t clear the dead device list.

Because your mesh is not fully migrated, you probably have devices that are on the edge of the limit of the range of the mesh. That’s the secret to a good ZWave mesh, as many powered devices as you can stick in. I have light bulbs that I don’t even use, just because I got them relatively cheaply and they are good for the Mesh backbone.

Thanks, I’ll check this out. I’m on the latest firmware on all Inovelli switches.

I think I’ve done a good job rebuilding my network. I brought over the four closest switches then let them sit for a day before trying to automate them. A few days later I did the next closest four and let them sit, and then I did another batch a few days later. I still have another four or five devices to add, but they are the furthest from the hub. Everything I have is mains powered.

I should add I’m coming from Hubitat, so this is my first time using an external stick.

After posting, I stumbled across this post. Automate ZwaveJS Ping Dead Nodes? - #5 by Prodigyplace

Would you think there is a possibility this is related?