Poll

What new features would you like to see in the Evolve LCD1 driver?

Smart toggle feature with fast, direct association to other switches
6 (14.6%)
Improved indicator which accurately shows whether a scene is on or off
9 (22%)
Control over backlight and key light within a scene
3 (7.3%)
Welcome screen which flashes until someone presses any key.
2 (4.9%)
Better thermostat control with heat/cool/auto/off cycling
2 (4.9%)
Cycle through several states in each button. e.g. Off/Low/High
3 (7.3%)
More than 5 virtual buttons with up/down scrolling
1 (2.4%)
Dynamic display of data from other devices visible to Vera
15 (36.6%)

Total Members Voted: 40

Author Topic: New Evolve LCD1 Plugin  (Read 68515 times)

Offline gengen

  • Full Member
  • ***
  • Posts: 240
  • Karma: +23/-5
New Evolve LCD1 Plugin
« on: August 05, 2013, 12:14:30 am »
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: http://code.mios.com/trac/mios_evolve-lcd1

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: http://forum.micasaverde.com/index.php/topic,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.)

Cheers!
« Last Edit: August 08, 2013, 10:03:48 am by gengen »

Offline ChrisFSB

  • Sr. Newbie
  • *
  • Posts: 33
  • Karma: +1/-0
Re: New Evolve LCD1 Plugin
« Reply #1 on: August 07, 2013, 12:40:00 pm »
Today, I submitted a new plug-in to the Mios Marketplace to better support of the Evolve Guest Controls LCD1 scene controller.
Thanks - I was hoping for this; and there it is :)

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.
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.
Code: [Select]
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)




Offline oTi@

  • Beta Testers
  • Master Member
  • *****
  • Posts: 4041
  • Karma: +32/-6
  • UI what ?!
Re: New Evolve LCD1 Plugin
« Reply #2 on: August 08, 2013, 07:50:29 am »
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.)


« Last Edit: August 08, 2013, 07:57:39 am by oTi@ »
Dezwaved at the moment...

Offline gengen

  • Full Member
  • ***
  • Posts: 240
  • Karma: +23/-5
Re: New Evolve LCD1 Plugin
« Reply #3 on: August 08, 2013, 09:59:08 am »
@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.

Offline oTi@

  • Beta Testers
  • Master Member
  • *****
  • Posts: 4041
  • Karma: +32/-6
  • UI what ?!
Re: New Evolve LCD1 Plugin
« Reply #4 on: August 08, 2013, 10:46:43 am »
Very well! Curious now what firmware is in @Sig's unit.
Dezwaved at the moment...

Offline ChrisFSB

  • Sr. Newbie
  • *
  • Posts: 33
  • Karma: +1/-0
Re: New Evolve LCD1 Plugin
« Reply #5 on: August 08, 2013, 12:13:37 pm »
@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?

Offline Sig

  • Beta Testers
  • Sr. Member
  • *****
  • Posts: 373
  • Karma: +2/-2
Re: New Evolve LCD1 Plugin
« Reply #6 on: August 12, 2013, 11:34:06 pm »
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?

Offline gengen

  • Full Member
  • ***
  • Posts: 240
  • Karma: +23/-5
Re: New Evolve LCD1 Plugin
« Reply #7 on: August 12, 2013, 11:54:18 pm »
@sig,

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.

Cheers!

Offline Sig

  • Beta Testers
  • Sr. Member
  • *****
  • Posts: 373
  • Karma: +2/-2
Re: New Evolve LCD1 Plugin
« Reply #8 on: August 13, 2013, 12:10:33 am »
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?

Offline ChrisFSB

  • Sr. Newbie
  • *
  • Posts: 33
  • Karma: +1/-0
Re: New Evolve LCD1 Plugin
« Reply #9 on: August 13, 2013, 12:52:31 am »
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.
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.

Offline brwblge

  • Newbie
  • *
  • Posts: 14
  • Karma: +0/-0
Re: New Evolve LCD1 Plugin
« Reply #10 on: August 13, 2013, 02:34:39 am »
Have a look at this explanation. Worked for me.

http://wiki.micasaverde.com/index.php/Logon_Vera_SSH


Greetz.

Offline gengen

  • Full Member
  • ***
  • Posts: 240
  • Karma: +23/-5
Re: New Evolve LCD1 Plugin
« Reply #11 on: August 13, 2013, 09:38:51 am »
@brwblge

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

Offline oTi@

  • Beta Testers
  • Master Member
  • *****
  • Posts: 4041
  • Karma: +32/-6
  • UI what ?!
Re: New Evolve LCD1 Plugin
« Reply #12 on: August 13, 2013, 09:59:49 am »
@gengen,

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

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?
« Last Edit: August 13, 2013, 10:01:57 am by oTi@ »
Dezwaved at the moment...

Offline Sig

  • Beta Testers
  • Sr. Member
  • *****
  • Posts: 373
  • Karma: +2/-2
Re: New Evolve LCD1 Plugin
« Reply #13 on: August 13, 2013, 10:52:39 am »
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.

Offline gengen

  • Full Member
  • ***
  • Posts: 240
  • Karma: +23/-5
Re: New Evolve LCD1 Plugin
« Reply #14 on: August 18, 2013, 12:40:20 pm »
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 http://code.mios.com/trac/mios_evolve-lcd1 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.