[RELEASE] Switch Dashboard - "Turn your HomeSeer and Inovelli dimmers into mini-dashboards"

Awesome! I would really love to report better error log entries here but I couldn't find any way to get device metadata such as version or importUrl from a selected device. Any devs here that know how to check if a selected device is running a recent driver from Inovelli?

Actually I guess I could look at the device.typeName entry and see if it matches the driver names from Inovelli and not the stock HE drivers. Hmmm... filing an enhancement request against myself...

1 Like

FYI, I added blink support as an LED option, implemented for both HomeSeer and Inovelli just now.

1 Like

This is a mess.

So there is an HE stock driver for the switch named:
"Inovelli Z-Wave Smart Scene Switch S2"
That name is confusing since S2 usually means security, but in this case I think it means Gen2?

There is no HE stock driver for the S2/Gen2 dimmer...

The HE Stock Switch S2 driver has a command called: "setIndicator" that refers to the notification calculator but I only have a Gen2 (S2) dimmer, and switches and dimmers use different z-wave params, so I can't test it.

The official Inovelli drivers use a command called "startNotification".

This is really messy to write apps that use this LED (not getting started on different bytes for effects depending on switch vs dimmer).

@Eric_Inovelli could you add a compatibility setIndicator function on your driver? I doubt HE will change theirs to match yours? Also, I don't understand why there is a stopNotification since there is 0x00=Effect Off, as an option in the startNotiication config value?

Tagging @ericm

New release v1.3 does a lot more validation of the switches you select as dashboards. This is what it looks like immediately if you select a device that can't support a dashboard:

1 Like

Pushed a small bugfix v1.3.1 that fixes a bug where Inovelli devices would turn off their notification after 10 seconds. I had swapped brightness and duration when assembling the Confuguration Value. 100% brightness is 10, as in 10 seconds.

Also, testing the next v1.4.0 in my house. It does lazy updating and only issues commands for LEDs that have changed since last update.

2 Likes

Does setIndicator work the same way as our startNotification? It accepts a single parameter that is sent to the configuration parameter? I can add that to our driver. Also, do you know if the command is a custom command or part of a capability.

As for the second question, you can use either startNotification(0) or stopNotification() to stop the notification.

1 Like

This from their "Inovelli Z-Wave Smart Scene Switch S2" driver:
image

I only have a Gen2 dimmer which uses a different z-wave config param so I can't test it but the link over to Nathan's calculator seem to hint it's the same as your startNotification. It looks like it would just be a forwarding function to startNotification so keep a unified API.

It looks like a custom command. These are the caps of HS-WD200, Stock Inovelli, and your official driver:

  • Example HomeSeer:
    HS-WD200+ Dimmer: caps=[Switch, Polling, Configuration, SwitchLevel, Refresh, Indicator, Sensor, Actuator, PushableButton]

  • Official dimmer
    Inovelli Dimmer Red Series LZW31-SN: caps=[Switch, Polling, Configuration, SwitchLevel, Refresh, EnergyMeter, PowerMeter, Sensor, Actuator, HoldableButton, PushableButton, ChangeLevel]

  • Stock switch
    Inovelli Z-Wave Smart Scene Switch S2: caps=[Switch, Configuration, Refresh, PowerMeter, Sensor, Actuator, HoldableButton, PushableButton, DoubleTapableButton, ReleasableButton]

Since I have your attention, do you have an idea on how to unify the effects between the switch and dimmer? As it now, effect 0x05 is Chase on the dimmer and Fast Blink on the switch. Maybe make one effect list and and just use the first LED of the effect on the switch? That way Chase would feel the same on both devices but look more like a Pulse with a single LED. Probably less code to maintain too?

New version 1.4:

The app now minimizes the commands sent on the Z-wave network by remembering the last state and only issuing commands needed to change the switches to their intended state. With 7 LEDs per WD200 dimmer and 5 designated dashboards, I was seeing 35 commands issued every condition change in older versions. Now I get 5 commands when a single LED changes state, or no commands if the condition doesn't have a winning priority.

I've tested it for a couple days and it seems stable and faster but, as with any caching code, there may be dragons.

1 Like

Thanks for the info. I'll create a custom command for setIndicator and have it call startNotification. It should add the extra command and keep backwards compatibility.

If I could go back in time I would have made the chase effect the last option in the LED effect type byte for the dimmer so that a single calculator could be used. That was an oversight on my part. By the time that I thought to change it the firmware had already been finalized and now that it is out in the wild, changing it would break backwards compatibility. :frowning:

Edit: I have pushed the updated driver to Github.

1 Like

Makes sense. How about this then:
Deprecate all effect indices from 1-9 and start over from 10 with unified effects? Using single digit effect indices would be device dependent, but 10+ would be the same for all devices.

Also, not sure how much memory you have left but an "RGB" mode would be really great since you have RGB LEDs anyway. As it is, it's non-trivial to translate from RGB to Hue,Sat,Bright. Exposing RGB as passthrough params would take care of the missing saturation on startNotification since RGB covers it :slight_smile:

You are awesome thank you!

Totally off topic and you don't have to answer if you don't want but I've always wondered... how hard is it to get a new firmware re-certified? Some companies NEVER do it. And then there's a few devices that will have... like 5 different firmware certifications (like some of the GE switches). Do you suppose those firmwares just had such horrible bugs that they had to fix something? Did they just run a really long time so components changed over time causing firmware changes? Or did they just want to add functionality or change something? :man_shrugging:

v1.5 released:
1.5.0 (2020-05-20) - Unify Inovelli effects (needs recent 2020-05-19 Inovelli driver)

The app now requires the new driver from Inovelli and is not backwards compatible with older drivers. Sorry. Trying to keep the code clean and I doubt too many people are using it right now. I won't be as mean in the future.

The app now translates Inovelli dimmer configuration values to your Inovelli switches. That means for example that your Fast Blink, Slow Blink, Pulse notifications will be the same on both your dimmers and switches. The odd one is dimmer Chase since you can't do that with one single LED so that gets translated to Pulse on switches. This code is untested since I only have a dimmer but I ran through the values in the Inovelli Toolbox and they look fine.
,

2 Likes

This is awesome!

I'll put it to the test in the coming days. :smiley:

getting a version mismatch error running latest code installed through Hubitat Package Manager

Thanks @dan3 and @Sebastien. Fixed the version mismatch and a bug just now.

New version v1.5.1 out: "Fix Inovelli switch translation logic bug"

Silly bug that @Sebastien helped me track down with his devices and detailed logs. Thank you!

I was writing to the effect state when updating Inovelli switches such that the translation was re-processed for every switch. Fixed and pushed along with the version mismatch error.

edit: v1.5.2 (2020-05-21) - Fix typo in switch translation logic

2 Likes

New version v1.6 out: "Add Inovelli effect and color UI"

This will probably be the last version except for bug fixes. I added a UI to directly select the effect and color on Inovelli devices so you don't have to go back and forth between the Inovelli Toolbox and this app. I just hoped there would be a color input type (not in the docs AFAIK) and there it was!

You can still paste in a Configuration Value and that value is used instead of the selected effect and color. This is so you won't get stuck if I fail to update the UI when Inovelli adds new effects or upgrades their notifications in other ways.

1 Like

Thanks for making this. I have Inovelli Reds and have been looking for a way to have LEDs fire up but only after a certain time at night. It was getting complicated with rules so I passed on it for now. For example, Flash Red after 9pm when the garage is open. The tricky part is if it opens at 10pm still having it flash.

Would it be possible to add valves to sensor types? I have a halfhearted rule that turns the LEDs RED when the gas is on to the outdoor appliances and would like to "fix" what I currently have. Valves could also work for water and irrigation.

Thanks