GitHunt
R0

r00k/ecobee-cli

ecobee-cli

A simple command-line tool to control ecobee thermostats without using their terrible web interface.

Installation

# 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/ecobee

Requires curl and jq.

Setup

ecobee login

Enter your ecobee account email and password. Credentials are stored in ~/.ecobee-credentials.

Usage

# 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 thermostats

How it works

Uses 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.

Known Issues

  • 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.

License

MIT

Languages

Shell100.0%

Contributors

Created January 25, 2026
Updated January 27, 2026