Use this skill when the user asks to "control devices", "turn on lights", "turn off a switch", "set the thermostat", "lock the door", "dim the lights", "set brightness", "change color", "open the blinds", "control the TV", "play music", "set the fan speed", "start the vacuum", "check if lights are on", "list all devices", "what's the temperature", or any task involving controlling or querying Home Assistant devices.
npx claudepluginhub pzharyuk/ai-claude-plugins --plugin homeassistant-managerThis skill uses the workspace's default tool permissions.
Use the `homeassistant-manager` MCP server tools to control and query all devices in Home Assistant.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Use the homeassistant-manager MCP server tools to control and query all devices in Home Assistant.
ha_call_service is the universal action tool. Most device control flows through it.
Structure:
domain — device type (light, switch, climate, media_player, cover, lock, fan, vacuum, etc.)service — what to do (turn_on, turn_off, toggle, set_temperature, etc.)entity_id — target entityservice_data — extra parameters (brightness, color_temp, temperature, etc.)turn_on: domain=light, service=turn_on, entity_id=light.living_room
dim to 50%: service_data={brightness_pct: 50}
warm white: service_data={color_temp_kelvin: 2700}
color: service_data={rgb_color: [255, 0, 0]}
turn off all: entity_id=all (with domain=light)
domain=switch, service=turn_on/turn_off/toggle
set temp: domain=climate, service=set_temperature, service_data={temperature: 72}
set mode: domain=climate, service=set_hvac_mode, service_data={hvac_mode: "heat"/"cool"/"auto"/"off"}
set fan: domain=climate, service=set_fan_mode, service_data={fan_mode: "auto"/"low"/"high"}
lock: domain=lock, service=lock
unlock: domain=lock, service=unlock
open: domain=cover, service=open_cover
close: domain=cover, service=close_cover
set pos: domain=cover, service=set_cover_position, service_data={position: 50}
play: domain=media_player, service=media_play
pause: domain=media_player, service=media_pause
volume: domain=media_player, service=volume_set, service_data={volume_level: 0.5}
source: domain=media_player, service=select_source, service_data={source: "Spotify"}
turn on/off: domain=fan, service=turn_on/turn_off
speed: domain=fan, service=set_percentage, service_data={percentage: 50}
oscillate: domain=fan, service=oscillate, service_data={oscillating: true}
start: domain=vacuum, service=start
return: domain=vacuum, service=return_to_base
pause: domain=vacuum, service=pause
ha_get_states with a domain filter — list all entities of a typeha_get_state — check a specific entity's state and attributesha_render_template — compute values from state data (e.g. average temperature)If the user doesn't know an entity ID:
ha_get_states with the relevant domainattributes.friendly_name to find the right entitySee references/domains-and-services.md for the full list of domains, services, and service data fields.