Automate a morning wake-up flow: fetch weather → match preset → play on Sonos.
sonos) installed and speakers on local network| Weather Category | WMO Codes | Default Sonos Favorite |
|---|---|---|
| --- | --- | --- |
| sunny | 0, 1 | Morning Sunshine |
| cloudy | 2, 3, 45, 48 | Cloudy Morning |
| rain | 51–67, 80–82 | Rainy Day |
| snow | 71–77, 85–86 | Winter Morning |
| storm | 95–99 | Storm Chaser |
Override defaults by editing scripts/presets.json.
# From the skill directory
bun scripts/wake-up.ts --location "Shanghai" --speaker "Living Room"
Parameters:
--location (required): City name or "lat,lon"--speaker (required): Sonos speaker name--volume (optional, default 15): Start volume (0–100)--units (optional, default "celsius"): "celsius" or "fahrenheit"Set up a daily cron job via OpenClaw:
cron add — schedule: "0 7 * * *" — payload: "Run morning-wake-up for location Shanghai on speaker Living Room"
The agent reads this skill, then executes the wake-up script.
presets.jsonsonos discover fails → see sonoscli skill troubleshooting (Local Network permission, sandbox mode)cloudy共 1 个版本