← Back to Skills Marketplace
mitchellbernstein

Google Home/Nest

by mitchellbernstein · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
2628
Downloads
1
Stars
8
Active Installs
1
Versions
Install in OpenClaw
/install google-home
Description
Control Google Nest thermostats, cameras, and doorbells via Google Smart Device Management API using curl and jq commands.
README (SKILL.md)

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

  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

  5. Get Access Token

    # 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

# 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 \x3Cname> — show current temp/humidity
  • --temp \x3Cdegrees> — set target temperature
  • --mode heat|cool|auto — set HVAC mode
  • --fan on|auto — control fan

Cameras & Doorbells

  • google-home-cli camera \x3Cname> — get stream/status
  • --snapshot — download current image
  • --stream — start live stream URL

Speakers & Displays

  • google-home-cli speaker \x3Cname> — device info
  • --volume 0-100 — set volume
  • --stop — stop playback

Environment Variables

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

# 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:

# 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:

{
  "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 permissions
Usage Guidance
Do not install or run commands from this skill as-is. Specific things to check before using: 1) Ask the author for the actual CLI implementation or an install source — none of the referenced commands (google-home-cli, scripts/nest) are included. 2) Verify where helper scripts come from; never symlink or run files from paths you don't control (the SKILL.md shows a hard-coded path belonging to another user). 3) Be cautious with OAuth secrets — only provide client_id/secret/refresh_token to trusted software and ensure correct env var names; the SKILL.md is inconsistent about variable names. 4) Prefer official Google client libraries or documented SDK examples for the SDM API rather than ad-hoc scripts. 5) Ask the publisher to update registry metadata to declare required env vars and included binaries, and to remove/replace any hard-coded absolute paths. If the publisher cannot provide code or a trustworthy install source, treat the skill as incomplete/untrusted.
Capability Analysis
Type: OpenClaw Skill Name: google-home Version: 1.0.0 The skill bundle is classified as benign. The `SKILL.md` provides clear instructions for users to set up Google Cloud credentials and interact with the Google Smart Device Management API using `curl` and `jq`. While `curl` and `jq` are powerful tools, their use is directly aligned with the stated purpose of controlling Google Nest devices. There is no evidence of data exfiltration, malicious execution, persistence mechanisms, or prompt injection attempts against the agent to perform actions beyond the skill's stated purpose. The instructions for handling API keys are standard for such integrations.
Capability Assessment
Purpose & Capability
The stated purpose (control Google Nest via SDM API) matches the API calls and OAuth flow described in SKILL.md. However the skill references a CLI (google-home-cli / nest) and helper scripts that are not included, and the registry metadata does not declare required environment variables present in the instructions — these omissions make the capability incomplete.
Instruction Scope
Instructions direct the user/agent to create OAuth credentials, refresh tokens, and to store tokens in env vars or ~/.config; they also instruct creating a symlink from an absolute path in another user's home (/Users/mitchellbernstein/...) into /usr/local/bin. The SKILL.md references reading/writing ~/.config and creating system-level symlinks but no code files are provided. There are inconsistent variable names (examples use GOOGLE_HOME_ACCESS_TOKEN vs later examples using $ACCESS_TOKEN). These gaps give the agent broad undefined discretion and could lead to executing or linking unknown files.
Install Mechanism
There is no install spec (instruction-only), which minimizes automatic installation risk. However SKILL.md instructs manual linking of a helper script located at a hard-coded local path that will not exist for most users — this is misleading and could prompt unsafe manual actions (writing to /usr/local/bin).
Credentials
The SKILL.md expects client_id, client_secret, refresh_token/access_token to interact with Google's SDM API, which is appropriate for the task. But the registry lists no required env vars or primary credential, and the SKILL.md uses inconsistent names (GOOGLE_HOME_ACCESS_TOKEN vs $ACCESS_TOKEN). The instructions ask for high-value secrets (OAuth tokens) without providing secure handling details or declaring them in the skill metadata — this mismatch is concerning.
Persistence & Privilege
The skill does not request always:true and is not asking for elevated platform privileges. It does instruct creating a config file in the user's home (~/.config/google-home/config.json) and suggests installing a helper into /usr/local/bin; these are normal for a CLI but should only be done with source code you trust. No evidence the skill modifies other skills or system-wide agent configs.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install google-home
  3. After installation, invoke the skill by name or use /google-home
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of Google Home / Nest CLI. - Control Google Nest devices (thermostats, cameras, doorbells, speakers/displays) using the Google Smart Device Management API. - Command-line interface supports device info, thermostat settings, camera snapshots/streams, and speaker controls. - Includes setup instructions for OAuth, API access, and device registration. - Provides environment variable and config file options for authentication. - Bundle includes a `nest` CLI helper script for direct commands. - Requires `curl` and `jq`.
Metadata
Slug google-home
Version 1.0.0
License
All-time Installs 8
Active Installs 8
Total Versions 1
Frequently Asked Questions

What is Google Home/Nest?

Control Google Nest thermostats, cameras, and doorbells via Google Smart Device Management API using curl and jq commands. It is an AI Agent Skill for Claude Code / OpenClaw, with 2628 downloads so far.

How do I install Google Home/Nest?

Run "/install google-home" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Google Home/Nest free?

Yes, Google Home/Nest is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Google Home/Nest support?

Google Home/Nest is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Google Home/Nest?

It is built and maintained by mitchellbernstein (@mitchellbernstein); the current version is v1.0.0.

💬 Comments