ha-verify-state

Verify live Home Assistant entity and automation state via the REST API.

2|Updated Mar 3, 2026
One-click install
npx skills add https://github.com/DanielH2018/server --skill ha-verify-state-danielh2018
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ha-verify-state
Source: https://github.com/DanielH2018/server/tree/main/.claude/skills/ha-verify-state
Command: npx skills add https://github.com/DanielH2018/server --skill ha-verify-state-danielh2018

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? After deploying a Home Assistant change, it is easy to conclude an automation or entity works when it actually does not — the recorder database goes stale after restarts, automation entity IDs derive from alias slugs rather than IDs, and new Zigbee devices sit in unknown states. This Skill provides ground-truth verification of live HA state so "looks done" matches "is done". ## Core Features & Use Cases - Live entity and automation checks: Query current entity state, attributes, and whether an automation loaded and fired, resolving IDs, alias slugs, or full entity IDs. - Automation trace diagnosis: Inspect per-condition traces to see which condition blocked the last run, plus live error logs for render-time template failures. - Stale-data trap avoidance: Encode the recorder-DB pitfalls — WAL file requirements, pod start-time comparison for live vs stale rows, and expected unknown states for new Zigbee devices. - Use Case: After deploying a new automation, run the probe to confirm it loaded, trigger its condition, and verify last_triggered advanced — instead of trusting a stale recorder row. ## Quick Start Ask the assistant to verify whether a specific Home Assistant automation loaded and fired using the live API probe.

Frequently Asked Questions about ha-verify-state

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I verify a Home Assistant automation actually fired?▼

Query the automation through the live REST API and check its last_triggered attribute before and after causing the trigger. A loaded-but-never-fired automation shows an old or null last_triggered value.

How to check why a Home Assistant automation did not run?▼

Pull the live per-condition trace to see which condition blocked the last run. Note that traces are wiped on every HA restart, and an automation whose trigger never matched leaves no trace — use the logbook and last_triggered instead.

Why is my Home Assistant automation entity ID different from its id?▼

An automation's entity_id is derived from its alias, slugified at first creation, not from its id field. Match automations by the alias slug or the attributes.id value rather than assuming automation.<id>.

Can I verify Home Assistant state by reading the recorder database?▼

Reading the SQLite recorder directly is misleading after a restart because rows can predate it. Compare each row's last_updated_ts against the pod start time, and always copy the .db-wal and .db-shm files alongside the .db to avoid a stale snapshot.

Why do new Zigbee entities show unknown or unavailable in Home Assistant?▼

New or freshly paired Zigbee entities sit in unknown or unavailable states until their first report, which is expected behavior rather than a fault. Battery-powered Zigbee devices can take tens of minutes due to passive timeouts.