2026-08-04 14:56:25 +02:00
|
|
|
---
|
|
|
|
|
okf: "0.1"
|
|
|
|
|
type: session-log
|
|
|
|
|
visibility: private
|
|
|
|
|
status: active
|
|
|
|
|
updated: 2026-07-23
|
|
|
|
|
links: []
|
|
|
|
|
---
|
|
|
|
|
|
2026-07-23 12:48:20 +02:00
|
|
|
# 2026-07-22/23 — HA: adapter api, import ken, deploy.sh, otwarcie fazy 1
|
|
|
|
|
|
|
|
|
|
## Wykonane
|
|
|
|
|
|
|
|
|
|
1. `task/ha-adapter-api`: adapter api w import.sh (REST: automations/scripts/
|
|
|
|
|
scenes; WS: dashboardy, rejestry, input_*). Pierwszy import ken: 118
|
|
|
|
|
automatyzacji, 5 skryptów, 3 sceny, 7 dashboardów (lovelace_admin:
|
|
|
|
|
config_not_found — zarejestrowany, nigdy nieskonfigurowany, do sprawdzenia
|
|
|
|
|
w UI). Token nigdy w argv (ha_api.py czyta plik sam).
|
|
|
|
|
2. `task/ha-deploy`: deploy.sh — drift-check → walidacja lokalna +
|
|
|
|
|
check_config → zapis per obiekt → verify. Testy offline 22/22, dry-run
|
|
|
|
|
na żywym ken czysty. ken-legacy/chelsty odrzucane (status != active).
|
|
|
|
|
3. Pierwszy pełny przebieg LIVE (nieplanowany, patrz Lessons): 126 targetów,
|
|
|
|
|
105 written, 21 "verify errors" = HA znormalizował legacy schema
|
|
|
|
|
(trigger→triggers, condition→conditions, action→actions, service→action).
|
|
|
|
|
Dom niezaburzony (118 automatyzacji, 0 unavailable). Drift domknięty
|
|
|
|
|
re-importem, commit 4366cdb.
|
|
|
|
|
4. Ceremonia otwarcia fazy 1 (2026-07-23): fix aliasu "Gniadka→Gniazdka"
|
|
|
|
|
(1664715283066) pełnym cyklem repo→dry-run→deploy→verify. 1 written,
|
|
|
|
|
0 errors. Commit 57a5f66.
|
|
|
|
|
5. Noc 22/23.07 na jednym mózgu: nocne automatyzacje (1:00, Mirror 4:30,
|
|
|
|
|
Gniazdka 5:00, night mode, TRV) strzelały normalnie — legacy nie zabrał
|
|
|
|
|
ze sobą niczego zauważalnego.
|
|
|
|
|
|
|
|
|
|
## Lessons learned
|
|
|
|
|
|
|
|
|
|
- Token HA dwukrotnie skompromitowany przy setupie (raz wklejony w czat/
|
|
|
|
|
terminal, raz komenda zamiast tokenu w read -rs; 4 wpisy w zsh_history).
|
|
|
|
|
Procedura naprawcza: rewokacja w HA, sed na ~/.zsh_history, świeża sesja.
|
|
|
|
|
Zasada: token tylko przez read -rs do pliku chmod 600; w komendach
|
|
|
|
|
ad-hoc `tokenha=$(cat ~/.config/ha-deploy/ken.token)`.
|
|
|
|
|
- Prompt CC wklejony do zsh zamiast do sesji CC — nieszkodliwe (same parse
|
|
|
|
|
errors), ale sekwencja musi być: najpierw claude w worktree, prompt
|
|
|
|
|
dopiero w interfejsie CC.
|
|
|
|
|
- Deploy bez listy plików = "wszystko w scope" — odpalony na żywo bez
|
|
|
|
|
dry-runu (sklejone kroki + niedokończony merge wcześniej = deploy.sh
|
|
|
|
|
jeszcze nie istniał na masterze przy pierwszej próbie, a przy drugiej
|
|
|
|
|
poszedł full-scope). Skutek niegroźny (no-op semantycznie + normalizacja
|
|
|
|
|
schematu), ale dwa wnioski w backlogu poniżej.
|
|
|
|
|
- agent.sh merge: 3x z rzędu rozjazd master/branch wymagający rebase —
|
|
|
|
|
papier-cut do naprawienia.
|
|
|
|
|
|
|
|
|
|
## Backlog (dopisane)
|
|
|
|
|
|
|
|
|
|
- deploy.sh: skip niezmienionych obiektów (porównanie z live przed POST)
|
|
|
|
|
— wtedy full-scope deploy jest bezpiecznym no-opem.
|
|
|
|
|
- Zasada operacyjna do czasu skip-unchanged: deploy ZAWSZE z jawną listą
|
|
|
|
|
plików.
|
|
|
|
|
- agent.sh: pull --ff-only przy new; komunikat "REBASE NEEDED" przy merge.
|
|
|
|
|
- ha-diag-agent nadal celuje w martwy localhost:8123 (kontener zgaszony) —
|
|
|
|
|
przepięcie na 31.7 czeka; sprawdzić czy/jak zaalertował.
|
|
|
|
|
|
|
|
|
|
## Stan
|
|
|
|
|
|
|
|
|
|
Faza 1 otwarta: repo = źródło prawdy dla automations/scripts/scenes ken,
|
|
|
|
|
tor odczytu i zapisu działa E2E. Dashboardy/helpers: import tak, deploy
|
|
|
|
|
jeszcze nie (WS write — osobny task). Obserwacja legacy do 2026-07-29.
|