This parent-child app pair allows easy linking of Hubitat sensor states to LEDs of your HomeSeer HS-WD200+ dimmers and Inovelli Gen2 Red Series switches or dimmers. This is why I got excited to buy those dimmers but it was never easy to use them so I wrote a real app to solve this once and for all:
You can link states such as contact sensors open/closed, motion sensors active/inactive, locks locked/unlocked, and more, to LEDs of various colors on your switch/dimmer. Several sensors can share an LED such that the same LED can show yellow if a door is unlocked and red if open.
Each set of dimmers can have one or more "Conditions" that link sensor states to a specific LED index and color. Conditions also have explicit priorities that determine which condition gets to set an LED if there is a conflict. This allows the lock+door example above to always show door open as red, and only show yellow for unlocked if the door is closed.
One Dashboard app can control more than one Dimmer such that several switches and dimmers can show the same status. However you can also install many Dashboard apps if you want two dimmers to show different states.
HomeSeer HS-WD200+ dimmer supports seven individually controllable LEDs while the Inovelli Gen2 Red Series switch/dimmer can only be controlled as one. You can have both types of dimmers share the same dashboard but the Inovelli will only display LED index 1. A dashboard with an important notification can use index 1 such that both types can show that condition and use index 2 through 7 for less urgent conditions that are only displayed on HomeSeers. Also note that as of May 12 2020, the Inovelli doesn't support LED saturation in notifications so the color 'White' cannot be set. Bug their support to add full HSB (hue, satuation, brightness) capabilities in their setIndicator() command. See post at:
Device and Driver Requirements
This app does not control the LEDs directly and needs specific device drivers to do its work. Specifically it looks for the stock WD200+ driver's setStatusLED() function and the official Inovelli driver's setIndicator() function to identify compatible switch dashboards. There are other drivers out there and if you have them installed, your mileage may vary. File a bug report and either I or the driver developer can look into it. You will need the 2020-05-19 Inovelli driver or newer for things to work.
Alternate Inovelli Red Series Notifications
The Inovelli Gen2 Red Series Switch and Dimmer have the ability to display 256 hues and various effects such as Chase, Pulse, Slow Blink, and many more I'm sure will be added in the future. The app supports showing the common denominator 7 colors and plain blink but this optional UI section can be used to activate the full range on these devices. If activated, this effect is used instead of the basic Color selection on Inovelli switches. This means that a Condition that wins on LED #1 may thus show Red on HomeSeers and a chasing pink on Inovelli switches. In a house with only Inovellis that won't matter but it may be confusing. The UI can be used directly to select the effect and color, OR you can paste in an explicit Configuration Value computed at: Inovelli Toolbox by Nathan Fiscus. Note that the duration there is ignored and is instead forced to infinity since this app should turn off the LED when the condition is not active, not an automatic duration.
Sensor Types and Virtual Switches
The current version supports a variety of sensors but there are many missing. Make a bug-report or feature request on GitHub and I'll try to add it. However, there is this workaround: You can use a Virtual Switch in an automation such as RuleMachine with any level of complexity and sensor inputs, and link a Condition.
Background and Use Case
The use case and inspiration for this app is my house with nine major doors and several ground level windows to the outside. I wanted to know at glance if the doors were closed and/or locked since the neighborhood has seen an increase in burglaries and we has some punk tug at the alleyway door 6am last week. The first version was a RuleMachine instance but it was not pretty write or maintain, but more importantly I wanted to learn more Hubitat and Groovy.
Source Code Notes
I've complained previously on the Hubitat forums about how hard it it to get into app and driver development. In these apps I've taken the time write comments that I would have appreciated when reading and learning from other apps. I still wish that Hubitat would spend time write better API docs but until then, I hope that this commented code will help someone else get up to speed faster.
Note that this is my first Hubitat App and first time using Groovy so don't trust it with anything important.