Unable to create thing "Thing ... unable to be approved: Duplicate channels ..."

I am running openHAB 4.1.1.
I am not able to add a Linear Corp switch.
It throws the following error when i try to add it: “Thing zwave:device:ctrlr:nodexx unable to be approved: Duplicate channels zwave:device:ctrlr:node41:scene_number”

Can this be fixed?

The xml data:

<node>
<homeId>0x xxxx</homeId>
<nodeId>xx</nodeId>
<version>4</version>
<manufacturer>0x14f</manufacturer>
<deviceId>0x3535</deviceId>
<deviceType>0x5753</deviceType>
<listening>true</listening>
<frequentlyListening>false</frequentlyListening>
<routing>true</routing>
<security>false</security>
<beaming>true</beaming>
<maxBaudRate>40000</maxBaudRate>
<sleepDelay>500</sleepDelay>
<nodeInformationFrame>
<commandClass>COMMAND_CLASS_ZWAVEPLUS_INFO</commandClass>
<commandClass>COMMAND_CLASS_SWITCH_BINARY</commandClass>
<commandClass>COMMAND_CLASS_CENTRAL_SCENE</commandClass>
<commandClass>COMMAND_CLASS_VERSION</commandClass>
<commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>
<commandClass>COMMAND_CLASS_POWERLEVEL</commandClass>
<commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>
<commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
<commandClass>COMMAND_CLASS_ASSOCIATION_GRP_INFO</commandClass>
<commandClass>COMMAND_CLASS_CONFIGURATION</commandClass>
<commandClass>COMMAND_CLASS_FIRMWARE_UPDATE_MD</commandClass>
<commandClass>COMMAND_CLASS_SWITCH_ALL</commandClass>
<commandClass>COMMAND_CLASS_SCENE_ACTIVATION</commandClass>
<commandClass>COMMAND_CLASS_SCENE_ACTUATOR_CONF</commandClass>
</nodeInformationFrame>
<associationGroups class="concurrent-hash-map"/>
<endpoints class="concurrent-hash-map">
<entry>
<int>0</int>
<endPoint>
<deviceClass>
<basicDeviceClass>BASIC_TYPE_ROUTING_SLAVE</basicDeviceClass>
<genericDeviceClass>GENERIC_TYPE_SWITCH_BINARY</genericDeviceClass>
<specificDeviceClass>SPECIFIC_TYPE_POWER_SWITCH_BINARY</specificDeviceClass>
</deviceClass>
<endpointId>0</endpointId>
<secureCommandClasses/>
<supportedCommandClasses class="concurrent-hash-map">
<entry>
<commandClass>COMMAND_CLASS_NO_OPERATION</commandClass>
<COMMAND__CLASS__NO__OPERATION>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
</COMMAND__CLASS__NO__OPERATION>
</entry>
<entry>
<commandClass>COMMAND_CLASS_BASIC</commandClass>
<COMMAND__CLASS__BASIC>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
<isGetSupported>true</isGetSupported>
</COMMAND__CLASS__BASIC>
</entry>
<entry>
<commandClass>COMMAND_CLASS_SWITCH_BINARY</commandClass>
<COMMAND__CLASS__SWITCH__BINARY>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
<isGetSupported>true</isGetSupported>
</COMMAND__CLASS__SWITCH__BINARY>
</entry>
<entry>
<commandClass>COMMAND_CLASS_SWITCH_ALL</commandClass>
<COMMAND__CLASS__SWITCH__ALL>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
<isGetSupported>true</isGetSupported>
<mode>SWITCH_ALL_EXCLUDED</mode>
</COMMAND__CLASS__SWITCH__ALL>
</entry>
<entry>
<commandClass>COMMAND_CLASS_SCENE_ACTIVATION</commandClass>
<COMMAND__CLASS__SCENE__ACTIVATION>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
</COMMAND__CLASS__SCENE__ACTIVATION>
</entry>
<entry>
<commandClass>COMMAND_CLASS_SCENE_ACTUATOR_CONF</commandClass>
<COMMAND__CLASS__SCENE__ACTUATOR__CONF>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
</COMMAND__CLASS__SCENE__ACTUATOR__CONF>
</entry>
<entry>
<commandClass>COMMAND_CLASS_ASSOCIATION_GRP_INFO</commandClass>
<COMMAND__CLASS__ASSOCIATION__GRP__INFO>
<version>0</version>
<instances>0</instances>
<control>false</control>
<versionSupported>0</versionSupported>
<autoSubscribeGroups/>
</COMMAND__CLASS__ASSOCIATION__GRP__INFO>
</entry>
<entry>
<commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>
<COMMAND__CLASS__DEVICE__RESET__LOCALLY>
<version>0</version>
<instances>0</instances>
<control>false</control>
<versionSupported>0</versionSupported>
</COMMAND__CLASS__DEVICE__RESET__LOCALLY>
</entry>
<entry>
<commandClass>COMMAND_CLASS_CENTRAL_SCENE</commandClass>
<COMMAND__CLASS__CENTRAL__SCENE>
<version>0</version>
<instances>0</instances>
<control>false</control>
<versionSupported>0</versionSupported>
<sceneCount>0</sceneCount>
</COMMAND__CLASS__CENTRAL__SCENE>
</entry>
<entry>
<commandClass>COMMAND_CLASS_ZWAVEPLUS_INFO</commandClass>
<COMMAND__CLASS__ZWAVEPLUS__INFO>
<version>0</version>
<instances>0</instances>
<control>false</control>
<versionSupported>0</versionSupported>
<zwPlusVersion>0</zwPlusVersion>
<isGetSupported>true</isGetSupported>
</COMMAND__CLASS__ZWAVEPLUS__INFO>
</entry>
<entry>
<commandClass>COMMAND_CLASS_MULTI_CHANNEL</commandClass>
<COMMAND__CLASS__MULTI__CHANNEL>
<version>0</version>
<instances>0</instances>
<control>false</control>
<versionSupported>0</versionSupported>
<useDestEndpointAsSource>false</useDestEndpointAsSource>
<endpointsAreTheSameDeviceClass>false</endpointsAreTheSameDeviceClass>
</COMMAND__CLASS__MULTI__CHANNEL>
</entry>
<entry>
<commandClass>COMMAND_CLASS_CONFIGURATION</commandClass>
<COMMAND__CLASS__CONFIGURATION>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
<configParameters>
<entry>
<int>3</int>
<configurationParameter>
<index>3</index>
<size>1</size>
<value>1</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
<entry>
<int>4</int>
<configurationParameter>
<index>4</index>
<size>1</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
</configParameters>
</COMMAND__CLASS__CONFIGURATION>
</entry>
<entry>
<commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>
<COMMAND__CLASS__MANUFACTURER__SPECIFIC>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
<initSerialNumber>false</initSerialNumber>
<deviceManufacturer>335</deviceManufacturer>
<deviceType>21079</deviceType>
<deviceId>13619</deviceId>
</COMMAND__CLASS__MANUFACTURER__SPECIFIC>
</entry>
<entry>
<commandClass>COMMAND_CLASS_POWERLEVEL</commandClass>
<COMMAND__CLASS__POWERLEVEL>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
<powerLevel>6</powerLevel>
<powerTimeout>0</powerTimeout>
</COMMAND__CLASS__POWERLEVEL>
</entry>
<entry>
<commandClass>COMMAND_CLASS_FIRMWARE_UPDATE_MD</commandClass>
<COMMAND__CLASS__FIRMWARE__UPDATE__MD>
<version>0</version>
<instances>0</instances>
<control>false</control>
<versionSupported>0</versionSupported>
</COMMAND__CLASS__FIRMWARE__UPDATE__MD>
</entry>
<entry>
<commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
<COMMAND__CLASS__ASSOCIATION>
<version>0</version>
<instances>0</instances>
<control>false</control>
<versionSupported>0</versionSupported>
<maxGroups>0</maxGroups>
</COMMAND__CLASS__ASSOCIATION>
</entry>
<entry>
<commandClass>COMMAND_CLASS_VERSION</commandClass>
<COMMAND__CLASS__VERSION>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
<libraryType>LIB_SLAVE_ROUTING</libraryType>
<protocolVersion>3.42</protocolVersion>
<applicationVersion>5.41</applicationVersion>
</COMMAND__CLASS__VERSION>
</entry>
</supportedCommandClasses>
</endPoint>
</entry>
</endpoints>
<nodeNeighbors>
<int>1</int>
<int>2</int>
<int>3</int>
<int>5</int>
<int>6</int>
<int>7</int>
<int>8</int>
<int>9</int>
<int>10</int>
<int>11</int>
<int>12</int>
<int>13</int>
<int>14</int>
<int>15</int>
<int>16</int>
<int>17</int>
<int>19</int>
<int>20</int>
<int>21</int>
<int>22</int>
<int>23</int>
<int>24</int>
<int>25</int>
<int>26</int>
<int>27</int>
<int>28</int>
<int>29</int>
<int>30</int>
<int>31</int>
<int>33</int>
<int>34</int>
<int>35</int>
<int>36</int>
</nodeNeighbors>
<lastReceived>2024-01-30 19:59:14.227 UTC</lastReceived>
</node>

Yes, but I’m not super with the scene command classes. I marked up an XML that can be added to your Zwave binding following this procedure. If it works for you we can make the change in the DB for a permanent fix. folder is linear, not zooz in this case
ws15z5_0_0.xml (9.4 KB)

Thanks a lot Bob, good work.

Change applied → thing added to things repository without error.

The switch can now be operated through OpenHAB.

Not sure if it plays a role: i tried to add the controller or other nodes to the association groups “1: Lifeline”,“2: Switch Group”,“3: Dimmer Group” and saved it. This does not work.
Other parameters can be changed, saved and changes are effective.

From the docs on the ZW DB for the device group 1 can only have one node and the controller is automatically added by default. The other two groups should be able to have 5 nodes, but don’t add the controller to those. Might need to put the Zwave binding in debug mode while trying add a node to groups 2 or 3 and see what the log viewer shows

I copied you below what relates to the relevant node. If you need the complete log, it would be helpful i could paste the file :wink:

2024-01-31 16:07:09.540 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 41: Configuration update received
2024-01-31 16:07:09.542 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 41: Configuration update ignored switchall_mode to 0 (BigDecimal)
2024-01-31 16:07:09.542 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 41: Configuration update ignored config_3_1 to 0 (BigDecimal)
2024-01-31 16:07:09.543 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 41: Configuration update ignored config_4_1 to 0 (BigDecimal)
2024-01-31 16:07:09.543 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 41: Configuration update set binding_pollperiod to 10800 (BigDecimal)
2024-01-31 16:07:09.544 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 41: Polling initialised at 10800 seconds - start in 194400 milliseconds.
2024-01-31 16:07:09.544 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 41: Configuration update ignored node_id to 41 (BigDecimal)
2024-01-31 16:07:09.545 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 41: Configuration update set group_2 to [node_4, node_5, node_9] (ArrayList)
2024-01-31 16:07:09.545 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 41: Association 2 consolidated to [node_4, node_5, node_9]
2024-01-31 16:07:09.546 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 41: Unknown association group 2
2024-01-31 16:07:20.587 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 41: Configuration update received
2024-01-31 16:07:22.418 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 41: Configuration update ignored switchall_mode to 0 (BigDecimal)
2024-01-31 16:07:22.419 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 41: Configuration update ignored config_3_1 to 0 (BigDecimal)
2024-01-31 16:07:22.422 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 41: Configuration update ignored config_4_1 to 0 (BigDecimal)
2024-01-31 16:07:22.426 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 41: Configuration update ignored binding_pollperiod to 10800 (BigDecimal)
2024-01-31 16:07:22.429 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 41: Configuration update set group_3 to [node_9, node_10] (ArrayList)
2024-01-31 16:07:22.433 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 41: Association 3 consolidated to [node_9, node_10]
2024-01-31 16:07:22.437 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 41: Unknown association group 3
2024-01-31 16:07:22.439 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 41: Configuration update ignored node_id to 41 (BigDecimal)

That does look like a problem, but I don’t understand why it would be. The XML has groups 2 & 3. Maybe there was a problem during initialization.

This is going to be a big file, but can you run debug mode and hit reinitialize device? This should sort out if it is a device issue or a config issue. Go back to info log once the reinitialize device reappears.
Five Lines of configured node

Hi Bob,

sorry - file too big to upload.
Onedrive: https://1drv.ms/u/s!AjX3-C2ZSUNhgvt8NPWKf_BDDz_-Ew?e=zqy0we

Hope that works?

Well the device “advertises” 3 groups just like the docs and the controller is shown in group 1. The only thing else is the responses are very slow. Node 38 is gumming up the works, maybe that is related. It (38) appears to have been added securely, but seems to only report KWH.

Did you try group 2 after the reinitialize? That definitely looked established.

Edit: The viewer is not 100% with the yellow boxes in association, but this shows Group 1 with node 1 and Group 2 with none. The answer to the command for group 3 was never responded to (because of Node 38 traffic), so that could still be an issue.

Group 2 and 3 seem to have no associations


and … yep, 38 is very talkative. I´ll fix that when back in US.

As i have no issues with the association groups … i guess we can close that?

You have been very responsive and did a great and quick job - THANKS A LOT :smiley:

What do we need to do re the DB change?

I have write access to the ZW DB, but only the developer can delete channels. I opened a ticket for him to do that. He is very busy, but it should get updated in the next couple of weeks.

Dear Bob,
THANKS a lot for your help - great job :partying_face:

BTW: i had a lot of trouble with Razberry 7 pro and reverted. I understood you are in the process of redoing the binding.
How can i help?

Not exactly. I authored a PR for 700 controllers and it was merged in December. Nothing more is planned (by me).

I have seen others with problems with that device, but (so far) it always seem to boil down to too much traffic (like Node 38 for you)