I just finished moving all of my devices and Webcore pistons from ST to HE. For the most part things are working well. The only problem I'm having is switch states are not updating consistently. For example, I have a sunset piston that turns things on at night and off again in the morning. It works perfectly but when I look at the Devices page, switch states still display as on even though the devices are off and vice versa. This happens randomly and to different devices.
Is there something I can do to ensure switch state accurately reflects device state?
Older ZWave don't report status. This was due to a Patent owned by Lutron. The patent expired and ZWave+ added in a safe way to send status.
ST had a background polling task running 24x7 and they'd update status that way. Hubitat does have an optional poller App, that is limited to those older devices. Install it if you need it. Ultimately you will decide, to replace the devices, but the polling app can spread that cost a bit.
All of this is of course predicated on knowing what ZWave devices you have.
You can look on each device info page for inclusters looking for "0x8e 0x5e" to tell you the device has ZWave+:
One has, one doesn't in the above pair of screen images.
One thing you can do if the devices are being controlled by webcore is an add a few second wait time then do refresh on the device after the on or off command.
If you are using older zwave devices (and some zwave plus devices), these devices may not report physical switch state changes in a timely manner, so you may need to add a refresh in your pistons before checking state for conditions.
For triggers or conditions, Zwave Poller should be enabled for these older devices. This is due to ST vs. HE differences in handling of older zwave devices. If you choose Zwave poller, you won't need the refresh commands in you pistons:
In many cases, replacing these older devices will be your best option to have HE function efficiently and have a well-operating mesh.
All, thank you for your feedback. As usual, I've learned a lot.
I have a piston that runs a few minutes after sunrise and lets me know if any of lights that are turned on and off by my sunset piston failed to turn off at sunrise and are still on. I've added refresh and wait statements to that piston and expected that will solve the issue and it will accurately report switch state.