Inovelli NZW37 not refreshing/reporting switch state

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.

1 Like

I found that setting the device to Generic z-wave dimmer, I'm now able to refresh it from RM.

Any reason the "smart" version doesnt get included in the list of devices able to be refreshed under RM?

What are the differences between the smart and non-smart versions of drivers for generic z-wave dimmers and switches?

"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. :slight_smile: "Smart" means it accurately returns status.

Thanks for the explanation.

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?

Here's a good post that gives a tldr version with links to other posts if you want greater detail.

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.

2 Likes

Confirmed working great now, thanks for the incredible support!

So glad I moved to HE.

2 Likes

Glad to hear it! Still don't know why yours act differently than mine. But now, I guess it doesn't matter. :smile:

Hi, @ericm do you have a solution for this issue? I when RM send a command to OFF device go OFF but Status still ON.

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:

https://pastebin.com/3WFDnmMs

Let me know if that makes a difference.

Sorry Eric did not work, still on same way.

Can you provide the following information to me in a PM? Watch the logs when you do the following and copy and paste them in the PM.

Turn the NZW37 on phsically:

1 tap on
1 tap off
2 tap turn channel 1 on
2 tap turn channel 1 off
3 tap turn channel 2 on
3 tap turn channel 2 off

Turn the NZW37 on through HE:

Parent on
Parent off
Channel 1 on
Channel 1 off
Channel 2 on
Channel 2 off

Wait a few seconds in between actions so they can stand out in the logs. Thanks!

1 Like

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:

7 Likes

Eric, thank you for your work on this. I have this plug too and I love it, even better that you are active here.

I noticed the only Inovelli device left on Amazon is a door sensor?

Really looking forward to see the key fob when it comes out.

1 Like

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!!

1 Like

For the NZW37 Switch Child Device, I simply added the refresh() method immediately after executing the childOn or childOff commands.

This isn't working consistently for me. Are there any other options?
dev:1772020-07-12 06:10:14.023 pm debuginitialize()

dev:1772020-07-12 06:10:14.022 pm debugconfigure()

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:

image

image