The difference of an Ecobee thermostat integration via the cloud vs local

I’m not exactly sure where a comprehensive guide is, but I had issues initially and eventually figured it out for my case:

  1. Unpaired my Ecobee 3 Lite thermostat from Homekit (I have an Apple TV that acts as a hub)
  2. Once unpaired, in the Notifications on HA it asked if I wanted to pair the Ecobee via the Homekit Controller integration
  3. I believe I followed the instructions from that notification in order to set up the pairing, which I think was just typing in the code displayed on the thermostat manually into HA.
  4. Installed the Homekit Integration in order to have the thermostat appear back on the original Homekit hub (Apple TV)

This was a couple of months ago, but what I noticed is that whenever I unpaired my thermostat from the Apple TV Homekit, HA started to recognize the device and asked if I wanted to pair it. If I remember correctly, HA could have also asked to pair the thermostat after I went into the app and tried to go through the process of linking to a Homekit hub… but I’m pretty sure it was the steps listed above. Hopefully that helps! :grinning:

1 Like

Thank you. I think it worked.

1 Like

Whoa you’re right, I can change my preset with the HomeKit one now!!! I wonder if that was added recently, or if I was just crazy before. I swear it could only change the modes before between heat, cool and off.

This is great news, time to try switching over all of my automations to use the HomeKit integration. Thanks for bringing this up :slight_smile:

Right now I have the standard ecobee integration running. To move to homekit, do I have to delete the ecobee integration and just setup homekit? Or do i have to do something on the thermostat to forget the existing integration?

There is a guide, here:

And that notes that they can exist in parallel — you’ll just get redundant devices. As long as you name them so you don’t confuse yourself, should be fine.

2 Likes

I just integrated ecobee3 lite using homekit controller. I see the select for presents in UI. Here is some weird behavior I see

  1. In UI when I change the mode to Away/Sleep, it change the mode on thermostat. However when I reload the page, UI still shows ‘Home’. On click ‘Clear hold’ thermostat returns back to schedule on thermostat.
  2. From node-red I am able to change the select mode (just like from UI). However setting the mode back to ‘home’ doesn’t work. However calling button to release ‘hold’ returns back to schedule. In addition, the status of ‘select’ always shows ‘home’ even I can see in thermostat that it is set to ‘away’.

So here are bugs -

  1. In UI, ‘home’ doesn’t do anything (even if in away mode, it doesn’t return schedule back to original mode)
  2. In UI, it doesn’t show current mode. If you refresh the page after setting dropdown to ‘Away’ , it still shows ‘home’.
  3. Setting ‘home’ mode from Node-red doesn’t work either.
    Root cause off all these might be that HA homekit integration, can call thermostat correctly to change the mode, however it is not able to retrieve it (or sees only ‘home’).

So here are limitations

  1. You are not able to get current mode (either in UI or from NR). Don’t know if any workaround.
  2. You are not able to set ‘home’ mode (in UI and from NR , and presumably from all automations). As workaround use ‘Clear hold’ button.

Can someone explain, to someone thinking of getting an Ecobee, why there are two different integrations? When I look at the “ecobee” integration, it immediately talks about registering the device at the the ecobee website. When I look at the “HomeKit controller” integration, I start seeing things about Apple and Siri.

I was hoping to to use an Ecobee completely unencumbered by the cloud, by registering it directly with a local-to-me integration. Is that possible? I thought it was, but now I’m not so sure.

The HomeKit-based integration is local control, but more limited.

The API-based integration requires their cloud service (and still doesn’t give full control).

Honestly, these are ok options if you have an Ecobee. If you want HA control (either local or through a cloud service), I’d recommend something else. The integrations are best if you are using to gather data or make other systems react, or if all you care about are simple home vs. away control.

1 Like

My problem is that I have steam heat, and very few thermostats have the necessary tuneable parameters to make it work. (In fact, the thermostat I’m looking to replace is a Sinope TH1400 zigbee model that I mistakenly chose about a month ago. It regularly fires my boiler for just 2 minutes at a time. The boiler won’t make steam for at least 10! :-/ ) The Ecobee apparently has the right minimum “on” time, and cycle rate controls.

The good news is that all I really need is access to the setpoint and current temperature. Anything that works after that will be icing.

The Ecobee setup manual says that the pairing code becomes available after connecting to the internet, which makes me a little leery of the “all local” part, but I guess someone here probably would have noticed by now if the thermostat was phoning home repeatedly.
ecobee_regis_code

So I finally went through this process today.

You can’t get run Homekit Controller without an 8-digit API key.

You can’t get an API key unless you register your thermostat at ecobee.com using the 4 character code that the thermostat shows you, and you can’t get that code unless your thermostat also has access to ecobee.com. So it has to be on the internet for registration, and you have to have an account. Just wifi isn’t enough for the thermostat – it really needs to talk to the mothership.

Once its registered, it will give you the API key, in the form of a pair of 4 digit numbers atop a QR code. I guess if you had an iPhone or iPad you could just take a picture, but those 8 digits are the API key, even though apparently past ecobee products showed it as NNN-NN-NNN. Just enter it as 8 digits, and it works, even though Homekit Controller tells you about the previous form.

But so far, it seems that after registering and getting and using the API key, I can block my thermostat from the internet, and everything keeps working. At least, everything I need, like setting/getting temperature and setpoint, and getting History graphs in HA. So that’s all good.

My current issue is one mentioned earlier in this thread – all of the temperatures reported by the thermostat through Homekit Controller are whole numbers. Need to chase that down.

1 Like

I believe you won’t be able to get a decimal value from the HomeKit integration. I’m using the HA integration and have tenth of a degree temperature sensor resolution in °F. Somehow, things like this follow the rule of conservation of misery.

If you or anyone else is looking at the ecobee3 lite version, I cannot in good conscience recommend it. I have two of them and have experienced deadlock in both units resulting from a momentary power outage. I had to unplug them from the mount and plug them back in to restore operation. The concern would be if you’re out of town when it’s cold enough to freeze your water pipes.

2 Likes

Ouch. That’s exactly what I bought. :frowning: We get momentary outages all the time.

I guess I’ll play with it for a week or so. If I absolutely love it, maybe I’ll figure out a UPS arrangement for the furnace. If not, I’ll return it. I’m already returning my previous thermostat, so I’m getting used to the process. Sigh.

paul

Regarding the integer/fraction issue: This was addressed, and then the change was reverted, in the spring of 2021, and the topic analyzed in #51536.

The crux of the biscuit is that too many F-to-C and C-to-F conversions on the way from the device to Homekit Controller to HA to the user causes a lot of rounding and truncation error, and in general breaks things badly.

The solution, proposed and implemented in #51536 (above) is to leave the climate entity data in whole numbers, and create a separate “raw” sensor which contains the tenths. This sensor is named (for me, since I named my thermostat “ecobee”) “sensor.ecobee_current_temperature”, with a friendly name of “ecobee Current Temperature” (note caps). This sensor reports the fractional equivalent of the “current_temperature” attribute of my “climate.ecobee” entity.

“sensor.ecobee_current_temperature” indeed has a decimal fraction. That’s the good news.

The bad news is that the data is stale, from about 20 hours ago, when I was first installing and exploring the ecobee from within HA. The integer value in climate.ecobee is fine, and updating. So now I need to investigate that, and how to get the sensor functioning again.

Edit: I was able to get ecobee.current_temperature working again by choosing it in the Settings–>Entities tab, then checking it’s box to first disable, then reenable, the sensor. It’s working now, so I have the tenths I wanted.

3 Likes

Is there any way to tell the Ecobee which temperature sensors to consider with the Homekit integration? As far as I know, the only way to do this is with Comfort Settings, and as I understand it, Homekit can only use Home/Away/Sleep.

Here’s my use case: when I’m working from home, I’d like the office temperature to be considered. But if I’m not, I’d like to leave it out. (It’s in a somewhat colder corner of the house, unfortunately, so including the sensor there pulls the overall average down.) Of course, I could ignore this and just make the set point for when I’m there several degrees higher and it’ll effectively do the same thing…

If it happened consistently, it might be easier to come up with the proper fix. The fact that thermostats around here are powered with 24 VAC makes me consider putting a bipolar transient voltage suppressor across 24 AC “hot” and common. Latch-up is a thing with CMOS technology.

We can go on with this, but it’s somewhat off topic.

1 Like

These things have a battery, right? Which makes it especially odd. Plus, it means “open it up and put in a bigger capacitor” probably isn’t the answer. Even if it would fit, which it probably wouldn’t.

Have you seen this thread on reddit? Seems to happen on the Ecobee 4 as well.

Is there anything “upstream” from your thermostat’s “R” connection that could interrupt power? A furnace or boiler safety switch that might not be enabled right after a power glitch? Mine is downstream from the low-water cutoff in my steam boiler, as an example. I’m not sure how this would cause the issue, but it’s something to consider.

There is nothing user serviceable. There are small torx screws holding it together. I assume it has nonvolatile memory to store state information.

Yes, there are a fair number of reports on Reddit, but most apply to the 3 lite. The one you referenced lends some credibility to the idea of using a voltage transient suppressor. After all, there is a 24-volt transformer somewhere, and interrupting voltage suddenly can cause a back-EMF transient.

You might want to call the ecobee support folks, verify the issue has been addressed in the current production run, and make sure your unit has the fix. I’m pretty sure they’re aware of the history. If they don’t own up to the issue, that itself says something.

Apologies to the OP for drifting off topic.

2 Likes

I was just trying to set up an automation for fan’s current operation (is the fan running or not) and noticed that the x_fan_mode entity shows: “This entity is no longer being provided by the homekit_controller integration. If the entity is no longer in use, delete it in settings.”

Strange, I’ve never had this problem. I have had 4 of these installed for a few years, power outages are somewhat rare (knock on wood), but they do happen a few times a year usually.

FYI: The HA integration has the following attributes available. Since they are polled from the cloud, they’re a bit slow to populate.

image

hvac_modes: heat_cool, heat, cool, off
min_temp: 44.6
max_temp: 95
target_temp_step: 0.5
fan_modes: auto, on
preset_modes: Away, Home, Sleep
current_temperature: 72.8
temperature: 73.5
target_temp_high: null
target_temp_low: null
current_humidity: 28
fan_mode: auto
hvac_action: heating
preset_mode: temp
aux_heat: off
fan: on
climate_mode: Home
equipment_running: fan,heatPump
fan_min_on_time: 0
friendly_name: Home
supported_features: 91
1 Like

Thanks for sharing that! That’s good to know in case I need it in the future. I was looking for near real-time access to the fan status, it’s too bad it’s not available with the HomeKit integration.

3 Likes