ha-deploy

Deploy Home Assistant config changes via Ansible and verify they loaded in the live instance.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? A Home Assistant deploy can report success while the changed automation or entity never actually loaded — schema errors get silently skipped and missing entities render as unknown. This Skill closes that gap by gating every deploy on live-state verification, not just playbook exit codes. ## Core Features & Use Cases - Validated deployment: Runs structural validation and Jinja macro tests before shipping config via the Ansible home-assistant tag to the k3s cluster. - Live load verification: Asserts every automation in files/automations/*.yaml exists and is not unavailable, and diffs referenced entities against the live instance to catch silent disappearances. - Targeted proof: Checks that an edited automation's last_triggered advances or an edited entity's last_updated postdates the container restart. - Use Case: After editing an automation YAML under ansible/roles/k8s/home-assistant/, deploy it and confirm the automation actually loaded and fired — catching the case where two vanished sensors left three features inert behind a green validation. ## Quick Start Deploy my Home Assistant config changes and verify the automations actually loaded in the live instance.

Frequently Asked Questions about ha-deploy

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

FAQPage Schema
How do I deploy Home Assistant config changes with Ansible?▼

Run ./scripts/deploy.sh --tags "home-assistant" from the repo root on the k3s control-plane host. The wrapper takes a deploy lock and ships the config as a ConfigMap with a rollout restart; exit 75 means the lock was busy and nothing deployed.

How do I verify Home Assistant automations actually loaded after a deploy?▼

Run the probe script's verify-automations command, which checks every automation in files/automations/*.yaml exists in the live instance and is not unavailable. A non-zero exit lists the ids Home Assistant silently skipped due to schema errors.

Why does Home Assistant validation pass but entities are missing?▼

Static validation resolves entity references against a snapshot file, so an entity that stopped existing in the live instance still reads as valid. Run verify-entities every deploy to diff the snapshot against live state and catch disappearances.

Does a new Home Assistant config file deploy automatically?▼

No. A new file must be added to the appropriate home_assistant_*_files list in the role's defaults/main.yml, because the ConfigMap only includes listed files. Unlisted files never reach /config and fail structural validation.

Is the sqlite3 database shutdown warning on Home Assistant startup a failure?▼

No. The "could not validate that the sqlite3 database was shutdown cleanly" message on boot is benign because WAL auto-recovers. Treat the deploy as failed only if the pod is not 1/1 Running or live verification probes fail.