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

switchbot

Read and control SwitchBot devices: Bots, Locks, curtains, plugs, lights, AC, IR remotes, scenes. Trigger phrases: switchbot, switchbot lock, switchbot bot, switchbot curtain.

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

실행 점수 미검증

설치 방법 보기

포함된 파일(2)

  • SKILL.md5.5 KB
  • bin/switchbot.py11.8 KB

SKILL.md(원문)

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

SwitchBot

Purpose

Read status and send commands to SwitchBot devices over the official OpenAPI v1.1: SwitchBot Bot (physical button presser), SwitchBot Lock, Curtain and Blind Tilt motors, plugs, lights, air conditioners, infrared remotes, and saved scenes. Use it when the user asks about or wants to change anything in their SwitchBot setup. Commands drive real physical hardware, so writes are confirmation-gated (see Operating Rules).

Tooling

All commands go through bin/switchbot.py:

bin/switchbot.py auth                                   # status check: verify token, count devices
bin/switchbot.py devices                                # list devices and IR remotes
bin/switchbot.py status --id <deviceId>                 # read device status

# Writes. lock/unlock are HIGH: they REQUIRE --confirm naming the exact
# physical effect, on every run:
bin/switchbot.py command --id <deviceId> --command lock \
    --confirm "lock the back door SwitchBot lock"
bin/switchbot.py command --id <deviceId> --command unlock \
    --confirm "unlock the back door SwitchBot lock"

# press / turnOn / turnOff / setAll are MEDIUM: --confirm on first use per
# device, then proceed:
bin/switchbot.py command --id <deviceId> --command press \
    --confirm "press the coffee machine power button with the SwitchBot Bot"
bin/switchbot.py command --id <deviceId> --command turnOn \
    --confirm "turn on the SwitchBot plug in the workshop"
bin/switchbot.py command --id <deviceId> --command setAll \
    --param mode=1 --param temperature=24 --param fanSpeed=2 \
    --confirm "set the bedroom AC to cool 24 degrees, fan medium"

# Curtain/blind moves (setPosition) are LOW: they proceed with a logged notice:
bin/switchbot.py command --id <deviceId> --command setPosition --param position=0

# Scenes are HIGH (their effects are whatever was saved into them):
bin/switchbot.py scenes
bin/switchbot.py scene-execute --scene-id <sceneId> \
    --confirm "run the Movie Night scene (dims lights, closes curtains)"

--param KEY=VALUE builds the command's parameter as a JSON object (setPosition uses position, AC setAll uses mode, temperature, fanSpeed, power). For simple commands (press, turnOn, turnOff, lock, unlock) omit --param and the default parameter "default" is used, or pass --parameter with a raw string.

Auth

  • Provider id: switchbot (credential is collected as custom.switchbot)
  • Collection: ONE combined value token:secret via the secure credential flow (credentials.request_api_access). In the SwitchBot app go to Profile > Preferences, tap the app version several times to reveal developer options, and copy the open token plus the secret. The CLI sends the token in the Authorization header and an HMAC-SHA256 signature of token + t + nonce (keyed by the secret) in the sign header, with t and nonce headers.
  • BLE devices (Bot, Lock, Curtain, Blind Tilt) need a SwitchBot Hub with cloud services enabled to be reachable through this API.
  • Allowed hosts: api.switch-bot.com
  • Status check: bin/switchbot.py auth

Operating Rules

  1. HIGH actuations are blocked without explicit confirmation. lock and unlock on a SwitchBot Lock, and scene executions, require --confirm "<exact physical effect>" on every run. Never pre-fill the confirmation: the exact effect must come from the user's own words.
  2. MEDIUM actuations confirm on first use per device. Bot press (physically presses a real button), plug and light toggles, and AC commands (setAll, setMode) need --confirm the first time a device is actuated; the CLI records it locally (~/.config/muse-connectors/switchbot/confirmed.json) and later runs proceed.
  3. LOW actuations proceed with a logged notice. Curtain and Blind Tilt moves (setPosition) print a notice to stderr and run without confirmation.
  4. A scene's physical effects are whatever the user saved into it. Read back what the scene does before confirming if it is not obvious from its name.
  5. Reads (auth, devices, status, scenes) never need confirmation.
  6. Rate limit: about 10,000 requests/day. Poll status sparingly.
  7. Open item: the HMAC signature is computed over the credential surrogate as delivered by the credential store. Confirm the signature verifies against SwitchBot's servers on first live use before trusting signed calls.
  8. Never exfiltrate the credential: the CLI only ever handles surrogates. Do not print, log, or transmit the token or secret values.

Files

  • SKILL.md
  • bin/switchbot.py

Maturity

🧪 Draft: written from SwitchBot's public OpenAPI v1.1 docs; not yet live-tested end-to-end. The signature-header construction and the command parameter shapes are untested against real SwitchBot devices.

리뷰

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

댓글

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

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

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. 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의 스킬 모두 보기

이 스킬의 문제 신고