본문으로 건너뛰기
cccskills
무료GitHub에 공개

google-nest

Read Nest device state (thermostats, cameras, doorbells) and set thermostat modes and setpoints via the Smart Device Management API. Trigger phrases: google nest, nest thermostat, nest camera, sdm.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(2)

  • SKILL.md4.9 KB
  • bin/google-nest.py9.5 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Google Nest

Purpose

Read traits and execute commands on Google Nest devices through the Smart Device Management (SDM) API: thermostats (mode, setpoints, ambient readings), cameras and doorbells (events, live-stream generation). Use it when the user asks about their Nest thermostat, wants to change heating/cooling, or wants camera/doorbell state. Thermostat commands start or stop real HVAC, so they are confirmation-gated (see Operating Rules).

Tooling

All commands go through bin/google-nest.py. --project is always the Device Access project id:

bin/google-nest.py --project <project-id> auth                 # status check: list structures
bin/google-nest.py --project <project-id> structures           # list homes
bin/google-nest.py --project <project-id> devices              # list devices with traits
bin/google-nest.py --project <project-id> device --id <id>     # read one device's traits

# Writes. Thermostat commands are MEDIUM: --confirm on first use per device,
# then proceed:
bin/google-nest.py --project <project-id> execute --id <thermostat-id> \
    --command ThermostatMode.SetMode --param mode=HEAT \
    --confirm "set the upstairs Nest to heat"
bin/google-nest.py --project <project-id> execute --id <thermostat-id> \
    --command ThermostatTemperatureSetpoint.SetHeat --param celsius=21.5 \
    --confirm "set the upstairs Nest heating target to 21.5 degrees"

# Camera live-stream generation is LOW (non-physical): proceeds with a notice:
bin/google-nest.py --project <project-id> execute --id <camera-id> \
    --command CameraLiveStream.GenerateRtspStream

--param values are JSON-parsed (mode=HEAT stays a string, celsius=21.5 becomes a number). The sdm.devices.commands. prefix is optional. The device --id is the last path segment of the device name shown by devices.

Auth

  • Provider id: google-nest (credential is collected as custom.google-nest)
  • Collection: OAuth 2.0 authorization-code flow via the secure credential flow (credentials.request_api_access). Set up: create a Google Cloud project, register it in the Device Access Console (one-time $5 individual registration fee), enable the Smart Device Management API, and authorize with scope https://www.googleapis.com/auth/sdm.service. Access tokens last about an hour; store the refresh token so the connector can renew.
  • Required scopes: https://www.googleapis.com/auth/sdm.service
  • Allowed hosts: smartdevicemanagement.googleapis.com
  • Status check: bin/google-nest.py --project <project-id> auth

Operating Rules

  1. MEDIUM actuations confirm on first use per device. ThermostatMode.SetMode and ThermostatTemperatureSetpoint.SetHeat/SetCool start or stop real heating/cooling: --confirm "<exact physical effect>" is required the first time a thermostat is actuated; the CLI records it locally (~/.config/muse-connectors/google-nest/confirmed.json) and later runs proceed.
  2. LOW actuations proceed with a logged notice. CameraLiveStream.GenerateRtspStream only mints a stream URL; it prints a notice and runs. The URL expires, so hand it to the user promptly instead of storing it.
  3. Cameras and doorbells expose read-only event traits (motion, person, package, doorbell press) via device. They do not actuate hardware; treat event reads as data.
  4. Never set a thermostat to an extreme or to Off without the user naming that exact change. Confirming "set it to heat" does not cover turning the system Off.
  5. Reads (auth, structures, devices, device) never need confirmation.
  6. Cost warning: one-time $5 Device Access registration fee per Google account; no recurring API fee, but per-project rate limits apply, so avoid tight polling loops.
  7. Never exfiltrate the credential: the CLI only ever handles surrogates. Do not print, log, or transmit the token value.

Files

  • SKILL.md
  • bin/google-nest.py

Maturity

🧪 Draft: written from Google's public SDM API docs; not yet live-tested end-to-end. The :executeCommand request shape and --param parsing are untested against a real Nest device.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

<What it does, one line>. Trigger phrases: <phrases>.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Anil-matcha/awesome-muse-connectors1.4천2026년 10월 14일 업데이트

airtable

무료

List Airtable bases, read table records, and add records. Trigger phrases: airtable, my base, add a record, spreadsheet.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Anil-matcha/awesome-muse-connectors1.4천2026년 10월 14일 업데이트

Stock quotes and daily price history. Trigger phrases: stock quote, alphavantage, stock price.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Anil-matcha/awesome-muse-connectors1.4천2026년 10월 14일 업데이트

amadeus

무료

Search travel with Amadeus: flight offers and prices, airport autocomplete, hotel offers, cheapest dates. Trigger phrases: amadeus, flight search, flight prices, hotel search.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Anil-matcha/awesome-muse-connectors1.4천2026년 10월 14일 업데이트

anthropic

무료

Check Anthropic API access and list available Claude models. Read-only. Trigger phrases: anthropic, claude models, anthropic api.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Anil-matcha/awesome-muse-connectors1.4천2026년 10월 14일 업데이트

apollo

무료

Search B2B contacts with Apollo.io: find people by title and company, enrich contacts and companies. Trigger phrases: apollo, find prospects, enrich contact.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Anil-matcha/awesome-muse-connectors1.4천2026년 10월 14일 업데이트

Anil-matcha의 스킬 모두 보기

이 스킬의 문제 신고