Source: bellack Hass Ansible (configs via API)¶
Patrón superior al role oficial (que es para HA Core install deprecated). Esta role bidireccional vía HA API: download (HA→repo) y upload (repo→HA) + render Jinja2 + restart. Resuelve el dolor real: "yo edito en UI, después quiero sync con repo". Esto es el patrón canónico para everything-is-code en setups HAOS/HA Container.
Por qué entró al wiki¶
- Resuelve el gap concreto que dejé en ../analysis/q3-iac-strategy-v1: cómo gestionar configs HA via Ansible cuando HA es appliance (HAOS) o container.
- Bidireccional → maneja el caso real de "a veces edito en UI" que el usuario probablemente tiene.
- Repo público mantenido:
bellackn/ansible-role-hass-control.
Páginas derivadas¶
- Update ../analysis/q3-iac-strategy-v1 con esta role como default recomendado (en lugar del role oficial deprecated).
- Update ../concepts/everything-is-code con el "download then commit" pattern para escapar del UI mutating.
Take-away accionable¶
Patrón "download then commit"¶
# 1. Hacer cambios en HA UI normalmente
# 2. Sync UI changes a repo
ansible-playbook sync-ha.yml
# 3. Review diff, commit
git diff
git commit -am "Update: añadida automation X"
Esto resuelve la tensión: HA UI es conveniente para iterar, pero rompe "everything is code". Esta role hace download diff trivial.
Patrón "upload changes desde repo"¶
# Editar en repo, commit, push
vim home-assistant/automations.yaml
git commit -am "feat: morning routine refinement"
# Aplicar a HA via Ansible
ansible-playbook -e hass_control_mode=set sync-ha.yml
Renders Jinja2 + restarts HA si es necesario.
Para el agente AI¶
El agente del Q10 strategy puede: 1. Read state vía ha-mcp. 2. Propose cambio via PR. 3. Tras merge, llamar a ansible-playbook con mode=set. 4. Verify post-restart.
Más limpio que el patrón scp de Beguelin — bidireccional, valida via API.
Citas¶
-
"sometimes I just like to change things manually in the Home Assistant UI. Then I want to make sure that my local files and those that are actually active are in sync."
Implicancia: actualización del Q3 strategy¶
Reemplaza la sección que sugería scp con ESTA role como default. Para el setup del usuario:
HA Yellow (essentials)
↑ ↓
| bellackn.hass_control (Ansible)
|
Mini-PC (corre el playbook desde repo git)
Abierto / gaps¶
- Ingerir el
bellackn/ansible-role-hass-controlREADME directo para ver edge cases (qué archivos sí/no se sincronizan). - Patrón concreto para HAOS Yellow: ¿la role requiere SSH addon enabled?
- Cómo se maneja
secrets.yamlen este flow (asume Ansible Vault según el blog).