Add support for SAGE Doorbell Sensor 206612
allanstevens opened this issue · 4 comments
I hope this is the right place to raise this? Would it be possible to add support for the SAGE Doorbell Sensor 206612?
It pairs fine in OH3 as an Echostar Bell. The channels batterylevel, level control, battery alarm and battery voltage are added. There is no action channel as shown over at mqtt (https://www.zigbee2mqtt.io/devices/SAGE206612.html) It does not report anything back and the battery shows as 0% 0v. Ringing the doorbell also returns nothing.
I hope someone would be able to get this added, if you need anymore information from me then please get in touch.
Many thanks for looking at this,
Please provide logs, or some information that shows what this device supports. The XML file that OH produces would possibly also be of use. Alternatively if you are able to add the support yourself this would be appreciated as it may be difficult to do this without a device,
Many thanks for getting back to me. I'm very new to all this, I have certainly learned a bit so far!
When I ring the bell I get this in the logs once debug is switched on.
2021-02-05 12:35:07.396 [DEBUG] [converter.ZigBeeConverterSwitchLevel] - 0008890001D9F36D: ZigBee command received OnCommand [On/Off: E828/18 -> 0000/1, cluster=0006, TID=00]
2021-02-05 12:35:07.397 [DEBUG] [converter.ZigBeeBaseChannelConverter] - 0008890001D9F36D: Channel zigbee:device:stick1:0008890001d9f36d:0008890001D9F36D_18_dimmer updated to 100
2021-02-05 12:35:07.398 [DEBUG] [ng.zigbee.handler.ZigBeeThingHandler] - 0008890001D9F36D: Updating ZigBee channel state zigbee:device:stick1:0008890001d9f36d:0008890001D9F36D_18_dimmer to 100
I also list the XML below. Would you be able to offer some advice on how to add support myself ?
Thanks again!
0008890001D9F36D.XML
<ZigBeeNode>
<ieeeAddress>0008890001D9F36D</ieeeAddress>
<networkAddress>59432</networkAddress>
<nodeDescriptor>
<apsFlags>0</apsFlags>
<bufferSize>89</bufferSize>
<complexDescriptorAvailable>false</complexDescriptorAvailable>
<manufacturerCode>4116</manufacturerCode>
<logicalType>END_DEVICE</logicalType>
<serverCapabilities class="sorted-set"/>
<incomingTransferSize>61</incomingTransferSize>
<outgoingTransferSize>61</outgoingTransferSize>
<userDescriptorAvailable>true</userDescriptorAvailable>
<frequencyBands>
<FrequencyBandType>FREQ_2400_MHZ</FrequencyBandType>
</frequencyBands>
<macCapabilities class="sorted-set">
<MacCapabilitiesType>REDUCED_FUNCTION_DEVICE</MacCapabilitiesType>
</macCapabilities>
<extendedEndpointListAvailable>false</extendedEndpointListAvailable>
<extendedSimpleDescriptorListAvailable>false</extendedSimpleDescriptorListAvailable>
<stackCompliance>0</stackCompliance>
</nodeDescriptor>
<powerDescriptor>
<currentPowerMode>RECEIVER_ON_PERIODICALLY</currentPowerMode>
<availablePowerSources>
<PowerSourceType>MAINS</PowerSourceType>
<PowerSourceType>RECHARGABLE_BATTERY</PowerSourceType>
<PowerSourceType>DISPOSABLE_BATTERY</PowerSourceType>
</availablePowerSources>
<currentPowerSource>DISPOSABLE_BATTERY</currentPowerSource>
<powerLevel>FULL</powerLevel>
</powerDescriptor>
<endpoints>
<ZigBeeEndpoint>
<endpointId>18</endpointId>
<profileId>260</profileId>
<deviceId>260</deviceId>
<deviceVersion>0</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>1612465647875</time>
<timezone>Europe/London</timezone>
</lastReportTime>
<lastValue class="int">1</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>1612465647875</time>
<timezone>Europe/London</timezone>
</lastReportTime>
<lastValue class="int">2</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>1612465647875</time>
<timezone>Europe/London</timezone>
</lastReportTime>
<lastValue class="int">3</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>1612465647875</time>
<timezone>Europe/London</timezone>
</lastReportTime>
<lastValue class="int">4</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>1612465648889</time>
<timezone>Europe/London</timezone>
</lastReportTime>
<lastValue class="string"> Echostar</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>1612465647875</time>
<timezone>Europe/London</timezone>
</lastReportTime>
<lastValue class="string"> Bell</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>1612465647875</time>
<timezone>Europe/London</timezone>
</lastReportTime>
<lastValue class="string"> 05/21/15</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="sorted-set"/>
</supportedCommandsReceived>
<supportedCommandsGenerated class="java.util.Collections$UnmodifiableSet">
<c class="sorted-set"/>
</supportedCommandsGenerated>
</ZclCluster>
<ZclCluster>
<clusterId>1</clusterId>
<isClient>false</isClient>
<attributes>
<entry>
<int>0</int>
<ZclAttribute>
<id>0</id>
<name>Mains Voltage</name>
<dataType>UNSIGNED_16_BIT_INTEGER</dataType>
<mandatory>false</mandatory>
<implemented>true</implemented>
<readable>true</readable>
<writable>false</writable>
<reportable>false</reportable>
<minimumReportingPeriod>0</minimumReportingPeriod>
<maximumReportingPeriod>0</maximumReportingPeriod>
<reportingTimeout>0</reportingTimeout>
</ZclAttribute>
</entry>
<entry>
<int>32</int>
<ZclAttribute>
<id>32</id>
<name>Battery Voltage</name>
<dataType>UNSIGNED_8_BIT_INTEGER</dataType>
<mandatory>false</mandatory>
<implemented>true</implemented>
<readable>true</readable>
<writable>false</writable>
<reportable>false</reportable>
<minimumReportingPeriod>0</minimumReportingPeriod>
<maximumReportingPeriod>0</maximumReportingPeriod>
<reportingTimeout>0</reportingTimeout>
<lastReportTime>
<time>1612466939365</time>
<timezone>Europe/London</timezone>
</lastReportTime>
<lastValue class="int">0</lastValue>
</ZclAttribute>
</entry>
<entry>
<int>1</int>
<ZclAttribute>
<id>1</id>
<name>Mains Frequency</name>
<dataType>UNSIGNED_16_BIT_INTEGER</dataType>
<mandatory>false</mandatory>
<implemented>true</implemented>
<readable>true</readable>
<writable>false</writable>
<reportable>false</reportable>
<minimumReportingPeriod>0</minimumReportingPeriod>
<maximumReportingPeriod>0</maximumReportingPeriod>
<reportingTimeout>0</reportingTimeout>
</ZclAttribute>
</entry>
<entry>
<int>33</int>
<ZclAttribute>
<id>33</id>
<name>Battery Percentage Remaining</name>
<dataType>UNSIGNED_8_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>
<lastReportTime>
<time>1612466935331</time>
<timezone>Europe/London</timezone>
</lastReportTime>
<lastValue class="int">0</lastValue>
</ZclAttribute>
</entry>
<entry>
<int>16</int>
<ZclAttribute>
<id>16</id>
<name>Mains Alarm Mask</name>
<dataType>BITMAP_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>
<entry>
<int>48</int>
<ZclAttribute>
<id>48</id>
<name>Battery Manufacturer</name>
<dataType>CHARACTER_STRING</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>Mains Voltage Min Threshold</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>49</int>
<ZclAttribute>
<id>49</id>
<name>Battery Size</name>
<dataType>ENUMERATION_8_BIT</dataType>
<mandatory>false</mandatory>
<implemented>true</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>Mains Voltage Max Threshold</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>50</int>
<ZclAttribute>
<id>50</id>
<name>Battery A Hr Rating</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>Mains Voltage Dwell Trip Point</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>51</int>
<ZclAttribute>
<id>51</id>
<name>Battery Quantity</name>
<dataType>UNSIGNED_8_BIT_INTEGER</dataType>
<mandatory>false</mandatory>
<implemented>true</implemented>
<readable>true</readable>
<writable>true</writable>
<reportable>false</reportable>
<minimumReportingPeriod>0</minimumReportingPeriod>
<maximumReportingPeriod>0</maximumReportingPeriod>
<reportingTimeout>0</reportingTimeout>
</ZclAttribute>
</entry>
<entry>
<int>52</int>
<ZclAttribute>
<id>52</id>
<name>Battery Rated Voltage</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>53</int>
<ZclAttribute>
<id>53</id>
<name>Battery Alarm Mask</name>
<dataType>BITMAP_8_BIT</dataType>
<mandatory>false</mandatory>
<implemented>true</implemented>
<readable>true</readable>
<writable>true</writable>
<reportable>false</reportable>
<minimumReportingPeriod>0</minimumReportingPeriod>
<maximumReportingPeriod>0</maximumReportingPeriod>
<reportingTimeout>0</reportingTimeout>
</ZclAttribute>
</entry>
<entry>
<int>54</int>
<ZclAttribute>
<id>54</id>
<name>Battery Voltage Min Threshold</name>
<dataType>UNSIGNED_8_BIT_INTEGER</dataType>
<mandatory>false</mandatory>
<implemented>true</implemented>
<readable>true</readable>
<writable>true</writable>
<reportable>false</reportable>
<minimumReportingPeriod>0</minimumReportingPeriod>
<maximumReportingPeriod>0</maximumReportingPeriod>
<reportingTimeout>0</reportingTimeout>
</ZclAttribute>
</entry>
<entry>
<int>55</int>
<ZclAttribute>
<id>55</id>
<name>Battery Voltage Threshold 1</name>
<dataType>UNSIGNED_8_BIT_INTEGER</dataType>
<mandatory>false</mandatory>
<implemented>true</implemented>
<readable>true</readable>
<writable>true</writable>
<reportable>false</reportable>
<minimumReportingPeriod>0</minimumReportingPeriod>
<maximumReportingPeriod>0</maximumReportingPeriod>
<reportingTimeout>0</reportingTimeout>
</ZclAttribute>
</entry>
<entry>
<int>56</int>
<ZclAttribute>
<id>56</id>
<name>Battery Voltage Threshold 2</name>
<dataType>UNSIGNED_8_BIT_INTEGER</dataType>
<mandatory>false</mandatory>
<implemented>true</implemented>
<readable>true</readable>
<writable>true</writable>
<reportable>false</reportable>
<minimumReportingPeriod>0</minimumReportingPeriod>
<maximumReportingPeriod>0</maximumReportingPeriod>
<reportingTimeout>0</reportingTimeout>
</ZclAttribute>
</entry>
<entry>
<int>57</int>
<ZclAttribute>
<id>57</id>
<name>Battery Voltage Threshold 3</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>58</int>
<ZclAttribute>
<id>58</id>
<name>Battery Percentage Min Threshold</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>59</int>
<ZclAttribute>
<id>59</id>
<name>Battery Percentage Threshold 1</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>60</int>
<ZclAttribute>
<id>60</id>
<name>Battery Percentage Threshold 2</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>61</int>
<ZclAttribute>
<id>61</id>
<name>Battery Percentage Threshold 3</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>62</int>
<ZclAttribute>
<id>62</id>
<name>Battery Alarm State</name>
<dataType>BITMAP_32_BIT</dataType>
<mandatory>false</mandatory>
<implemented>true</implemented>
<readable>true</readable>
<writable>false</writable>
<reportable>false</reportable>
<minimumReportingPeriod>0</minimumReportingPeriod>
<maximumReportingPeriod>0</maximumReportingPeriod>
<reportingTimeout>0</reportingTimeout>
<lastReportTime>
<time>1612466936363</time>
<timezone>Europe/London</timezone>
</lastReportTime>
<lastValue class="int">0</lastValue>
</ZclAttribute>
</entry>
</attributes>
<supportedCommandsReceived class="java.util.Collections$UnmodifiableSet">
<c class="sorted-set"/>
</supportedCommandsReceived>
<supportedCommandsGenerated class="java.util.Collections$UnmodifiableSet">
<c class="sorted-set"/>
</supportedCommandsGenerated>
<supportedAttributes class="java.util.Collections$UnmodifiableSet">
<c class="sorted-set">
<int>0</int>
<int>1</int>
<int>32</int>
<int>49</int>
<int>51</int>
<int>53</int>
<int>54</int>
<int>55</int>
<int>56</int>
<int>62</int>
</c>
</supportedAttributes>
</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="sorted-set"/>
</supportedCommandsReceived>
<supportedCommandsGenerated class="java.util.Collections$UnmodifiableSet">
<c class="sorted-set"/>
</supportedCommandsGenerated>
</ZclCluster>
<ZclCluster>
<clusterId>9</clusterId>
<isClient>false</isClient>
<attributes>
<entry>
<int>0</int>
<ZclAttribute>
<id>0</id>
<name>Alarm Count</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>
</attributes>
<supportedCommandsReceived class="java.util.Collections$UnmodifiableSet">
<c class="sorted-set"/>
</supportedCommandsReceived>
<supportedCommandsGenerated class="java.util.Collections$UnmodifiableSet">
<c class="sorted-set"/>
</supportedCommandsGenerated>
</ZclCluster>
</inputClusters>
<outputClusters>
<ZclCluster>
<clusterId>3</clusterId>
<isClient>true</isClient>
<attributes/>
<supportedCommandsReceived class="java.util.Collections$UnmodifiableSet">
<c class="sorted-set"/>
</supportedCommandsReceived>
<supportedCommandsGenerated class="java.util.Collections$UnmodifiableSet">
<c class="sorted-set"/>
</supportedCommandsGenerated>
</ZclCluster>
<ZclCluster>
<clusterId>6</clusterId>
<isClient>true</isClient>
<attributes/>
<supportedCommandsReceived class="java.util.Collections$UnmodifiableSet">
<c class="sorted-set"/>
</supportedCommandsReceived>
<supportedCommandsGenerated class="java.util.Collections$UnmodifiableSet">
<c class="sorted-set"/>
</supportedCommandsGenerated>
</ZclCluster>
<ZclCluster>
<clusterId>8</clusterId>
<isClient>true</isClient>
<attributes/>
<supportedCommandsReceived class="java.util.Collections$UnmodifiableSet">
<c class="sorted-set"/>
</supportedCommandsReceived>
<supportedCommandsGenerated class="java.util.Collections$UnmodifiableSet">
<c class="sorted-set"/>
</supportedCommandsGenerated>
</ZclCluster>
<ZclCluster>
<clusterId>25</clusterId>
<isClient>true</isClient>
<attributes>
<entry>
<int>0</int>
<ZclAttribute>
<id>0</id>
<name>Upgrade Server ID</name>
<dataType>IEEE_ADDRESS</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>File Offset</name>
<dataType>UNSIGNED_32_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 File Version</name>
<dataType>UNSIGNED_32_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>Current ZigBee Stack Version</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>4</int>
<ZclAttribute>
<id>4</id>
<name>Downloaded File Version</name>
<dataType>UNSIGNED_32_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>5</int>
<ZclAttribute>
<id>5</id>
<name>Downloaded ZigBee Stack Version</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>6</int>
<ZclAttribute>
<id>6</id>
<name>Image Upgrade Status</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>7</int>
<ZclAttribute>
<id>7</id>
<name>Manufacturer ID</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>8</int>
<ZclAttribute>
<id>8</id>
<name>Image Type ID</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>9</int>
<ZclAttribute>
<id>9</id>
<name>Minimum Block Request Period</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>10</int>
<ZclAttribute>
<id>10</id>
<name>Image Stamp</name>
<dataType>UNSIGNED_32_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>
</attributes>
<supportedCommandsReceived class="java.util.Collections$UnmodifiableSet">
<c class="sorted-set"/>
</supportedCommandsReceived>
<supportedCommandsGenerated class="java.util.Collections$UnmodifiableSet">
<c class="sorted-set"/>
</supportedCommandsGenerated>
</ZclCluster>
</outputClusters>
</ZigBeeEndpoint>
</endpoints>
<bindingTable/>
</ZigBeeNode>
On further investigation, it's working 🤦♂️
When doorbell is rung it sets the dimmer control to 100. But it was already at 100 when first set up, so I had not realised it changed. I have now set item to reset state 0 after 5 seconds as shown below.
zigbee.items
Dimmer DoorbellControl "Doorbell Control" {channel="zigbee:device:stick1:0008890001d9f36d:0008890001D9F36D_18_dimmer", expire="5s,state=0"}
zigbee.rules
rule Doorbell
when
Item DoorbellControl changed to 100
then
//Ding dong
end
The other channels are a bit odd, as the battery is set to 0% and the voltage is 0v, but it's working. Thanks for your help.
This issue has been mentioned on openHAB Community. There might be relevant details there: