LeakSmart Sensors

Did you ever get your Leaksmart sensors working? I have 3 of them and have only attempted to pair one. Using the community Leaksmart driver, I can pair it successfully, but when I test its operation (using the notifier app to send a notification when wet)- Im not getting anything. I tried switching to "generic zigbee moisture" driver and i get nothing as well. I've reset the sensor, rebooted the hub, and attempted another re-pairing and still no dice.

The LeakSmart sensors work with the built-in "generic zigbee moisture sensor" driver. They have to be paired very close to the HE and do not report (or work well) unless the zigbee mesh is strong.

1 Like

Thanks for your immediate reply. Does this mean I can delete the community driver altogether? I tried pairing it directly next to the hub and it paired as a Leaksmart. I will try again after deleting the community driver.

I have tried several times within 5 feet from the hub. I get a successful pairing each time, but automations don't seem to work. The sensor itself will beep when moisture is detected, but it will not serve as a trigger to any automations (Notifications app or HSM, etc). I have 2 more sensors that I haven't tried yet which I will check out tomorrow.

Factory reset the sensor before re-pairing it. Here's how you reset the sensor:

  1. Remove the battery door, install batteries, press and hold the black button for 15 seconds, then let go.
  2. Power cycle the sensor by removing and reinstalling a battery.

If the reset is successful, the sensor should chirp and the blue LEDwill flash 5 times every second.

I have had no luck with the LeakSmart sensor on HE using the generic Zigbee moisture sensor driver. I have 3 of them on ST working fine; however I can only been able to get them to function on HE using a modified version of the ST community driver-- they pair and report wet/dry/battery normally with the modified driver, but temperature reporting is seemingly random (-466, 78, 511, etc). When I use the same sensor with the generic Zigbee driver, temperature and battery reporting works but wet/dry sensing does not. I wonder if it is related to the firmware level of this sensor; mine were updated to 34 level (according to ST; it isn't reported on HE) when I sent them to LeakSmart a couple of years ago.

Unfortunately, I have tried the above steps (factory reset and power cycle) , paired the sensor to Hubitat (as a Generic Zigbee Moisture sensor) - then used it as a HSM trigger for water leak.. the sensor itself will detect moisture and will start beeping.. however the device "current states" will never show as having detected moisture and will not thereby trigger my HSM rule. The same goes for if I use the community Leaksmart driver. I have previously paired these to Wink 2 and have verified they have the latest firmware (updated via the Wink 2 hub). This has been attempted with fresh batteries and within a few feet from the hub.

How robust is your zigbee mesh? What repeaters are you using?

Aaiyar- thanks for staying with me thru this issue. I have 3 Tradfri zigbee repeaters purchased from IKEA, 1 of which is less than 3 feet from the Hub (plugged into the same power strip as the hub). I'm also pairing the Leaksmart sensor approx 3 feet from the hub and water testing it in the same location.

Aaiyar,

 Thank you for following up with me and making sure to provide the best support possible.   I was able to make it work properly using the community provided Leaksmart driver.   I have since moved all 3 of my sensors to Hubitat.   Appreciate you !   Happy holidays!

J

I have observed the same as above. With the Generic Zigbee Moisture Sensor driver I get accurate temperatures and battery level, but the leakSMART sensor never reports moisture correctly to the device page. If I switch to the community driver moisture sensing works every time, but temperatures (and sometimes battery level) are random. Using the temp offset doesn't work because the temp value is so random.

With the Generic driver I think it is actually reporting the moisture, but the driver is not processing correctly. In the text logs when you get it wet there are a number of repeated temperature reports much more frequent than the normal interval. I have pasted a debug log of this below. The sensor was wetted at 7:44 in the log.

Any ideas on how the temperature could be fixed in the community leakSMART driver or could the Generic Zigbee Moisture Sensor (@mike.maxwell) driver be updated to fix moisture sensing??

Thanks

dev:1142020-05-08 07:44:52.590 pm infoGuest Bath Sensor temperature is 53.19°F

dev:1142020-05-08 07:44:52.582 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:518D0104020A0000299904, dni:518D, endpoint:01, cluster:0402, size:0A, attrId:0000, encoding:29, command:0A, value:0499, clusterInt:1026, attrInt:0]

dev:1142020-05-08 07:44:52.578 pm debugparse: read attr - raw: 518D0104020A0000299904, dni: 518D, endpoint: 01, cluster: 0402, size: 0A, attrId: 0000, encoding: 29, command: 0A, value: 9904

dev:1142020-05-08 07:44:47.587 pm debugparseReportAttributeMessage: Temp resultMap: [name:temperature, value:53.19, descriptionText:Guest Bath Sensor temperature is 53.19°F, unit:°F]

dev:1142020-05-08 07:44:47.585 pm infoGuest Bath Sensor temperature is 53.19°F

dev:1142020-05-08 07:44:47.577 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:518D0104020A0000299904, dni:518D, endpoint:01, cluster:0402, size:0A, attrId:0000, encoding:29, command:0A, value:0499, clusterInt:1026, attrInt:0]

dev:1142020-05-08 07:44:47.573 pm debugparse: read attr - raw: 518D0104020A0000299904, dni: 518D, endpoint: 01, cluster: 0402, size: 0A, attrId: 0000, encoding: 29, command: 0A, value: 9904

dev:1142020-05-08 07:44:42.558 pm debugparseReportAttributeMessage: Temp resultMap: [name:temperature, value:53.19, descriptionText:Guest Bath Sensor temperature is 53.19°F, unit:°F]

dev:1142020-05-08 07:44:42.557 pm infoGuest Bath Sensor temperature is 53.19°F

dev:1142020-05-08 07:44:42.549 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:518D0104020A0000299904, dni:518D, endpoint:01, cluster:0402, size:0A, attrId:0000, encoding:29, command:0A, value:0499, clusterInt:1026, attrInt:0]

dev:1142020-05-08 07:44:42.545 pm debugparse: read attr - raw: 518D0104020A0000299904, dni: 518D, endpoint: 01, cluster: 0402, size: 0A, attrId: 0000, encoding: 29, command: 0A, value: 9904

dev:1142020-05-08 07:44:37.564 pm debugparseReportAttributeMessage: Temp resultMap: [name:temperature, value:53.19, descriptionText:Guest Bath Sensor temperature is 53.19°F, unit:°F]

dev:1142020-05-08 07:44:37.563 pm infoGuest Bath Sensor temperature is 53.19°F

dev:1142020-05-08 07:44:37.557 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0104 0B02 01 01 0040 00 518D 01 00 0000 01 01 01810100, profileId:0104, clusterId:0B02, clusterInt:2818, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:518D, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:01, direction:01, data:[01, 81, 01, 00]]

dev:1142020-05-08 07:44:37.556 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:518D0104020A0000299904, dni:518D, endpoint:01, cluster:0402, size:0A, attrId:0000, encoding:29, command:0A, value:0499, clusterInt:1026, attrInt:0]

dev:1142020-05-08 07:44:37.555 pm debugparse: catchall: 0104 0B02 01 01 0040 00 518D 01 00 0000 01 01 01810100

dev:1142020-05-08 07:44:37.553 pm debugparse: read attr - raw: 518D0104020A0000299904, dni: 518D, endpoint: 01, cluster: 0402, size: 0A, attrId: 0000, encoding: 29, command: 0A, value: 9904

dev:1142020-05-08 07:44:32.579 pm debugparseReportAttributeMessage: Temp resultMap: [name:temperature, value:53.19, descriptionText:Guest Bath Sensor temperature is 53.19°F, unit:°F]

dev:1142020-05-08 07:44:32.577 pm infoGuest Bath Sensor temperature is 53.19°F

dev:1142020-05-08 07:44:32.569 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:518D0104020A0000299904, dni:518D, endpoint:01, cluster:0402, size:0A, attrId:0000, encoding:29, command:0A, value:0499, clusterInt:1026, attrInt:0]

dev:1142020-05-08 07:44:32.565 pm debugparse: read attr - raw: 518D0104020A0000299904, dni: 518D, endpoint: 01, cluster: 0402, size: 0A, attrId: 0000, encoding: 29, command: 0A, value: 9904

dev:1142020-05-08 07:44:27.553 pm debugparseReportAttributeMessage: Temp resultMap: [name:temperature, value:53.19, descriptionText:Guest Bath Sensor temperature is 53.19°F, unit:°F]

dev:1142020-05-08 07:44:27.551 pm infoGuest Bath Sensor temperature is 53.19°F

dev:1142020-05-08 07:44:27.544 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:518D0104020A0000299904, dni:518D, endpoint:01, cluster:0402, size:0A, attrId:0000, encoding:29, command:0A, value:0499, clusterInt:1026, attrInt:0]

dev:1142020-05-08 07:44:27.540 pm debugparse: read attr - raw: 518D0104020A0000299904, dni: 518D, endpoint: 01, cluster: 0402, size: 0A, attrId: 0000, encoding: 29, command: 0A, value: 9904

dev:1142020-05-08 07:44:22.571 pm debugparseReportAttributeMessage: Temp resultMap: [name:temperature, value:53.19, descriptionText:Guest Bath Sensor temperature is 53.19°F, unit:°F]

dev:1142020-05-08 07:44:22.569 pm infoGuest Bath Sensor temperature is 53.19°F

dev:1142020-05-08 07:44:22.561 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:518D0104020A0000299904, dni:518D, endpoint:01, cluster:0402, size:0A, attrId:0000, encoding:29, command:0A, value:0499, clusterInt:1026, attrInt:0]

dev:1142020-05-08 07:44:22.558 pm debugparse: read attr - raw: 518D0104020A0000299904, dni: 518D, endpoint: 01, cluster: 0402, size: 0A, attrId: 0000, encoding: 29, command: 0A, value: 9904

dev:1142020-05-08 07:44:17.564 pm debugparseReportAttributeMessage: Temp resultMap: [name:temperature, value:53.19, descriptionText:Guest Bath Sensor temperature is 53.19°F, unit:°F]

dev:1142020-05-08 07:44:17.563 pm infoGuest Bath Sensor temperature is 53.19°F

dev:1142020-05-08 07:44:17.556 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:518D0104020A0000299904, dni:518D, endpoint:01, cluster:0402, size:0A, attrId:0000, encoding:29, command:0A, value:0499, clusterInt:1026, attrInt:0]

dev:1142020-05-08 07:44:17.552 pm debugparse: read attr - raw: 518D0104020A0000299904, dni: 518D, endpoint: 01, cluster: 0402, size: 0A, attrId: 0000, encoding: 29, command: 0A, value: 9904

dev:1142020-05-08 07:44:17.550 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0104 0B02 01 01 0040 00 518D 01 00 0000 01 01 01811100, profileId:0104, clusterId:0B02, clusterInt:2818, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:518D, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:01, direction:01, data:[01, 81, 11, 00]]

dev:1142020-05-08 07:44:17.547 pm debugparse: catchall: 0104 0B02 01 01 0040 00 518D 01 00 0000 01 01 01811100

dev:1142020-05-08 07:43:57.523 pm infoGuest Bath Sensor battery is 100%

dev:1142020-05-08 07:43:57.520 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:518D0100010A20002028, dni:518D, endpoint:01, cluster:0001, size:0A, attrId:0020, encoding:20, command:01, value:28, clusterInt:1, attrInt:32]

Possibly, would need a device in hand to try out.

I do have a (currently) unused spare. I could loan one out (or would you need it permanently?).

On loan is fine...

I am getting incorrect Temp Values using the leaksmart sensor driver referenced above as well. I tracked down the issue to the byte ordering of the temp value returned from the sensor.

changing line 340 from
def value = getTemperature(descMap.value)
to
def value = getTemperature(swapEndianHex(descMap.value))

corrects the issue

4 Likes

Looking good. I tried your modification and now the temperature reported by the LeakSmart under my refrigerator went from -133 to 65. Thank you!

Nice work! It is finally not -342F in my various rooms!

While my leakSmart sensors are reporting correct temp and battery regularly, they're not reporting dry/wet. I also added the driver code posted above but that didn't help with this problem.

Any ideas?

You've added the driver, but you haven't changed the driver being used by the device to the User driver that you just installed.

After doing that, click Save, and then be sure to click the Configure button on the device page.

1 Like

Ok figured that out...took a bit because I didn't realize there were more drivers at the bottom of the list under "User". However I'm still not seeing an expected status in the devices menu nor in the dashboard.

Are there some other settings I'm missing?

FYI I have 3 LeakSMART and 1 Dome Leak sensors but have only been working on getting the Main Flr Leak Detector (leaksmart) sensor to work (middle row, left in dashboard).