Driver Details

Ecobee Thermostats

By: RTI
Updated: Nov. 9, 2021
Version: 1.06

Description:

This driver is for the Ecobee line of Wifi Thermostats. Written and tested using Ecobee 3 and 4 WiFi thermostat. This driver also controls Bryant Housewise and Carrier Cor Thermostats.

Note: When updating the driver the current authorization to the Ecobee account may need to be removed and then reauthorized due to the new PIN code and Token requirements.

Version History:

Version 1.0: The Initial release of the driver.

Version 1.01: Adds two-way thermostat list for selected device. Adds selected thermostat boolean variables for reverse state.

Version 1.02: Fixes a Config File bug, where new system files failed but the sample system file still functioned.

Version 1.03: Fixes a Set Temperature (slider) bug that affected feedback while in Auto Mode.

Version 1.04: Fixes pin request issue for expired refresh token.

Version 1.05: Fixes issue with Token and PIN code lengths.

Version 1.06: Updated driver instructions for set temperature command.

Ecobee 3

This driver is for the Ecobee 3 Wi-Fi Thermostat. Ethernet control only. Written and tested using Ecobee 3 Wi-Fi thermostat

Revision History

1.0 The Initial release of the driver

1.01 Adds two-way thermostat list for selected device. Adds selected thermostat boolean variables for reverse state.

1.02 Fixes a Config File bug, where new system files failed but the sample system file still functioned.

1.03 Fixes a Set Temperature (slider) bug that affected feedback while in Auto Mode.

1.04 Fixes pin request issue for expired refresh token

1.05 Fixes for the Authorization Tokens and PIN code changes

1.06 Updated driver instructions for set temperature command

Connection Settings

It is required that you create a user account through Ecobee. (www.ecobee.com).

• Add the thermostat to the user account by following steps provided by ecobee.

• In the user options section, select "My Apps" and select "Add Application"

• The webpage will request a four-digit 10-character alphanumeric string (see below), once the pin is entered, select "Validate" and then "Add Application". Pin numbers are only valid for ten minutes after being issued. The driver will request a new pin automatically if it was not validated within the time allowed.

• You only need to enter a pin number for each instance of a driver, a single pin will authorize all thermostats listed in the Driver Configuration.

• The Driver attempts authentication automatically, no further steps are required. At any point, the auth token is revoked or expires, the driver will refresh automatically or reissue a new pin if refreshing fails.

Pin Number

A Pin number is issued for each instance of the driver, not each thermostat. The system variables are in the "Authorization/Connections" section. You will need to have the "Authorization Pin Text" somewhere on the page, ideally on the main page.

"Authorization Pin Text": Displays the four-digit 10-character alphanumeric string

• "Authorization Pin (Expire Time)": Displays the time, in minutes, that the pin is valid for. Decrements each minute.

• "Authorization Pin (Still Valid)": Boolean value used to determine if the pin is still valid, used for visibility state on the above variables. Once the user enters the pin on the ecobee website and the driver is authorized the pin would no longer be valid and the text would no longer be visible.

Number of Thermostats

The driver supports up to 16 thermostats and has "Selected Device" control and system variables.

Remote Sensors

Driver supports feedback from remote sensors including name, temperature, and occupancy. The driver supports up to 32 remote sensors per thermostat. The "Sensor Used" variable can be used on the selected device page to make sure only sensors used on a given thermostat show up. (Ex: Thermostat 1 has two sensors, but Thermostat 2 only has one. When changing the selected thermostat from device 1 to 2, the second set of system variables would not be visible)

Events

The driver provides events for the following:

• Thermostat Connected/Disconnected (connection to web app, i.e. lost Wi-Fi connection)

• Mode Change

• Device Running (ex: Heat Pump, Aux Heat 1, Comp Cool 2, Fan...)

• Sensor Occupied/Unoccupied State change

• Driver - Connection state Change (Driver connection to web app)

• Driver - Initialization State Change

Alerts

Review and acknowledge alerts. Alerts will show on the Alerts List, and you may review the alert information as well as cancel/acknowledge the alert. A variable for the number of alerts and if any alerts are present is available.

Vacation

View and remove/cancel vacations, system variables for when a vacation is running. Setting a new vacation not included at this time.

Schedule

You can view the list of Climates available and a variable is provided for which climate the schedule is currently on. The ability to add or adjust schedules is not included at this time.

Settings

Control of settings with feedback for settings states.

Temperature Display

Supports Fahrenheit and Celsius Display. Set on the ecobee device and system variables are converted by the driver. One set of temperature system variables.

Holds

Hold boolean system variables provided:

• "Temperature Hold": Set when manually changing a setpoint

• "Schedule Running": Set when thermostat is running its schedule

• "Fan Hold": Set when fan is set manually, will not set if any other hold other than "Schedule Running" is present. All other holds take precedence.

• "Auto Home Hold" set by ecobee when system determines you are home

• "Auto Away Hold" set by ecobee when system determines you are away

• See "Quick Change" Section

Quick Change

Home, Away, Sleep have independent system variables for running state:

• "Home Quick Change Running"

• "Away Quick Change Running"

• "Sleep Quick Change Running"

Other climates can be ran using the Climate List, but will set the generic Temperature Hold variable

Driver Notes

• There are certain variables and commands with "(Slider)" associated with them. These are to be used on slider buttons. They are different than normal set commands/variables. Since the allowed temperature range can be set by the user, these commands/variables deal with percentages of that range.

• [Quick Changes] - These commands are used to change to different climates. In ecobee there are three default (Home, Away, Sleep) these have direct commands created for ease of use. Any other custom climates added will need to be run using the Climates List.

• Remote Sensors, the thermostat is considered a remote sensor as well. So be sure to list its name in the configuration of the driver.

• No Support for ecobee weather information.

• Will only work on two-way RTI Devices.

• While using the “Temperature Set” command in the driver, the Temperature parameter must be set to 10x higher than the actual value. Example: 65 -> 650, 70 -> 700.