Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Script-free Govee OpenAPI setup and control guide. Use when the user wants to get a Govee API key, connect Govee, list devices, check state, or send power/br...
Script-free Govee OpenAPI setup and control guide. Use when the user wants to get a Govee API key, connect Govee, list devices, check state, or send power/br...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Control Govee devices using manual curl commands only.
Linux shell with bash available. curl installed. Internet access to https://developer-api.govee.com and https://developer.govee.com. Govee account with supported devices linked. Optional: jq for pretty-printing JSON responses. Quick check: bash --version | head -n 1 curl --version | head -n 1 command -v jq >/dev/null && jq --version || echo "jq not installed (optional)"
GOVEE_API_KEY (required)
Only read GOVEE_API_KEY from your chosen per-user secrets file. Do not read unrelated secret files or system credentials. Restrict outbound requests to: https://developer-api.govee.com https://developer.govee.com Ask before controlling multiple devices or performing bulk changes.
Open https://developer.govee.com/. Sign in with the same Govee account that owns your devices. Go to the API key section in the developer console. Generate/apply for a key and copy it. Keep it private (treat it like a password). If the portal UI changes, use the same flow: sign in to Govee Developer โ find API key management โ create key.
Never store API keys in skill files, git, or chat logs. Create a per-user secrets file (avoid /root unless intentionally running as root): mkdir -p "$HOME/.openclaw/secrets" cat > "$HOME/.openclaw/secrets/govee.env" <<'EOF' export GOVEE_API_KEY='<YOUR_API_KEY>' EOF chmod 600 "$HOME/.openclaw/secrets/govee.env" Load only this variable into the current shell (no set -a): source "$HOME/.openclaw/secrets/govee.env"
https://developer-api.govee.com/v1
Before controlling lights, list devices and copy your own device + model: curl -sS -X GET "https://developer-api.govee.com/v1/devices" \ -H "Govee-API-Key: $GOVEE_API_KEY" \ -H "Content-Type: application/json"
curl -sS -X GET "https://developer-api.govee.com/v1/devices/state?device=<DEVICE>&model=<MODEL>" \ -H "Govee-API-Key: $GOVEE_API_KEY" \ -H "Content-Type: application/json"
curl -sS -X PUT "https://developer-api.govee.com/v1/devices/control" \ -H "Govee-API-Key: $GOVEE_API_KEY" \ -H "Content-Type: application/json" \ -d '{"device":"<DEVICE>","model":"<MODEL>","cmd":{"name":"turn","value":"on"}}'
curl -sS -X PUT "https://developer-api.govee.com/v1/devices/control" \ -H "Govee-API-Key: $GOVEE_API_KEY" \ -H "Content-Type: application/json" \ -d '{"device":"<DEVICE>","model":"<MODEL>","cmd":{"name":"turn","value":"off"}}'
curl -sS -X PUT "https://developer-api.govee.com/v1/devices/control" \ -H "Govee-API-Key: $GOVEE_API_KEY" \ -H "Content-Type: application/json" \ -d '{"device":"<DEVICE>","model":"<MODEL>","cmd":{"name":"brightness","value":75}}'
curl -sS -X PUT "https://developer-api.govee.com/v1/devices/control" \ -H "Govee-API-Key: $GOVEE_API_KEY" \ -H "Content-Type: application/json" \ -d '{"device":"<DEVICE>","model":"<MODEL>","cmd":{"name":"color","value":{"r":120,"g":180,"b":255}}}'
Success usually returns: {"code":200,"message":"Success"} If code is not 200, treat it as failure.
401 / unauthorized: key missing, expired, or invalid. 429 / rate limit: slow retries. command rejected: model does not support that command (supportCmds). empty device list: account has no supported linked devices.
Use placeholders in docs only (<DEVICE>, <MODEL>, <YOUR_API_KEY>). Do not include real keys or device IDs in published artifacts. Prefer one-device-at-a-time actions over bulk changes. Avoid pasting API keys into chat.
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.