New Scene Controller Plugin

This is an updated release of my new GenGeneric Scene Controller Plugin 3.00, which replaces all previous versions my older scene controllers for the Evolve LCD1, Nexia One-Touch and Cooper RFWC5 and Homeseer dimmers, switchers and fan speed controllers.

In particular, the new plugin enhances support for the following Z-Wave devices.

  • Evolve LCD1 5 button controller with back-lit LCD panel
  • Cooper RFWC5 5 button controller with 5 LEDs
  • Nexia One-Touch 5 button controller with back-lit LCD panel
  • HomeSeer HS-WS100+ switch with one white LED
  • HomeSeer HS-WS200+ switch with one RGB LED
  • HomeSeer HS-WD100+ dimmer with seven white LEDs
  • HomeSeer HS-WD200+ dimmer with seven RGB LEDs
  • HomeSeer HS-FC200+ fan speed controller with four RGB LEDs
  • HomeSeer HS-WX300+ dimmer / switch with seven RGB LEDs

To install the new plugin first download the GenGenSceneController_3.xx.zip from the link below and expand the archive. (GenGenSceneController_3.xxd.zip is an unminified, debugging version which generates better logs in case there is a problem.)

From the Vera Web UI select Apps → Develop Apps → Create Device and fill out the form as follows:
Description: GenGen Scene Controller
Upnp Device Filename: D_GenGenSceneControllerInstaller.xml
Upnp Implementation Filename: I_GenGenSceneControllerInstaller.xml
Leave other fields blank and click “Create device”
Now go to Apps->Develop Apps->Luup files. Make sure that “Restart Luup after upload” is checked and then click the Upload button. Select all of the files in the archive folder which you expanded previously and click “Open.”
Vera may reload twice and installation is complete. A new Uninstaller device should appear which will remove all of the files in this plugin automatically.
If you are upgrading from a previous version, you just need to replace the old files. No need to create a new device or use the uninstaller.

The HomeSeer devices have two device tiles. The Switch/Dimmer device tiles work just like they did before as standard switches, dimmers, and fan speed controllers. However, an additional “controller” device tile is created for each device which supports the scene controller functions.

The HS-WD200+ dimmer and HS-WX300+ dimmer/switch has the most features of all of the HomeSeer devices (Other devices have a subset of the features described below.) It supports 1, 2, 3, 4, or 5 tap short or long press events on either the top or the bottom button. A 3-tap long press is actually tap-tap-hold. (But please be careful. Quickly triple-tapping the top button followed by triple tapping the bottom button is the factory reset procedure baked into the firmware.)

The 7 RGB LEDs have four modes: Local level, other device level, all LEDs, or individual Status.

The Local level mode simply shows the current level of the dimmer. This is the only mode supported by the HomeSeer 100+ devices.

The other device level mode shows the level of other device(s) associated with the button and number of taps. For example it is possible to control the local load with a single tap or hold, and the level of another dimmer with a double tap or hold. The LEDs for the other dimmer can be a different color indicating that it’s for the other device, and then revert back to the local level display after a timeout.

The All LED display sets all LEDs to a single color: either solid or flashing, and gives control over the flash rate. For example, you can set up a scene which is triggered by some emergency condition such as an alarm going off, which causes all LEDs to flash red.

Finally, you can set each LED individually depending on the status of associated devices. For example you can control several remote switches with different number of taps on the top or bottom buttons. Each LED can show the status of a different switch.

If a controlled device is changed elsewhere, this is automatically reflected in the LED status in Local, Other Device or Individual modes as long as Vera is aware of the change. More than one device can be associated with a given event. The plugin will monitor the status of associated devices and automatically turn individual LED’s on and off appropriately, as such the LED’s can give a status display of various other devices.

Tap events can have 2 - 9 states which can be rotated forward with the top button and optionally backward with the bottom button. For example, by using 4-states, you can tap to rotate a dimmer between 0%, 33%, 66% and 100%.

In addition to tap and hold events, there are up to 8 individual actions labeled A through H. These are 8 buttons visible in the top level device tile. These are designed to be controlled by Vera scenes triggered by timer or other events. You can control various LED modes from Vera scenes in this way.

All of this can be controlled from the “Configure” tab in the device control panel. Use the +Event or +Action buttons to add events or actions as needed. In general, modifying a setting for the top button automatically causes the opposite effect to be set for the bottom button, but not the other way around. If you want to change the bottom button’s behavior independently, set up the top button first.

Tap, hold and release events can trigger arbitrary Vera scenes. Scene buttons with assigned scenes are displayed with orange text. A tool tip pop-up over each scene button shows the scene number which will be triggered for that particular event. You can use these numbers to edit existing scenes and trigger them with events generated from the plugin.

The Night Light mode controls whether or not at least one LED should be lit when a device is turned off. It also reverses the sense of the LEDs in individual status mode.

Support for the Evolve LCD1, Cooper RFWC5 and Nexia One Touch have generally been improved and many bugs have been fixed. Vera engine crashes and the dreaded “Failed to get lock” crashes have largely been eliminated.

Version 3.00 adds support for the new HomeSeer WX300+ Dimmer/Switch. You need to set this device in either dimmer or switch mode before including it into your Z-Wave network as described in the HomeSeer manual that comes with the device. From that point on, it will behave either like a Z-Wave dimmer or switch, but the scene controller can still manage all of the LEDs as well as multi-tap/hold features in both modes.

Version 3.00 also allows the Homeseer 200 and 300 series devices to control up to 5 other Z-Wave devices directly with a single tap or hold with no relaying by the Vera controller. As such, they can be used as three-way controllers for other devices even if nothing is connected to the local load.

With all supported devices, the Vera Configuration screen gives detailed information for configuration parameters that are not already “owned” by the scene controller software. There may be other configuration parameters documented in the device manuals, but adding them to the configuration list may interfere with the scene controller’s own handling of these parameters. Likewise, the scene controller will automatically set all associations so you should not use this part of the configuration screen.

Please try out this plugin and send me feedback in this thread. If something strange happens, please try loading the debug version and send me three files:

  1. /tmp/log/cmh/LuaUPnP.log
  2. /tmp/log.Init.LuaUPnP. (This log will be empty in the non-debug version).
  3. The result of http://<vera_IP>/port_3480/data_request?id=user_data&output_format=xml from your browser
    Send me a PM with these files and explain what you did at what times as the logs were generated.

Release notes:

Version 2.00 - Initial release

Version 2.01 - Resolves an important bug in button response. The uninstaller also cleans up a bit better. Anyone who downloaded 2.00 should upgrade to this version.

Version 2.02 - This release has several important bug fixes and minor new features from 2.01

  • Support a new “single tap only” acceleration feature in the latest Homeseer HS-WS200 and HS-WD200 firmware which improves response time if multiple taps are not used.
  • Fix a bug with default HomeSeer L.E.D. flash rate
  • Fix a bug Evolve LCD1 highlight choice when more than one direct device is connected
  • Fix a regression bug with holding down buttons on the Cooper RFWC5 for non-scene-capable devices. (Thanks to @ronluna for reporting this.)
  • Improve handling of multi-state buttons on Evolve LCD1
  • Fix a bug with configuration display on Nexia One-Touch
  • 5-state multi-state buttons now go to 75% rather than 74% by default.
  • Disable the timeout feature if the event to be displayed after the timeout to is removed.
  • Min/Average/Max/First LED display now work properly on HomeSeer HS-WD200

Version 2.10 - This release has more bug fixes and also resolves compatibility issues with the latest Vera firmware. In particular, custom device icons are taken from a cloud server because the new Vera firmware makes it very difficult to host them locally. Also, for the same reason, new devices may not automatically be discovered until the LuaUPnP engine reloads.

Version 2.11- Fix a bug reported by @shallowearth where Homeseer Individual status LEDs could not be set.

Version 3.00 adds support for the HomeSeer WX300 dimmer/switch

GenGenSceneController_2.11.zip (108.0 KB)
GenGenSceneController_2.11d.zip (166.7 KB)

GenGenSceneController_3.00.zip (113.1 KB)
GenGenSceneController_3.00d.zip (174.6 KB)

Gengen

2 Likes

Awesome! Thanks for putting this together!
I’ll test it out as soon as I have a chance.

I had issues with the old plug-in, but I think I will test this one on my VeraLite…

I have updated the Scene Controller plugin to 2.02. Please see the first post on this thread.

This looks great, but it broke my dimmers. I can still turn lights/fans on and off via Vera, but any attempt to change the brightness/speed level fails.

I’ve been playing with this for a short while. Thanks again for building this.

Here’s the background info:
Hub: Vera Plus - UI7 latest firmware
Switch: HS-WD200+
zwave network size: about 60 devices
other plugins: none

So far I’m loving this, but I’ve found the following issues.

  • Multitap scenes are sometimes slow to respond or don’t respond at all. Trying to figure out if it’s because i’m tapping too slowly or too quickly, or just general zwave network congestion.
  • The lighting indicators for remote devices don’t seem to work. Playing around with the settings usually results in either no lights or no change.

I’ll find some time to install the debug version, but let me know if there’s anything I can supply to help debug.

@brianewman,
Thanks for the PM’ed logs. They were very useful in understanding the problem. However, I cannot reproduce your problem. The dimmers are working fine for me. You should not need to play with variables to make everything work.

  1. What Vera unit and what version of the Vera firmware are you running?
  2. Did you install the plugin first or did you include your dimmers into the Z-Wave network first?
  3. Are you running any other special plugins?

@silencery,

Unfortunately not all devices immediately report their status to the Vera controller. In general, if the status of the device is not reflected in the Vera UI, the remote dimmer setting or the indicator will not be correct.

That said, if you believe that the current setting is not displayed correctly on the LED’s or the indicator, please PM me both the LuaUPnP.log as well as the /tmp/Log.Init-LuaUPnP logs. In the message, please tell me exactly what you did at what times so I can corellate these events with the log.

@all

Please keep the feedback coming. I want to make this work well for everyone.

Gengen

@gengen,
My Vera has nothing but three HS-WD200+, two HS-FC200+, and your plugin. The dimmers and fan controllers were already included and working before installing the plugin, but I did exclude and re-include one of the dimmers after installing the plugin.

As long as I have at least one other device using D_DimmableLight1.xml, everything works. But if I only have HS-xxxxx devices that are affected by the plugin, Vera is unable to use services from D_DimmableLight1.xml (or something like that) so dimming doesn’t work.

I worked around the problem by creating a dummy device using D_DimmableLight1.xml. If I delete that device and restart Luup, dimming stops working on all the HomeSeer devices.

@brianewman

OK, thanks That may be the key. I had never tested with >only< HomeSeer devices included. I will try that. In the meantime, it looks like you are up and running. If you see any other problems, please send more feedback.

Gengen

I couple of pieces of feedback,
These are all for HS 200 Dimmers and switches

When I installed it, It seems like it messed with/changed my associates I already had setup (it added device 1 to group 1 and 2 and seemed to try to wipe my already set group 2 associates). It is unclear what your +Devices is doing. Is it also setting up direct associations for those devices or something else? No sure why you are adding Device 1 to Group 2, seems redundant (since it is already is group 1), and you just stole one of my slots for how many devices I can have!

When I installed it, it changed all the parameters I had setup, now I don’t know what is what. If you haven’t added any events, does that mean it will use fast mode ? Why did you add a parameter with no name to monitor only to all of them? Why doesn’t the Configuration device seem to affect the parameters. For example if I turn on Night Light Mode I would assume that parameter 3 would be set to 0, but it is still at 1.
When I added an event, it didn’t update parameter 6?

Do you always have to build a new scene on the fly when you press the Tap, Hold, Release button? What if I want to trigger a scene I already have?
Why did my Tap, Hold, Release button disapear on my Top Button and was replaced by just “Scene” but not on the bottom button. This is a Switch not a dimmer. I have parameter 6 set to 1. Not sure if that all makes a difference.

I accidentally pressed the Scene Action A button, how do I un press it, or make things go back to the default behavior? What parameters are associates with color/flashing etc.

Sorry, I realize there are a million questions

Any chance this will work with Zooz or Inovelli scene controller enabled switches/dimmers?

1 Like

Hi Gengen,

After many attempts, I can’t seem to get this working. I have followed your instructions to the letter and while everything seemed to add properly, I am experiencing the following issues: 1) as I was migrating from a Veralite running UI5, I excluded and reset the Evolve to factory settings. It added to my Veraplus running UI7 (v 1.7.3532) without any issues although defaulted to a blank screen (screen 17). I added your plugin which changed the scene controller icon and allowed me to set up custom screens and subsequent scenes. The problem is that no matter what I did, including “configure node right now”, it would not update the blank screen. The buttons, however, did seem to activate the scenes and 2) after making more changes (i.e. assigning another button, etc), I would get a “can’t detect device” error . (even when moving the controller within a few feet of the device). The only way to rectify this was to exclude and include the Evolve and start again…but again, after a few changes, I would get the error message again. Any ideas as to what may be going wrong?

@shallowearth

Sorry, It’s been a while since I’ve updated the plugin. A few answers to your questions.
First of all, the plugin or else Vera “owns” all associations. The association of Group 2 to Vera is actually done by the Vera firmware.

It also “owns” all parameters except for the ones that are documented in the Device Options tab.

The extra blank options line is a bug which I’m fixing in the next (2.09) release. Please see my next post.

If you click on any of the “tap”, “Hold”, “release”, or “scene” buttons that already exist, the button turns orange and your existing scene will come up for editing.

If you click on the “+Action” button, you will get action B which restores the previous setting. There are up to 8 actions A-H

Gengen

@gengen, nice to see you are back!
I figured most of that stuff out through trial and error.
Loving the plug-in, using it for quite a few Homeseer Dimmers and Switches.

One Recommendation – Sometimes I just want to re-use a Scene I already have to hook it up to a multi-tap. I don’t see an easy or safe way to do that, might be nice if you asked to either pick a scene or create a new one in your flow.

Reliability bug or small leak – With the latest firmware I have so few LUA engine reloads, that it has uncovered a bug or leak in your plug in, as occasionally I get into this state where the light switch and its associated virtual controller get marked as device not found, the light will recovers the next time to you send a z-wave command to it. But the controller will never recover until you do an engine reload and the plug-in then kicks in to fix up the virtual controller. I have worked around this bug by just scheduling a weekly engine reload, that seems to keep the controllers from going off line. Not sure if your code has any scheduled tasks, or maintenance scripts that run periodically to check for situations like that, but something to think about. It would be good if the plug-in checked the health of the controllers periodically and freshened them up if they appear to have crashed or whatever.

Please see the latest version 2.10 of my scene controller plugin which is posted in the first comment of this thread.

Gengen

@gengen, Hmm, I think you broke something with that version.
Set State LED Mode no longer works as a scene action, only Set Local Level LED Mode now works. When I use Set State LED it just turns the LED OFF completely.

Note that I do run my switches with the LED status reversed (I have Parameter 3 set to 1 in Device Options), but Set State LED Mode was working on the pervious version and now is broken.

Plug seems stable otherwise.

Figured out your bug, atleast for the HomeSeer 200 Swith and Dimmer, this line needs to commented out of L_GenGenSceneController.lua
if isOn == nightlightMode then
LEDColor = “K”
end

Because on the HS 200s it makes it so that the Set LED Status won’t turn on, unless you have the Nightlight setting turned on. So only the Set Load Level Status works.
I commented out that who if statement and then it worked as normal. Not sure why you are turning off the LED when Not in Nightlight mode.

@shallowearth, Close, but it’s a bit more complicated than that. I should have an update for you soon.

Gengen

I here you there! I was just guessing the plug in is super complex. Appreciate the hard work. I think some thing else broke with actions A,B, etc I am guessing you store a cache somewhere when you migrated setting because some of my switches will do actions that aren’t defined / configured and do something else entirely. Like will show Red when it should be blue etc.

I have uploaded version 2.11 which fixes the bug which @shallowearth reported.

Gengen

1 Like