Ecobee Thermostats & Sensors
Model: EMS, Smart, Smart-Si, Ecobee3, Ecobee3 Lite, Ecobee4
Protocol: Cloud to Cloud
Capabilities: Actuator, Health Check, Motion Sensor, Refresh, Relative Humidity Measurement, Sensor, Temperature Measurement, Thermostat, Thermostat Cooling Setpoint, Thermostat Fan Mode, Thermostat Heating Setpoint, Thermostat Mode, Thermostat Operating State, Thermostat Setpoint
Device Type Author: Barry A. Burke (StorageAnarchy)
This is an Open Source implementation of Ecobee Device Type Handlers and companion helper SmartApps for use with any Ecobee thermostat (EMS, Smart, Smart-Si, Ecobee3 and Ecobee4). It is also reported to work with at least some of the rebranded Ecobee thermostats.
Based on the support originally developed by SmartThings, and later enhanced by Sean Stryker, this version provides a comprehensive suite of tools to integrate Ecobee thermostats into SmartThings, with an dynamic user interface that somewhat mimics the look and feel of Ecobee3/Ecobee4 devices.
The implementation supports the latest SmartThings capabilities for Thermostat and Sensor devices (as of August 2017), and also provides a broad range of standardized commands that can be called from other SmartApps such as CoRE and WebCoRE (link needed). Also featured is integration with Ask Alexa Message Queues for thermostat alarms (e.g. filter replacement, etc.).
Discussion of the current release can be found on the SmartThings Community here: Free Ecobee Suite Version 1.2.*
Source files and documentation can be found in the Ecobee Suite (Free) GitHub repository
- This Ecobee Suite is a Composite Device using the parent-child implementation, with all device creation and helper SmartApps created exclusively from within the parent Ecobee (Connect) SmartApp. This is the only SmartApp that should be run from the SmartThings Marketplace (once you have integrated the sources into your IDE).
- Users of either the original SmartThings Ecobee support or Sean's (@StrykerSKS) version should be able to overwrite their existing Device and SmartApps with those from this suite. However, this cannot be guaranteed to work in all situations.
- This Ecobee Suite is Open Source, and there is no fee or required contribution necessary to use it. (The documentation does provide a link should you voluntarily decide to make a contribution, but such is not required).
The following commands can be called for a given Thermostat device:
Changing Programs (Climates)
setThermostatProgram("Away","indefinite",null) // climates names must be capitalized
The current list of supported Programs is in the device attribute
programsList (list of Strings) - this is dynamic and will contain any custom program names as well as the default ones. The holdType must be the valid string from the Ecobee API documentation ("indefinite","nextTransition,"holdHours") - if null, uses the configured default from the device, Ecobee(Connect) or the thermostat itself (using that precedence). If holdHours, hours defaults to 2, can be any positive whole number (1 --> n).
Resume currently scheduled program
setThermostatMode("auto") // "auto", "heat", "cool", "auxHeat", "emergency", "off"
The supported list of modes is in the device attribute
supportedThermostatModes and will reflect only the configured equipment (i.e. no "cool" if the system is heat only).
Changing Fan Modes
fanCirculate() // Sets fanMinInTime=20, fan will circulate even if Mode = off
fanOff() // Sets fanMinOnTime=0, same as auto unless Mode == off
setThermostatFanMode("auto","indefinite","") // "auto","on","circulate","off"
setFanMinOnTime(20) // 0-55 minutes
The supported list of fan modes is in the device attribute
_**NOTE:** only Mode changes will work while the thermostat is in Vacation mode; call
cancelVacation() to cancel current vacation._