I have a bunch of ST gen 1 moisture sensors. Each of them occasionally stops responding so I wrote a Webcore piston to check each device's status every 12 hours.
For some reason, the status check always comes back as INACTIVE even when I see events in the device logs for these sensors. So, the devices are active, work as expected, are communicating with the hub but I always get an INACTIVE status.
Does anyone know why? Or does anyone know of a better way to see if a device is active and working properly? TIA for any help.
Here's the Webcore evaluation for a device that I just tested and is working. Note that the $status evaluates to INACTIVE.
I have quite a few decade old ST devices still and it seems they were built like a rock.
The one thing I have noticed over the years is the lack of device attribute response.
Battery is not longer a guarantee so I wonder if status is now waning as well.
Typically, Zigbee water sensors are "Ember Sleepy End Devices". That means that they only time they communicate with the hub is when a water leak triggers the device. They should show Inactive, except when they detect a leak. This maximizes the a battery life of the devices since water leaks are typically infrequent.
Your routine to test the devices by sending data from the hub to each device won't work as the devices are asleep and are not designed to wake up on hub signals.
I have an Ecolink Z-wave water sensor that I use to monitor high water levels in by reverse osmosis water tank and shut off the water supply valve to the RO system. This is not a sleep end device.
To insure your Zigbee water leak sensors are functional, you need to either dip them in a thin film of water or short across the electrodes on a periodic basis.