I’ve written a webCoRE Piston to ‘refresh’ (16) Z-Wave and Zigbee devices spread throughout the house to assist in keeping ST device communication and connectivity active. It has worked well for quite a while. Recently, I noticed that I was getting semiphores (maybe I was getting them all along and just didn’t notice?) and decided to rewrite the Piston to split the devices into two groups - (10) of them refresh every (20) minutes and the other (6) receive the refresh command every-other cycle at 40 minutes. When both groups are refreshed at 40 minutes, there is a 10 second pause between the two groups. Here’s the piston:
I watched this run for a few days and there was almost no semiphores and everything was running well. Starting yesterday, I started getting, “Error while executing physical command {DeviceName} .refresh([]): java.lang.reflect.UndeclaredThrowableException” errors for some of the devices.
It’s very inconsistent. Sometimes the piston runs fine for many hours and when the errors do occur, it’s not always the same devices causing the errors.
So, looking for feedback. It sounds like this is a timing issue due to periodic system slowness - hence the inconsistency. I will likely rewrite the piston to add a short pause between each device to see if that helps - probably do this by adding a Do Loop for each device group. But, I’m also wondering about the ‘Refresh’ command. Do all devices accept that command? Or should I also look at the ‘Poll’ command?
TIA
Lee