For some reason, which I cannot track down, everyday all of my Z-Wave devices go offline. The fix is to go to the Z-Wave serial controller thing and choose Synchronize Network. This causes everything to come back online.
If I try to “Add Equipment” from the controller thing, there is no channel for sending the commands that are listed at the bottom of the thing page for the controller. Does anyone know of a way to send this command programmatically?
Any ideas, anyone? All I see in the event log is a sudden communication error, but no reason for it. And it happens to all the zwave devices. Surely there is a way to send the command to the controller? How does the user interface do it?
Syncronize command is not really designed for this purpose. It is there to make the controllers in the network exchange network information so unless you have multiple controllers it is not going to do very much. I guess it might be helping here as it might reset the serial bus. This would cause the network to reinitialised. You could also try pause and un pause and see if that brings it back but doing a synchronize is unlikely to solve the problem other than kicking things off again.
Like described in my original post pause and resume is what I originally used…
@antamy are you OK with us discussing the root cause of the issue in this thread or should this one stick to the wish to be able to schedule disable enable events via rules engine. If so we could use my other thread to continue the technical discussion.
out of interest- what’s your hardware setup , where do you run OH in which version with what kind of zwave hardware ?
Why would you want to run synchronise from a rule/schedule?
It is something that you would only need to run if you have multiple controllers and you have changed you network you want to force through quickly.
For example a secondary controller used as an inclusion controller and you have added or removed a node using the secondary controller. Synchronize would make sure the primary was in sync with the changes.
Do you run multiple controllers or have any portable controllers?
The only other z-wave controller actions are:
Hard reset which would be a very interesting thing to use from a rule and possibly not wise to make it too easy to do by mistake.
Soft reset would be papering over the cracks as in normal use it should not be required.
Heal which you can schedule if it is really your thing. Some love it some avoid it. I never use it as my network does not ever need it.
I set the logs to debug and the problem seems to occur as a result of a network heal. When the heal starts at 2am, lots of stuff seems to happen and then I get the results shown below for all the nodes. For now, I’ve set the heal time to Disabled and I’ll see if it happens again.
I tried Synchronize Network and it cures the problem of the nodes being offline. So, whether it is the right command or not, whatever it does brings everything back online.
It’s not clear to me whether the online / offline status is something that openHAB generates or whether it is truly a status on the controller. Since I don’t have other controllers, my suspicion is that kicking off the synchronize causes openHAB to get the correct status of the devices and it corrects itself.
Here’s what I see when the nodes go down (after a heal):
2021-03-11 02:07:24.669 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'zwave:device:fc48139338:node2' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Node is not communicating with controller
2021-03-11 02:07:24.847 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'zwave:device:fc48139338:node3' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Node is not communicating with controller
When I Synchronize Network, what I see in the debug log is a ton of messages that show that the Zwave network controller is shutting down. Then it starts up again, all the nodes are found and everything is fine.
So, if turning off heal doesn’t work, I’d like to find someway to synchronize the network, since I can’t monitor this manually everyday to make sure it’s working
It sends one command to the controller. It does not shut down the controller - or at least it shouldn’t. The command may of course cause the controller to do a ton of stuff - but that’s what it’s meant to do - the controller is meant to synchronise with the SIS (if you have one in your network).