By jsnyder
Token-efficient Home Assistant CLI for AI agents — entity control, services, logs, deployment validation, and system health
Validate, deploy, and verify Home Assistant configuration changes
Interactive entity exploration — find entities by domain, search, or pattern with progressive detail
Comprehensive Home Assistant health check — connection, version, entity counts, error log summary
Run pyscript automation tests and report results
Use when implementing Home Assistant automations - test YAML automations using pyscript as a test harness with script-based architecture
Use when deploying Home Assistant config, validating YAML packages, or verifying system health after changes. Replaces shell-based validation with 40-170x faster compiled checks.
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.
Executes bash commands
Hook triggers when Bash tool is used
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Token-efficient Home Assistant CLI for AI agents and humans.
A single compiled binary that replaces hundreds of lines of shell scripts with sub-second performance. Designed for both LLM agent workflows (compact JSON output) and interactive terminal use (styled human output with spinners, colors, and aligned tables).
cargo install --git https://github.com/jsnyder/homeassist
Or from a local checkout:
cargo install --path .
Requires Rust 1.85+.
Install as a Claude Code plugin to get skills (contextual guidance for AI agents) alongside the CLI:
/plugin marketplace add jsnyder/homeassist
/plugin install homeassist@homeassist-marketplace
The plugin provides two skills:
Set your Home Assistant URL and long-lived access token:
export HA_URL=http://homeassistant.local:8123
export HA_TOKEN=your_token_here
Or use flags (--url, --token) or files (~/.ha_url, ~/.ha_token).
homeassist health # Connection check
homeassist entities list --domain light # List lights
homeassist entities list --state unavailable # Find broken entities
homeassist services call light.turn_on --data '{"entity_id":"light.kitchen"}'
homeassist logs errors --tail 10 # Recent errors (via WebSocket)
homeassist inspect # System health audit
| Command | Description |
|---|---|
entities list | List entities with --domain, --state, --pattern, --name filters |
entities get <id> | Get single entity state and attributes |
entities search <pattern> | Search entities by regex |
services list [domain] | List available services |
services call <domain.service> | Call a service with --data and --target |
templates render "<template>" | Render a Jinja2 template |
config check | Validate HA configuration |
config reload [component] | Reload automations, scripts, scenes, or all |
history get <id> | Entity state history (--hours) |
logs errors | System log entries (--tail, --pattern) |
logbook get <id> | Entity event timeline |
events fire <type> | Fire a custom event |
automations list | List all automations |
automations trigger <id> | Trigger an automation |
scripts list | List all scripts |
scripts run <id> | Run a script |
batch | Execute multiple commands from JSONL |
diff | Entities that changed state recently |
watch <id> | Watch entity for state changes |
inspect | Audit system health |
validate [path] | Validate HA YAML config files (--check-entities, --check-registry) |
verify | Post-deploy health verification |
stats | System status overview (--dashboard, --init) |
health | Server connection status |
completions <shell> | Generate shell completions |
homeassist auto-detects the best output mode:
CLAUDECODE=1) → Compact tab-separated for token savingsOverride with --human, --compact, or --no-compact. Use --limit N to cap
entity lists in any output mode.
homeassist replaces ~1,200 lines of shell-based deployment validation with a compiled binary that runs 40-170x faster:
| Step | bash script | homeassist | Speedup |
|---|---|---|---|
| Local YAML validation (157 files) | ~30s | 0.12s | ~250x |
| Validation + entity ref checks | ~35s | 0.25s | ~140x |
| Full validate + verify pipeline | ~42s | 1.3s | ~32x |
homeassist validate ./packages --check-entities --check-registry || exit 1 # pre-deploy
homeassist verify --baseline snapshot.json # post-deploy
See docs/deployment-validation.md for the full
comparison with deploy-unified.sh, migration path, and check-by-check mapping.
homeassist uses the Home Assistant WebSocket API for commands not available via REST. This includes:
system_log/list) — works on all HA installs including HAOS
and container setups where the REST /api/error_log endpoint returns 404config/entity_registry/list) — orphaned entry detection
via validate --check-registryThe WebSocket client handles the full HA auth handshake with 30-second timeouts and automatic resource cleanup.
npx claudepluginhub jsnyder/homeassist --plugin homeassistHarness-native ECC operator layer - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses
Comprehensive feature development workflow with specialized agents for codebase exploration, architecture design, and quality review
A growing collection of Claude-compatible academic workflow bundles. Covers scientific figures, manuscript writing and polishing, reviewer assessment, citation retrieval, data availability, paper reading, literature search, response letters, paper-to-PPTX conversion, and evidence-grounded Chinese invention patent drafting. Rules are organized as reusable skill folders with explicit workflows and quality checks.
Core skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Tools to maintain and improve CLAUDE.md files - audit quality, capture session learnings, and keep project memory current.