Eight Sleep Control
Control Eight Sleep pods — status, temperature, alarms, schedules, and audio.
Tags: sleep, smart-home, health, iot
Category: Smart Home
Use Cases
- Bedtime automation: pre-warm the bed before sleep time via cron
- Sleep data export and analysis outside Eight Sleep's ecosystem
- Morning wake-up routine: gentle temperature increase + alarm management
- Nap mode: quick temperature adjustment for afternoon naps
- Smart home integration: trigger temperature changes based on other events
- Travel planning: manage Eight Sleep's travel features from terminal
Tips
- Set config file permissions: `chmod 600 ~/.config/eightctl/config.yaml`
- Use `eightctl daemon --dry-run` to test your schedule before running it for real
- Export sleep data with `eightctl sleep range --start 2026-01-01 --end 2026-03-01` for analysis
- Use `--output json` for scriptable output in automation workflows
- Combine with OpenClaw cron for bedtime routines: warm up the bed 30 minutes before sleep
- The daemon mode replaces Eight Sleep's subscription autopilot with your own YAML schedules
- Use env vars (EIGHTCTL_EMAIL, EIGHTCTL_PASSWORD) for CI/automation instead of config files
Known Issues & Gotchas
- Eight Sleep has no public API — eightctl uses undocumented endpoints that can change without notice
- API is heavily rate-limited; repeated logins can trigger 429 errors
- Project status is WIP — live verification is currently blocked by rate limiting
- Requires Eight Sleep email + password (stores credentials in config file)
- HTTPS cloud API only — no local/Bluetooth control available
- Temperature range is -100 to +100 (not degrees), maps to Eight Sleep's internal scale
- Config file permissions should be 0600 — eightctl warns if too permissive
- Eight Sleep has removed smart home integrations (IFTTT, Alexa, Google Home) making CLI tools the only automation option
Alternatives
- clim8 (Go CLI)
- pyEight (Python)
- 8sleep-mcp (MCP Server)
- Home Assistant Integration
- opensleep (jailbreak)
Community Feedback
8 Sleep wouldn't do it.. so I did it. Matter accessory server running on a jailbroken Pod 4. Love the hardware. Hate the company and their expensive subscription and lack of features.
— Reddit r/EightSleep
Eight Sleep Removed Smart Home Capabilities. They silently removed IFTTT, Google Home, and Alexa integrations. This is why we need open-source alternatives.
— Reddit r/EightSleep
Anyone know if there is an external API for 8sleep, so I can pull my data in through my agents?
— Reddit r/EightSleep
A modern Go CLI for Eight Sleep Pods. Control power/temperature, alarms, schedules, audio, base, autopilot, travel, household, and export sleep metrics. Includes a daemon for scheduled routines.
— GitHub
Configuration Examples
Basic config file setup
mkdir -p ~/.config/eightctl
cat > ~/.config/eightctl/config.yaml <<'CFG'
email: "you@example.com"
password: "your-password"
timezone: "America/New_York"
CFG
chmod 600 ~/.config/eightctl/config.yamlTemperature and status control
# Check current pod state
eightctl status
# Turn on and set temperature
eightctl on
eightctl temp 20
# Turn off
eightctl offSleep metrics export
# Get last night's sleep data
eightctl sleep day --output json | jq
# Get a date range
eightctl sleep range --start 2026-03-01 --end 2026-03-21 --output csvDaemon schedule (YAML)
# ~/.config/eightctl/schedule.yaml
schedule:
- time: "22:00"
action: temp
level: 10
- time: "02:00"
action: temp
level: -5
- time: "07:00"
action: off
# Run daemon
eightctl daemonInstallation
go install github.com/steipete/eightctl/cmd/eightctl@latestHomepage: https://eightctl.sh
Source: bundled