google-home
Control Google Nest devices (thermostats, cameras, doorbells) via the Google Smart Device Management API using curl and jq.
Best use case
google-home is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Control Google Nest devices (thermostats, cameras, doorbells) via the Google Smart Device Management API using curl and jq.
Teams using google-home should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/google-home/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How google-home Compares
| Feature / Agent | google-home | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Control Google Nest devices (thermostats, cameras, doorbells) via the Google Smart Device Management API using curl and jq.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Google Home / Nest CLI
Control Google Nest devices via the Smart Device Management (SDM) API using curl + jq.
## Setup (Required)
1. **Create a Google Cloud Project**
- Go to https://console.cloud.google.com
- Create a new project
2. **Enable the SDM API**
- APIs & Services → Library
- Search "Smart Device Management"
- Enable it
3. **Create OAuth Credentials**
- APIs & Services → Credentials
- Create OAuth 2.0 Client ID
- Download the JSON file
- Extract `client_id` and `client_secret`
4. **Register Your Devices**
- Visit https://nests.google.com/frame/register-user
- Accept the terms
5. **Get Access Token**
```bash
# Replace with your values
curl -s \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET" \
-d "refresh_token=YOUR_REFRESH_TOKEN" \
-d "grant_type=refresh_token" \
https://www.googleapis.com/oauth2/v4/token
```
## Quick Start
```bash
# List devices
google-home-cli devices
# Get thermostat info
google-home-cli thermostat "Living Room" --info
# Set temperature (heat/cool/auto)
google-home-cli thermostat "Living Room" --temp 72
# Query camera
google-home-cli camera "Front Door" --status
```
## Device Commands
### Thermostats
- `google-home-cli thermostat <name>` — show current temp/humidity
- `--temp <degrees>` — set target temperature
- `--mode heat|cool|auto` — set HVAC mode
- `--fan on|auto` — control fan
### Cameras & Doorbells
- `google-home-cli camera <name>` — get stream/status
- `--snapshot` — download current image
- `--stream` — start live stream URL
### Speakers & Displays
- `google-home-cli speaker <name>` — device info
- `--volume 0-100` — set volume
- `--stop` — stop playback
## Environment Variables
```bash
export GOOGLE_HOME_CLIENT_ID="your-client-id"
export GOOGLE_HOME_CLIENT_SECRET="your-client-secret"
export GOOGLE_HOME_ACCESS_TOKEN="your-access-token"
```
## Alternative: Direct API Calls
```bash
# List all devices
curl -s -H "Authorization: Bearer $ACCESS_TOKEN" \
"https://smartdevicemanagement.googleapis.com/v1/enterprises/YOUR_PROJECT_ID/devices"
# Get device traits
curl -s -H "Authorization: Bearer $ACCESS_TOKEN" \
"https://smartdevicemanagement.googleapis.com/v1/enterprises/YOUR_PROJECT_ID/devices/YOUR_DEVICE_ID"
```
## Helper Script
A `nest` CLI helper is included at `scripts/nest`:
```bash
# Make it available globally
ln -sf /Users/mitchellbernstein/clawd/skills/google-home/scripts/nest /usr/local/bin/nest
# List devices
nest list
# Get thermostat status
nest status "enterprises/PROJECT_ID/devices/DEVICE_ID"
# Set temperature (Celsius)
nest temp "enterprises/PROJECT_ID/devices/DEVICE_ID" 22
# Set mode
nest mode "enterprises/PROJECT_ID/devices/DEVICE_ID" HEAT
```
## Configuration
Create `~/.config/google-home/config.json`:
```json
{
"project_id": "your-google-cloud-project-id",
"access_token": "your-oauth-access-token"
}
```
## Notes
- Tokens expire; refresh them periodically
- Device names use full path: `enterprises/PROJECT_ID/devices/DEVICE_ID`
- Temperature is in Celsius (convert from Fahrenheit if needed)
- Camera streams require additional permissionsRelated Skills
homey
Control Athom Homey smart home devices via local (LAN/VPN) or cloud APIs. List/control devices, trigger flows, query zones. Works with Homey Pro, Cloud, and Bridge.
homey-cli
Control Homey home automation hub via CLI. Use when you need to control smart home devices (lights, thermostats, sockets, etc.), check device status, list zones, trigger flows, or perform any Homey automation tasks. Supports on/off, dimming, color changes, temperature control, and device inspection. Safe, capability-allowlisted operations only.
homebrew
Homebrew package manager for macOS. Search, install, manage, and troubleshoot packages and casks.
homeassistant
Control Home Assistant - smart plugs, lights, scenes, automations.
home-assistant
Control Home Assistant smart home devices, run automations, and receive webhook events. Use when controlling lights, switches, climate, scenes, scripts, or any HA entity. Supports bidirectional communication via REST API (outbound) and webhooks (inbound triggers from HA automations).
google-workspace
Gmail, Calendar, Drive, Docs, Sheets — NO Google Cloud Console required. Just OAuth sign-in. Zero setup complexity vs traditional Google API integrations.
google-search
Search the web using Google Custom Search Engine (PSE). Use this when you need live information, documentation, or to research topics and the built-in web_search is unavailable.
google-gemini-media
Use the Gemini API (Nano Banana image generation, Veo video, Gemini TTS speech and audio understanding) to deliver end-to-end multimodal media workflows and code templates for "generation + understanding".
google-chat
Send messages to Google Chat spaces and users via webhooks or OAuth. Use when you need to send notifications, alerts, or messages to Google Chat channels (spaces) or direct messages to specific users. Supports both incoming webhooks (for predefined channels) and OAuth 2.0 (for dynamic messaging to any space or user).
google-calendar
Interact with Google Calendar via the Google Calendar API – list upcoming events, create new events, update or delete them. Use this skill when you need programmatic access to your calendar from OpenClaw.
google-ads
Query, audit, and optimize Google Ads campaigns. Supports two modes: (1) API mode for bulk operations with google-ads Python SDK, (2) Browser automation mode for users without API access - just attach a browser tab to ads.google.com. Use when asked to check ad performance, pause campaigns/keywords, find wasted spend, audit conversion tracking, or optimize Google Ads accounts.
portfolio-watcher
Monitor stock/crypto holdings, get price alerts, track portfolio performance