Read entity states and call services on your Home Assistant instance. Service calls are confirmed first. Trigger phrases: home assistant, smart home, turn on the light.
npx skills add https://github.com/Anil-matcha/awesome-muse-connectors --skill home-assistant
Talk to the user's own Home Assistant instance: list entity states (states, optionally filtered by domain), read one entity (state), and call services (call: e.g. light.turn_on). The instance URL is passed with every command via --instance.
All commands go through bin/home-assistant.py:
bin/home-assistant.py --instance https://home.example.com states # all entity states (entity_id, state)
bin/home-assistant.py --instance https://home.example.com states --domain light # lights only
bin/home-assistant.py --instance https://home.example.com state --entity light.living_room
bin/home-assistant.py --instance https://home.example.com call --domain light --service turn_on --entity light.living_room
bin/home-assistant.py --instance https://home.example.com call --domain climate --service set_temperature --entity climate.living_room --data '{"temperature": 22}'
home-assistant (credential is collected as custom.home-assistant)credentials.request_api_access): create one in Home Assistant → your profile (bottom left) → Security → Long-Lived Access Tokens. Note: Home Assistant accepts tokens from any user account; for a shared household, a dedicated "automation" user keeps permissions clear.bearer_headerhome.example.com); the CLI derives it from --instancebin/home-assistant.py --instance <url> states (a successful list proves the token works)call acts on the physical home (lights, locks, climate). Confirm the exact domain, service, entity, and parameters with the user before calling, unless standing permission exists.states, state) needs no confirmation.--instance secret-adjacent: it names the user's home server. Do not post it anywhere public.bin/home-assistant.py). Do not print, log, or transmit the token value.🧪 Draft: written from Home Assistant's public REST API docs; not yet live-tested end-to-end.
Take anil-matcha/home-assistant from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.