From homeassist
Use when querying or controlling Home Assistant — entities, services, templates, logs, automations, system status. Also for pre-deploy YAML validation, post-deploy verification, and system status dashboards.
How this skill is triggered — by the user, by Claude, or both
Slash command
/homeassist:homeassistThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Compiled Rust CLI for Home Assistant. Auto-detects Claude Code for compact output; interactive terminals get styled human output.
Compiled Rust CLI for Home Assistant. Auto-detects Claude Code for compact output; interactive terminals get styled human output.
homeassist entities list --domain light # By domain
homeassist entities list --state unavailable # Exact state match
homeassist entities list --pattern "hvac.*power" # Regex on id/name
homeassist entities list --name "kitchen" # Friendly name regex
homeassist entities list --domain sensor --state on # Combine filters
homeassist entities get sensor.kitchen_temperature # Single entity detail
homeassist entities search "fountain" # Search id + friendly_name
homeassist services list climate # Domain signatures
homeassist services call light.turn_on --data '{"entity_id":"light.kitchen"}'
homeassist services call light.turn_on --target '{"area_id":"kitchen"}'
homeassist stats # System overview: version, entities, automations, errors
homeassist stats --dashboard my.yaml # Custom dashboard with sections + templates
homeassist stats --init > dashboard.yaml # Auto-generate dashboard config from HA state
homeassist health # Connection + version
homeassist inspect # Unavailable/unknown audit, domain summary
homeassist logs errors --tail 10 # System log via WebSocket (all installs)
homeassist logs errors --pattern "zigbee" # Filter by regex
homeassist diff --since 1 # State changes in last hour
homeassist watch sensor.temp --timeout 60 --state 72 # Wait for state
sections:
- name: Climate
entities:
- climate.thermostat
- sensor.outdoor_temperature
templates:
- label: "Net power"
template: "{{ (states('sensor.solar') | float - states('sensor.grid') | float) | round(1) }}W"
Config precedence: --dashboard flag > .homeassist-dashboard.yaml in cwd > ~/.config/homeassist/dashboard.yaml
homeassist config check # Validate HA config
homeassist config reload all # Reload automations/scripts/scenes
homeassist automations list # List with on/off status
homeassist automations trigger <id>
homeassist templates render "{{ states('sensor.temp') }}"
homeassist validate ./packages --check-entities --check-registry || exit 1 # Pre-deploy
homeassist verify --baseline snapshot.json # Post-deploy
Auto-detected: human (terminal), compact (Claude Code), JSON (piped).
Override: --human, --compact, --no-compact.
| Command | Compact format | Savings |
|---|---|---|
stats | sys\tv...\tent\ttotal:N\tunavail:N... (2-3 lines) | ~80% |
entities list/search | TSV: entity_id\tstate (capped at 50, --limit N) | ~67% |
entities get | Single-line JSON, no context | ~45% |
services list <domain> | domain.svc(params) | ~99% |
--domain sensor--state unavailable (exact, not substring)search "fountain"--pattern "hvac.*power"get sensor.xyz--pattern unavailable matches "available" — use --state unavailableservices list without domain gives domain names only, not signatures--no-compact--compact, --human, --limit) go BEFORE the subcommand: homeassist --compact stats--limit 0 for unlimited or --limit Nnpx claudepluginhub jsnyder/homeassist --plugin homeassistGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.