New Evolve LCD1 Plugin

A new plug-in is now on the Mios Marketplace to better support of the Evolve Guest Controls LCD1 scene controller. This controller has 5 buttons and an LCD screen with programmable labels across from each of the buttons.

You can read more about it on the Wiki page here:

This is a special plug-in in several respects. As such, it may be of interest to other developers even if you don’t have a LCD1 device.

It is a hybrid Z-Wave/Lua device. The Z-Wave part works like most other scene controllers. However, I have added Lua code to control the LCD screen. Unfortunately, Z-Wave devices cannot execute Lua commands (except at initialization) so this is actually two Vera devices, but only one is visible.

Also, unlike other plug-ins, this device includes (and excludes) like other Z-Wave devices using the Z-Wave button on Vera’s front panel. It uses an (until now) unused feature hidden in Vera: a file called /etc/cmh/zwave_products_user.xml which has the same syntax as the existing /etc/cmh/zwave_products_sys.xml which allows specialization of specific Z-Wave devices. For example, I have added predefined configuration options with useful labels for the LCD1 which you can access from the device Options tab. More importantly, it selects a LCD1-specific device type when Vera matches the manufacturer-specific device codes.

I also added an entry in this file for the Evolve T100-R thermostat which includes a long list of configuration parameters. No doubt that other people can significantly expand this and add device-specific configuration parameters for their favorite Z-Wave devices.

Unfortunately, there can only be one zwave_products_user.xml (which can describe many different devices) so that if future plug-ins need to enhance this file, we will need to implement a more sophisticated installer which can edit the file to add entries.

This is an early alpha version of this plug-in and I’m concerned that I have already encountered bugs in the LCD1 firmware which can randomly cause the screen to become garbled, or the device to reboot when switching screens. I would like to get feedback from anyone who can try this out. Please also include the firmware revision of your device.

You may also want to apply the bug-fix patch which I posted earlier here:,15113.msg114885.html#msg114885 to avoid bugs in the way certain tabs are displayed.

(Note to anyone who downloaded the plug-in from the original version of this forum post: Please get the version in the App store. It fixes an important bug during inclusion and also includes the proper icon.)


Thanks - I was hoping for this; and there it is :slight_smile:

I have 00.00.31 - and the LCD always reboots when changing custom screens. I have have label corruption on Buttons 1 & 2 when using the plug in to populate the labels.

I needed a delay and only program one button at a time when programming the labels. Else the LCD would reboot. e.g.

luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='170',Data='146 2 0x38 0x10 0x00 5 0x45 0x6E 0x74 0x72 0x79'},1) luup.sleep(2000) luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='170',Data='146 2 0x38 0x11 0x00 4 0x4D 0x61 0x69 0x6E'},1) luup.sleep(2000) luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='170',Data='146 2 0x38 0x12 0x00 6 0x53 0x68 0x6F 0x77 0x65 0x72'},1) luup.sleep(2000) luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='4',Data='146 2 0x38 0x13 0x00 6 0x47 0x61 0x72 0x64 0x65 x6e'},1) luup.sleep(2000) luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='4',Data='146 2 0x38 0x14 0x00 4 0x57 0x6F 0x72 0x6B'},1)

Thanks @gengen!

When @Sig and I looked at this a while back, he was reporting as well that commands didn’t seem to take / do anything. So we figured the commands we were sending were possibly incorrect / incomplete. Quickly looking at the code in this thread, I’m not sure there is a difference. So perhaps it does come down to the device’s firmware / behavior. (I don’t have the actual device, and requests for assistance were ignored by Evolve.)

@ChrisFSB - My version is 0.37. I will try to do a new version which better supports the older firmware by only sending one line at a time and waiting longer between lines.

@oTi - The commands certainly do work, at least for later versions of the LCD1 firmware. Unfortunately, I doubt that these devices are field upgradable.

Very well! Curious now what firmware is in @Sig’s unit.

@gengen - I’ve left Evolve a support vMail request. Let’s see if/how we can gets these upgraded to fix the reboot bug.

Out of interest, when you switch screens how quickly does that happen on your LCD-1?

Hi All:

This is great news. Thanks @oTi for alerting me to this thread - I haven’t been back to the forum in a while and wouldn’t have known of this.

Both of my LCD1s have been working just fine, albeit not to their full potential due to the limitations on label setting, etc. I have one tabletop model and one wall-mount model. I’m eager to give this new plug-in a try as soon as I have some time to invest in testing. The firmware in my tabletop model is 00.00.31. I don’t know about the wall-mount model - I bought it several months later - and I need to take some time to pop it open and disconnect the power to force a reboot and see the firmware version (unless someone here knows how to get that information with a key sequence).

My code for setting labels is similar to @ChrisFSB, but I used a sleep value of 3000 between lines to get it to work properly.

@gengen - did I understand correctly that your plugin supports using the controller buttons in scene toggle mode? That’s one thing I could never get to work properly with configuration codes, and would make my LCDs immensely more useful. If I’m reading your wiki reference correctly, it sounds like my only option, however, is to make all five buttons either toggles or momentary - that they cannot be mixed on the same screen set, is that right?


Welcome back! The current version that is up on the Mios Marketplace does support either momentary or toggle buttons. You can change configuration parameters 1 to 5 to 0 (momentary) or 1 (toggle) . For toggle, you can get both scene activate and deactivate events.

Currently, however, you cannot automatically change the button modes depending on which screen you choose. All screens have to have the same configuration. That will be coming up in a new version.

I plan to upload a new version soon which will have various timing parameters which will let you configure the screen updates for optimum speed and reliability depending on what firmware version you have. This stuff is fiddly to say the least! I will really need your feedback for this. Both the device and Vera’s LuaUPnP architecture are fighting me every step of the way!

A version with an improved UI which will more easily select modes and assign scenes will come after that.


Awesome, thanks.

Dumb question (for anyone)…I’m looking on the bottom of my Vera Lite and not seeing a password to be able login using WinSCP. Is there a default password for a Vera Lite?

[quote=“Sig, post:7, topic:176384”]The firmware in my tabletop model is 00.00.31. I don’t know about the wall-mount model - I bought it several months later - and I need to take some time to pop it open and disconnect the power to force a reboot and see the firmware version (unless someone here knows how to get that information with a key sequence).

My code for setting labels is similar to @ChrisFSB, but I used a sleep value of 3000 between lines to get it to work properly.[/quote]
Mine reboots if I send the label commands for all five keys without the sleep. Failing that, I pop the breaker for the circuit the LCD-1 is on. Saves removing it from the wall.

Have a look at this explanation. Worked for me.



We were talking about the Evolve LCD1 controller and rebooting it, not how to reboot Vera


I think that was an answer to @Sig’s question on how to find the SSH password for a Vera Lite.

Yes, sorry to go slightly off topic, but I was looking at the instructions for installing @gengen’s bug fix for the tabs in labels issue, and realized that I didn’t have a password on my Vera Lite to be able to login and transfer files to the unit.

Thank you @brwblge - I appreciate your directing me to that Wiki page. It answers my question.

I have submitted version 0.7 of the Evolve LCD1 plug-in to the Mios Marketplace. Hopefully, it will be approved shortly.

For the impatient, attached is the new Lua file, the only part that has changed since 0.6.

This version should improve reliability when switching custom screens. Missing lines, lines in the wrong place, garbled text, and random reboots should now all be things of the past. Please try it out and give me your feedback. Please check out the wiki page at regarding new performance tuning parameters.

I am most interested in hearing from people who have firmware versions other than 0.37. Several users reported problems with firmware 0.31 so the plug-in will automatically select more conservative tuning parameters for version 0.31 and earlier.

I had to jump through incredible hoops to make this work. Bugs in the device itself along with missing features in the Vera architecture made this plug-in difficult to write and it took lots of trial and error, and several dead-ends before I could make this work. I will post a new topic describing the details of what I had to go through. Maybe someone else can find a more elegant approach to some of these problems.

@gengen: Many thanks for 0.7 - much better working with firmware 0.31.

I need to do some more testing and report back - but a quick test showed that much was improved. Thanks for all your hard work on this.


I’m glad that it works better for you.

Please do try out the more aggressive tuning parameters, especially if you are at firmware 0.31. I created two sets of default parameters depending on the LCD1 firmware revision based on your previous post. The 0.31 settings essentially just wait 2 seconds before drawing each line. The 0.37 settings can draw 2 lines at a time much faster, but they rely on feedback from the LCD. Please check out the table at the bottom of the Wiki page and experiment with the values.

I finally got around to installing the plug-in, and I’m having some trouble. Here goes…

  1. I’m getting a lot of reboots when I update the labels. I tried setting the delay parameter up to 3000, since I was successful using that value when I was setting labels the old way. It’s still rebooting instead of resetting the labels. It’s inconsistent and I’m not sure why.

  2. I can’t figure out how to get two lines of text on a button label. Inserting \r as instructed in the device form does not work. Help :slight_smile:

Otherwise, I like the interface and the ability to use multiple screens of labels. That will make my home/away functionality on one of my controllers very user friendly.

Thank you.

I just received a LCD1 with firmware 0.39. I get bored sometimes, thought it would be fun to play with. Your app is phenomenal; I can change labels on the individual screens effortlessly. It also seems you’ve tweaked it perfectly, as the screen updates are less than one second. However, I cannot get a scene in vera to trigger a change of screen on the LCD1. Maybe it’s this firmware version or my stupidity, but even after associating the device with itself and of course the command in the advanced tab, it simply will not accept the command to change screens.

I like the keypad overall. I wish it would accept a back light timeout greater than 15 seconds and wish the button LEDs were multicolored and independent of each other so they could serve indicator purposes. The Leviton zone controllers are far superior at this point for “at a glance” indicator usage as they have 3 colors. I just wish there was a zwave controller similar to the older Control4 units that have essentially unlimited colors. That, combined with the Evolve 2 gang controller, would be awesome.

The /r didn’t work for me either, but on my unit just adding a label with a space between 2 words works fine for a 2 line label.

Thanks for your work; this app has made the LCD1 a usable controller on vera networks!

1 Vera3 1.5.622, 3 Leviton scene controllers, 11 Leviton zone controllers, 14 GE/Jasco dimmers, 7 GE/Jasco switches, 3 GE/Jasco dimmer modules, 2 Evolve dimmer modules, 6 GE/Jasco switch modules, 6 GE/Jasco receptacles, 2 GE/Jasco Outdoor Modules, 2 Leviton fan controllers, 1 Schlage deadbolt, 1 Kwickset deadbolt, 1 Kwickset Lever, 1 Aeon smart switch, 1 Aeon home energy monitor, 3 Phillips hue bulbs, 1 Evolve LCD-1 controller & a 2GIG panel acting as a secondary controller.

Your app is phenomenal

Well, Thank you. This caps off a really nice Thanksgiving. Actually, I’m working on a new version with lots of new features that will put the old version to shame! Sorry, I can’t change colors or do anything that is physically impossible with the device, but I have added a new mode which switches screens allowing you to create hierarchical menus. I have created a new UI paradigm that makes creating scenes with the controller much easier. Basically, you can go directly into the scene editor from the LCD1 control panel without having to to perform a separate scene creation step. Also, if you also have a Z-Wave thermostat (and preferably an Evolve T100-R Thermostat), there will be new features allowing you to control your thermostats from your controller. I hope to have a nice Christmas present for the board with this update, but I want to make sure that it is working well before I release it into the wild.

If your controller is not yet at version 00.00.39, I highly suggest contacting Evolve Guest Controls and returning the device for a firmware upgrade. The new firmware is definitely better than the old older versions and re-display performance can be improved. (If all you need is static labels and you don’t want to control a thermostat, then this is not as important.) One downside to the update is that it removes support for fixed menus in languages other than English. (Of course, you can create custom menus in any language, however, they must use all ASCII text with no diacritics or non-Roman characters.)

Cheers and Happy Thanksgiving to all.