2.7 KiB
2026-07-23 (cd.) — HA: klima E2E, audyt Fable, fix-pack 1
Klima salonowa — pierwsza automatyzacja LLM przez repo (E2E)
Intencja po polsku → helpers w UI → CC (Sonnet): discovery encji z fixtures, 3 pliki (ON+sync, OFF, skrypt suszenia parownika fan_only 5 min), wykrył brak fan_mode w encji gree_ir i dostosował. Trzy iteracje:
- Przegląd operatorski: znaleziony martwy punkt po suszeniu + dodana 15-min karencja balkonowa (CC follow-up; commit prawie wszedł niezacommitowany — lekcja: git status przed push z worktree CC).
- Odbiór na żywo: naturalny start z triggera balkonowego (23.7>23.6), Cool 14:57 → Fan only 15:00 → Off 15:05 — pełny cykl potwierdzony.
- Bug z obserwacji produkcji: próg temperatury istniał tylko jako trigger,
triggery brzegowe go omijały (start przy salonie 23.6 < próg 27).
Fix
faa2e2a: lustrzany warunek w gałęzi start. Wzorzec nazwany i użyty w audycie jako klasa błędu.
Audyt automatyzacji (Fable 5, read-only, 502 linie)
docs/audyt-automatyzacji-2026-07-23.md. Krytyczne: kalibracje TRV liczące unavailable jako 0°C (wynik -5.0, pętla co 40s); klaster ~15 automatyzacji cicho martwych przez 6 padłych czujników ruchu; alerty wodne z odwróconym triggerem i literówką mesaage. Diagnoza CC przy fix-packu: wspólna awaria 2026-07-17 15:07 (restart HA/update Supervisora) — czujniki ruchu + pilot 4button + cała integracja xiaomi_miot naraz; podejrzenie na integrację/ koordynator, nie baterie.
Decyzje operatora (checklista 17 pytań — pełny zapis w DESIGN.md)
Fix-pack 1 (wdrożony, f09dcbf, deploy 5/5): alerty wodne, respekt ręcznego
"Disable AUTO off" w kuchni, 3am z time_pattern (60x/noc) na punktowe 03:00,
klima OFF za warunkiem auto=on (sunset/balkon nie ruszają ręcznego chłodzenia;
zgaszenie przełącznika nadal robi graceful dry-off — osobna gałąź choose).
Świadomie bez zmian: OwnTracks (wróci przy fazie KB), symulacja obecności
batch 02, porządki on_leave. Choinki: disable w UI (sezonowe).
Nowe projekty w backlogu: architektura night_mode (konsolidacja sleep/night,
enforcer, 4 nocne wyłączniki, ostateczny wyłącznik nocny), diagnoza awarii
2026-07-17, guard TRV przed sezonem (~09), przycisk graceful shutdown klimy.
Meta
- Round-trip repo→API→repo zwalidowany na produkcji (re-import po deployach: zero diffu na automatyzacjach).
- Drift helpers wykryty przez audyt i domknięty importem (
f3328d2) — model sync działa zgodnie z projektem. - Incydent tokenowy przy setupie deploy_agent (2x kompromitacja w historii shella) — procedura naprawcza zadziałała; zasada: read -rs do pliku, w komendach $tokenha z pliku.
- Fable 5 do audytu: trafny dobór — klasa znalezisk poza zasięgiem szybkiego przeglądu.