📝 Build Log · Release Notes

Engineering build log

Není to blog v běžném smyslu. Je to release notes engineera, který staví dům jako product. Každá entry odkazuje na konkrétní deploy, fix nebo roadmap milník.

Recent releases

Posledních 30 dní

Kombinace feature ship, bugfix, deploy a roadmap entries. Tagged barevně podle typu.

2026-05-05 INFRASTRUCTURE

Sheets cleanup + dashboard fix — den po rozbité rutině

Ranní rutina v pondělí nezačala. Začalo to fixem jednoho bugu (sleep_window blokoval routing po budíku) a skončilo úklidem celé Google Sheets vrstvy. 28 listů → 25, 6 commitů, Apps Script v18 → v21. Score producer (existoval, nikdo ho nečetl) napojený na brain. Tři chybějící dashboard endpointy přidané (Lux/Battery/Morning Timeline). Sensor registry pro adaptabilní budoucí čidla. DeviceInventory producer který nikdy neposílal. Architektonický bug v logEvent lib (default sheet:'EventLog' forsoval všechny event_type events do jednoho listu) odhalený. Číst celý postmortem →

2026-05-02 FEATURE

Dům, který sám sebe pozoruje — nová vrstva vědomí

Přibyly dvě „pozorovatelské" vrstvy. První každou minutu vyhodnocuje, v jakém režimu se domov právě nachází (klidný spánek, noční výlet na záchod, ranní probouzení, někdo odchází…) — a u každého odhadu má skóre jistoty od 0 do 100. Druhá vrstva každých 5 minut kontroluje, že všechny klíčové programy běží, a u jednoznačně-bezpečných problémů je sama opraví. Při kritickém problému pošle push notifikaci na telefon. Číst delší vysvětlení →

2026-05-02 FEATURE

Pohotovostní vypínač — jediný přepínač pro všechno automatické

Nová proměnná sh_kill_switch se dvěma stavy. Když ji přepnu na yes, šest klíčových programů (rozhodovací mozek, noční světla, predikce, ranní rutina, hlídka, vytápění) se při příštím spuštění zastaví na začátku a nic neudělají. Cesta k jistotě, že lidský operátor má vždy poslední slovo.

2026-05-02 FIX

Ranní rutina se nespustila — uživatel vstal před budíkem

V sobotu ráno (budík 5:15) uživatel vstal v 3:08, procházel mezi pokoji, ale rutina nikdy neběžela. Příčina: stará logika čekala buď na budík, nebo na dvojí pohyb v jedné zóně do 3 minut. Při procházení mezi zónami senzory zachytily pohyb v každé jen jednou. Mezitím nezávislý detektor probuzení hlásil „silně ano" ve 4 zónách — ranní rutina ten signál ale neposlouchala. Oprava: třetí spouštěcí cesta — silný multi-zóna signál + 10 minutový kompromis filtruje noční výlety na záchod.

2026-05-02 FIX

LED pásek a stolní lampa svítily celou noc

Příčina: program, který se každou půlhodinu probudí a předvídá co dům potřebuje, neměl podmínku „pokud uživatel spí, nezapínej nic". V 23:00 i v 00:30 napadlo „je tma + někdo doma → noční dotyk světla", a lampa se rozsvítila. Tři řádky kódu — sleep guard přidán do dvou míst (predikce + záchranná logika). Příští noc se nic samo nerozsvítí.

2026-05-02 FEATURE

SNZB-06P openspace + integrace ložnice/koupelna senzorů

Tři radarové senzory přítomnosti (otevřený prostor, ložnice, koupelna) — radar vidí osobu i v klidu, na rozdíl od PIR pohybového. Hlavní z nich přejmenován na Sensore di Presenza SNZB-06P openspace kvůli jasnému rozlišení. Ložnice + koupelna teď přidány do logu zónové aktivity (před tím se logoval jen openspace). Atomický rename: zařízení + mapa + 7 skriptů + záloha před/po. Smoke test prošel.

2026-04-29 FEATURE

Dashboard V7.5 layout editor

Drag-and-drop tile reorder + native CSS resize via corner handle + per-page localStorage persistence. Ctrl+E toggles edit mode. 3 floating buttons (🎨 Edit / 💾 Save / ↻ Reset). MutationObserver chrání proti bounce-back při render cycles.

  • Stable tile identity (id or hash of textContent)
  • Multi-parent aware (handles tiles spread across grid containers)
  • Auto-save on drop (no need to click Save for reordering)
2026-04-29 FIX

Bug E — priority engine ghost auto-cleanup

sh_priority_active='tts' stuck po crashi HomeyScript app během 10s delay v reset flow. Fix: timestamp na claim + stale check > 60s + nový cron SH – Priority – Stale Cleaner. Validator score 94 → 100, Brain Guardian 92 → 97.

2026-04-29 DEPLOY

Brain Guardian deployment

5 scripts + 1 flow + 12 vars deployed. Top-level supervisor: sh_state_validator (drift detection), sh_brain_guardian (orchestrator), sh_release_guard (deploy gate). První live finding: detekoval priority_active=tts ghost (Bug E nahoře).

2026-04-29 FIX

Audio race condition fix — bathroom misroute

Po comfort_suggest TTS se sám spustil bathroom radio i bez user accept. Root cause v sh_tts_resume_exec_v1 fallback bez prev_playing guardu. Fix v1.8 přidal explicit guard. Stuck sh_audio_current_mode='radio_bathroom' reseten.

2026-04-29 FEATURE

Dashboard V7 polish — V7.1 → V7.5.1

8 micro-sprintů: Zones bottom strip, AI grid 2-col, Ložnice tile dedupe, status chips wired, Settings collapse, Burza 2→6 coins, Heating right rail rebuild, AI 4 system cards, layout editor.

2026-04-29 PERF

Memory leak partial mitigation

3 cron flows zpomalené 1 → 2 min (Dashboard Refresh, Wake Scorer, Audio Pipeline WD). Saves 2 160 runs/den. Manual app restart 143 → 99 MB. Watchdog drží <125 MB threshold.

2026-04-29 FIX

Vacuum Giuseppe rename revert

Device name byl omylem změněn na 'ano' (UUID stable). 4 sw consumers silently fail. Revert via API PUT name='Giuseppe'. Reset ghost vars. Live test: router can find device, state stays idle.

2026-04-29 DEPLOY

Morning routine pipeline rebuild

Nový request type morning_open_space_gentle. ON Sektorka1 + Stul Jidelna1 (warm dim 0.4) + OFF Led pasek postel (sleep nightlight deactivace). Motion branch teď symetrická s alarm/fallback. Live test 7/7 PASS.

2026-04-26 FIX

UUID re-pair orphans — silent fail

Door/Window Sensor Jidelna1 dostal nové UUID po výměně baterky. Tři flows osiřely, čistička se nevypínala při otevření okna. Diagnose + bulk swap fix. Memory entry pro budoucnost.

2026-04-21 FIX

Cold-start anti-cycling bug — heating

Kotel sepnul jednou, vypnul, pak nikdy víc. Anti-cycling guard držel hold_off_180s_left forever kvůli NaN propagation. Defensive coding gone wrong, fix v1.2.

2026-04-29 ROADMAP

Release Governance V2 — plánovaná etapa

Canary deploys (1 zóna na 24h před plošným nasazením), auto-rollback při score < 80, sanity checks před PUT (přečíst flow tree, validate DAG, simulate edge cases), drift gates (Brain Guardian musí dovolit). Backlog Q3 2026.

2026-04-29 ROADMAP

Predictive Heating · ML model

Plán pro 2026/2027: anomaly detection na event sequences, predikce occupancy, integrace electricity tariff (NT/VT) do scheduler decision. Aktuálně rule-based scheduler s 3 AI vrstvami (preWake / weather / occupancy bonus).

Long-form posts

Hlubší články

Vybrané build log entries rozepsané do plnohodnotného článku — případové studie, hypothesis ladders, root cause analysis.

SOON

Připravuje se

Brain Guardian V1 — supervisor v ostrém provozu

Jak vznikla meta-vrstva nad celým smart home systémem a co první týden provozu odhalil.

SOON

Připravuje se

Heating Fáze C — AI vrstvy nad topením

preWakeBoost, weatherAdjust, occupancyBonus. Topení, které předvídá a šetří podle obsazenosti místností.