HeatIt Z-Scene Controller, how to use indicator command class

When I use Z-Wave PC Controller, the Indicator Command works.

The different: I used Property ID Binary. The Z-Wave Binding use MULTILEVEL.

Multilevel doesn’t work…
Edit: also the manual says binary.
What can I do to change this?

Hi @chris,

I had take a look at the source code.
I don’t understand much of them, but possibly BINARY is not yet supported (because I don’t find it)?

Should I create an issue for that?
The next point is, can you delete the newly created INDICATOR channels from the device database if it is really not supports at time? It seems to be a part of waste at the moment.

Hi @chris,
Now I downloaded the source, set up a developement environment and tried to fix the problem by myself.
The initial problem is, that BINARY is not yet supported. This seems not to be a problem to add, only a few lines of code.
To decide, if it is BINARY or MULTILEVEL (as default to keep backward compatibility), I added a second (optional) configuration parameter to the device database (file is manually edited since the database doesn’t export configurations for indicator_level).

  <channel id="indicator_level" typeId="indicator_level">
    <label>LED 1</label>
    <properties>
      <property name="binding:*:PercentType">COMMAND_CLASS_INDICATOR;type=BUTTON1_INDICATION,property=BINARY</property>
    </properties>
  </channel>

This is to the Endpoint 0 and works fine with my modifications (and my use case).

If I want to use another Endpoint, the property seems not to be parsed correctly (in ZWaveThingHandler.initialiseNode or getZWaveProperties)

  <channel id="indicator_level1" typeId="indicator_level">
    <label>LED 1</label>
    <properties>
      <property name="binding:*:PercentType">COMMAND_CLASS_INDICATOR;type=BUTTON1_INDICATION,property=BINARY:1</property>
    </properties>
  </channel>

Is the definition correct? When not, what is the correct position for the endpoint (:1)?
It is not possible to bring the second (last) configuration parameter up to the ZWaveIndicatorConverter.

I was not yet able to get the debugger working so it is some kind of blind developing and needs MANY time unfortanly.
Hope you can help, that I do things correct (I’m not a JAVA developer, so I have to learn so much things…).
Thank you for your help,
Daniel

Edit: I’ve found it by myself.
Before the the endpoint a comma is needed

COMMAND_CLASS_INDICATOR;type=BUTTON1_INDICATION,property=BINARY,:1

Sorry, my last post based on a type in the scenecontroller_0_0.xml.
Good news, I got the device working now :partying_face:

But, I need some assistance.

I had modified some code to do the work.

  • I have to check it into github and create a PR (no plan how to do this but I’ll find it) (Done, hope all the things are correct, puh)
  • I have to complete the Z-Wave Device Database (Done, review requested)

@chris Could you fix the export from device database please?
This is what I expect:

  <channel id="indicator_level1" typeId="indicator_level">
    <label>LED 1</label>
    <properties>
      <property name="binding:*:PercentType">COMMAND_CLASS_INDICATOR;type=BUTTON1_INDICATION,property=BINARY,:1</property>
      <property name="binding:Command:OnOffType">COMMAND_CLASS_INDICATOR;type=BUTTON1_INDICATION,property=BINARY,:1</property>
    </properties>
  </channel>
  <channel id="indicator_period1" typeId="indicator_period">
    <label>LED 1 (Period)</label>
    <properties>
      <property name="binding:*:DecimalType">COMMAND_CLASS_INDICATOR;type=BUTTON1_INDICATION,:1</property>
    </properties>
  </channel>
  <channel id="indicator_flash1" typeId="indicator_flash">
    <label>LED 1 (Flash)</label>
    <properties>
      <property name="binding:*:DecimalType">COMMAND_CLASS_INDICATOR;type=BUTTON1_INDICATION,:1</property>
    </properties>
  </channel>  

All the channels should not be deprecated…

Thank you,
best regards,
Daniel

@danil thanks for looking at this. I’ve updated the exporter - please can you take a look to see if it is now inline with above.

Thanks
Chris

@chris,
thanks for merging my PR and modify the exporter.
I checked the export, it is still not complete.

I get:

  <channel id="indicator_level1" typeId="indicator_level">
    <label>LED 1 (Level)</label>
    <properties>
      <property name="binding:*:PercentType">COMMAND_CLASS_INDICATOR:1</property>
      <property name="binding:Command:OnOffType">COMMAND_CLASS_SWITCH_MULTILEVEL:1</property>
    </properties>
  </channel>
  <channel id="indicator_period1" typeId="indicator_period">
    <label>LED 1 (Period) [Deprecated]</label>
    <properties>
      <property name="binding:*:DecimalType">COMMAND_CLASS_INDICATOR:1</property>
    </properties>
  </channel>
  <channel id="indicator_flash1" typeId="indicator_flash">
    <label>LED 1 (Flash) [Deprecated]</label>
    <properties>
      <property name="binding:*:DecimalType">COMMAND_CLASS_INDICATOR:1</property>
    </properties>
  </channel>

I need:

 <channel id="indicator_level1" typeId="indicator_level">
  <label>LED 1</label>
  <properties>
    <property name="binding:*:PercentType">COMMAND_CLASS_INDICATOR;type=BUTTON1_INDICATION,property=BINARY,:1</property>
    <property name="binding:Command:OnOffType">COMMAND_CLASS_INDICATOR;type=BUTTON1_INDICATION,property=BINARY,:1</property>
  </properties>
</channel>
<channel id="indicator_period1" typeId="indicator_period">
  <label>LED 1 (Period)</label>
  <properties>
    <property name="binding:*:DecimalType">COMMAND_CLASS_INDICATOR;type=BUTTON1_INDICATION,:1</property>
  </properties>
</channel>
<channel id="indicator_flash1" typeId="indicator_flash">
  <label>LED 1 (Flash)</label>
  <properties>
    <property name="binding:*:DecimalType">COMMAND_CLASS_INDICATOR;type=BUTTON1_INDICATION,:1</property>
  </properties>
</channel>  

also, the configuration paramters are still missing (for all three channel types)

The OnOffType needs to be COMMAND_CLASS_INDICATOR
The channels are still marked as deprecated

Thanks,
Daniel

Ok, I’ll take a look at why the properties aren’t exported. Note that you won’t get exactly what you want as your definition is slightly broken.

I’ve added the properties to the export so hopefully this is ok now.

1 Like

Perfect, thank you chris,
I will test it this evening…
btw, what is about the deprecated keyword?
Can I change that or is it your doing?

This is just a flag that needs changing in the database, but it can only be changed by admins. It doesn’t do anything so don’t worry too much about it.

Done.

3 Likes

Thanks @sihui

Hey thanks all for your contribution.
The device now works as I expected.

2 Likes