cdjackson / HABmin

A web admin console for openHAB home automation
http://www.cd-jackson.com/index.php/openhab/habmin
217 stars 51 forks source link

Evolve LCD - Only Basic Command Class detected #252

Closed paixaop closed 9 years ago

paixaop commented 9 years ago

When adding an Evolve LCD1 to the network the zwave binging only reconizes the device as supporting the BASIC command class. no other classes are serialized to the nodeX.xml file. Also device Manufacturer, Device ID and Device Type not recognized.

Tried adding the device type and ID directly in the node7.xml but no luck.

<node>
  <deviceClass>
    <basicDeviceClass>STATIC_CONTROLLER</basicDeviceClass>
    <genericDeviceClass>STATIC_CONTOLLER</genericDeviceClass>
    <specificDeviceClass>NOT_USED</specificDeviceClass>
  </deviceClass>
  <homeId>0x1851721</homeId>
  <nodeId>7</nodeId>
  <version>4</version> 
  <manufacturer>0x7fffffff</manufacturer>
  <deviceId>0x7fffffff</deviceId>
  <deviceType>0x7fffffff</deviceType>
  <listening>true</listening>
  <frequentlyListening>false</frequentlyListening>
  <routing>false</routing>
  <healState>DONE @ 2015-07-29T19:55:42+0000</healState>
  <supportedCommandClasses>
    <entry>
      <commandClass>NO_OPERATION</commandClass>
      <noOperationCommandClass>
        <version>0</version>
        <instances>0</instances>
      </noOperationCommandClass>
    </entry>
    <entry>
      <commandClass>BASIC</commandClass>
      <basicCommandClass>
        <version>0</version>
        <instances>0</instances>
        <isGetSupported>true</isGetSupported>
      </basicCommandClass>
    </entry>
  </supportedCommandClasses>
  <nodeNeighbors>
    <int>1</int>
  </nodeNeighbors>
  <lastSent>2015-07-29 19:55:41.161 UTC</lastSent>
  <lastReceived>2015-07-29 19:55:41.179 UTC</lastReceived>
  <applicationUpdateReceived>false</applicationUpdateReceived>
</node>

According to manufacturer the device supports the following classes:

Correct values for Manufacturer, Device ID and Type are: <manufacturer>0x113</manufacturer> <deviceId>0x4c32</deviceId> <deviceType>0x4556</deviceType>

I created a product description for this device and added it to the database, so I can see all the device parameters, associations, and classes in the database Product Explorer but then they don't show in the Devices tab when looking at the node.

cdjackson commented 9 years ago

Can you provide the debug log - there’s something clearly wrong with the initialisation as there’s a lot of data missing (manufacturer for starters)

paixaop commented 9 years ago

Uploaded the debug log to http://pastebin.com/S5SxsKfc Node in question is Node 7. Thanks for the help. Also created a pull request with the new database files for the LCD1.

cdjackson commented 9 years ago

Can you point me at the docs for this device?

It’s reporting it’s a controller. The binding is set to ignore a bunch of stuff when the device is controller since most controllers fail to respond and it causes problems… I’ll need to find a work-around somehow, but want to understand the device first...

paixaop commented 9 years ago

Chris you can find information about the device here http://code.mios.com/trac/mios_evolve-lcd1 The device specs can be downloaded from the bottom of that page, but here is the direct link to the pdf http://code.mios.com/trac/mios_evolve-lcd1/attachment/wiki/WikiStart/EVLCDx%20Z-Wave%20Specification%20Rev%20H.pdf

The device also has Manufacturer specific classes to change the screen labels. The MIOS plugin above can set the labels and device status indicators

COMMAND_CLASS_SCREEN_ATTRIBUTES COMMAND_CLASS_SCREEN_META_DATA COMMAND_CLASS_INDICATOR

They say the device is a controller so they can bypass the 5 device limitation:

"The EVLCD keypads will be configured as a “Controller” in the Z-Wave environment. This will allow it to store more than the 5 routes a slave device does. The Z-Wave library will be the 4.5.2 release allowing the use of Explorer frames."

cdjackson commented 9 years ago

Thanks - I’ll have a look at this. A quick look confirms that the binding is picking up the correct information (device class) so I need to work out how to detect this device versus other controllers (i.e. zwave sticks). I have an idea so will look at it tomorrow.

cdjackson commented 9 years ago

I've loaded a change that I hope will fix this - please try tomorrow snapshot.

paixaop commented 9 years ago

This worked!

How do you think I should go about implementing the COMMAND_CLASS_SCREEN_META_DATA as specified in the device manual so I can change the labels from openHab?

cdjackson commented 9 years ago

This worked!

Great :)

How do you think I should go about implementing the COMMAND_CLASS_SCREEN_META_DATA as specified in the device manual so I can change the labels from openHab?

I’m not sure - have you looked in the openzwave source to see if they have implemented this class? I’ll take a look to see if I have any information, but I suspect it’s a newer class than the docs that I have which are very old :(