Z-wave device unknown in openHAB, but in z-wave database

Dear community,

I have a problem with two of my newly bought z-wave dimmers. In Openhab (I tried 4.3.3 stable, 5.0.0.M1 and 5.0.0-snapshot late feb’25) my devices are online, but unknown. I am looking for suggestions to find the problem.

System:

  • QNAP NAS, QTS 5.2.3.3006
  • Openhab 5.0.0-snapshot (late Feb’25) in Docker (QNAP container station v3.0.9.1038)
  • Aeon Z-wave Stick

Devices with problem: EcoBright ECO-DIM.07 Smart LED dimmer

Context:

  • All my other z-wave devices work just fine. Other devices are all Aeotec brand (light switches) or Popp brand (smoke detectors). The two dimmers are EcoBright brand; I have no other EcoBright brand devices.
  • The EcoBright dimmers are not battery powered.
  • I waited 24 hours to see if it was correctly defined but no luck. I have also tried to heal the device and also reinitialize the device. No change.
  • The device is listed in the z-wave database: EcoBright ECO-DIM.07
  • In Openhab, I see that the device is online

In Openhab, the device is listed as ‘Unknown Device’:

In the logs, I see that the device is not resolved to a thingType (see line 7):

2025-02-26 10:24:32.158 [DEBUG] [nal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty
2025-02-26 10:24:32.158 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 28: Node Init response (0) org.openhab.binding.zwave.internal.protocol.ZWaveTransactionResponse@3083bd85
2025-02-26 10:24:32.158 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
2025-02-26 10:24:32.158 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 28: Node Init transaction completed with response COMPLETE
2025-02-26 10:24:32.158 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 28: Node advancer - advancing to DISCOVERY_COMPLETE
2025-02-26 10:24:32.159 [DEBUG] [wave.discovery.ZWaveDiscoveryService] - NODE 28: Device discovery completed
2025-02-26 10:24:32.160 [WARN ] [wave.discovery.ZWaveDiscoveryService] - NODE 28: Device discovery could not resolve to a thingType! 0431:0021:0216::1.5
2025-02-26 10:24:32.161 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 28: Got an event from Z-Wave network: ZWaveInitializationStateEvent
2025-02-26 10:24:32.161 [DEBUG] [l.initialization.ZWaveNodeSerializer] - NODE 28: Serialise aborted as static stages not complete
2025-02-26 10:24:32.161 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 28: Node advancer - advancing to VERSION
2025-02-26 10:24:32.161 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 28: Got an event from Z-Wave network: ZWaveInitializationStateEvent
2025-02-26 10:24:32.162 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 28: Node advancer: VERSION - thing is null!
2025-02-26 10:24:32.162 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 28: Node advancer: VERSION - checking COMMAND_CLASS_ASSOCIATION, version is 0
2025-02-26 10:24:32.162 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 28: Node advancer: VERSION - queued   COMMAND_CLASS_ASSOCIATION
2025-02-26 10:24:32.162 [DEBUG] [ommandclass.ZWaveVersionCommandClass] - NODE 28: Creating new message for application command VERSION_COMMAND_CLASS_GET command class COMMAND_CLASS_ASSOCIATION
2025-02-26 10:24:32.162 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 28: ZWaveCommandClassTransactionPayload - send to node
2025-02-26 10:24:32.162 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 28: SECURITY NOT required on COMMAND_CLASS_VERSION
2025-02-26 10:24:32.162 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 28: Command Class COMMAND_CLASS_VERSION is NOT required to be secured
2025-02-26 10:24:32.163 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 28: sendTransaction org.openhab.binding.zwave.internal.protocol.transaction.ZWaveCommandClassTransactionPayload@2cb84667
2025-02-26 10:24:32.163 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 28: Adding to device queue
2025-02-26 10:24:32.163 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 28: Added 210 to queue - size 1
2025-02-26 10:24:32.163 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
2025-02-26 10:24:32.163 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 0A 00 13 1C 03 86 13 85 25 D1 1D 
2025-02-26 10:24:32.163 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - NODE 28: Sending REQUEST Message = 01 0A 00 13 1C 03 86 13 85 25 D1 1D 
2025-02-26 10:24:32.163 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - Message SENT
2025-02-26 10:24:32.163 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage started: TID 210: [WAIT_RESPONSE] priority=Config, requiresResponse=true, callback: 209

The z-wave binding seems up to date using the bundle:list command. AFAIK it should have a recent database with the appropriate entry for my devices:

277 | Active |  80 | 5.0.0.202501240348    | openHAB Add-ons :: Bundles :: ZWave Binding

OpenHab has created the following XML:

<node>
  <homeId>0xe58cb6fd</homeId>
  <nodeId>28</nodeId>
  <version>4</version>
  <manufacturer>0x431</manufacturer>
  <deviceId>0x216</deviceId>
  <deviceType>0x21</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_MULTILEVEL</commandClass>
    <commandClass>COMMAND_CLASS_METER</commandClass>
    <commandClass>COMMAND_CLASS_CONFIGURATION</commandClass>
    <commandClass>COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION</commandClass>
    <commandClass>COMMAND_CLASS_INDICATOR</commandClass>
    <commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
    <commandClass>COMMAND_CLASS_ASSOCIATION_GRP_INFO</commandClass>
    <commandClass>COMMAND_CLASS_TRANSPORT_SERVICE</commandClass>
    <commandClass>COMMAND_CLASS_VERSION</commandClass>
    <commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>
    <commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>
    <commandClass>COMMAND_CLASS_POWERLEVEL</commandClass>
    <commandClass>COMMAND_CLASS_SECURITY</commandClass>
    <commandClass>COMMAND_CLASS_SECURITY_2</commandClass>
    <commandClass>COMMAND_CLASS_SUPERVISION</commandClass>
    <commandClass>COMMAND_CLASS_FIRMWARE_UPDATE_MD</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>0x1</profile2>
        <commands>
          <commandClass>COMMAND_CLASS_SWITCH_MULTILEVEL</commandClass>
          <commandClass>COMMAND_CLASS_METER</commandClass>
          <commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>
          <commandClass>COMMAND_CLASS_CONFIGURATION</commandClass>
          <commandClass>COMMAND_CLASS_INDICATOR</commandClass>
        </commands>
        <associations>
          <associationMember>
            <node>1</node>
          </associationMember>
        </associations>
      </associationGroup>
    </entry>
    <entry>
      <int>2</int>
      <associationGroup>
        <index>2</index>
        <maxNodes>0</maxNodes>
        <name>Basic Set</name>
        <profile1>0x20</profile1>
        <profile2>0x1</profile2>
        <commands>
          <commandClass>COMMAND_CLASS_BASIC</commandClass>
        </commands>
        <associations/>
      </associationGroup>
    </entry>
    <entry>
      <int>3</int>
      <associationGroup>
        <index>3</index>
        <maxNodes>0</maxNodes>
        <name>Multilevel Set</name>
        <profile1>0x20</profile1>
        <profile2>0x2</profile2>
        <commands>
          <commandClass>COMMAND_CLASS_SWITCH_MULTILEVEL</commandClass>
        </commands>
        <associations/>
      </associationGroup>
    </entry>
    <entry>
      <int>4</int>
      <associationGroup>
        <index>4</index>
        <maxNodes>0</maxNodes>
        <name>External Button</name>
        <profile1>0x20</profile1>
        <profile2>0x3</profile2>
        <commands>
          <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_NOT_USED</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>2</versionSupported>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__BASIC>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_SWITCH_MULTILEVEL</commandClass>
            <multiLevelSwitchCommandClass>
              <version>3</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>4</versionSupported>
              <switchTypePrimary>DOWN_UP</switchTypePrimary>
              <switchTypeSecondary>UNDEFINED</switchTypeSecondary>
              <isGetSupported>true</isGetSupported>
            </multiLevelSwitchCommandClass>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_METER</commandClass>
            <COMMAND__CLASS__METER>
              <version>3</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>5</versionSupported>
              <meterType>ELECTRIC</meterType>
              <meterScales>
                <meterScale>E_KWh</meterScale>
                <meterScale>E_W</meterScale>
              </meterScales>
              <canReset>true</canReset>
              <isGetSupported>true</isGetSupported>
              <isSupportRequestSupported>true</isSupportRequestSupported>
            </COMMAND__CLASS__METER>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_ASSOCIATION_GRP_INFO</commandClass>
            <COMMAND__CLASS__ASSOCIATION__GRP__INFO>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>3</versionSupported>
              <autoSubscribeGroups>
                <int>1</int>
              </autoSubscribeGroups>
            </COMMAND__CLASS__ASSOCIATION__GRP__INFO>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>
            <COMMAND__CLASS__DEVICE__RESET__LOCALLY>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
            </COMMAND__CLASS__DEVICE__RESET__LOCALLY>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_ZWAVEPLUS_INFO</commandClass>
            <COMMAND__CLASS__ZWAVEPLUS__INFO>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>2</versionSupported>
              <zwPlusVersion>2</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_CONFIGURATION</commandClass>
            <COMMAND__CLASS__CONFIGURATION>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>4</versionSupported>
              <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>2</versionSupported>
              <initSerialNumber>false</initSerialNumber>
              <deviceManufacturer>1073</deviceManufacturer>
              <deviceType>33</deviceType>
              <deviceId>534</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>0</powerLevel>
              <powerTimeout>0</powerTimeout>
            </COMMAND__CLASS__POWERLEVEL>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_FIRMWARE_UPDATE_MD</commandClass>
            <COMMAND__CLASS__FIRMWARE__UPDATE__MD>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>5</versionSupported>
            </COMMAND__CLASS__FIRMWARE__UPDATE__MD>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
            <COMMAND__CLASS__ASSOCIATION>
              <version>2</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>2</versionSupported>
              <maxGroups>4</maxGroups>
            </COMMAND__CLASS__ASSOCIATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_VERSION</commandClass>
            <COMMAND__CLASS__VERSION>
              <version>2</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>3</versionSupported>
              <libraryType>LIB_SLAVE_ENHANCED</libraryType>
              <protocolVersion>7.18</protocolVersion>
              <applicationVersion>1.5</applicationVersion>
              <hardwareVersion>1</hardwareVersion>
            </COMMAND__CLASS__VERSION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_INDICATOR</commandClass>
            <COMMAND__CLASS__INDICATOR>
              <version>3</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>3</versionSupported>
              <isGetSupported>true</isGetSupported>
              <supportedIndicatorsInitialised>true</supportedIndicatorsInitialised>
              <supportedIndicators>
                <ZWaveIndicator>
                  <type>NODE_IDENTIFY</type>
                </ZWaveIndicator>
              </supportedIndicators>
            </COMMAND__CLASS__INDICATOR>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION</commandClass>
            <COMMAND__CLASS__MULTI__CHANNEL__ASSOCIATION>
              <version>3</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>3</versionSupported>
              <maxGroups>4</maxGroups>
            </COMMAND__CLASS__MULTI__CHANNEL__ASSOCIATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_SECURITY</commandClass>
            <COMMAND__CLASS__SECURITY>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
            </COMMAND__CLASS__SECURITY>
          </entry>
        </supportedCommandClasses>
      </endPoint>
    </entry>
  </endpoints>
  <nodeNeighbors/>
  <lastReceived>2025-02-26 10:24:33.884 UTC</lastReceived>
</node>

What am I missing? Do you have any suggestions as to where to look for the root-cause of the problem (or a solution :grinning:)?

There is a duplicate Unique ID with the two Ecobright devices, so only one (not yours) is in the binding. I added an “a” to yours and marked for review.

For a quick fix, you could add this file to your jar under the ecobright folder using this procedure, or some have been able to use a zip-like utility to add it.
ecodim07a_0_0.xml (8.9 KB)

1 Like

Excellent! This makes sense, and I would not have thought of this myself. Thank you for taking the time, it’s truly appreciated.

I’ll try out a new snapshot in a few days time, when the z-wave database modification is accepted.

I’m not privy to the update schedule, but sometimes they are about a month apart.

BTW Welcome to OH. Good first post with plenty of details :grinning: