homelab-codex-ws/docs/sessions/2026-07-22-ha-dwa-mozgi-cutover.md

2.4 KiB

2026-07-22 — HA: incydent dwóch mózgów, cutover ken, archiwum legacy

Odkrycie

Recon pod projekt configs-as-code ujawnił, że repo wskazywało złą maszynę jako "ken": kontener homeassistant5 na piha to instancja sprzed migracji (HA 2026.4.3, location_name "KEN", konta całej rodziny), a prawdziwy dom to HAOS na dedykowanym RPi4, LAN 192.168.31.7 (potwierdzone: observer :4357, HACS, 118 automatyzacji, ingress ha.kapala.org).

Obie instancje działały RÓWNOLEGLE i obie były podpięte do MQTT na piha. Dowody dublowania triggerów (last_triggered z restore_state obu instancji): mirror_on 04:30 na obu, gniazdka_w_lazience_on 05:00 na obu, turn_on_led_nad_blatem_1 12:53 na obu z tego samego fizycznego przycisku. Wyjaśnia obserwowane od dawna anomalie ("samo się przełącza", kaprysy przycisków). Stan trwał prawdopodobnie od migracji domu na RPi4.

Fałszywa hipoteza po drodze (odrzucona przez weryfikację): "kontener to martwa pozostałość" — obalona przez świeże last_triggered i mtime automations.yaml. Verify-before-fix uratował przed ślepym stopem, który wyłączyłby m.in. automatyzacje przycisków i harmonogramy łazienki.

Wykonane

  1. task/ha-cutover-instances (77d55ca): instances.yaml — ken = 31.7/api, ken-legacy = kontener piha/docker-exec (status: archived); DESIGN.md sekcja "Incident log"; README archiwum; backlog: przepięcie ha-diag-agent, procedura wygaszenia, adapter api.
  2. task/ha-import-legacy (970b8cc, po rebase na master): pełny import archiwalny ken-legacy — 60 automatyzacji, 5 scen, 1 skrypt, blueprinty, dashboardy, rejestry (85 plików). Idempotencja potwierdzona, gitignore szczelny (grep pod sekrety czysty), round-trip tagów HA OK.
  3. docker stop homeassistant5 na piha (BEZ rm) — dom przeszedł na jeden mózg. Rollback: docker start homeassistant5.

Otwarte / obserwacja

  • Do 2026-07-29: obserwacja, czy nic w domu nie polega na legacy. Braki → logika w services/home-assistant/config/ken-legacy/automations/, odtwarzanie wyłącznie przez repo na 31.7.
  • ha-diag-agent na piha celuje w martwy localhost:8123 — spodziewany alert; przepięcie na 31.7 w backlogu (wymaga tokenu diag_agent na 31.7).
  • Adapter api w import.sh dla ken + user deploy_agent i token na 31.7 — pierwszy task następnej sesji.
  • Po 2026-07-29: decyzja o docker rm i sprzątnięciu configu na piha.