OpenHAB ZigBee Binding funktioniert nicht korrekt | OpenHAB ZigBee Binding does not work correctly

Hello forum, this post has now been edited as I have gained more insight.

The OpenHAB ZigBee binding does not seem to work correctly and I may have found the error.
But first some info on how I got to the point.

I bought a Philips Hue motion sensor and wanted to bind it to OpenHAB via ZigBee.
Unfortunately it didn’t work, because OpenHAB doesn’t find the device.
Additionally I have a few Ledvance sockets to connect here.
Time wise, my ZigBee stick broke. I guess the firmware on the stick shot it, so I had to buy a new one :frowning:
(Don’t have anything to flash here).

With a new stick, I now run into the same problems again.

  • Stick is recognized and mounted
  • After several changes of the config and about 20 restarts of the Raspberry Pi, the binding finally finds the devices again.
    => The setup is easy, scanning for devices is probably already a first big hurdle (Here the problem from 8 months ago: ZigBee (CC2531) + Tuya Switch - OH3)
  • Found devices can be created as Thing

The problem is that OpenHAB has no idea what kind of Zigbee-stick I’m using.

  • what kind of stick I am using
  • the connected devices are at all

Why?
OpenHAB creates XML configurations here: /var/lib/openhab/zigbee/zigbee_coordinator_cc2531_NAME.
I guess these are not filled in correctly.
Luckily I made a config backup of the last working state with my broken stick and have the old XML data on hand.

The new config it USB sticks looks like this:

<ZigBeeNode>
  <ieeeAddress>0011223344556677</ieeeAddress>
  <networkAddress>0</networkAddress>
  <endpoints/>
  <bindingTable/>
</ZigBeeNode>

(MAC intentionally faked)

The original config actually looks like this:

<ZigBeeNode>
  <ieeeAddress>0011223344556677</ieeeAddress>
  <networkAddress>0</networkAddress>
  <nodeDescriptor>
    <apsFlags>0</apsFlags>
    <bufferSize>80</bufferSize>
    <complexDescriptorAvailable>false</complexDescriptorAvailable>
    <manufacturerCode>0</manufacturerCode>
    <logicalType>COORDINATOR</logicalType>
    <serverCapabilities class="sorted-set">
      <ServerCapabilitiesType>PRIMARY_TRUST_CENTER</ServerCapabilitiesType>
    </serverCapabilities>
    <incomingTransferSize>160</incomingTransferSize>
    <outgoingTransferSize>160</outgoingTransferSize>
    <userDescriptorAvailable>false</userDescriptorAvailable>
    <frequencyBands>
      <FrequencyBandType>FREQ_2400_MHZ</FrequencyBandType>
    </frequencyBands>
    <macCapabilities class="sorted-set">
      <MacCapabilitiesType>ALTERNATIVE_PAN</MacCapabilitiesType>
      <MacCapabilitiesType>FULL_FUNCTION_DEVICE</MacCapabilitiesType>
      <MacCapabilitiesType>MAINS_POWER</MacCapabilitiesType>
      <MacCapabilitiesType>RECEIVER_ON_WHEN_IDLE</MacCapabilitiesType>
    </macCapabilities>
    <extendedEndpointListAvailable>false</extendedEndpointListAvailable>
    <extendedSimpleDescriptorListAvailable>false</extendedSimpleDescriptorListAvailable>
    <stackCompliance>0</stackCompliance>
  </nodeDescriptor>
  <powerDescriptor>
    <currentPowerMode>RECEIVER_ON_IDLE</currentPowerMode>
    <availablePowerSources>
      <PowerSourceType>MAINS</PowerSourceType>
    </availablePowerSources>
    <currentPowerSource>MAINS</currentPowerSource>
    <powerLevel>FULL</powerLevel>
  </powerDescriptor>
  <endpoints/>
  <bindingTable/>
</ZigBeeNode>

I was able to repeat the same game with a dimmer from 3A Smart Home.
New config from OpenHAB:

<ZigBeeNode>
  <ieeeAddress>0011223344556677</ieeeAddress>
  <networkAddress>21917</networkAddress>
  <endpoints/>
  <bindingTable/>
</ZigBeeNode>

Actual Config:

<ZigBeeNode>
  <ieeeAddress>0011223344556677</ieeeAddress>
  <networkAddress>19135</networkAddress>
  <nodeDescriptor>
    <apsFlags>0</apsFlags>
    <bufferSize>82</bufferSize>
    <complexDescriptorAvailable>false</complexDescriptorAvailable>
    <manufacturerCode>4478</manufacturerCode>
    <logicalType>ROUTER</logicalType>
    <serverCapabilities class="sorted-set"/>
    <incomingTransferSize>82</incomingTransferSize>
    <outgoingTransferSize>82</outgoingTransferSize>
    <userDescriptorAvailable>false</userDescriptorAvailable>
    <frequencyBands>
      <FrequencyBandType>FREQ_2400_MHZ</FrequencyBandType>
    </frequencyBands>
    <macCapabilities class="sorted-set">
      <MacCapabilitiesType>FULL_FUNCTION_DEVICE</MacCapabilitiesType>
      <MacCapabilitiesType>MAINS_POWER</MacCapabilitiesType>
      <MacCapabilitiesType>RECEIVER_ON_WHEN_IDLE</MacCapabilitiesType>
    </macCapabilities>
    <extendedEndpointListAvailable>false</extendedEndpointListAvailable>
    <extendedSimpleDescriptorListAvailable>false</extendedSimpleDescriptorListAvailable>
    <stackCompliance>22</stackCompliance>
  </nodeDescriptor>
  <powerDescriptor>
    <currentPowerMode>RECEIVER_ON_IDLE</currentPowerMode>
    <availablePowerSources>
      <PowerSourceType>MAINS</PowerSourceType>
    </availablePowerSources>
    <currentPowerSource>MAINS</currentPowerSource>
    <powerLevel>FULL</powerLevel>
  </powerDescriptor>
  <endpoints>
    <ZigBeeEndpoint>
      <endpointId>1</endpointId>
      <profileId>260</profileId>
      <deviceId>257</deviceId>
      <deviceVersion>1</deviceVersion>
      <inputClusterIds/>
      <outputClusterIds/>
      <inputClusters>
        <ZclCluster>
          <clusterId>0</clusterId>
          <isClient>false</isClient>
          <attributes>
            <entry>
              <int>0</int>
              <ZclAttribute>
                <id>0</id>
                <name>ZCL Version</name>
                <dataType>UNSIGNED_8_BIT_INTEGER</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
                <lastReportTime>
                  <time>1627414953208</time>
                  <timezone>Europe/Berlin</timezone>
                </lastReportTime>
                <lastValue class="int">3</lastValue>
              </ZclAttribute>
            </entry>
            <entry>
              <int>16384</int>
              <ZclAttribute>
                <id>16384</id>
                <name>SW Build ID</name>
                <dataType>CHARACTER_STRING</dataType>
                <mandatory>false</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>1</int>
              <ZclAttribute>
                <id>1</id>
                <name>Application Version</name>
                <dataType>UNSIGNED_8_BIT_INTEGER</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
                <lastReportTime>
                  <time>1627414953209</time>
                  <timezone>Europe/Berlin</timezone>
                </lastReportTime>
                <lastValue class="int">0</lastValue>
              </ZclAttribute>
            </entry>
            <entry>
              <int>2</int>
              <ZclAttribute>
                <id>2</id>
                <name>Stack Version</name>
                <dataType>UNSIGNED_8_BIT_INTEGER</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
                <lastReportTime>
                  <time>1627414953208</time>
                  <timezone>Europe/Berlin</timezone>
                </lastReportTime>
                <lastValue class="int">0</lastValue>
              </ZclAttribute>
            </entry>
            <entry>
              <int>3</int>
              <ZclAttribute>
                <id>3</id>
                <name>HW Version</name>
                <dataType>UNSIGNED_8_BIT_INTEGER</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
                <lastReportTime>
                  <time>1627414953208</time>
                  <timezone>Europe/Berlin</timezone>
                </lastReportTime>
                <lastValue class="int">0</lastValue>
              </ZclAttribute>
            </entry>
            <entry>
              <int>4</int>
              <ZclAttribute>
                <id>4</id>
                <name>Manufacturer Name</name>
                <dataType>CHARACTER_STRING</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
                <lastReportTime>
                  <time>1627414953208</time>
                  <timezone>Europe/Berlin</timezone>
                </lastReportTime>
                <lastValue class="string">3A Smart Home DE</lastValue>
              </ZclAttribute>
            </entry>
            <entry>
              <int>5</int>
              <ZclAttribute>
                <id>5</id>
                <name>Model Identifier</name>
                <dataType>CHARACTER_STRING</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
                <lastReportTime>
                  <time>1627414953208</time>
                  <timezone>Europe/Berlin</timezone>
                </lastReportTime>
                <lastValue class="string">LXN56-DS27LX1.3</lastValue>
              </ZclAttribute>
            </entry>
            <entry>
              <int>6</int>
              <ZclAttribute>
                <id>6</id>
                <name>Date Code</name>
                <dataType>CHARACTER_STRING</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
                <lastReportTime>
                  <time>1627414953208</time>
                  <timezone>Europe/Berlin</timezone>
                </lastReportTime>
                <lastValue class="string">20200421</lastValue>
              </ZclAttribute>
            </entry>
            <entry>
              <int>7</int>
              <ZclAttribute>
                <id>7</id>
                <name>Power Source</name>
                <dataType>ENUMERATION_8_BIT</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>8</int>
              <ZclAttribute>
                <id>8</id>
                <name>Generic Device Class</name>
                <dataType>ENUMERATION_8_BIT</dataType>
                <mandatory>false</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>9</int>
              <ZclAttribute>
                <id>9</id>
                <name>Generic Device Type</name>
                <dataType>ENUMERATION_8_BIT</dataType>
                <mandatory>false</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>10</int>
              <ZclAttribute>
                <id>10</id>
                <name>Product Code</name>
                <dataType>CHARACTER_STRING</dataType>
                <mandatory>false</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>11</int>
              <ZclAttribute>
                <id>11</id>
                <name>Product URL</name>
                <dataType>CHARACTER_STRING</dataType>
                <mandatory>false</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>16</int>
              <ZclAttribute>
                <id>16</id>
                <name>Location Description</name>
                <dataType>CHARACTER_STRING</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>true</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>17</int>
              <ZclAttribute>
                <id>17</id>
                <name>Physical Environment</name>
                <dataType>ENUMERATION_8_BIT</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>true</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>18</int>
              <ZclAttribute>
                <id>18</id>
                <name>Device Enabled</name>
                <dataType>BOOLEAN</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>true</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>19</int>
              <ZclAttribute>
                <id>19</id>
                <name>Alarm Mask</name>
                <dataType>BITMAP_8_BIT</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>true</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>20</int>
              <ZclAttribute>
                <id>20</id>
                <name>Disable Local Config</name>
                <dataType>BITMAP_8_BIT</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>true</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
          </attributes>
          <supportedCommandsReceived class="java.util.Collections$UnmodifiableSet">
            <c class="set"/>
          </supportedCommandsReceived>
          <supportedCommandsGenerated class="java.util.Collections$UnmodifiableSet">
            <c class="set"/>
          </supportedCommandsGenerated>
        </ZclCluster>
        <ZclCluster>
          <clusterId>3</clusterId>
          <isClient>false</isClient>
          <attributes>
            <entry>
              <int>0</int>
              <ZclAttribute>
                <id>0</id>
                <name>Identify Time</name>
                <dataType>UNSIGNED_16_BIT_INTEGER</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>true</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
          </attributes>
          <supportedCommandsReceived class="java.util.Collections$UnmodifiableSet">
            <c class="set"/>
          </supportedCommandsReceived>
          <supportedCommandsGenerated class="java.util.Collections$UnmodifiableSet">
            <c class="set"/>
          </supportedCommandsGenerated>
        </ZclCluster>
        <ZclCluster>
          <clusterId>4</clusterId>
          <isClient>false</isClient>
          <attributes>
            <entry>
              <int>0</int>
              <ZclAttribute>
                <id>0</id>
                <name>Name Support</name>
                <dataType>BITMAP_8_BIT</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
          </attributes>
          <supportedCommandsReceived class="java.util.Collections$UnmodifiableSet">
            <c class="set"/>
          </supportedCommandsReceived>
          <supportedCommandsGenerated class="java.util.Collections$UnmodifiableSet">
            <c class="set"/>
          </supportedCommandsGenerated>
        </ZclCluster>
        <ZclCluster>
          <clusterId>5</clusterId>
          <isClient>false</isClient>
          <attributes>
            <entry>
              <int>0</int>
              <ZclAttribute>
                <id>0</id>
                <name>Scene Count</name>
                <dataType>UNSIGNED_8_BIT_INTEGER</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>1</int>
              <ZclAttribute>
                <id>1</id>
                <name>Current Scene</name>
                <dataType>UNSIGNED_8_BIT_INTEGER</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>2</int>
              <ZclAttribute>
                <id>2</id>
                <name>Current Group</name>
                <dataType>UNSIGNED_16_BIT_INTEGER</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>3</int>
              <ZclAttribute>
                <id>3</id>
                <name>Scene Valid</name>
                <dataType>BOOLEAN</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>4</int>
              <ZclAttribute>
                <id>4</id>
                <name>Name Support</name>
                <dataType>BITMAP_8_BIT</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>5</int>
              <ZclAttribute>
                <id>5</id>
                <name>Last Configured By</name>
                <dataType>IEEE_ADDRESS</dataType>
                <mandatory>false</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
          </attributes>
          <supportedCommandsReceived class="java.util.Collections$UnmodifiableSet">
            <c class="set"/>
          </supportedCommandsReceived>
          <supportedCommandsGenerated class="java.util.Collections$UnmodifiableSet">
            <c class="set"/>
          </supportedCommandsGenerated>
        </ZclCluster>
        <ZclCluster>
          <clusterId>6</clusterId>
          <isClient>false</isClient>
          <attributes>
            <entry>
              <int>0</int>
              <ZclAttribute>
                <id>0</id>
                <name>On Off</name>
                <dataType>BOOLEAN</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>true</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
                <lastReportTime>
                  <time>1627415055222</time>
                  <timezone>Europe/Berlin</timezone>
                </lastReportTime>
                <lastValue class="boolean">false</lastValue>
              </ZclAttribute>
            </entry>
            <entry>
              <int>16384</int>
              <ZclAttribute>
                <id>16384</id>
                <name>Global Scene Control</name>
                <dataType>BOOLEAN</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>16385</int>
              <ZclAttribute>
                <id>16385</id>
                <name>On Time</name>
                <dataType>UNSIGNED_16_BIT_INTEGER</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>true</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>16386</int>
              <ZclAttribute>
                <id>16386</id>
                <name>Off Wait Time</name>
                <dataType>UNSIGNED_16_BIT_INTEGER</dataType>
                <mandatory>true</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>true</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>16387</int>
              <ZclAttribute>
                <id>16387</id>
                <name>Start Up On Off</name>
                <dataType>ENUMERATION_8_BIT</dataType>
                <mandatory>false</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>true</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
          </attributes>
          <supportedCommandsReceived class="java.util.Collections$UnmodifiableSet">
            <c class="set"/>
          </supportedCommandsReceived>
          <supportedCommandsGenerated class="java.util.Collections$UnmodifiableSet">
            <c class="set"/>
          </supportedCommandsGenerated>
        </ZclCluster>
        <ZclCluster>
          <clusterId>8</clusterId>
          <isClient>false</isClient>
          <attributes>
            <entry>
              <int>0</int>
              <ZclAttribute>
                <id>0</id>
                <name>Current Level</name>
                <dataType>UNSIGNED_8_BIT_INTEGER</dataType>
                <mandatory>true</mandatory>
                <implemented>true</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>true</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
                <lastReportTime>
                  <time>1627415025285</time>
                  <timezone>Europe/Berlin</timezone>
                </lastReportTime>
                <lastValue class="int">254</lastValue>
              </ZclAttribute>
            </entry>
            <entry>
              <int>16384</int>
              <ZclAttribute>
                <id>16384</id>
                <name>Start Up Current Level</name>
                <dataType>UNSIGNED_8_BIT_INTEGER</dataType>
                <mandatory>false</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>true</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>1</int>
              <ZclAttribute>
                <id>1</id>
                <name>Remaining Time</name>
                <dataType>UNSIGNED_16_BIT_INTEGER</dataType>
                <mandatory>false</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>2</int>
              <ZclAttribute>
                <id>2</id>
                <name>Minimum Level</name>
                <dataType>UNSIGNED_8_BIT_INTEGER</dataType>
                <mandatory>false</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>3</int>
              <ZclAttribute>
                <id>3</id>
                <name>Maximum Level</name>
                <dataType>UNSIGNED_8_BIT_INTEGER</dataType>
                <mandatory>false</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>4</int>
              <ZclAttribute>
                <id>4</id>
                <name>Current Frequency</name>
                <dataType>UNSIGNED_16_BIT_INTEGER</dataType>
                <mandatory>false</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>true</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>5</int>
              <ZclAttribute>
                <id>5</id>
                <name>Minimum Frequency</name>
                <dataType>UNSIGNED_16_BIT_INTEGER</dataType>
                <mandatory>false</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>6</int>
              <ZclAttribute>
                <id>6</id>
                <name>Maximum Frequency</name>
                <dataType>UNSIGNED_16_BIT_INTEGER</dataType>
                <mandatory>false</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>15</int>
              <ZclAttribute>
                <id>15</id>
                <name>Options</name>
                <dataType>BITMAP_8_BIT</dataType>
                <mandatory>false</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>false</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>16</int>
              <ZclAttribute>
                <id>16</id>
                <name>On Off Transition Time</name>
                <dataType>UNSIGNED_16_BIT_INTEGER</dataType>
                <mandatory>false</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>true</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>17</int>
              <ZclAttribute>
                <id>17</id>
                <name>On Level</name>
                <dataType>UNSIGNED_8_BIT_INTEGER</dataType>
                <mandatory>false</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>true</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>18</int>
              <ZclAttribute>
                <id>18</id>
                <name>On Transition Time</name>
                <dataType>UNSIGNED_16_BIT_INTEGER</dataType>
                <mandatory>false</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>true</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>19</int>
              <ZclAttribute>
                <id>19</id>
                <name>Off Transition Time</name>
                <dataType>UNSIGNED_16_BIT_INTEGER</dataType>
                <mandatory>false</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>true</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
            <entry>
              <int>20</int>
              <ZclAttribute>
                <id>20</id>
                <name>Default Move Rate</name>
                <dataType>UNSIGNED_16_BIT_INTEGER</dataType>
                <mandatory>false</mandatory>
                <implemented>false</implemented>
                <readable>true</readable>
                <writable>true</writable>
                <reportable>false</reportable>
                <minimumReportingPeriod>0</minimumReportingPeriod>
                <maximumReportingPeriod>0</maximumReportingPeriod>
                <reportingTimeout>0</reportingTimeout>
              </ZclAttribute>
            </entry>
          </attributes>
          <supportedCommandsReceived class="java.util.Collections$UnmodifiableSet">
            <c class="set"/>
          </supportedCommandsReceived>
          <supportedCommandsGenerated class="java.util.Collections$UnmodifiableSet">
            <c class="set"/>
          </supportedCommandsGenerated>
          <supportedAttributes class="java.util.Collections$UnmodifiableSet">
            <c class="set">
              <int>0</int>
              <int>65533</int>
            </c>
          </supportedAttributes>
        </ZclCluster>
      </inputClusters>
      <outputClusters/>
    </ZigBeeEndpoint>
  </endpoints>
  <bindingTable/>
</ZigBeeNode>

However, the devices still do not work.
New devices, of which I have no XML-Config, are displayed in OpenHAB as “offline” with the reason “Node has not completed discovery”.
For devices for which I have a config, they are shown as online, but as soon as I try to change the value (e.g. turn on the light), they go offline.
I have this e.g. with the Philips Hue motion sensor and the Ledvance sockets.

How can I fix the whole thing again?
It’s slightly humble like that.
I’d like to keep it simple, which the ZigBee binding had managed quite well so far.
Zigbee2Mqtt I therefore do not want to do to myself.

Screenshot 2021-07-31 at 14-12-50 openHAB