The devices work fine on their own, and HE can control them just fine, with status being updated correctly too. Its just the physical button presses that aren't seen by HE, which is a problem for the bathroom fan switch as it needs to trigger a timer, and for the other the motion lighting rules need to know if the dimmer has been turned on or not.
For the switch, I am working around the issue with a refresh rule machine that runs every 5 minutes. Unfortunately, for some reason, dimmers are not available in RM as devices that can be refreshed, which is strange as there is a refresh button in its device page that works fine to update the device's status when clicked in the web UI.
Understood, thanks, I'll fire up mine tomorrow And see what's up with it, we are planning on implementing the crc16 class, so this shouldn't be a long term issue.
"Smart" and "non-Smart" is the Refresh method. Non-Smart has a refresh() method, Smart does not. Therefore devices using the Smart driver shouldn't appear in the selection list. "Smart" means it accurately returns status.
So the bug here is in fact that the generic z-wave smart switch IS available to be refreshed in RM, not that the smart dimmer is not available.
what does it mean to "have a refresh() method"? both smart and non-smart have refresh buttons in the Device handler. Does HE do a refresh() by itself on these non-smart devices? or is it just made available to be used in RM?
The fix for this will be in platform 2.0.4, it's been added to the generic switch and dimmer drivers, the ge motion devices, but excluding the scene controllers as none of the devices in that class need this command.
I might have a solution. The last person that I was working on with the issue said it cleared itself up, so we weren't able to do much troubleshooting. You can try this version of the driver:
Thanks for the help @emersonvier. We discovered that in certain situations Hubitat too quickly processes commands which can sometimes make the device state not update. Basically it can set the device to on/off and request its status so quickly that the device hadn't fully changed state before sending its status. This has been fixed in the driver with a delay between commands:
I just updated my devices with this updated version of your driver and watched the state change in action on the dashboard tile. VERY NICE! Thank You for the fix sir!!
dev:1772020-07-12 06:10:11.020 pm errorjava.lang.NullPointerException: Cannot get property 'deviceNetworkId' on null object on line 281 (componentRefresh)
I am seeing a similar problem. I saw that there were a lot of "debug" entries for my 4 NWZ37 plugs and after doing some reading I saw that the Eric Maycock driver I had was old and had recently been updated so I removed all my rules involved and removed all 4 devices. I then updated the driver and as stated it created the 2 child devices for the plug automatically. Now those children DO show up a "Generic Component Switch". Upon re setting all my rules, I then saw that in Dashboard when I hit a "Switch" tile, it kept the "hourglass" running, I then had to go in and hit "refresh" on the device page. So none of my rules are working as a result and On and Off shows on the log but it does not change in the dashboard (or trigger the rules) until I manually hit refresh. Any ideas on what may be wrong or do I have to just enter the "refresh" command as shown above?
@wnc.dave@jsarcone I wonder if you have a different version of the plug than I do. Can you install the latest driver from Github and click "Save Preferences"? Then wait a few seconds and refresh the page. Let me know what is in these sections: