Aeon Smart Dimmer 6 no command sent when manually toggled

Tags: #<Tag:0x00007f616eb665f8> #<Tag:0x00007f616eb66508> #<Tag:0x00007f616eb66418>

I have the dimmer working just fine, otherwise. But if I press the button toggle the light, there is no command sent to OH2. I turned on debugging for the wave binding to compare what’s sent when I toggle the switch in the sitemap and what’s sent when the button is pressed. When toggling from the sitemap, I see:
2017-11-19 12:23:55.488 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 10: Command received zwave:device:8b948369:node10:switch_dimmer --> OFF

But when pressing the switch I only get:

2017-11-19 12:22:56.656 [DEBUG] [ve.internal.protocol.ZWaveController] - Receive queue TAKE: Length=0
2017-11-19 12:22:56.659 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 1D 00 49 84 0A 17 04 11 01 5E 26 33 32 81 60 8E 27 2C 2B 70 85 59 72 86 7A 73 5A EF 82 76 
2017-11-19 12:22:56.663 [DEBUG] [ve.internal.protocol.ZWaveController] - Process Message = 01 1D 00 49 84 0A 17 04 11 01 5E 26 33 32 81 60 8E 27 2C 2B 70 85 59 72 86 7A 73 5A EF 82 76 
2017-11-19 12:22:56.666 [DEBUG] [ve.internal.protocol.ZWaveController] - Message: class=ApplicationUpdate[0x49], type=Request[0x00], priority=High, dest=255, callback=0, payload=84 0A 17 04 11 01 5E 26 33 32 81 60 8E 27 2C 2B 70 85 59 72 86 7A 73 5A EF 82 
2017-11-19 12:22:56.677 [DEBUG] [essage.ApplicationUpdateMessageClass] - NODE 10: Application update request. Node information received.
2017-11-19 12:22:56.679 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 10: Starting initialisation from DONE
2017-11-19 12:22:56.681 [DEBUG] [ve.internal.protocol.ZWaveController] - Event Listener org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer@337167 already registered
2017-11-19 12:22:56.683 [DEBUG] [.serialmessage.ZWaveCommandProcessor] - Checking transaction complete: Sent Message: class=SendData[0x13], type=Request[0x00], priority=Poll, dest=9, callback=163, payload=09 01 00 
2017-11-19 12:22:56.687 [DEBUG] [.serialmessage.ZWaveCommandProcessor] - Checking transaction complete: Recv Message: class=ApplicationUpdate[0x49], type=Request[0x00], priority=High, dest=255, callback=0, payload=84 0A 17 04 11 01 5E 26 33 32 81 60 8E 27 2C 2B 70 85 59 72 86 7A 73 5A EF 82 
2017-11-19 12:22:56.688 [DEBUG] [.serialmessage.ZWaveCommandProcessor] - Checking transaction complete: class=ApplicationUpdate, callback id=163, expected=SendData, cancelled=false      MISMATCH

No command is sent.
There is no channel for the switch in the binding, is there a workaround for this?
Thanks

I don’t know this device and can not guarantee this applies to it. But many switches do not actually report back to the controller when it is manually toggled. I know for sure that the GE switches do not. I believe there was a patent dispute and only one vendor is/was able to sell such a switch that does instantly report.

All Aeon devices should report back their status - is the appropriate association configured in the device? I also note you might need to change the configuration of parameter 80 so it reports a command (just looking at the comment in the association group in the database).

Looking at the database there is a dimmer - this should be all that is needed as a dimmer is also a switch so multiple channels are not required.

Thanks for the reply. I’ll look into the association. Also, where is this “database”? I’ve read references to it in posts here, but I don’t know if its something local to my installation or somewhere online.

There’s an online version at www.cd-jackson.com, however it is exported from here into the binding, so yes, it’s also local to your installation as well.

This is the entry for the ZW099.

I set parameter 80 to “Basic CC Report” and that allows the dimmer to send an update. I can use that the keep the sitemap up to date. I also tried setting Group 2 of the Association Group to the Openhab controller. I still the same message as I posted earlier, but no command is sent. But the update I get from the Basic CC Report is adequate for my needs.
Thanks for the reply.

I should also note that the update is sent to the Color channel, so I had to setup a rule against that to toggle the switch.

@chris: Hi Chris, it seems we are having a regression with latest development branch under OH2 2.4 build 1313. Let me explain in detail the sequence:

  • ZW099 is configured to send Basic CC report whenever a change is detected.
  • Now when I try to change the dimmer through the linked item in PaperUI, I can seen the MULTILEVEL_SET sent correctly.
  • The ZW099 carries out the command, and sends a Basic Report back to controller. This report is not interpreted correctly in the binding, which leads to showing 2 different in PaperUI for the mapped native item and the corresponding item defined in the .items files.
    zwavw_paperui
  • After 1500ms a polling event occurred which causes the controller to send a MULTILEVEL_GET command to ZW099.
  • The ZW099 answers to the command correctly. Now the value is interpreted in the binding correctly and the native item is updated correctly.

This issue can be seen for all devices that implement the MULTILEVEL and the BASIC CC at the same time.
I am seeing this issue since a couple of days.

Link to download logs:
Zwave Logs
Cheers

I think this is caused by the device now sending the commands with MC encap. We probably need to change the database to add new channels - can you provide the XML for your device please?

Sure.

<node>
  <homeId>0xfbe77be5</homeId>
  <nodeId>9</nodeId>
  <version>4</version>
  <manufacturer>0x86</manufacturer>
  <deviceId>0x63</deviceId>
  <deviceType>0x3</deviceType>
  <listening>true</listening>
  <frequentlyListening>false</frequentlyListening>
  <routing>true</routing>
  <security>false</security>
  <beaming>true</beaming>
  <maxBaudRate>40000</maxBaudRate>
  <sleepDelay>1000</sleepDelay>
  <nodeInformationFrame>
    <commandClass>COMMAND_CLASS_ZWAVEPLUS_INFO</commandClass>
    <commandClass>COMMAND_CLASS_SWITCH_MULTILEVEL</commandClass>
    <commandClass>COMMAND_CLASS_SWITCH_COLOR</commandClass>
    <commandClass>COMMAND_CLASS_METER</commandClass>
    <commandClass>COMMAND_CLASS_CLOCK</commandClass>
    <commandClass>COMMAND_CLASS_MULTI_CHANNEL</commandClass>
    <commandClass>COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION</commandClass>
    <commandClass>COMMAND_CLASS_SWITCH_ALL</commandClass>
    <commandClass>COMMAND_CLASS_CONFIGURATION</commandClass>
    <commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
    <commandClass>COMMAND_CLASS_ASSOCIATION_GRP_INFO</commandClass>
    <commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>
    <commandClass>COMMAND_CLASS_VERSION</commandClass>
    <commandClass>COMMAND_CLASS_FIRMWARE_UPDATE_MD</commandClass>
    <commandClass>COMMAND_CLASS_POWERLEVEL</commandClass>
    <commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>
  </nodeInformationFrame>
  <associationGroups class="concurrent-hash-map">
    <entry>
      <int>1</int>
      <associationGroup>
        <index>1</index>
        <maxNodes>0</maxNodes>
        <name>Lifeline</name>
        <profile1>0x0</profile1>
        <profile2>0x0</profile2>
        <commands>
          <commandClass>COMMAND_CLASS_BASIC</commandClass>
        </commands>
        <associations>
          <associationMember>
            <node>1</node>
            <endpoint>1</endpoint>
          </associationMember>
        </associations>
      </associationGroup>
    </entry>
    <entry>
      <int>2</int>
      <associationGroup>
        <index>2</index>
        <maxNodes>0</maxNodes>
        <name>Retransmit</name>
        <profile1>0x0</profile1>
        <profile2>0x0</profile2>
        <commands>
          <commandClass>COMMAND_CLASS_BASIC</commandClass>
          <commandClass>COMMAND_CLASS_SWITCH_MULTILEVEL</commandClass>
        </commands>
        <associations/>
      </associationGroup>
    </entry>
  </associationGroups>
  <endpoints class="concurrent-hash-map">
    <entry>
      <int>0</int>
      <endPoint>
        <deviceClass>
          <basicDeviceClass>BASIC_TYPE_ROUTING_SLAVE</basicDeviceClass>
          <genericDeviceClass>GENERIC_TYPE_SWITCH_MULTILEVEL</genericDeviceClass>
          <specificDeviceClass>SPECIFIC_TYPE_POWER_SWITCH_MULTILEVEL</specificDeviceClass>
        </deviceClass>
        <endpointId>0</endpointId>
        <secureCommandClasses/>
        <supportedCommandClasses class="concurrent-hash-map">
          <entry>
            <commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
            <COMMAND__CLASS__ASSOCIATION>
              <version>2</version>
              <instances>1</instances>
              <versionSupported>2</versionSupported>
              <maxGroups>2</maxGroups>
            </COMMAND__CLASS__ASSOCIATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_CLOCK</commandClass>
            <COMMAND__CLASS__CLOCK>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
            </COMMAND__CLASS__CLOCK>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_SWITCH_COLOR</commandClass>
            <COMMAND__CLASS__SWITCH__COLOR>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <supportedColors>
                <colorType>GREEN</colorType>
                <colorType>RED</colorType>
                <colorType>BLUE</colorType>
              </supportedColors>
              <refreshList/>
              <colorMap>
                <entry>
                  <colorType>GREEN</colorType>
                  <int>20</int>
                </entry>
                <entry>
                  <colorType>RED</colorType>
                  <int>27</int>
                </entry>
                <entry>
                  <colorType>BLUE</colorType>
                  <int>27</int>
                </entry>
              </colorMap>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__SWITCH__COLOR>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_ASSOCIATION_GRP_INFO</commandClass>
            <COMMAND__CLASS__ASSOCIATION__GRP__INFO>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <autoSubscribeGroups/>
            </COMMAND__CLASS__ASSOCIATION__GRP__INFO>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_BASIC</commandClass>
            <COMMAND__CLASS__BASIC>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__BASIC>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_SWITCH_MULTILEVEL</commandClass>
            <multiLevelSwitchCommandClass>
              <version>2</version>
              <instances>1</instances>
              <versionSupported>2</versionSupported>
              <isGetSupported>true</isGetSupported>
            </multiLevelSwitchCommandClass>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_POWERLEVEL</commandClass>
            <COMMAND__CLASS__POWERLEVEL>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <powerLevel>0</powerLevel>
              <powerTimeout>0</powerTimeout>
            </COMMAND__CLASS__POWERLEVEL>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION</commandClass>
            <COMMAND__CLASS__MULTI__CHANNEL__ASSOCIATION>
              <version>3</version>
              <instances>1</instances>
              <versionSupported>3</versionSupported>
              <maxGroups>2</maxGroups>
            </COMMAND__CLASS__MULTI__CHANNEL__ASSOCIATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_SWITCH_ALL</commandClass>
            <COMMAND__CLASS__SWITCH__ALL>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <isGetSupported>true</isGetSupported>
              <mode>SWITCH_ALL_EXCLUDED</mode>
            </COMMAND__CLASS__SWITCH__ALL>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>
            <COMMAND__CLASS__DEVICE__RESET__LOCALLY>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
            </COMMAND__CLASS__DEVICE__RESET__LOCALLY>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_CONFIGURATION</commandClass>
            <COMMAND__CLASS__CONFIGURATION>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <configParameters>
                <entry>
                  <int>3</int>
                  <configurationParameter>
                    <index>3</index>
                    <size>1</size>
                    <value>0</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>100</int>
                  <configurationParameter>
                    <index>100</index>
                    <size>1</size>
                    <value>0</value>
                    <readOnly>false</readOnly>
                    <writeOnly>true</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>101</int>
                  <configurationParameter>
                    <index>101</index>
                    <size>4</size>
                    <value>7</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>102</int>
                  <configurationParameter>
                    <index>102</index>
                    <size>4</size>
                    <value>0</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>103</int>
                  <configurationParameter>
                    <index>103</index>
                    <size>4</size>
                    <value>0</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>200</int>
                  <configurationParameter>
                    <index>200</index>
                    <size>1</size>
                    <value>0</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>110</int>
                  <configurationParameter>
                    <index>110</index>
                    <size>1</size>
                    <value>0</value>
                    <readOnly>false</readOnly>
                    <writeOnly>true</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>111</int>
                  <configurationParameter>
                    <index>111</index>
                    <size>4</size>
                    <value>3</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>80</int>
                  <configurationParameter>
                    <index>80</index>
                    <size>1</size>
                    <value>2</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>112</int>
                  <configurationParameter>
                    <index>112</index>
                    <size>4</size>
                    <value>600</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>81</int>
                  <configurationParameter>
                    <index>81</index>
                    <size>1</size>
                    <value>0</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>113</int>
                  <configurationParameter>
                    <index>113</index>
                    <size>4</size>
                    <value>600</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>83</int>
                  <configurationParameter>
                    <index>83</index>
                    <size>3</size>
                    <value>1774619</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>20</int>
                  <configurationParameter>
                    <index>20</index>
                    <size>1</size>
                    <value>0</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>84</int>
                  <configurationParameter>
                    <index>84</index>
                    <size>3</size>
                    <value>3289650</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>90</int>
                  <configurationParameter>
                    <index>90</index>
                    <size>1</size>
                    <value>1</value>
                    <readOnly>false</readOnly>
                    <writeOnly>true</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>91</int>
                  <configurationParameter>
                    <index>91</index>
                    <size>2</size>
                    <value>2</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>92</int>
                  <configurationParameter>
                    <index>92</index>
                    <size>1</size>
                    <value>10</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>252</int>
                  <configurationParameter>
                    <index>252</index>
                    <size>1</size>
                    <value>0</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>254</int>
                  <configurationParameter>
                    <index>254</index>
                    <size>2</size>
                    <value>0</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
              </configParameters>
            </COMMAND__CLASS__CONFIGURATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_ZWAVEPLUS_INFO</commandClass>
            <COMMAND__CLASS__ZWAVEPLUS__INFO>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>2</versionSupported>
              <zwPlusVersion>1</zwPlusVersion>
              <zwPlusRole>ROLE_TYPE_SLAVE_ALWAYS_ON</zwPlusRole>
              <zwPlusNodeType>NODE_TYPE_ZWAVEPLUS_NODE</zwPlusNodeType>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__ZWAVEPLUS__INFO>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_METER</commandClass>
            <COMMAND__CLASS__METER>
              <version>3</version>
              <instances>1</instances>
              <versionSupported>3</versionSupported>
              <meterType>ELECTRIC</meterType>
              <meterScales>
                <meterScale>E_W</meterScale>
                <meterScale>E_A</meterScale>
                <meterScale>E_KWh</meterScale>
                <meterScale>E_V</meterScale>
              </meterScales>
              <canReset>true</canReset>
              <isGetSupported>true</isGetSupported>
              <isSupportRequestSupported>true</isSupportRequestSupported>
            </COMMAND__CLASS__METER>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_VERSION</commandClass>
            <COMMAND__CLASS__VERSION>
              <version>2</version>
              <instances>1</instances>
              <versionSupported>2</versionSupported>
              <libraryType>LIB_SLAVE_ENHANCED</libraryType>
              <protocolVersion>4.5</protocolVersion>
              <applicationVersion>1.3</applicationVersion>
              <hardwareVersion>99</hardwareVersion>
            </COMMAND__CLASS__VERSION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_NO_OPERATION</commandClass>
            <COMMAND__CLASS__NO__OPERATION>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
            </COMMAND__CLASS__NO__OPERATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_MULTI_CHANNEL</commandClass>
            <COMMAND__CLASS__MULTI__CHANNEL>
              <version>2</version>
              <instances>1</instances>
              <versionSupported>4</versionSupported>
              <useDestEndpointAsSource>false</useDestEndpointAsSource>
              <endpointsAreTheSameDeviceClass>false</endpointsAreTheSameDeviceClass>
            </COMMAND__CLASS__MULTI__CHANNEL>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_FIRMWARE_UPDATE_MD</commandClass>
            <COMMAND__CLASS__FIRMWARE__UPDATE__MD>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>2</versionSupported>
            </COMMAND__CLASS__FIRMWARE__UPDATE__MD>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>
            <COMMAND__CLASS__MANUFACTURER__SPECIFIC>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>2</versionSupported>
              <initSerialNumber>false</initSerialNumber>
              <deviceManufacturer>134</deviceManufacturer>
              <deviceType>3</deviceType>
              <deviceId>99</deviceId>
            </COMMAND__CLASS__MANUFACTURER__SPECIFIC>
          </entry>
        </supportedCommandClasses>
      </endPoint>
    </entry>
    <entry>
      <int>1</int>
      <endPoint>
        <deviceClass>
          <basicDeviceClass>BASIC_TYPE_ROUTING_SLAVE</basicDeviceClass>
          <genericDeviceClass>GENERIC_TYPE_SWITCH_MULTILEVEL</genericDeviceClass>
          <specificDeviceClass>SPECIFIC_TYPE_POWER_SWITCH_MULTILEVEL</specificDeviceClass>
        </deviceClass>
        <endpointId>1</endpointId>
        <secureCommandClasses/>
        <supportedCommandClasses class="concurrent-hash-map">
          <entry>
            <commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
            <COMMAND__CLASS__ASSOCIATION>
              <endpoint reference="../../../.."/>
              <version>2</version>
              <instances>1</instances>
              <versionSupported>2</versionSupported>
              <maxGroups>1</maxGroups>
            </COMMAND__CLASS__ASSOCIATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_CLOCK</commandClass>
            <COMMAND__CLASS__CLOCK>
              <endpoint reference="../../../.."/>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
            </COMMAND__CLASS__CLOCK>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_CONFIGURATION</commandClass>
            <COMMAND__CLASS__CONFIGURATION>
              <endpoint reference="../../../.."/>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <configParameters/>
            </COMMAND__CLASS__CONFIGURATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_ASSOCIATION_GRP_INFO</commandClass>
            <COMMAND__CLASS__ASSOCIATION__GRP__INFO>
              <endpoint reference="../../../.."/>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <autoSubscribeGroups/>
            </COMMAND__CLASS__ASSOCIATION__GRP__INFO>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_ZWAVEPLUS_INFO</commandClass>
            <COMMAND__CLASS__ZWAVEPLUS__INFO>
              <endpoint reference="../../../.."/>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <zwPlusVersion>1</zwPlusVersion>
              <zwPlusRole>ROLE_TYPE_SLAVE_ALWAYS_ON</zwPlusRole>
              <zwPlusNodeType>NODE_TYPE_ZWAVEPLUS_NODE</zwPlusNodeType>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__ZWAVEPLUS__INFO>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_BASIC</commandClass>
            <COMMAND__CLASS__BASIC>
              <endpoint reference="../../../.."/>
              <version>0</version>
              <instances>0</instances>
              <versionSupported>0</versionSupported>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__BASIC>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_METER</commandClass>
            <COMMAND__CLASS__METER>
              <endpoint reference="../../../.."/>
              <version>3</version>
              <instances>1</instances>
              <versionSupported>3</versionSupported>
              <meterType>ELECTRIC</meterType>
              <meterScales>
                <meterScale>E_W</meterScale>
                <meterScale>E_A</meterScale>
                <meterScale>E_KWh</meterScale>
                <meterScale>E_V</meterScale>
              </meterScales>
              <canReset>true</canReset>
              <isGetSupported>true</isGetSupported>
              <isSupportRequestSupported>true</isSupportRequestSupported>
            </COMMAND__CLASS__METER>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_VERSION</commandClass>
            <COMMAND__CLASS__VERSION>
              <endpoint reference="../../../.."/>
              <version>2</version>
              <instances>1</instances>
              <versionSupported>2</versionSupported>
              <libraryType>LIB_UNKNOWN</libraryType>
            </COMMAND__CLASS__VERSION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_SWITCH_MULTILEVEL</commandClass>
            <multiLevelSwitchCommandClass>
              <endpoint reference="../../../.."/>
              <version>2</version>
              <instances>1</instances>
              <versionSupported>2</versionSupported>
              <isGetSupported>true</isGetSupported>
            </multiLevelSwitchCommandClass>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION</commandClass>
            <COMMAND__CLASS__MULTI__CHANNEL__ASSOCIATION>
              <endpoint reference="../../../.."/>
              <version>3</version>
              <instances>1</instances>
              <versionSupported>3</versionSupported>
              <maxGroups>1</maxGroups>
            </COMMAND__CLASS__MULTI__CHANNEL__ASSOCIATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_SWITCH_ALL</commandClass>
            <COMMAND__CLASS__SWITCH__ALL>
              <endpoint reference="../../../.."/>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <isGetSupported>true</isGetSupported>
              <mode>SWITCH_ALL_EXCLUDED</mode>
            </COMMAND__CLASS__SWITCH__ALL>
          </entry>
        </supportedCommandClasses>
      </endPoint>
    </entry>
    <entry>
      <int>2</int>
      <endPoint>
        <deviceClass>
          <basicDeviceClass>BASIC_TYPE_ROUTING_SLAVE</basicDeviceClass>
          <genericDeviceClass>GENERIC_TYPE_SWITCH_MULTILEVEL</genericDeviceClass>
          <specificDeviceClass>SPECIFIC_TYPE_POWER_SWITCH_MULTILEVEL</specificDeviceClass>
        </deviceClass>
        <endpointId>2</endpointId>
        <secureCommandClasses/>
        <supportedCommandClasses class="concurrent-hash-map">
          <entry>
            <commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
            <COMMAND__CLASS__ASSOCIATION>
              <endpoint reference="../../../.."/>
              <version>2</version>
              <instances>1</instances>
              <versionSupported>2</versionSupported>
              <maxGroups>0</maxGroups>
            </COMMAND__CLASS__ASSOCIATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_SWITCH_COLOR</commandClass>
            <COMMAND__CLASS__SWITCH__COLOR>
              <endpoint reference="../../../.."/>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <supportedColors>
                <colorType>GREEN</colorType>
                <colorType>RED</colorType>
                <colorType>BLUE</colorType>
              </supportedColors>
              <refreshList/>
              <colorMap>
                <entry>
                  <colorType>GREEN</colorType>
                  <int>20</int>
                </entry>
                <entry>
                  <colorType>RED</colorType>
                  <int>27</int>
                </entry>
                <entry>
                  <colorType>BLUE</colorType>
                  <int>27</int>
                </entry>
              </colorMap>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__SWITCH__COLOR>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_ASSOCIATION_GRP_INFO</commandClass>
            <COMMAND__CLASS__ASSOCIATION__GRP__INFO>
              <endpoint reference="../../../.."/>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <autoSubscribeGroups/>
            </COMMAND__CLASS__ASSOCIATION__GRP__INFO>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_ZWAVEPLUS_INFO</commandClass>
            <COMMAND__CLASS__ZWAVEPLUS__INFO>
              <endpoint reference="../../../.."/>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <zwPlusVersion>1</zwPlusVersion>
              <zwPlusRole>ROLE_TYPE_SLAVE_ALWAYS_ON</zwPlusRole>
              <zwPlusNodeType>NODE_TYPE_ZWAVEPLUS_NODE</zwPlusNodeType>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__ZWAVEPLUS__INFO>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_BASIC</commandClass>
            <COMMAND__CLASS__BASIC>
              <endpoint reference="../../../.."/>
              <version>0</version>
              <instances>0</instances>
              <versionSupported>0</versionSupported>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__BASIC>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_SWITCH_MULTILEVEL</commandClass>
            <multiLevelSwitchCommandClass>
              <endpoint reference="../../../.."/>
              <version>2</version>
              <instances>1</instances>
              <versionSupported>2</versionSupported>
              <isGetSupported>true</isGetSupported>
            </multiLevelSwitchCommandClass>
          </entry>
        </supportedCommandClasses>
      </endPoint>
    </entry>
  </endpoints>
  <nodeNeighbors>
    <int>1</int>
    <int>5</int>
    <int>12</int>
    <int>13</int>
  </nodeNeighbors>
  <lastReceived>2018-07-19 08:39:01.143 UTC</lastReceived>
</node>

Thanks.

This shows that there are more endpoints in this device, and we’ll need to update the database to reflect this. With the new concepts for the MC commanding, devices are changing the way they report based on the way association are configured.

Basically, instead of using the root endpoint, we will need to use the other endpoints.

I’ll have a think about how to handle this - the database will need to be updated in any case.

I think this is a good approach to link items to their endpoints equivalent instead of root device.
It is working now after I modified the XML file from database and rebuilt the plugin.

attached the modified file:
zw099_0_0.xml (18.7 KB)

I think there still a bug somewhere hidden in the color converter :slight_smile:
After changing the dimmer value, the controller polls all other entries (I think through MC encap). the color value changes slightly before is being set back to its correct value. I think this might be related to the conversion from RGB to HSB inside the binding. I think it is done too early instead of waiting of all RGB values to be retrieved:

2018-07-19 11:20:29.845 [ome.event.ItemCommandEvent] - Item 'diCornerLamp' received command 100

2018-07-19 11:20:29.866 [vent.ItemStateChangedEvent] - diCornerLamp changed from 89 to 100

2018-07-19 11:20:29.917 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_ack changed from 354 to 355

2018-07-19 11:20:29.944 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 884 to 885

2018-07-19 11:20:29.973 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 885 to 886

2018-07-19 11:20:29.985 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 886 to 887

2018-07-19 11:20:30.005 [vent.ItemStateChangedEvent] - zwave_aeon_zw099_00_000_b8d4da1b_node9_switch_dimmer changed from 89 to 100

2018-07-19 11:20:31.417 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_ack changed from 355 to 356

2018-07-19 11:20:31.430 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 887 to 888

2018-07-19 11:20:31.467 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 888 to 889

2018-07-19 11:20:31.484 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 889 to 890

2018-07-19 11:20:31.597 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_ack changed from 356 to 357

2018-07-19 11:20:31.626 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 890 to 891

2018-07-19 11:20:31.643 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 891 to 892

2018-07-19 11:20:31.647 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 892 to 893

2018-07-19 11:20:31.740 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_ack changed from 357 to 358

2018-07-19 11:20:31.765 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 893 to 894

2018-07-19 11:20:31.821 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 894 to 895

2018-07-19 11:20:31.856 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 895 to 896

2018-07-19 11:20:31.931 [vent.ItemStateChangedEvent] - zwave_aeon_zw099_00_000_b8d4da1b_node9_color_color changed from 300,25,10 to 300,25,100

2018-07-19 11:20:31.947 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_ack changed from 358 to 359

2018-07-19 11:20:31.952 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 896 to 897

2018-07-19 11:20:31.990 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 897 to 898

2018-07-19 11:20:32.025 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 898 to 899

==> /var/log/openhab2/openhab.log <==

2018-07-19 11:20:32.034 [INFO ] [.commandclass.ZWaveColorCommandClass] - NODE 9: Color report BLUE 27

==> /var/log/openhab2/events.log <==

2018-07-19 11:20:32.086 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_ack changed from 359 to 360

2018-07-19 11:20:32.107 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 899 to 900

2018-07-19 11:20:32.136 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 900 to 901

2018-07-19 11:20:32.186 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 901 to 902

==> /var/log/openhab2/openhab.log <==

2018-07-19 11:20:32.212 [INFO ] [.commandclass.ZWaveColorCommandClass] - NODE 9: Color report RED 27

==> /var/log/openhab2/events.log <==

2018-07-19 11:20:32.246 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_ack changed from 360 to 361

2018-07-19 11:20:32.266 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 902 to 903

2018-07-19 11:20:32.313 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 903 to 904

2018-07-19 11:20:32.368 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 904 to 905

==> /var/log/openhab2/openhab.log <==

2018-07-19 11:20:32.384 [INFO ] [.commandclass.ZWaveColorCommandClass] - NODE 9: Color report GREEN 20

2018-07-19 11:20:32.390 [INFO ] [.commandclass.ZWaveColorCommandClass] - NODE 9: Color report finished {GREEN=20, BLUE=27, RED=27}

==> /var/log/openhab2/events.log <==

2018-07-19 11:20:32.429 [vent.ItemStateChangedEvent] - zwave_aeon_zw099_00_000_b8d4da1b_node9_color_color changed from 300,25,100 to 300,25,10

2018-07-19 11:20:32.459 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_ack changed from 361 to 362

2018-07-19 11:20:32.475 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 905 to 906

2018-07-19 11:20:32.514 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 906 to 907

2018-07-19 11:20:32.554 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 907 to 908

2018-07-19 11:20:32.646 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_ack changed from 362 to 363

2018-07-19 11:20:32.667 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 908 to 909

2018-07-19 11:20:32.712 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 909 to 910

2018-07-19 11:20:32.737 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 910 to 911

2018-07-19 11:20:32.782 [vent.ItemStateChangedEvent] - zwave_aeon_zw099_00_000_b8d4da1b_node9_meter_voltage changed from 232.646 to 232.351

2018-07-19 11:20:32.794 [vent.ItemStateChangedEvent] - vltCornerLamp changed from 232.646 to 232.351

2018-07-19 11:20:32.817 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_ack changed from 363 to 364

2018-07-19 11:20:32.837 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 911 to 912

2018-07-19 11:20:32.897 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 912 to 913

2018-07-19 11:20:32.909 [vent.ItemStateChangedEvent] - zwave_serial_zstick_b8d4da1b_serial_sof changed from 913 to 914

There is code in the binding to wait until all channels are received, but I will take a look. I didn’t notice this the other day when I was working on the color code, so if you have a log, then please provide it :slight_smile:

With pleasure.

log2

1 Like