Water leak sensors stopped displaying status

I recently bought & installed 2 SmartThings Water Leak Sensors, and at first they displayed in the Things list as I would expect:

  1. In the left column, the sensor type - a droplet representing the Water Leak sensor.
  2. In the middle column, the sensor name.
  3. In the right column, the status - typically “Dry.”

Then I bumped something in the mobile app. Now the sensor type icon disappeared from the left column in the Things list, and the status column shows the temperature instead of the of the moisture status. I really don’t care what the temperature is on the floor under my washing machine!

How can I reset the 2 new water leak sensors to display water leak status? I can’t find this option anywhere in the UI.

Thanks!

-Doug

did you assign them a new device handler in the IDE?

No, I certainly didn’t … especially since I’m not sure what you’re talking about. I was clicking around and looking at the available options for water leak sensors (and there are practically zero) and the display simply changed (in the Things list).

What device and what device handler are you using? Can you post a screenshot

I am using the Samsung SmartThings Water Leak Sensor, just purchased. There are no SmartApps installed or available for it, and almost zero built-in settings.

I’m not sure what you want to see when you say “device handler.” I’m just an ordinary end-user consumer.

Thanks,

-Doug

Okay do this, open the IDE (https://graph.api.smartthings.com/) login (if you don’t have a developer account you will need to create one). Once you’re in click on My Devices, find your water sensor device and click on it. Copy paste the content or take a screenshot and paste it here.

Also take screenshot on your phone in the ST app of the page you’re referring to and paste it here.

Thanks for taking a look. Here’s what I see in the Things list - temperature, where there used to be moisture status (which of course is what I want); then, the device properties.

What phone os is that?

That’s the Windows Phone OS, but the we also have an iPhone and the apps seem to be very similar. All the screens related to the moisture sensors looked the same across phones - that is, I couldn’t find any settings on the one that weren’t on the other.

Here’s the only visible anomaly - in the Windows Phone UI but not the iPhone UI of the SmartThings app, this yellow circle appeared on the moisture sensor screen at the same time that the display changed from moisture status to temperature.

Note that others have reported the same issue. I’m not clear what the resolution was in this thread.

yeah, from what i’ve read on here that orange circle used to allow you to change what was displayed on the things list. Have you tried pressing it? Another thing that is strange is your device in the IDE should have an entry for “water” under current states. Have you tried resetting the device and rejoining?

They contact support and they fixed them on the backend. have you tried contacting them?

Jimmy, The orange circle turns on, but not off. I will try (1) resetting the water leaks sensor that’s most accessible and, if that doesn’t work, calling support per the other forum thread. Thanks for taking a look at this for me. -Doug

I’m not sure what you mean by turning off and on, but I would avoid using the windows phone app. From what i’ve read it is very buggy and SmartThings no longer supports the Windows platform.

I just mean that bumping that circle in the app made it turn orange and changed what’s displayed, but that tapping it again has no effect and doesn’t turn it back off.

Okay I’m going to try to answer you questions above:

This is an artifact of the ST Windows App, if you see the code for the device handler you’re using (https://github.com/SmartThingsCommunity/SmartThingsPublic/blob/master/devicetypes/smartthings/smartsense-moisture-sensor.src/smartsense-moisture-sensor.groovy), you will see

main([“water”, “temperature”])

This allows the user to choose the water sensor tile or the temperature tile as the default to show on the main page, the yellow circle depicts what you’ve selected to show as the primary on the main summary page. This feature has been deprecated by ST since 2.x series for the iOS and Android apps and is a left over artifact on your windows app. Basically in short, it does nothing but change what you see on the “Things” page, in this case you’ve selected temperature so it shows the 81 on your Things page.
https://community.smartthings.com/uploads/short-url/rOpBc7mDjLyhBf5OjYdvYX3hm43.png
However you cannot switch it since ST now has switched to the newer MultiAttributeTile which doesn’t support user selecting the primary attribute. If you look at the display options in the code:

details([“water”, “temperature”, “battery”, “refresh”])

Water is the MultiAttributeTile, Temperature is the ONLY user selectable tile, hence you don’t have any options.
Basically as @Automated_House said, either you should move away from Windows ST app or try this, if you can deselect it you should see the dry/wet status on your Things page instead of the temperature.
If that doesn’t work you have 3 options:

  1. Write a custom DTH which doesn’t use MultiAttributeTiles
  2. Copy paste the code into a custom DTH and change the line
    main([“water”, “temperature”])
    to
    main([“water”])
  3. Delete your device and re pair it and don’t accidentally touch the temperature icon and end up selecting it.

ON A SEPARATE NOTE:
While looking at the code I also noticed another issue, under current states, there is no state for the the attribute water, you will see battery, temperature and checkInterval but no water.
https://community.smartthings.com/uploads/short-url/u3ajH6kF0qLiypWf4iObm01s1d3.png

This is because your sensor hasn’t reported the state as yet and also in part due to a bug in the ST code. The bug lies in the refresh code, when you click on refresh it ONLY refreshes the temperature and power status but NOT the dry/wet sensor status.

refreshCmds = zigbee.readAttribute(zigbee.TEMPERATURE_MEASUREMENT_CLUSTER, 0x0000) +
zigbee.readAttribute(zigbee.POWER_CONFIGURATION_CLUSTER, 0x0020)

(even the ping command doesn’t read the sensor status and instead reads the battery status)

Because the refresh command doesn’t ask for the sensor status and the sensor itself hasn’t reported the sensor status as yet and the ping command doesn’t read the sensor status, essentially ST has not idea what the sensor status is and hence you don’t see the attribute water in the device summary page. It has not been initialized yet and the way things are currently coded there’s now way to force the device to report it!

@workingmonk can confirm if I’m understanding this correctly

1 Like

Thank you VERY much for the troubleshooting and the detailed explanation for my issue. I think I will delete the water leak sensors tonight after I get home from work, re-pair them, and then make sure NOT to bump the orange circle for as long as I have my Windows Phone. I’ll also test them with some water to make sure they report their state.

Thanks again,

-Doug

@RBoy the explanation is spot on. The attribute for water gets set as part of the IAS cluster setup done as part of refresh() and config()

The enrollResponse failure causes that capability to not setup correctly. The plan is that device health will in the future flag this similar to the secureInclusion failure seen on zwave locks.

cc @tpmanley (flagging for issues with IAS cluster failure)

1 Like

Just confirming that deleting the water leak sensors and re-adding them was quick and painless and solved the problem. I also put each of them in water to make sure they were initialized and working. Thanks again for the research and the help! -Doug

2 Likes