Ecobee + Home Assistant
Complete setup guide for smart climate control
Important: API Key Availability
As of March 28, 2024, Ecobee is no longer accepting new developer API keys. If you don't already have an API key, use the HomeKit Device integration instead (covered in this guide). Existing API keys continue to work.
Quick Summary
- ✓ Compatibility: Full control of all Ecobee models
- ! Cloud required: Yes (native API) or local via HomeKit
- ✓ Subscription: None required
- → Recommended: HomeKit integration for new setups (local control)
1. Choose Your Method
There are two ways to integrate Ecobee with Home Assistant:
| Aspect | HomeKit Device | Native Ecobee API |
|---|---|---|
| New setup available | Yes | No (API keys closed) |
| Local control | Yes | No (cloud) |
| Room sensors | Limited | Full |
| Vacation mode | No | Yes |
| Climate presets | Yes | Yes |
| Setup complexity | Easy | Moderate |
Our recommendation: Use HomeKit Device integration for new setups. It provides local control and doesn't require an API key. If you already have an API key, the native integration offers more features.
2. Method A: HomeKit Device (Recommended)
All Ecobee thermostats support HomeKit, which means you can integrate them locally without Ecobee's cloud API.
Prerequisites
- Ecobee thermostat with HomeKit enabled
- 8-digit HomeKit pairing code (on the thermostat or in Ecobee app)
- Home Assistant on the same network as the thermostat
Finding Your HomeKit Code
Your HomeKit setup code is an 8-digit number. Find it by:
- On the thermostat: Main Menu → Settings → HomeKit → Show Setup Code
- Or in the Ecobee app: Settings → [Your Thermostat] → HomeKit
Setup Steps
- Go to Settings → Devices & Services
- Click + Add Integration
- Search for HomeKit Device (not "HomeKit Controller")
- Enter your thermostat's HomeKit pairing code
- Home Assistant will pair directly with the thermostat
Note: If your Ecobee is already paired with Apple Home, you'll need to unpair it first. Each HomeKit device can only be paired with one controller at a time.
3. Method B: Native Ecobee API
If you have an existing Ecobee API key, or obtained one before March 2024, this method provides the most complete integration.
Prerequisites
- Existing Ecobee developer account with API key
- Ecobee account with MFA disabled (required for developer portal)
Setup Steps
- Go to Settings → Devices & Services
- Click + Add Integration
- Search for Ecobee
- Enter your API key
- Home Assistant will display an 8-character PIN
- Go to ecobee.com/consumerportal
- Navigate to My Apps → Add Application
- Enter the PIN and authorize
- Return to Home Assistant and submit
4. Available Features
Climate Control (Both Methods)
- Target temperature (heat, cool, or auto with dual setpoints)
- HVAC mode: heat, cool, heat_cool (auto), off
- Fan mode: on, auto
- Climate presets: Home, Away, Sleep, and custom presets
Sensors (Native API Only)
- Room sensors: Temperature and occupancy from each sensor
- Thermostat sensors: Temperature, humidity, outdoor temperature (if weather enabled)
Advanced Controls (Native API Only)
- Vacation management: Create and delete vacation holds
- Smart Away: Toggle automatic away detection
- Humidifier control: When humidifier is connected
- Ventilator: 20-minute activation switch for HRV/ERV systems
- Auxiliary heat: Force aux heat only mode
5. Automation Ideas
Temperature-Based Alerts
automation:
- alias: "Alert if house gets too cold"
trigger:
- platform: numeric_state
entity_id: climate.ecobee_thermostat
attribute: current_temperature
below: 55
action:
- service: notify.mobile_app
data:
message: "House temperature dropped to {{ states.climate.ecobee_thermostat.attributes.current_temperature }}°F!" Away Mode When Everyone Leaves
automation:
- alias: "Set Away when house is empty"
trigger:
- platform: state
entity_id: group.family
to: "not_home"
for: "00:15:00"
action:
- service: climate.set_preset_mode
target:
entity_id: climate.ecobee_thermostat
data:
preset_mode: "away" Boost Heat Before Waking
automation:
- alias: "Pre-heat before alarm"
trigger:
- platform: time
at: "06:00:00"
condition:
- condition: state
entity_id: input_boolean.workday
state: "on"
action:
- service: climate.set_temperature
target:
entity_id: climate.ecobee_thermostat
data:
temperature: 72 6. Troubleshooting
HomeKit Pairing Fails
- Ensure the thermostat isn't already paired with Apple Home
- Verify Home Assistant and thermostat are on the same network/VLAN
- Try resetting HomeKit on the thermostat and pairing again
API Integration Disconnects
- Check if your Ecobee account password changed (re-authorize if so)
- Verify MFA is still disabled on your Ecobee account
- The API key may have been revoked (create a new one if you still have developer access)
Thermostat Shows "Unavailable"
- HomeKit: Check WiFi connection on thermostat
- API: Check internet connection and Ecobee server status
- Restart the integration from Settings → Integrations
Room Sensors Not Showing
- Room sensors only appear with the native API integration
- HomeKit integration doesn't expose individual room sensors
7. Frequently Asked Questions
Does Ecobee work offline with Home Assistant?
It depends on your integration method. HomeKit Device integration provides local control and works offline. The native Ecobee API integration requires internet connectivity as it communicates through Ecobee's cloud servers.
Can I still get an Ecobee API key?
No, as of March 28, 2024, Ecobee closed new developer API key registrations. If you don't have an existing API key, use the HomeKit Device integration instead, which provides local control without needing an API key.
Is Ecobee worth it for Home Assistant users?
Yes! Ecobee is one of the best smart thermostats for Home Assistant. It offers excellent integration via HomeKit (local) or API (full features), built-in room sensors for better comfort, and no subscription fees for basic functionality.
What happens if Ecobee goes out of business?
Your thermostat would still function as a basic smart thermostat. With HomeKit integration, you'd retain local control through Home Assistant. The native API integration would stop working, but you could switch to HomeKit.
Can I use room sensors with Home Assistant?
Yes, but only with the native Ecobee API integration. HomeKit doesn't expose individual room sensors. If room sensor data is important, you'll need an API key (existing users only) or supplement with separate temperature sensors.
8. Sources
This guide was compiled from official documentation:
- Home Assistant Ecobee Integration (official docs)
- Home Assistant HomeKit Device Integration (official docs)
Last verified: 2026-01-31 against Home Assistant 2026.1. If you find outdated information, let us know.
Need help with your Ecobee setup?
We configure Home Assistant systems throughout Oklahoma. Get professional installation with ongoing support.