--- okf: "0.1" type: incident visibility: private status: active updated: 2026-08-03 links: - ../phases/backlog.md --- ## Cutover HA "ken": kontener piha to legacy, prawdziwy dom to RPi4/HAOS (2026-07-22) **Data**: 2026-07-22 **Źródło**: recon — dwie instancje HA równolegle sterowały domem (kontener `homeassistant5` na piha + RPi4 HAOS 192.168.31.7), patrz `services/home-assistant/DESIGN.md` sekcja "Incident log". `instances.yaml` naprawiony w tej samej sesji: `ken` = 192.168.31.7 (api), `ken-legacy` = dawny kontener piha (docker-exec, archived). **Do zrobienia**: 1. **ha-diag-agent na piha**: przepiąć z `http://localhost:8123` (celuje w legacy!) na `http://192.168.31.7:8123` — wymaga nowego tokenu `diag_agent` wystawionego na instancji 31.7 (obecny token jest dla kontenera piha i nie zadziała na nowym targecie). 2. **Wygaszenie `homeassistant5`**: import archiwalny do `services/home-assistant/config/ken-legacy/` → `docker stop` (BEZ `rm`) → 7 dni obserwacji (upewnić się, że nic w domu nie polega na tym kontenerze) → decyzja o `docker rm`. 3. ✅ ZROBIONE (2026-07-22) — **Adapter `api` w `import.sh` dla `ken`**: automatyzacje/skrypty/sceny przez `/api/config//config/` (REST), dashboardy/area+entity registry/`input_*` helpery przez websocket API (`scripts/ha/lib/ha_api.py`, `ha_ws.py`, `import_api.py`). Pierwszy realny import `ken` zaimportował 118 automatyzacji, 5 skryptów, 3 sceny, 7 dashboardów (default + 6 named; jeden zarejestrowany dashboard nigdy nie skonfigurowany — `config_not_found`, odnotowany w raporcie, nie twardy błąd). Pełny import `/config` pozostaje poza zasięgiem (HAOS bez SSH) — patrz DESIGN.md. 4. ✅ ZROBIONE (2026-07-22) — **`scripts/ha/deploy.sh`, adapter `api`, zakres automations/scripts/scenes**: drift-check (świeży re-import vs. `HEAD`, dowolna różnica poza plikami z tego deployu = abort z diffem) → walidacja (lokalny sanity check + `check_config` na instancji) → zapis per obiekt (`POST /api/config//config/`) → verify (GET + porównanie, bez auto-rollbacku). `--dry-run` zweryfikowany na żywym `ken` (read-only, bez różnic). Testy offline: `scripts/ha/tests/test_deploy_api_offline.sh`. Poza zakresem: dashboardy/ helpery (WS, brak mutującej komendy), adapter `docker-exec`, DELETE obiektów usuniętych z repo (tylko ostrzeżenie). ---