Closed Hoerli1337 closed 3 years ago
Have already described the problem in detail in the OpenHAB forum.
Please clearly describe the problem here - you may have discussed this on the forum, but it would be good to summarise it here rather than reading many posts that chop and change as you learn new things. This issue should be as self contained as possible.
I would also request a debug log please.
Please also state the devices.
Please also provide the firmware you're using.
It seems that the XML data is not created correctly, so OpenHAB does not know what it is dealing with.
It's probably the other way around. Since openHAB can't communicate with the devices, it can't generate the XML!
Maybe this is an issue with compatability between the coordinator and the device. Many new devices now require Z3.0 firmware - I've no idea if you have this or not and I'm not familiar with the 2531 firmware. If the device doesn't see the correct security handshake, then it will leave the network. Maybe this is your problem, but I really have very little information on which to help - sorry.
Here is the detailed version.
Firmware: I'm guessing it's firmware v2.12 or v2.50. Bought the stick ready to go so can't say for sure. The seller provides the download here: https://www.nanocul.de/selfsite.php?aktion=Firmware
I had so far a stick, which has the same firmware. This has also worked so far with the QS-Zigbee-S05-LN switches and the 3A dimmer. With Home Assistant, the Ledvance plugs also work.
Devices:
Debug-log: openhab-zigbee-debug.log
With a new stick, I now run into the same problems again.
The problem is that OpenHAB has no idea what kind of Zigbee-stick I’m using.
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. Have a few log entries here from connecting new devices to the ZigBee stick.
2021-08-01 14:11:44.415 [INFO ] [bee.discovery.ZigBeeDiscoveryService] - 7CB03EAA0A0B9D5D: Starting ZigBee device discovery
2021-08-01 14:11:44.438 [INFO ] [bee.discovery.ZigBeeDiscoveryService] - 804B50FFFE5834DA: Starting ZigBee device discovery
2021-08-01 14:11:44.505 [INFO ] [bee.discovery.ZigBeeDiscoveryService] - 7CB03EAA0A0C29F7: Starting ZigBee device discovery
2021-08-01 14:11:44.508 [INFO ] [bee.discovery.ZigBeeDiscoveryService] - 7CB03EAA0A0B9C86: Starting ZigBee device discovery
2021-08-01 14:11:44.519 [INFO ] [bee.discovery.ZigBeeDiscoveryService] - 60A423FFFE93C5C8: Starting ZigBee device discovery
2021-08-01 14:11:44.539 [INFO ] [bee.discovery.ZigBeeDiscoveryService] - 086BD7FFFE405E1A: Starting ZigBee device discovery
2021-08-01 14:12:43.851 [INFO ] [bee.discovery.ZigBeeDiscoveryService] - 7CB03EAA0A0B9C86: Starting ZigBee device discovery
2021-08-01 14:12:43.852 [INFO ] [bee.discovery.ZigBeeDiscoveryService] - 7CB03EAA0A0B9D5D: Starting ZigBee device discovery
2021-08-01 14:12:43.854 [INFO ] [bee.discovery.ZigBeeDiscoveryService] - 7CB03EAA0A0C29F7: Starting ZigBee device discovery
2021-08-01 14:12:43.855 [INFO ] [bee.discovery.ZigBeeDiscoveryService] - 60A423FFFE93C5C8: Starting ZigBee device discovery
2021-08-01 14:12:43.857 [INFO ] [bee.discovery.ZigBeeDiscoveryService] - 804B50FFFE5834DA: Starting ZigBee device discovery
2021-08-01 14:12:47.665 [INFO ] [bee.discovery.ZigBeeDiscoveryService] - 7CB03EAA0A0C3E05: Starting ZigBee device discovery
2021-08-01 14:12:47.674 [INFO ] [g.discovery.internal.Persistentbox] - Added new thing 'zigbee:device:ZigBeeUsbStick:7cb03eaa0a0c3e05' to inbox.
2021-08-01 14:12:50.030 [ERROR] [converter.ZigBeeConverterSwitchLevel] - 086BD7FFFE405E1A: Error initialising device
2021-08-01 14:12:50.033 [INFO ] [ng.zigbee.handler.ZigBeeThingHandler] - 086BD7FFFE405E1A: Channel zigbee:device:ZigBeeUsbStick:086bd7fffe405e1a:086BD7FFFE405E1A_1_dimmer failed to initialise device
2021-08-01 14:13:22.086 [ERROR] [converter.ZigBeeConverterSwitchLevel] - 086BD7FFFE405E1A: Error initialising device
2021-08-01 14:13:22.087 [INFO ] [bee.discovery.ZigBeeDiscoveryService] - 086BD7FFFE405E1A: Channel zigbee:device:ZigBeeUsbStick:086bd7fffe405e1a:086BD7FFFE405E1A_1_dimmer failed to initialise device
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.
OpenHAB creates XML configurations here: /var/lib/openhab/zigbee/zigbee_coordinator_cc2531_NAME. I guess these are not filled in correctly.
The fact that the files are incorrect is an effect, not the cause. The cause seems to be that the devices are not responding (as can be seen in the log). I'm not sure why this is though.
However, the devices still do not work.
Again - you can't just copy over the XML from your old system and expect this to make any difference. You need to address the underlying cause which appears to be that the devices are not communicating. We can see in the log that commands are being sent, and occasionally some responses are received, but most of the commands do not receive a response.
Until the communications issue is resolved, the system won't work. If you have a sniffer, you could try sniffing the network to see what is happening. This might provide some more information depending on the root cause of the issue.
Personally I do not recommend the TI sticks and do not use them myself, and neither do any of the commercial users I support so I'm not very familiar with the firmware. Maybe this is a ZB3 issue - I'm not sure
The XML data was also only a first test, because I noticed this after several hours of search work. Could have been by chance the solution.
Unfortunately I have no way to sniff the traffic. If you follow these instructions (https://www.zigbee2mqtt.io/how_tos/how_to_sniff_zigbee_traffic.html), you have to flash the stick again. But since I do not own anything for this, I can not do that. Here I have to rely on the OH3 log.
Since it had already worked with another stick and I could operate 7 months without problem two ZigBee devices, I have the feeling that the problem lies somewhere in OpenHAB. With Home Assistant it worked with the plugs on the first try.
Which transmitter would you recommend? I do not want to spend a lot of money for a new device again. The stick costs between 15 and 20 €, which I still find ok. The advantage is that the stick is plugged directly into the RPi and I can separate my IoT devices from the normal network.
I have the feeling that the problem lies somewhere in OpenHAB.
I don't see how? At the moment, the log clearly shows that the devices are not responding - do you know why this is?
Unfortunately the binding does not see all traffic - so we can't see if there is some sort of communications going on - only a network sniffer can see this low level activity.
Which transmitter would you recommend?
All the companies I support use an Ember chipset. There are a few different ones around - I'd suggest to ask on the forum but I think a few people use the Elelabs stick. The cost is still around the same I believe - €20 approximately I think.
Have created here once again a log. This time also a few times RX are present. But the stupid is currently, the binding finds a plug now no longer at all. I have deleted the device from OpenHAB, cleared the cache and also rebooted several times. The device is still not found again.
My assumption is still that by an update of OpenHAB something went wrong here and the binding no longer works correctly. I still exclude a hardware problem. Otherwise I would not have been able to find the devices. openhab.log
This log looks fundamentally the same - there is no response from most devices. Only one device is responding. I'm not really sure that I can help a lot here - I don't believe there is a bug in the binding, and it is likely to be something to do with your configuration, or possibly the hardware. I know you are "excluding hard problem" but as I've said there is still the possibility that the firmware you have is not compatible with the devices. As I said earlier though, without a sniffer, we can't see what is happening on the network - the binding is simply passing the commands to the dongle to handle, and these always fail, so the problem is at the network layer - not the application layer that is handled by the binding.
I think we probably need to close this here as I really don't see any bug which is the purpose of github issues. It is better to discuss support issues on the support forum.
It can be closed as soon as the problem is solved. I still don't rule out a binding problem, as very similar problems have existed in the OpenHAB forum for some time. There is no solution there either. Maybe someone reads this here who knows the problem and already has a suitable solution in stock. Since I already own two of the devices from the beginning and they also worked with the broken stick, I don't see the problem here with the firmware either.
It's nice of you to help, but I can't give you the information you're looking for, because unfortunately I can't get it.
It can be closed as soon as the problem is solved.
Ok, then please clearly describe the bug since at the moment I do not see any bug with the binding. Again, this system here is not a general support forum - it's for reporting and resolving software bugs and I can't see that there is a bug here at this point in time.
I still don't rule out a binding problem
So, as I've said, the binding is sending commands to the device, and the device is not responding. Unless you have further information I'm unable to provide more help - as much as I would like to.
Maybe someone reads this here who knows the problem
The problem is that it's impossible to answer this issue since all we know is the device is not responding. Why that is is impossible for me, or others to say. I've made some suggestions as to why this is, but as it seems to be at the network level it's impossible to say without network level information and you can't provide that.
It's nice of you to help, but I can't give you the information you're looking for, because unfortunately I can't get it.
So what do you propose? You say we can't close this, but you can't provide information on the bug you're reporting. I've suggested that you discuss this on the support forum if you can't clearly define the bug, but you also don't want to do that.
I really want to be able to help, but I have no information on which to help you, so I'm unfortunately at a loss. Without more information it seems pointless to leave this open forever so I propose to close unless you can provide further information to allow me to help you out further.
Since I already own two of the devices from the beginning and they also worked with the broken stick, I don't see the problem here with the firmware either.
Just one other point here - if it used to work in the past, then this also means it is not a binding issue and it should be something else in the system - firmware, environment (eg RF), devices, distance, etc.
Closing this as there's simply insufficient information to proceed. If you can provide additional information as requested above then please re-open with this information.
Have already described the problem in detail in the OpenHAB forum. If I add devices with the ZigBee binding, it works, but the devices are completely offline and are not read correctly.
It seems that the XML data is not created correctly, so OpenHAB does not know what it is dealing with.
XML-Example:
https://community.openhab.org/t/openhab-zigbee-binding-funktioniert-nicht-korrekt-openhab-zigbee-binding-does-not-work-correctly/124900/4
Tested the whole thing with a competitor product (HA) to rule out that the stick is broken. There it works.