Ecobee losing power - how to alert on that?

Hey all, I have an ecobee thermostat that I have integrated into SharpTools. Everything works great - tiles, rules, etc. The problem I have is that occasionally my condensate line fills up and lifts a float that then breaks the 24v power to the thermostat.

I checked with ecobee Support and they dont have a way to alert on this. So I’m trying to think how to get an alert when this happens. When power is cut, the ecobee stops reporting any data, so I dont know what I can use to trigger a rule that sends an alert.

Someone else might be able to give you a better answer, but if you are using SmartThings, I would start by looking at the SmartThings IDE to see what appears there when the power is cut. Then you might be able to design a rule to alert you based on what you see. For example, the “thermostat mode” property might get set to “off” when the thermostat loses power. This would allow you to write a rule to alert you anytime the thermostat mode = off.

Another approach might be the “healthStatus” attribute. That one is either online or offline. I would test to verify if the power is cut then the value switches to offline. If so then you could use that instead.

If you use some kind of WiFi presence detection, you can monitor the ecobee’s MAC address like how you would monitor cell phones.

Yeah that’s a good idea too. On what device would you run that kind of presence detection?

The following thread may be helpful to you if you are interested in retrieving the health status of a device…

I wrote this rule for the exact same scenario. A couple of notes:

  • I have it executing at noon and midnight in addition to the 15 minute timer because I found that the timer alone wouldn’t trigger the rule when it is first enabled, so in case I disable and re-enable it in the future, I’m guaranteed it will trigger at noon or midnight to wake it up
  • The first HTTP GET is calling another rule where I obtain/refresh my Ecobee access token
  • The variable value in the second GET for the Ecobee URL is api.ecobee.com/1/thermostat?format=json&body={“selection”:{“selectionType”:“thermostats”,“selectionMatch”:“412820384194”,“includeRuntime”:true}} where 412820384194 is my specific thermostat ID from Ecobee
  • Since you have to check through Ecobee’s APIs, I think it takes about 10-15 minutes before Ecobee pings the thermostat and detects that it is offline, thus reporting it as offline on their servers. The status doesn’t report offline immediately.

Hope this helps!


1 Like

Thanks for all the great suggestions here. Here’s what I ended up doing:

I used the SharpTools Health and Battery report, exclude the devices that I dont need to know about.

items = $context.response.data.items
exclusions = ["Color Bulb 1", "Color Bulb 2", "Kasa Color Bulb 1", "Kasa Color Bulb 2", "Kasa White Bulb F1A1", "Spare Outlet"]
filteredItems = filter(items, not(contains(exclusions, item.name)))
join(map(filteredItems, item.name), ", ")

And then look specifically for the Ecobee status.

not(contains(($HealthDevicesOffline), "Ecobee Thermostat"))

The end result is I get an output that isnt cluttered with devices I expect may be offline and I can have a tile dedicated to the Ecobee being offline, as well as text alerts and audio played on the speakers. This should avoid the dreaded family response of “why is it so hot in here!?!” before I get to unclogging the condensate line (again).

edit: updated the rule

Cheers