Help us improve
Share bugs, ideas, or general feedback.
From home-assistant
Call a Home Assistant service to control devices or trigger automations (e.g. turn lights on, lock doors, run scripts). Use when the user wants to control an entity or invoke a service.
npx claudepluginhub cameri/claude-skills --plugin home-assistantHow this skill is triggered — by the user, by Claude, or both
Slash command
/home-assistant:call-serviceThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
<objective>
Guides technical evaluation of code review feedback: read fully, restate for understanding, verify against codebase, respond with reasoning or pushback before implementing.
Share bugs, ideas, or general feedback.
<quick_start>
/home-assistant:call-service light.turn_on entity_id=light.living_room brightness=128
/home-assistant:call-service switch.toggle entity_id=switch.fan
/home-assistant:call-service automation.trigger entity_id=automation.morning_routine
/home-assistant:call-service homeassistant.restart
</quick_start>
Load credentials before every call: ```bash source ~/.claude/channels/home-assistant/.env ``` If `.env` is missing or `HA_URL`/`HA_TOKEN` are not set, tell the user to run `/home-assistant:access` first.Auth header: Authorization: Bearer $HA_TOKEN
Endpoint: POST ${HA_URL}/api/services/<domain>/<service>
Content-Type: application/json
Build the JSON body from remaining key=value pairs. Numeric values (no quotes in input) are sent as numbers; everything else as strings. If no extra args, send empty body {}.
Example — light.turn_on entity_id=light.living_room brightness=128:
http --ignore-stdin -b POST "${HA_URL%/}/api/services/light/turn_on" \
"Authorization: Bearer $HA_TOKEN" \
entity_id="light.living_room" \
brightness:=128
(Use := for numeric values in httpie, = for strings.)
Display result:
List available services — call-service list [domain=<domain>]:
http --ignore-stdin -b GET "${HA_URL%/}/api/services" \
"Authorization: Bearer $HA_TOKEN"
Display as: Domain → Service: description (if available). Filter by domain if domain= provided.
<common_services>
| Service | Description |
|---|---|
light.turn_on | Turn on light (optional: brightness, rgb_color, color_temp) |
light.turn_off | Turn off light |
switch.turn_on / switch.turn_off / switch.toggle | Control switches |
cover.open_cover / cover.close_cover | Garage doors, blinds |
climate.set_temperature | Set thermostat (temperature=, hvac_mode=) |
media_player.play_media | Play media |
automation.trigger | Trigger an automation |
script.turn_on | Run a script |
notify.<notifier> | Send a notification (message=) |
homeassistant.reload_all | Reload all configuration |
| </common_services> |
<success_criteria>
:= syntax)