Eight Sleep Control

Control Eight Sleep pods — status, temperature, alarms, schedules, and audio.

eightctl is a modern Go CLI for Eight Sleep Pod smart mattresses, built by Peter Steinberger (steipete). It gives you full terminal control over your pod's temperature, alarms, schedules, audio playback, base angle, autopilot settings, and even travel planning — all through the same undocumented cloud API that the Eight Sleep mobile app uses. The tool is comprehensive: power on/off, temperature control (-100 to +100 range), alarm management with snooze/dismiss, audio track browsing and playback, base angle adjustments, and a daemon mode for running scheduled temperature routines via YAML configs. It even exposes sleep metrics — daily summaries, trends, intervals, and insights — making it possible to export and analyze your sleep data outside the Eight Sleep ecosystem. For OpenClaw users, eightctl transforms your AI assistant into a sleep automation system. 'Warm up the bed to level 20 at 10pm' or 'What was my sleep score last night?' become simple terminal commands. The daemon mode is particularly powerful — define temperature schedules in YAML and let eightctl run them automatically, replacing Eight Sleep's subscription-gated autopilot features. Important caveat: Eight Sleep does not publish a public API. eightctl reverse-engineers the same endpoints the mobile app uses, with OAuth credentials extracted from the Android APK. This means the API can change or rate-limit without notice. The project is currently WIP with live verification blocked by rate limiting on the test account. Best suited for: Eight Sleep Pod owners who want terminal/AI control of their mattress, sleep optimization enthusiasts who want to export and analyze their data, smart home builders integrating sleep into automation workflows.

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

Temperature and status control

# Check current pod state
eightctl status

# Turn on and set temperature
eightctl on
eightctl temp 20

# Turn off
eightctl off

Sleep 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 csv

Daemon 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 daemon

Installation

go install github.com/steipete/eightctl/cmd/eightctl@latest

Homepage: https://eightctl.sh

Source: bundled