Unofficial CLI for Beestat (ecobee thermostat analytics)
npm install beestat-cli> ⚠️ Unofficial CLI for Beestat
> Not affiliated with or endorsed by Beestat or ecobee.
A command-line interface for Beestat, providing access to ecobee thermostat analytics, sensor data, and air quality monitoring.
``bash`
npm install -g beestat-cli
`bashSet your API key
export BEESTAT_API_KEY="your-api-key-here"
Getting an API Key
1. Create an account at beestat.io
2. Link your ecobee account
3. Email contact@beestat.io with your thermostat serial number
4. Use the email address registered with your ecobee account
API keys are typically provided within 24 hours.
Commands
$3
Show current thermostat status including temperature, humidity, setpoints, and running equipment.
`
🏠 ThermostatsUpstairs
Temperature: 66.3°F
Humidity: 48%
Setpoint: Heat 67.0°F / Cool 75.0°F
Mode: home
Status: 💨 Fan, 🔥 Heat 1
Filter: Changed 2025-03-17 (2857h runtime)
🌤️ Weather
38.5°F (sunny)
High: 45.7°F / Low: 32.6°F
Humidity: 88%
`$3
List all sensors including remote room sensors with temperature and occupancy.
`
🌡️ SensorsUpstairs
● Upstairs: 66.3°F
● Master Bedroom: 68.7°F
○ Sophies Room: 68.0°F
○ Lydies Room: 68.7°F
`$3
Show air quality data from thermostats with air quality sensors (ecobee Smart Thermostat Premium).
- CO2 levels (ppm)
- VOC levels (ppm)
- Overall air quality score
$3
List all thermostats with detailed information including model, property details, and HVAC system type.
$3
Show runtime summary with heating/cooling usage per day.
Options:
-
-d, --days - Number of days to show (default: 7)$3
Force sync with ecobee to get the latest data.
Global Options
-
--json - Output as JSON for scripting
- --no-color - Disable colored output
- -V, --version - Show version number
- -h, --help - Show helpEnvironment Variables
-
BEESTAT_API_KEY - Your Beestat API key (required)
- NO_COLOR - Disable colored outputExit Codes
-
0 - Success
- 1 - Generic failure
- 2 - Invalid usage
- 3 - Authentication failure (missing API key)Examples
`bash
Get thermostat status as JSON
beestat status --jsonGet sensors for scripting
beestat sensors --json | jq '.[] | {name, temperature}'Show last 14 days of runtime
beestat summary --days 14Force sync before checking status
beestat sync && beestat status
`API Reference
This CLI uses the Beestat API. The API provides:
- Thermostat data (temperature, humidity, setpoints, schedules)
- Sensor data (remote sensors, occupancy)
- Air quality data (CO2, VOC - Premium thermostats only)
- Runtime history (5-minute and daily resolution)
- Weather data
- System profiles and efficiency analytics
Development
`bash
git clone https://github.com/mjrussell/beestat-cli
cd beestat-cli
pnpm install
pnpm buildTest locally
BEESTAT_API_KEY="your-key" node dist/cli.js status
``Contributions welcome! Please open an issue or PR.
MIT © Matt Russell
This is an unofficial tool created by the community.
Beestat is created by Jon Ziebell.
ecobee is a trademark of ecobee Inc.