Install
openclaw skills install starling-home-hubControls Nest and Google Home smart home devices via the Starling Home Hub's local REST API. Supports thermostats, cameras, Nest Protects, Nest × Yale locks, temperature sensors, home/away control, and Nest weather service. Use this skill when managing Nest/Google Home devices through Starling Home Hub — reading device status, setting temperatures, getting camera snapshots, locking/unlocking doors, checking smoke/CO alerts, and toggling home/away mode.
openclaw skills install starling-home-hubCommunity skill — not affiliated with or endorsed by Starling LLC, Google, Nest, or Apple. Nest is a trademark of Google LLC. Starling Home Hub is a product of Starling LLC. This skill requires a Starling Home Hub with firmware 8.0+ and the Developer Connect API enabled.
Control Nest smart home devices through the Starling Home Hub Developer Connect (SDC) local REST API using the starling.sh script.
| Variable | Required | Secret | Description |
|---|---|---|---|
STARLING_HUB_IP | Yes | No | Local IP address of your Starling Home Hub (e.g. 192.168.1.151) |
STARLING_API_KEY | Yes | Yes | API key created in the Starling Home Hub app (Developer Connect section) |
Set these environment variables (never hardcode keys in scripts):
export STARLING_HUB_IP="192.168.1.xxx"
export STARLING_API_KEY="your-api-key" # From Starling Home Hub app
The script is at: scripts/starling.sh
Options: --http (downgrade to HTTP — not recommended), --raw (skip jq formatting)
HTTPS is the default. The script uses port 3443 unless --http is specified.
STARLING_API_KEY env var — never pass keys via --key (visible in ps output).env file with restricted permissions: chmod 600 .envcurl -k (skip cert verification) because Starling Home Hub uses a self-signed certificatestarling.sh --cacert /path/to/hub-cert.pem status--cacert is provided, -k is not used and full certificate verification applies?key=...) — this is the API's design, not a skill choicechmod 600 (owner-only) automaticallyBefore making device calls, verify the hub is ready:
scripts/starling.sh status
Confirm apiReady: true and connectedToNest: true before proceeding.
These limits are enforced by the Nest cloud:
Safe to retry without side effects:
Not idempotent: stream-start (creates a new stream each time)
The script provides actionable error messages:
scripts/starling.sh devices
scripts/starling.sh device <id> # All properties
scripts/starling.sh get <id> <property> # Single property
scripts/starling.sh set <id> key=value [key=value...]
scripts/starling.sh snapshot <id> --output photo.jpg --width 1280
scripts/starling.sh stream-start <id> <base64-sdp-offer>
scripts/starling.sh stream-extend <id> <stream-id> # Every 60s
scripts/starling.sh stream-stop <id> <stream-id>
Set thermostat to 22°C:
scripts/starling.sh set <thermostat-id> targetTemperature=22
Set HVAC mode:
scripts/starling.sh set <thermostat-id> hvacMode=heat
Check for motion on camera:
scripts/starling.sh get <camera-id> motionDetected
Lock/unlock a door:
scripts/starling.sh set <lock-id> targetState=locked
Get camera snapshot:
scripts/starling.sh snapshot <camera-id> --output front-door.jpg
Check smoke/CO status:
scripts/starling.sh get <protect-id> smokeDetected
scripts/starling.sh get <protect-id> coDetected
Set home/away:
scripts/starling.sh set <home-away-id> homeState=away
See references/api-reference.md for full device property details, writable properties, error codes, and endpoint documentation.