[RELEASE] Inovelli Device Drivers

If you want to calibrate the power you can try to use this driver:

https://pastebin.com/raw/qLfZHyyt

You can put in some incandescent bulbs and turn the load to 100% Then put in the combined wattage of the bulbs and the voltage and then hit calibratePower.

You can use other bulbs and turn them up to 100% and add their wattage up as well, but higher wattage will likely result in a more accurate calibration.

1 Like

Hi there - so I'm having a problem with a LZW31 Black series, Gen 1, running firmware 1.52. I have smartbulb mode enabled, but it seems to still turn off power to the bulb when turned off locally from the switch paddle. In hubitat, I have a button controller set up to turn off the bulbs via a Group (the bulbs are LIFX). However, when the switch is turned off the bulbs become unavailable to the app, suggesting it's actually turned off power.

Any thoughts on this?

Michael

Looking at the release notes for firmware 1.52 there seems to be a way to turn off the load by sending a basic set but that would be via z-wave. Can you try to update the firmware? There were changes made to smart bulb mode after 1.52.

Firmware Change-log: LZW31 - Dimmer Switch (Black Series) (inovelli.com)

Eric, I didn't look so sorry if this has been answered.

Is there a new driver for the Red 2in1 coming? Or is it not needed?

It's in HPM

3 Likes

Thanks @bill.d !

Unfortunately I had to downgrade to 1.52 because Inovelli removed scene functionality in later firmware. (You explained this farther back in this thread - around January).

We can try to modify the driver to change the behavior. The "on" and "off" methods can be changed from this:

def on() {
    if (infoEnable) log.info "${device.label?device.label:device.name}: on()"
    state.lastRan = now()
    commands([
        zwave.basicV1.basicSet(value: 0xFF)
    ])
}

def off() {
    if (infoEnable) log.info "${device.label?device.label:device.name}: off()"
    state.lastRan = now()
    commands([
        zwave.basicV1.basicSet(value: 0x00)
    ])
}

TO

def on() {
    if (infoEnable) log.info "${device.label?device.label:device.name}: on()"
    state.lastRan = now()
    commands([
        zwave.switchMultilevelV2.switchMultilevelSet(value:0xFF)
    ])
}

def off() {
    if (infoEnable) log.info "${device.label?device.label:device.name}: off()"
    state.lastRan = now()
    commands([
        zwave.switchMultilevelV2.switchMultilevelSet(value: 0x00)
    ])
}

Hi - so I changed the code in the driver as above and power cycled the switch. (Pulled out the air gap, waited 30 sec, pushed back in). So far, seems to still be cutting off power. Do I need to do an exclude/include or factory reset or something?

Is there any indication of what is turning it off? Firmware 1.52 was supposed to have SBM except if a basicset on or basicset off is sent. In the driver we have basically disabled the ability to send those commands. I am curious what else would be turning it off. Can you check the logs to see what might be making it happen?

Edit: I can't remember how SBM worked on the gen 2, but do you possibly need to disable local control? I just read back that it is turning off locally for you.

I believe you had said a while back that I should not disable local control because then the paddle wouldn't work at all. I was never clear if disabling local control meant local control of the relay or local control of anything.

I am wondering now if in 1.52 SBM had fewer options. I think in 1.52 there was only an option to have SBM turned on or turned off. Can you try to change the SBM to "On/Off Only"? I think that version only supported that mode.

Hi,
I would like to know for inovelli plug driver (NZW37) I just switch from the built in driver to yours (hubitat hub) and I see that inside the driver you have multiple capability, including 'health check' and I would like to know if it supposed to give the current health staus (online-offline) of the device? I only see last activity and switch. I would like to use the status as trigger so just asking!
Also, is my child devices automatically update to your driver or it change nothing? I still see the generic switch component in teir setting?
Thanks

4 posts were split to a new topic: Question about Inovell child driver changes and forum software

Health check was carried over from SmartThings I believe. It doesn't work with this driver. The second question some child devices will not be compatible if you switch between drivers. You might have to delete them and then save preferences of the parent to recreate the proper ones.

I have a house full of NZW30 and NZW31 with and without scene (most with). They have been installed for years and for the most part work very well. some needing an occasional reboot.

I came looking for a way to disable debug logging because I notice its not an option in the drivers (using @ericm 's drivers not hubitat) . Weird thing is some switches dont send debug logs but some do, no idea why. I dont use child devices but I do use scene control button taps. Should I switch to the built in drivers? Do they have the debug toggle?

Also what was the last firmware update for these switches?

Cheers

Used the import URL in the drivers code to get the most recent from @ericm . That gained disable debug for all but the NZW30W/scene. Which I have a few of, is it an easy change in the code or should I just switch to Hubitat drivers?

Easy enough to do just comment out any line that contains log.debug

2 Likes

My NZW37 stopped responding recently.

When I try to turn child on or off from the parent, I get this error: "java.lang.NullPointerException: Cannot invoke method split() on null object on line 426 (method childOn)"

When I try to turn on of the child outlets on, it says "debug, childOn(31-ep1)" but nothing is reacting.

I'm not sure where to start...

The childOn command needs a network string passed to it to use it from the parent screen. Usually you don't use those commands manually but the child device uses them when you control the child device.

Does it work when you press the button on the device? You might want to try to exclude and include.