Eightctl — OpenClaw Skill
Control your Eight Sleep pod from your OpenClaw agent -- temperature, alarms, schedules, and sleep audio.
What This Skill Does
The Eightctl skill gives your OpenClaw agent control over Eight Sleep smart mattress pods. Using the eightctl CLI, your agent can check pod status, turn it on or off, adjust bed temperature, manage alarms (list, create, dismiss), configure sleep schedules, control audio playback for sleep sounds, and adjust the Pod Pro base angle for head and foot elevation.
Authentication uses your Eight Sleep account credentials, configured either through a config file at ~/.config/eightctl/config.yaml or via environment variables. The underlying API is unofficial and rate-limited, so the skill is designed to minimize redundant calls and avoid repeated logins.
This is ideal for bedtime automation workflows -- tell your agent to cool the bed before you get in, set a wake-up alarm, or adjust temperature based on the weather. It pairs well with other smart home skills for a comprehensive AI-managed home experience.
Example Prompts
What's the current status of my Eight Sleep pod?
Set the bed temperature to 20 degrees for tonight
Turn on my Eight Sleep pod and set it to cool
Set a wake-up alarm for 7am tomorrow
What alarms do I have set on the Eight Sleep?
Dismiss the alarm that's going off right now
Play some sleep sounds on the pod
Create a sleep schedule that cools to 18 at midnight and warms to 24 at 6am
Requirements
Binary dependency: eightctl must be installed and authenticated.
- Install via Go:
go install github.com/steipete/eightctl/cmd/eightctl@latest - Authentication: Configure
~/.config/eightctl/config.yamlwith your Eight Sleep email and password, or setEIGHTCTL_EMAILandEIGHTCTL_PASSWORDenvironment variables - Eight Sleep pod: An active Eight Sleep Pod or Pod Pro with your account linked
Setup on KiwiClaw
Eightctl requires your Eight Sleep credentials. Configure them securely via the KiwiClaw dashboard environment variables. Your agent can then check status and control your pod immediately.
Setup Self-Hosted
- Install eightctl:
go install github.com/steipete/eightctl/cmd/eightctl@latest - Configure credentials in
~/.config/eightctl/config.yamlor set environment variables - Test:
eightctl status
Related Skills
- SonosCLI -- play sleep sounds on Sonos as part of your bedtime routine
- BluCLI -- control Bluesound speakers alongside your Eight Sleep
- Gog -- sync wake-up alarms with your Google Calendar schedule
- Things Mac -- create morning task lists triggered by your wake-up alarm
FAQ
How does Eightctl authenticate with Eight Sleep?
Eightctl authenticates using your Eight Sleep account credentials. Configure them via the config file at ~/.config/eightctl/config.yaml or through the EIGHTCTL_EMAIL and EIGHTCTL_PASSWORD environment variables.
Is the Eight Sleep API official?
No. Eightctl uses an unofficial, reverse-engineered API. It is rate-limited, so avoid repeated logins. The skill works reliably for normal use but the API could change without notice.
What can Eightctl control on the Eight Sleep pod?
Eightctl can turn the pod on/off, adjust bed temperature, manage alarms (list, create, dismiss), set sleep schedules, control audio playback (sleep sounds), and adjust the Pod Pro base angle for head/foot elevation.
Does the agent confirm before changing settings?
Yes. The Eightctl skill follows safety best practices -- the agent will confirm before changing temperature, adjusting alarms, or modifying schedules to prevent accidental changes to your sleep settings.