with one click
homeassistant
Guide for interacting with Home Assistant via the HA plugin tools
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Guide for interacting with Home Assistant via the HA plugin tools
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | homeassistant |
| description | Guide for interacting with Home Assistant via the HA plugin tools |
You have access to Home Assistant tools for querying and controlling smart home devices.
| Tier | What it does | Config key |
|---|---|---|
| Readable | All non-blocked entities โ queryable via ha_states | acl.blockedEntities (inverse) |
| Watched | Auto-injected into every conversation context | acl.watchedEntities |
| Writable | Can call services (turn_on, turn_off, etc.) | acl.writableDomains |
entity_id for precise reference.ha_statesQuery entity states. All readable (non-blocked) entities accessible.
domain: filter by domain (e.g. "sensor", "light")entity_id: get a specific entitypattern: glob pattern (e.g. "sensor.living_room_*")ha_call_serviceControl a device. Requires domain to be in writableDomains.
domain: e.g. "light"service: e.g. "turn_on", "turn_off", "toggle"entity_id: target entitydata: optional extra data (brightness, temperature, etc.)ha_logbookRead historical events.
start_time: ISO 8601 (required)end_time: ISO 8601 (optional)entity_id: filter to one entity (recommended)ha_context_configAdjust which entities are auto-injected into your context.
action: "get", "set", "add_watch", "remove_watch"watched_entities: glob patterns for entities to watchenabled: enable/disable auto-injectionmax_entities: cap for context injectiongroup_by_area: group entities by areaha_listenManage event listeners โ monitor entity state changes and trigger agent actions automatically.
action: "add", "list", "remove"entity_id: entity to listen to (e.g. "light.bedroom"). Required for "add".to_state: only trigger when entity changes TO this state (e.g. "on"). Optional.from_state: only trigger when entity changes FROM this state. Optional.message: the task to execute when the listener fires. Required for "add".one_shot: if true (default), listener is removed after firing once. If false, it fires every time.
listener_id: ID of the listener to remove. Required for "remove".Example usage: User says "ๅฝๅงๅฎค็็ฏๅผไบ็ๆถๅ๏ผๅธฎๆๆไบค git"
ha_states to find the entity ID for the bedroom lightha_listen with action: "add", entity_id: "light.bedroom", to_state: "on", message: "ๅธฎๆๆไบค git", one_shot: trueThe listener service connects to HA via WebSocket and monitors state_changed events in real-time. When a match occurs, the message is injected into the agent's next prompt.
When the user first asks about their smart home and HA is not configured:
openclaw config set plugins.entries.homeassistant-for-openclaw.config.url "http://..."
openclaw config set plugins.entries.homeassistant-for-openclaw.config.token "..."
ha_states to survey what's available.ha_states