Problem with applying custom device type handler


(M.K.) #1

Hi, I’m novice struggling to apply custom device type handler for custom thing device (HA profile, TI Z-Stack based)

I found that ST Hub match thing and device type handler using finger printing information.
So, I wrote device type handler which includes finger printing information for thing device.
Few days ago, finally, I’ve succeeded matching device type handler, not to "Unknown Device"
But now, even though same source is applied, When “Connect new device”, thing is shown as "Unknown Device"
Recently in ST platform, Is there anything changed?
I don’t understand this situation…

In My device, thing’s finger print is recorded as below

Raw Description 08 0104 0100 00 05 0000 0003 0004 0005 0006 01 0000

Also I did sniff ZigBee Packet using wireshark, cc2531 sniffer.

As result, I’ve checked that ST hub receive correct Simple Descriptor Response from thing.

Below is code of device type handler I wrote (Template code is Cree Bulb)

definition (name: “HA Light”, namespace: “smartthings”, author: “SmartThings”) {
capability "Actuator"
capability "Configuration"
capability "Refresh"
capability "Switch"
fingerprint endpointId: “8”, profileId: “0104”, deviceId: “0100”, deviceVersion: “00”, inClusters: “0000 0003 0004 0005 0006”, outClusters: “0000”
}

def configure() {
String zigbeeId = swapEndianHex(device.hub.zigbeeId)
log.debug "Confuguring Reporting and Bindings.“
def configCmds = [
//Switch Reporting
"zcl global send-me-a-report 6 0 0x10 0 3600 {01}”, “delay 500”,
“send 0x${device.deviceNetworkId} ${endpointId} 1”, “delay 1000”,
“zdo bind 0x${device.deviceNetworkId} ${endpointId} 1 6 {${device.zigbeeId}} {}”, “delay 1000”
]
return configCmds + refresh() // send refresh cmds as part of config
}

I’m really hope to resolve this problem and show applied my device type handler, not to “Unknown device”

Thanks for your concern. Have a nice day!


(John Rucker) #2

M.K., there must be something going on with SmartThings? I just posted a similar problem. Finger-printing not matching to device

I did chat with SmartThings tech support and they didn’t know of any problems. To be honest the tech support guy asked me what a custom device type was so I may not have been talking to someone who was in the know.


(John Rucker) #3

I would be interested in your Wire-shark sniffer configuration. What ZigBee dongle are you using was it hard to setup the software? What was the cost??

Thanks!


(M.K.) #4

@JohnR
Thanks for reply. I have read your post. I guess there must be some problem about finger print logic.
As you said, these custom device type handlers have worked fine, just few days ago. In my case, worked too.
Is there anyone who knows this reason??..

And as I wrote, I’ve used TI CC2531 USB dongle(packet sniffer) and ccsniffer(on GitHub) which is making pipe applicable to Wireshark.
I hope this helps. Thanks.


(John Rucker) #5

@MKK, has this started working for you? As of 4/21 I’m still having problems with my custom device type’s fingerprinting process.


(M.K.) #6

@JohnR
Applying latest updated version, I’ve succeeded matching handler, finally.
I think it is working, in case of you, Aren’t you?
Anyway your post was helpful to me, Thanks. See you!


(John Rucker) #7

Yes it is now working for me too!! Works very well!! Good luck on your project!!