I purchased a couple Sonoff SNZB-05P Zigbee Water Leak Sensors. As I am trying to get this to work I wound up selecting the built-in Generic Zigbee Moisture Sensor. This does allow a "Water" attribute to show up and it also allows it to work with my existing leak notifier. However, I have noticed that this device now shows up as having two component devices.
Does anyone have a suggestion for a better driver?
The built-in Generic Zigbee Moisture sensor driver does not create child devices. Were you previously using a different driver? If so, the easiest way to fix this, assuming you don't have any apps using the device yet (parent or any child), is just to delete the device and re-pair it, then select the correct driver shortly after and run a "Configure" after that. You may need to re-pair it once more (this time without deleting it first) if this device is extra-sleepy and doesn't respond to that, the biggest clue to which would be that it might not report wet/dry events.
I went through the deletion, pairing, setting the driver and pressing Configure. I tried both the Generic Zigbee Moisture Sensor and the Generic Zigbee Moisture Sensor (no temp) drivers. Neither driver reported a Wet attribute. I will have to try some more drivers.
Did you also:
you could try Krassimir's driver, it supports about 7 different devices and one of the fingerprints should match
definition (name: "Tuya NEO Coolcam Zigbee Water Leak Sensor", namespace: "kkossev", author: "Krassimir Kossev", importUrl: "https://raw.githubusercontent.com/kkossev/Hubitat/development/Drivers/Tuya%20NEO%20Coolcam%20Zigbee%20Water%20Leak%20Sensor/Tuya%20NEO%20Coolcam%20Zigbee%20Water%20Leak%20Sensor.groovy",
Deleted
Paired
Set Device type to Generic Zigbee Moisture Sensor
Clicked Configure
Paired again (without deletion)
Seeing a Battery state
Seeing State Variables: lastBattery and tempOffset
...and now, after checking the logs and going back to ensure debug logging was enabled (followed by saving the preferences on that device) I now see a new State: water.
This state toggles from wet to dry as expected.
I am not sure what in the heck is going on as far as why it didn't initially show the "water" state.
Am I missing some detail in my process? Does it take some time for things to show up?
Normally you can just pair the device, so I wouldn't say you're "missing" anything, just that this device might be a bit weird. The steps you outlined above (in your most recent post) should be enough for devices that don't listen for messages from the hub and didn't pair with the right driver (by the way, that could be fixed in a future release if you run the "Get Info" command while it's still using the "Device" driver, then provide the "fingerprint" entry it should print to Logs--could save you from having to do this again since it could help,the driver match in the first place).
You normally don't have to wait for states to appear; this driver fetches them on a "Configure," which also runs on pairing. This should have happened on your second pairing if nothing else (possibly not the first since it didn't match the driver, and these devices are likely not listening for commands from the hub at any other time if they're like other Sonoff sensors I've used). If they didn't happen, I don't have a good explanation unless maybe they took a long time to respond, but if things are working now, I wouldn't be concerned.
Thanks! This fingerprint should be in the "no temp" driver (assuming that's the right one) in release 2.4.0, so that should at least make this easier for you or anyone who adds this device in the future.
Any idea when 2.4.0 will be coming?
No, I would have guessed a month ago. I can submit the same for 2.3.9 if there ends up being another hotfix...
Today I tried to connect to a second Sonoff SNZB-05P.
I paired it.
I set the device type to Generic Zigbee Moisture Sensor (no temp). (Different from what I had tried before).
I clicked Configure.
I saved the Preferences and Device.
The battery state appeared. However, the value shows it is 200%.
I then paired the device again.
No "water" state yet.
I then put water on the sensor.
The "water" state appeared with the "wet" value.
I dried it off and the state switched to "dry".
I was quite surprised it took actually triggering the device for the state to show up.
Me too, because it looks like it sends a command to fetch this value as part of configure()
, which should run automatically on pairing (or re-discovery). It's possible this device is wonky and does not respond to this for some reason (not the first device from this manufacturer I've seen that has some quirks ).
does the cable itself detect water or just the end? homeseer made an awesome one with a cable that if any of it got wet it popped off.. problem was the cable had a finite life.. so im at the point where replacements are needed and homeseer discontinued it
Anywhere along the length of the cable that gets wet.