veeceeoh
(Keith G)
April 6, 2018, 3:01pm
740
They are most definitely aware of it. Whether it’s a bug or feature depends on who you ask.
ZigBee attribute reporting is a great feature. It basically allows for “push” messages from devices when their state has changed. This eliminates the need for polling, reduces traffic on the network, and keeps SmartThings instantly in sync.
I’ve been hitting various roadblocks in this endeavor and I thought I’d document them in this thread. Feel free to add your own observations.
First up are the SmartThings devices. In nearly all the device type templates I’ve looked at, there is a bug in the report configuration. For example here’s a snip of the Cree device type:
def configure() {
log.debug "Configuring Reporting and Bindings."
def configCmds = [
//Switch Reporting
"zcl global send-me-a-report 6 0 0x10 0 3600 {01}", "delay 500",
"send 0x${device.deviceNetwork…
Hi community,
I am new to Smartthings and now I’m trying to write Device Type Handler for my Zigbee Switch Devices. Here is my switches http://www.lumi.com.vn/Elite-Version-pd-4 . In each physical switch plate, they have from 1-4 buttons to control on/off device. They have multi endpoint, each one associate with one button. I have write my Device Type Handler for them and Smartthings now can regconize and control them.
My problem is when those swiches send Report Attribute to Smartthings, as I debug on IDE, the description received in parse function is just ‘on/off: 0’ or ‘on/off: 1’. There is no additional information like the source end point, so I can not decide where this Report come from and update status of right button. So anyone know how to overcome this problem?
Thanks
I’m working on a new device driver for a ZigBee thermometer that has two temperature probes (one for inside and the other for outside). Each probe is on a unique end-point. Everything works as expected as far as querying the attributes of each end point and getting that probe’s temperature. All is good there.
However, when I configure the device to report its attributes to the hub it does so for each end point but what is delivered to the parse method is a string with the word “temperature” and the value, not the “catchall” string. I have no clue what end point this came from so I cant associate it with the correct probe. Is there a way I can find the source end point for this reported temperature?
Hi,
Im working on a DTH for an in wall switch with two inputs and two outputs. Trying to figure out how to set up the reporting for on/off: 0x0006 cluster. The outputs can be found on endpoint 1 and 2.
I have setup the reporting like this:
configCmds += zigbee.configureReporting(0x0006, 0x0000, 0x10, 0, 300, null, [destEndpoint: 0x01]) +
zigbee.configureReporting(0x0006, 0x0000, 0x10, 0, 300, null, [destEndpoint: 0x02])
I can see in the logs that the reporting have been setup successfully:
903c7fa1-fff6-412f-9826-c97d7faa7636 14:58:39: debug On/Off reporting successful
903c7fa1-fff6-412f-9826-c97d7faa7636 14:58:39: trace parse: map is [raw:0104 0006 01 01 0140 00 8DDB 00 00 0000 07 01 00, profileId:0104, clusterId:0006, sourceEndpoint:01, destinationEndpoint:01, opti…
On the multiple endpoint front, we released the ability to fingerprint on any endpoint that I mentioned earlier, plus we’ve added the ability to send commands like zigbee.readAttribute and zigbee.command to different endpoints. That was possible before with the legacy st rattr and st cmd commands but not with the zigbee.* commands. We also added the ability to send manufacturer specific commands to different endpoints which previously wasn’t possible, even with use of the legacy raw command.
As for including the endpoint in the attribute reports, it’s a lot more complicated to implement without breaking backwards compatibility so it’s not something we’ve made much progress on yet.
The suggested workaround is to send commands to Zigbee devices asking them to send reports that include the endpoint data, but this does not work with Xiaomi device because they do not accept any commands. They only send reports to the hub.
1 Like