跳至主要内容
小龙虾小龙虾AI
🤖

Google Home/Nest

Control Google Nest thermostats, cameras, and doorbells via Google Smart Device Management API using curl and jq commands.

下载3.4k
星标2
版本1.0.0
开发工具
安全通过

技能说明


name: google-home description: Control Google Nest devices (thermostats, cameras, doorbells) via the Google Smart Device Management API using curl and jq. metadata: {"clawdbot":{"emoji":"🏠","requires":{"bins":["curl","jq"]}}

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

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

如何使用「Google Home/Nest」?

  1. 打开小龙虾AI(Web 或 iOS App)
  2. 点击上方「立即使用」按钮,或在对话框中输入任务描述
  3. 小龙虾AI 会自动匹配并调用「Google Home/Nest技能完成任务
  4. 结果即时呈现,支持继续对话优化

相关技能