Quick Answer

Go to Settings → Devices & Services → Add Integration → ecobee in Home Assistant. Authorise via ecobee's website. HA creates climate, temperature, humidity, and occupancy entities for your thermostat and SmartSensors. The integration polls ecobee's cloud every ~3 minutes — it works great but requires internet connectivity.

What You Need

Contents

  1. ecobee HA integration overview
  2. Step-by-step setup
  3. What entities are created
  4. Automation: away mode when everyone leaves (YAML)
  5. Automation: scheduled temperature (YAML)
  6. Combining with HA presence detection
  7. Limitations
  8. Local control workarounds
  9. FAQ

ecobee HA Integration Overview

The ecobee integration in Home Assistant communicates with ecobee's cloud API using OAuth2 authentication. HA polls the ecobee API every 3 minutes to get current thermostat state — temperature, setpoint, HVAC mode, fan state, and SmartSensor readings. Commands (set temperature, change mode) are sent immediately to the API and typically applied to the thermostat within seconds.

This is a cloud-polling integration, not a local one. The ecobee thermostat doesn't expose a local API — all control goes through ecobee's servers. This means:

In practice, ecobee's API has been stable for years and the HA integration is well-maintained as a core integration — not a community add-on.

Step-by-Step Setup

  1. In Home Assistant, go to Settings → Devices & Services.
  2. Click + Add Integration and search for ecobee.
  3. Click ecobee to begin the setup wizard.
  4. HA will display an API key and prompt you to add an API application on ecobee's portal. Open ecobee.com Developer Portal → My Apps → Add Application. Enter a name and the PIN shown in HA.
  5. Back in HA, click Submit after authorising the application.
  6. HA completes the OAuth flow and begins polling your thermostat.
Tip: The ecobee developer portal PIN expires after a few minutes. Have both the HA setup wizard and ecobee.com open simultaneously to complete the authorisation before it expires.

If you're running HA behind a VPN or in a restrictive network environment, ensure your HA instance can reach api.ecobee.com over HTTPS (port 443).

What Entities Are Created

After successful setup, HA creates the following entities for each ecobee thermostat:

Climate Entity

Sensor Entities (Thermostat)

SmartSensor Entities (if paired)

Each ecobee SmartSensor creates:

Additional Entities

Automation: Away Mode When Everyone Leaves

This automation switches the ecobee to away mode when all HA tracked persons leave home, with a 10-minute grace period to prevent triggering on brief departures.

YAML — automations.yaml
alias: "ecobee - away mode on departure"
description: "Set ecobee to 18°C away setpoint when everyone leaves"
trigger:
  - platform: state
    entity_id: group.all_persons
    to: "not_home"
    for:
      minutes: 10
action:
  - service: climate.set_temperature
    target:
      entity_id: climate.ecobee_main_floor
    data:
      hvac_mode: heat
      temperature: 18
  - service: notify.mobile_app_your_phone
    data:
      title: "🏠 House empty"
      message: "Thermostat set to 18°C away mode."
mode: single

Automation: Scheduled Temperature

While ecobee has its own built-in scheduler, you can override it from HA. This sets the temperature at 07:00 on weekday mornings when the house has been cold overnight.

YAML — automations.yaml
alias: "ecobee - weekday morning warmup"
description: "Pre-heat to 21°C at 07:00 on weekdays"
trigger:
  - platform: time
    at: "07:00:00"
condition:
  - condition: time
    weekday:
      - mon
      - tue
      - wed
      - thu
      - fri
  - condition: numeric_state
    entity_id: sensor.ecobee_main_floor_temperature
    below: 21
action:
  - service: climate.set_temperature
    target:
      entity_id: climate.ecobee_main_floor
    data:
      hvac_mode: heat
      temperature: 21
mode: single
Note: HA temperature commands override ecobee's built-in schedule for the current period. At the next scheduled ecobee event (e.g., "Home" at 08:00 in the ecobee app), ecobee resumes its own schedule. If you want HA to permanently manage the schedule, disable ecobee's built-in schedule and manage everything from HA automations.

Combining with HA Presence Detection

Pairing ecobee control with HA presence detection gives you smarter comfort control than ecobee's occupancy-based features alone. HA presence can use:

A combined automation: when person arrives home and ecobee temperature is below comfort setpoint, set temperature and notify. When last person leaves, drop to away mode. Use ecobee's SmartSensor occupancy for room-level automations (e.g., turn on the bedroom radiator when occupancy is detected in the bedroom sensor):

YAML — room-level occupancy example
alias: "ecobee SmartSensor - bedroom occupancy boost"
trigger:
  - platform: state
    entity_id: binary_sensor.ecobee_bedroom_sensor_occupancy
    to: "on"
condition:
  - condition: numeric_state
    entity_id: sensor.ecobee_bedroom_sensor_temperature
    below: 20
  - condition: time
    after: "21:00:00"
    before: "08:00:00"
action:
  - service: climate.set_temperature
    target:
      entity_id: climate.ecobee_main_floor
    data:
      temperature: 20
      hvac_mode: heat
mode: single

Limitations

Local Control Workarounds

True local control of ecobee doesn't exist officially. Some workarounds used by the community:

Bottom Line

The ecobee HA integration is one of the easiest thermostat integrations to set up — 5 minutes, no YAML, native GUI. You get full climate control, SmartSensor temperature and occupancy, and all the HA automation capabilities. The cloud dependency is a real trade-off, but for most users the reliability of ecobee's API and the quality of the integration make it a non-issue. If you need true offline control, look at Z-Wave thermostats instead.

FAQ

Does the ecobee integration work with HA automations while I'm away from home?

Yes — HA automations trigger based on HA state, not your physical location. As long as your HA server has internet access, it can query ecobee's API and send commands whether you're home or on the other side of the world.

Will my ecobee schedule still work if HA goes down?

Yes. ecobee runs its own on-device schedule completely independently of HA. If your HA server or internet goes down, ecobee continues heating/cooling according to its programmed schedule.

Can I see ecobee energy usage data in HA?

The integration doesn't currently expose runtime hours or energy consumption data as entities. For energy analysis, use ecobee's app (Home Energy Reports) or the ecobee web portal. HA can infer heating runtime by monitoring the HVAC mode sensor state duration.

The ecobee integration shows "unavailable" in HA — how do I fix it?

Usually an expired OAuth token. Go to Settings → Devices & Services → ecobee → Reconfigure and re-authorise the connection. If that doesn't work, delete the integration and set it up fresh — this takes less than 5 minutes and doesn't affect your ecobee settings.

Can I use ecobee SmartSensors as general temperature sensors in HA?

Yes — each SmartSensor creates a temperature sensor entity. You can use these in any HA automation or dashboard card just like any other temperature sensor. They poll at the same 3-minute interval as the thermostat state.

SmartWired participates in the Amazon Associates Programme. We may earn a commission from qualifying purchases at no extra cost to you.