switchbot
Read and control SwitchBot devices: Bots, Locks, curtains, plugs, lights, AC, IR remotes, scenes. Trigger phrases: switchbot, switchbot lock, switchbot bot, switchbot curtain.
Install / Use
npx skills add Anil-matcha/awesome-muse-connectors --skill switchbotInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Development & EngineeringSupported Platforms
Our assessment of switchbot
switchbot scores 85/100 on our quality scale, 2693rd of 4,592 Development & Engineering skills we index.
Its SKILL.md is 5.5 KB long, well organised into 13 sections with 1 code example: a solid amount of guidance for an agent.
With 1,321 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 20 days ago, so switchbot is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
switchbot compared with similar skills
All 4 of these similar skills score higher than switchbot; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| switchbot (this skill)by Anil-matcha | 85 | 1.3k | 20d ago | SKILL.md |
| taste-skillby Leonxlnx | 100 | 102.3k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 102.2k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 77.8k | 1d ago | CLAUDE.md |
| ai-job-searchby ai-job-search-dev | 100 | 65.4k | 4d ago | CLAUDE.md |
Frequently asked questions
- How do I install switchbot?
- Run
npx skills add Anil-matcha/awesome-muse-connectors --skill switchbot. The install tabs above show the steps for each supported agent. - Which AI agents does switchbot work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is switchbot safe to use?
- It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is switchbot still maintained?
- The repository was last updated 20 days ago, so switchbot is actively maintained.
Skill content
View source on GitHubname: "switchbot" description: "Read and control SwitchBot devices: Bots, Locks, curtains, plugs, lights, AC, IR remotes, scenes. Trigger phrases: switchbot, switchbot lock, switchbot bot, switchbot curtain." metadata: { "includeInPrompt": true } tagline: "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)." catalog_auth: "token + secret pair via the secure credential flow" catalog_hosts: ["api.switch-bot.com"]
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 ascustom.switchbot) - Collection: ONE combined value
token:secretvia 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 theAuthorizationheader and an HMAC-SHA256 signature oftoken + t + nonce(keyed by the secret) in thesignheader, withtandnonceheaders. - 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
- HIGH actuations are blocked without explicit confirmation.
lockandunlockon 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. - 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--confirmthe first time a device is actuated; the CLI records it locally (~/.config/muse-connectors/switchbot/confirmed.json) and later runs proceed. - LOW actuations proceed with a logged notice. Curtain and Blind Tilt
moves (
setPosition) print a notice to stderr and run without confirmation. - 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.
- Reads (
auth,devices,status,scenes) never need confirmation. - Rate limit: about 10,000 requests/day. Poll
statussparingly. - 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.
- 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.
Related Skills
taste-skill
102.3kAgent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
Agent-Reach
102.2kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
77.8kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ai-job-search
65.4kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
