Question About Building a ZigBee Device Handler (LeakSmart sensor)

Quick question. I am attempting to build a device handler for the leakSmart moisture sensor. Once I get past a few hurdles it shouldn’t be an issue. My question is…

I am assuming I won’t just receive all events from the devices into the “parse(String description)” method like I would with a z-wave device sending it’s events to the “parse()” method.

I believe based on what I have read on the ZigBee primer and examples I need to "configureReporting(…) to subscribe to the event or events I want to listen for.

Am I correct?

Also, I have read over quickly the ZigBee Cluster Library and I can’t find anything related to a moisture sensor. Also, I’ve tried using the attribute values that the smartthings device handler uses with no luck. How would I go about finding what attribute value leakSmart used if it is manufacturer specific?

1 Like

I’m sure others will be able to answer your question more precisely, but the following thread is the best example I know of in the forums for the process of building a new zigbee device type handler. :sunglasses:

As far as the clusters, typically a moisture sensor would just be treated as an IAS device for zigbee home automation and would send an “alarm on” for wet and and “alarm off” for dry, although it could be the other way around.

In zigbee IAS devices are not differentiated by sensor type as far as clusters go. The device does whatever it does to determine that an alarm should be sent, and then it sends the message. But there should be a zone type in the Alarm status message for water sensor. So look for zonetype in the IAS zone cluster.

1 Like

Ok, I’ll take a look at the Security Key Fob, but I first took your advice about IAS.

I am looking at pages 11, 351 & 252 of the cluster library definition.

Based on that I would think I would want to do a…

zigbee.configureReporting(0x0500, 0x002a, 0x20, 30, 21600, 0x01)

but I am still not getting anything when I set the alarm off.

also, when I call

def data2 = zigbee.readAttribute(0x0000, 0x002a)

I get [st rattr 0x429E 1 0 42, delay 500].

42 = 0100 0010

None of those make sense. I also don’t get events.

I’ll keep working at it and take a look at that other thread.

Tagging @erocm1231

See discussion here:

If your not receiving ZigBee reports but you can send a read attribute and get the result then your device may not be bound to your hub correctly. In order for ZigBee reporting to work correctly most devices have to be bound to the hub. That is what the zdo bind command is for in the configure method.

1 Like