🏠 Prožívání · Topení a klima

Topení které předvídá a šetří

Elektrický kotel 9 kW, čtyři zóny s vlastním týdenním rozvrhem, tři režimy a tři AI vrstvy. Místo termostatu na zdi rozhoduje skript každé dvě minuty — podle toho, jestli zrovna spím, kolik je venku stupňů, a jestli za půl hodiny zazvoní budík.

4Topné zóny
9 kWPříkon kotle
3Režimy
41Proměnných

Co to dělá

Topení které není jen termostat

V každé místnosti je vlastní termoradiátorová hlavice — jídelna, ložnice, koupelna, toaleta — a každá má svůj týdenní rozvrh. Jiné teploty ráno, jiné přes den, jiné v noci. Kotel se ale nezapíná podle časovače: zapíná se, když některá ze zón klesne pod požadovanou teplotu o víc než půl stupně, a vypíná když přesáhne cíl o desetinu.

Nad rozvrhem fungují tři AI vrstvy. Pre-wake boost rozehřeje koupelnu pět až třicet minut před budíkem. Weather adjust přidá stupeň navíc, když venku spadne pod -5 °C. Occupancy bonus přihodí půl stupně tam, kde právě někdo je. Vše s globálním stropem ±3 °C, aby se AI nezbláznila a netopila do přesvědčení.

A tři režimy: AUTO (rozvrh + AI), RUČNÍ (jen rozvrh, žádné chytrosti) a VYPNUTO (anti-freeze 7 °C). Přepínání jedním tlačítkem na dashboardu.

Heating stránka v dashboardu — master toggle, 4 zóny, kotel runtime + kWh dnes
Heating stránka v dashboardu — master toggle, 4 zóny, kotel state + runtime + kWh dnes

Denní provoz

Jak to vypadá v běžný den

Čtyři fáze, čtyři chování — všechno autonomní, žádný termostat na zdi.

  1. 02:45

    Ranní pre-boost

    Třicet minut před budíkem (3:15 v týdnu, 5:15 o víkendu) zvedne koupelna o +2 °C. Toaleta o +1 °C v okně 5–15 min před. Cíl: ráno vstoupit do teplé místnosti, ne do studené.

  2. 05:00

    Den běží

    Schedule slot „comfort" — jídelna 21 °C, ložnice 19 °C, koupelna 22 °C, toaleta 18 °C. Kotel sepne každou chvíli na 5–15 min podle ztráty tepla v místnosti. Hystereze drží swing v 0,6 °C pásmu.

  3. 22:00

    Noční tlumení

    Schedule přepne na night slot — jídelna 18 °C, ložnice 17 °C (chladnější pro spánek), koupelna 19 °C, toaleta 16 °C. Sleep manager mezitím zruší případný boost preset, který by mohl běžet z dřívějška.

  4. Trvale

    Zimní kompenzace

    Když venku spadne pod -5 °C, weather layer přidá +1 °C ke všem zónám. Když je nad 15 °C, naopak ubere -0,5 °C. Reaguje na předpověď z OWM, ne až ex post podle vnitřního čidla.

Scény

Pět akcí, pět tlačítek

Některé spustí presence detection nebo budík, jiné jdou ručně z dashboardu.

Odjíždím

Geofence detekuje výjezd → preset = away → všechny zóny shodí na 16 °C. Návrat domů automaticky vrátí home preset z aktuálního schedule slotu.

Boost 30 min

Tlačítko „mám zimu" — okamžitě +2 °C na 30 min v aktuální zóně. Po expiraci se sám vrátí k schedule slotu, žádné ruční vypínání.

Jdu spát

Sleep brain pošle signál → preset boost se zruší (kdyby zrovna běžel), schedule night slot převezme řízení. Žádné explicitní „shoď topení".

Pre-wake

Závisí na alarm time z mobilu. Koupelna se předehřívá v okně 5–30 min před, toaleta 5–15 min. O víkendu posun na 5:15 podle dayOfWeek.

Vypnu vše

Mode = off, anti-freeze 7 °C. Kotel zapne jen když by reálně hrozilo zamrznutí trubek. Pro dovolenou nebo dlouhý odjezd v zimě.

Hardware

Co reálně topí

Jeden kotel, jedno relé, jeden stykač, čtyři termo hlavice. Plus jeden plánovaný měřák.

Protherm RAY 9 KE

Elektrický kotel · 9 kW · 3-fázový

Hlavní zdroj tepla. Modulovaný výkon 3 / 6 / 9 kW dle požadavku. V zimě běží v 4hodinových oknech denně cca 30–60 min/h, v přechodu jen 5–15 min/h. Stará škola, ale spolehlivá.

Fibaro FGS-214

Z-Wave Single Switch · 8 A relé

Spíná cívku stykače (~5 W zátěž), ne kotel přímo. Čisté oddělení řídicího signálu od silových fází. Bezpečnější než pouštět 9 kW přes spotřební relé. Jediný kus, co Homey přímo ovládá.

ABB ESB 24-40

Stykač · 24 A / 3~400 V · 230 V cívka

Tichý stykač co skutečně spíná silové fáze kotle. Kdyby přestala relé fungovat, žádný teplotní problém — jen zvuk cvaknutí navíc. Klasická průmyslová elektroinstalace, ne spotřební elektronika.

4× Fibaro FGT-001

Termoradiátorové hlavice · Z-Wave

Per-zóna regulace toku do radiátoru. Vlastní teplotní senzor, vlastní schedule. Když je „toaleta 18 °C" splněno, hlavice ventil přivře, i kdyby kotel ještě jel. Bateriově napájené, výměna ~ročně.

Shelly 3EM Plánováno

3-fázový měřák · CT clamp · Wi-Fi

Reálný odečet kWh ze tří fází kotle. Aktuálně počítáme runtime × příkon (přesnost ~95 % protože kotel vnitřně moduluje 3/6/9 kW), s 3EM dostaneme přesnou spotřebu kotle bez odhadu.

Pro tech-savvy

Co se děje pod kapotou

Skripty, hystereze, AI vrstvy a safety guards — pro ty, co chtějí detail.

Tři skripty co řídí topení
  • sh_heating_scheduler_v1 (cron 5 min) — čte JSON schedule per zónu, najde aktuální slot dle weekday + hour:min, aplikuje preset (home / away / boost / override) a tři AI vrstvy. Píše sh_heating_zone_<z>_target_temp.
  • sh_heating_demand_v1 (cron 2 min) — porovná current vs. target každé zóny, rozhoduje on/off s anti-cycling guards. Zapisuje sh_heating_boiler_request a inkrementuje runtime_today_s pro kWh estimate.
  • sh_heating_boiler_executor_v1 (trigger: boiler_request changed) — setCapability na FGS-214. Pokud device nedostupný, padne do simulation mode (jen logging, žádné fyzické sepnutí).
State-aware hystereze (proč kotel netluče každé 2 min)

Naivní termostat: zapni když curr < target, vypni když curr > target. Důsledek: cyklus zap/vyp každé dvě minuty. Místo toho:

  • Když je kotel OFF: zapne až když curr < target − hyst_cold (default 0,5 °C)
  • Když je kotel ON: vypne až když curr ≥ target + hyst_warm (default 0,1 °C)
  • Výsledný swing: pro target 22 °C reálně 21,5–22,1 °C (0,6 °C pásmo)
  • Anti-cycling guards: min runtime 5 min, min off-time 3 min
  • Safety cap: max runtime 4 h v kuse → forced off + alert
  • Anti-freeze emergency: jakákoli zóna < 7 °C → forced on, override všech ostatních pravidel
AI vrstvy (preWakeBoost, weatherAdjust, occupancyBonus)

Tři opt-in vrstvy nad baseline schedule. Každá vrátí delta v °C, sčítají se s globálním cap ±3 °C. Vstup pro vrstvy je cached ctx (počasí, presence, alarm time, sleep state).

  • Layer 1 preWakeBoost: koupelna +2 °C v okně 5–30 min před budíkem, toaleta +1 °C v okně 5–15 min. Alarm time z cfg (sh_cfg_heating_wake_weekday_min = 195 = 03:15, _weekend_min = 315 = 05:15).
  • Layer 2 weatherAdjust: outdoor < -5 °C → +1 °C, outdoor > 15 °C → -0,5 °C. Čte z global ctx (Open Weather Map, refresh každých 15 min).
  • Layer 3 occupancyBonus: aktivní zóna (motion age < 600 s) → +0,5 °C. Mapa: jidelna ↔ open_space, loznice ↔ bedroom, koupelna ↔ bathroom, toaleta ↔ toilet.

Master switch sh_cfg_heating_ai_enabled = 'yes' (default no, backward compat).

kWh estimate (runtime × příkon)

Demand cron každé 2 minuty inkrementuje sh_heating_runtime_today_s += 120 s když boiler_state = on. Půlnoční reset kopíruje runtime do runtime_yesterday_s a nuluje today counter.

kwh_today = (runtime_today_s / 3600) × kotel_kw. Přesnost ~95 %, protože kotel interně moduluje stage 3 / 6 / 9 kW podle teploty vody. Real measurement čeká na Shelly 3EM (CT clamp na 3 fáze v rozvaděči).

41 proměnných ve čtyřech skupinách
  • Master (7): mode, preset, boiler_state, boiler_request, boiler_since_ts, demand_count, last_scheduler_ts
  • Runtime (3): runtime_today_s, runtime_total_s, runtime_reset_date
  • Config (12): hystereze (cold / warm), anti-cycling (min runtime / off-time), safety cap (max runtime), AI toggles, defaults pro away preset, …
  • Per zóna × 4 (24): enabled, current_temp, target_temp, manual_override_temp, manual_override_until_ts, schedule (JSON)