> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.kodelabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ecobee

> Connect Ecobee to KODE OS for other data

> Connect Ecobee to KODE OS for other data integration

## Overview

Use this integration to connect Ecobee smart thermostats to KODE OS through the SmartBuildings API. You discover thermostats, collect temperature and HVAC data, and manage heating and cooling schedules from the platform.

| Property            | Value     |
| ------------------- | --------- |
| **System Type**     | Other     |
| **Communication**   | REST      |
| **Collection**      | Pull      |
| **Collection Mode** | SNAPSHOT  |
| **Schedules**       | Supported |

## Supported Capabilities

* Discover Devices & Points
* Collect Sensor Data
* Discover Schedules
* Update Schedules

## Prerequisites

* An active account with Ecobee and access to their API or developer portal
* KODE OS environment with access to Data Sources

### Vendor Onboarding References

Use these official vendor resources to verify API access, credentials, and permission prerequisites:

* [ecobee SmartBuildings authentication](https://docs.sb.ecobee.com/docs/authentication-guide)
* [ecobee developer portal](https://www.ecobee.com/developers/)

## Configure Connector in KODE OS

1. Navigate to **Data Sources** in your building
2. Click **API Catalog** and search for **Ecobee**
3. Click **+ Add Datasource**
4. Complete the three-page setup flow using the credential prerequisites for this integration

<Note>
  Connector field metadata is not exposed in code for this integration. Configure the connector using your standard credentials and endpoint details shown in the prerequisites and vendor onboarding references.
</Note>

## Discover Devices and Points

After configuring the connector, click **Discover** on the connector detail page. KODE OS will query the Ecobee system and return a list of available devices and their data points.

Review the discovered items and select the devices you want to register in KODE OS.

For more details on the discovery process, see the [Discovery guide](/products/integrations/capabilities/discovery).

## Devices and Points

When you discover devices from Ecobee, KODE OS maps them to the following device types and data points:

### Thermostat / FCU

Canonical Type: `fcu`

| #  | Point                          | Description                                                | Unit     | Writable | Ontology Field          | Collection |
| -- | ------------------------------ | ---------------------------------------------------------- | -------- | -------- | ----------------------- | ---------- |
| 1  | `desiredHeat`                  | Desired heating temperature setpoint                       | --       | Yes      | --                      | Polling    |
| 2  | `desiredCool`                  | Desired cooling temperature setpoint                       | --       | Yes      | --                      | Polling    |
| 3  | `comfortSetting`               | Current comfort profile setting                            | --       | No       | --                      | Polling    |
| 4  | `desiredCoolRangeMin`          | Minimum allowed cooling setpoint                           | --       | Yes      | --                      | Polling    |
| 5  | `desiredCoolRangeMax`          | Maximum allowed cooling setpoint                           | --       | Yes      | --                      | Polling    |
| 6  | `desiredDehumidity`            | Relative humidity level (humidity)                         | humidity | No       | --                      | Polling    |
| 7  | `desiredHeatRangeMin`          | Minimum allowed heating setpoint                           | --       | Yes      | --                      | Polling    |
| 8  | `desiredHeatRangeMax`          | Maximum allowed heating setpoint                           | --       | Yes      | --                      | Polling    |
| 9  | `desiredHumidity`              | Relative humidity level (humidity)                         | humidity | No       | --                      | Polling    |
| 10 | `Off`                          | **True** -- Off is active / **False** -- Off is not active | --       | No       | `discharge_fan_command` | Polling    |
| 11 | `resumeSchedulesCommand`       | Command to resume scheduled programming                    | --       | Yes      | --                      | Polling    |
| 12 | `temperatureHold`              | Current temperature reading                                | --       | No       | --                      | Polling    |
| 13 | `%s:comfortSettingName`        | Name of the comfort profile                                | --       | Yes      | --                      | Polling    |
| 14 | `%s:comfortSettingCoolFan`     | Fan mode for cooling in this comfort profile               | --       | Yes      | --                      | Polling    |
| 15 | `%s:comfortSettingHeatFan`     | Fan mode for heating in this comfort profile               | --       | Yes      | --                      | Polling    |
| 16 | `%s:comfortSettingDesiredCool` | Desired cooling temperature setpoint                       | --       | Yes      | --                      | Polling    |
| 17 | `%s:comfortSettingDesiredHeat` | Desired heating temperature setpoint                       | --       | Yes      | --                      | Polling    |

## What Data You Get

### Point History

Time-series readings including desiredHeat, desiredCool, comfortSetting, desiredCoolRangeMin, desiredCoolRangeMax, desiredDehumidity, desiredHeatRangeMin, desiredHeatRangeMax, and 9 more, collected at regular intervals from connected devices

### Schedule Sync

Schedule state synchronization data between KODE OS and the external system's controller schedules

### Schedule Sync (Partial)

Partial schedule synchronization for incremental schedule updates

### Polling Schedule

* **Point History** -- Default polling: 15 minutes (min: 15 minutes, max: 15 minutes)

For more details on collection modes, see the [Data Collection guide](/products/integrations/capabilities/data-collection).

## Schedule Management

This integration supports discovering and managing schedules in the Ecobee system. You can discover existing schedules, create new ones, and sync schedule states between KODE OS and the external system.

For more details, see the [Schedules guide](/products/integrations/capabilities/schedules).

## Use Cases

Once connected, this integration enables you to:

* Centralize Ecobee data in your building operations dashboard
* Correlate data from this system with other building systems for comprehensive analytics

## Troubleshooting

<AccordionGroup>
  <Accordion title="Authentication or connection error">
    Verify that the credentials are correct and have not expired. Check that the URL is reachable from the KODE OS environment. Double-check all credential fields match the values from the Ecobee platform.
  </Accordion>

  <Accordion title="Discovery returns no devices">
    Verify the connector credentials have sufficient permissions in the Ecobee system to list devices. Run a test connection first to confirm connectivity. Some systems require specific API scopes or roles for device enumeration.
  </Accordion>

  <Accordion title="Data collection stops or gaps appear">
    Check the connector status on the Data Sources page. If the status shows an error, review the error logs on the connector detail page. Common causes include expired credentials, network changes, or rate limiting by the Ecobee API.
  </Accordion>
</AccordionGroup>
