A simple command-line tool to control ecobee thermostats without using their terrible web interface.
# Clone the repo
git clone https://github.com/beyang/ecobee-cli.git
cd ecobee-cli
# Make executable and add to PATH
chmod +x ecobee
ln -s "$(pwd)/ecobee" ~/bin/ecobeeRequires curl and jq.
ecobee loginEnter your ecobee account email and password. Credentials are stored in ~/.ecobee-credentials.
# Show all thermostats
ecobee status
ecobee status --json
# Set temperature (use thermostat name from status output)
ecobee set "Main Floor" 72
ecobee set Upstairs 68
# Set all thermostats at once
ecobee set all 70
# Relative temperature adjustments
ecobee set Upstairs +2
ecobee set "Main Floor" -3
# Show air quality (Premium models only)
ecobee air
ecobee air --json
# Set HVAC mode (heat, cool, auto, aux, off)
ecobee mode "Main Floor" heat
# Resume scheduled program
ecobee resume Upstairs
# Away/home shortcuts
ecobee away # Set all thermostats to away mode
ecobee home # Resume schedule on all thermostatsUses ecobee's Auth0-based authentication to obtain a JWT, then calls their REST API directly. No browser automation, no API keys needed—just your regular ecobee login credentials.
- Air quality data: The ecobee API often returns "unknown" for CO2/VOC values even when the thermostat displays them correctly. This appears to be an ecobee API limitation.
MIT