Ecobee Extras is a read-only Home Assistant companion integration that exposes cached equipment runtime information already received by Home Assistant's built-in Ecobee integration. It does not authenticate with Ecobee, create an API client, or generate additional Ecobee cloud traffic.
Version 0.2.0 creates five running-state binary sensors and one deterministic raw
equipment-status sensor for each thermostat. The raw sensor includes the exact
parsed equipment tokens plus has_humidifier and has_dehumidifier attributes.
The built-in Home Assistant Ecobee integration must already be configured and loaded. Ecobee Extras never asks for Ecobee credentials.
- In HACS, open Custom repositories.
- Add this repository URL with category Integration.
- Install Ecobee Extras.
- Restart Home Assistant.
- Go to Settings → Devices & Services → Add Integration.
- Search for Ecobee Extras.
One built-in Ecobee entry is selected automatically. If there are several, the UI asks which one to link. The next screen lets you select which thermostats receive the extra entities. The selection can be changed later with Configure on the Ecobee Extras integration. Each stock entry can be linked only once.
Ecobee Cloud → built-in Ecobee integration → cached ConfigEntry.runtime_data
→ Ecobee Extras entities
Home Assistant Core currently stores an EcobeeData object in the built-in
entry's runtime_data. Ecobee Extras rereads that object's cached thermostat
dictionaries every 30 seconds. It intentionally never calls update(), so only
the built-in integration controls authentication and its 180-second-throttled
cloud refresh. The extra entities attach directly to the corresponding device
owned by the built-in Ecobee entry, so setup does not create or ask you to name
duplicate thermostat devices.
- Dehumidifier running
- Humidifier running
- Fan running
- Heating running
- Cooling running
- Equipment status
Heating recognizes heatPump, heatPump2, heatPump3, and auxHeat1 through
auxHeat3. Cooling recognizes compCool1 and compCool2. Tokens are compared
exactly; unknown future tokens remain visible on the equipment-status sensor and
in diagnostics without breaking the integration.
The thermostat must explicitly report runtime.connected: true. Missing runtime
or equipment status produces unavailable/unknown state rather than a misleading
off state.
While the accessory runs, open the thermostat device and inspect Equipment
status, or download diagnostics for Ecobee Extras. A typical result is
dehumidifier,fan, with has_dehumidifier: true. Targeted debug logging can be
enabled with:
logger:
default: info
logs:
custom_components.ecobee_extras: debugAnother integration's ConfigEntry.runtime_data is an internal Home Assistant
implementation detail, not a public API. All access is isolated in
ecobee_runtime.py and validated defensively. If Core changes this structure,
Ecobee Extras fails its own refresh with an actionable error and makes only its
entities unavailable; it does not modify or interfere with the stock integration.
Remove the Ecobee Extras config entry, then uninstall it through HACS. This removes only the extra entities; the built-in Ecobee integration and its devices remain.