Přeskočit obsah

Závlaha

Přehled

11 nezávislých okruhů napájených ze studny, spínaných modbus relé. Max 1 okruh současně (limit studny). Mezi okruhy 10min pauza na regeneraci vodního sloupce.

Skupiny podle typu:

Skupina Okruhy Typ
Trávníky 2, 3, 8, 9, 12 Sprinklery
Kapky 1, 5, 10, 11 Kapková závlaha
Stromy 7 Kapky pro stromy
Záhony + skleník 6 Záhony spolu se sklenikem — vlastní automation, ignoruje déšť

Řízení

Každý okruh má dva helpery v Home Assistant:

  • input_boolean.zavlaha_okruh_N_povolen — zapíná/vypíná okruh pro plánované i manuální sekvence
  • input_number.zavlaha_doba_{travnik,kapky,zahony,stromy,test} — doba běhu v minutách, společná pro celou skupinu (stromy mají od 2026-06 vlastní dobu, oddělenou od záhonů; test = délka testovacího cyklu po zapnutí helperu)

Ovládání je přes dashboard Zahrada (dashboards/zahrada.yaml).

Test okruhu

Když uživatel přepne input_boolean.zavlaha_okruh_N_povolen z off → on, automation zavlaha_test_okruh spustí daný switch na dobu danou input_number.zavlaha_doba_test (default 2 min). Pokud uživatel během testu přepne další boolean, předchozí se vypne a pustí se nový (mode restart). Před každým testem se preventivně vypnou všechny závlahové switche — ochrana před zůstalým stavem po přerušeném běhu. Test se nespustí, pokud právě běží plánovaná ranní nebo večerní sekvence.

Plánované sekvence

Frekvenci řídí vodní bilance (viz Jak systém rozhoduje), ne pevný kalendář.

Automation Čas Podmínky Co spouští
zavlaha_vyhodnoceni_bilance 04:00 Přepočte obě vodní bilance z Open-Meteo (nezalévá)
zavlaha_zahony_rano 04:30 Duben–říjen Záhony + skleník (okruh 6) — krytý, vždy
zavlaha_rano 05:00 Duben–říjen, deficit přes práh (slider, default 4 mm); dešťové veto jen pod 30 °C Trávníky + kapky + stromy
zavlaha_zahony_vecer 20:30 Duben–říjen, ET0 dnes > 4 mm (horký den) Záhony + skleník (okruh 6)

Open-ground jen ráno. Trávníky, kapky a stromy se zalévají výhradně ráno — mokré listy přes noc = houbové choroby. Bývalá večerní sekvence zavlaha_vecer je vypnutá (zakomentovaná v automations.yaml); to byl přesně ten běh, co po bouřce 20.6.2026 lil do kaluží. Jediný povolený večerní běh je skleník (kapka → bez rizika), a jen v horké dny.

Záhony + skleník (okruh 6) zvlášť. Skleník je krytý → déšť na něj neprší → potřebuje zálivku každý den v sezóně (ráno 4:30), plus druhou dávku večer (20:30) jen ve dnech s vysokým výparem. Má vlastní vodní bilanci skleník (počítá jen výpar, déšť ignoruje). Časově mimo hlavní okno — neperou se o studnu.

Ranní sekvence jede trávníky → kapky → stromy; po doběhnutí se bilance plochy resetuje na 0.

Skripty

  • script.zavlaha_spust_okruh — interní helper. Parametry: okruh (switch), povolen (input_boolean), doba_helper (input_number), pauza_po (bool, default true). Pokud je povolen: off, přeskočí celý blok včetně pauzy.
  • script.zavlaha_sekvence_rano, script.zavlaha_sekvence_vecer — volají zavlaha_spust_okruh pro každý okruh v daném pořadí. Poslední okruh v sekvenci má pauza_po: false. Okruh 6 (záhony+skleník) v těchto sekvencích není — má vlastní automations.

Definice: scripts.yaml.

Senzory a zdroj počasí

Řízení nepoužívá žádná lokální čidla — vše z Open-Meteo (free API, bez klíče, souřadnice z zone.home):

  • sensor.zavlaha_et0_dnes — referenční evapotranspirace (FAO-56, mm/den) = kolik vody se dnes odpaří. Má v sobě teplotu, radiaci, vlhkost i vítr.
  • sensor.zavlaha_srazky_dnes / _vcera / _zitra — naměřené (včera/dnes) a hlášené (zítra) srážky v mm.
  • input_number.zavlaha_bilance_plocha / _sklenik — vodní bilance v mm (viz níže).
  • sensor.zavlaha_max_teplota_dnes — max teplota (met.no), informativní.
  • binary_sensor.zavlaha_predpoved_desteinformativní (ikona na dashboardu). Už není brána — nahradila ji vodní bilance.

Definice: rest.yaml (Open-Meteo), template.yaml (teplota).

Jak systém rozhoduje

Funguje jako vodní bilance (kbelík v mm). Každý den ve 4:00 (zavlaha_vyhodnoceni_bilance) se přidá čistá změna za včerejšek (plně naměřený):

bilance += spadlý déšť včera − odpar (ET0 × kc) včera, ořez na ⟨−50, strop⟩ mm (strop = slider, default 10 mm pro otevřenou plochu; skleník má strop pevně +20).

Záměrně včerejšek, ne dnešek — dnešní hodnoty jsou z velké části předpověď a odpolední déšť by minuly. Hlášený déšť (dnes/zítra) se uplatní jen jako veto v ranní bráně (zavlaha_rano nezalévá, když se na dnešek nebo zítřek čeká ≥ 5 mm), ne v bilanci.

Výjimka — horko: když je předpověď max teploty > 30 °C, dešťové veto se vypne a rozhoduje jen bilance (= naměřený déšť). Důvod: ve vedru je cena za chybný skip (předpověď slíbí déšť, ale mine — Open-Meteo to umí) vysoká — zakořeňující trávník by zbytečně 2–3 dny schnul. Pod 30 °C veto platí dál (šetří vodu a chrání před přemokřením, když fakt zaprší na chladnější půdu).

  • Záporná = deficit (sucho) → ráno se zalévá. Kladná = vlhko → přeskočí. Po zálivce se resetuje na 0.
  • Vydatný déšť vyšponuje bilanci na strop → systém přirozeně přeskočí několik dní, než to výpar stáhne zpět do deficitu. Tím se neopakuje incident z 20.6. (zálivka do kaluží po bouřce).
  • Frekvence vzniká sama: parno → velký výpar → deficit rychle → zalévá ~denně; chladno/zataženo → malý výpar → řidčeji (chrání podmáčená stínná místa); déšť → skip.
  • Práh deficitu (jak hluboko smí vyschnout, než zaleje) je slider na dashboardu Zahrada — input_number.zavlaha_prah_deficit (default 4 mm; menší = častěji, větší = řidčeji).
  • Strop bilance (kolik "kreditu" po dešti smí bilance nahromadit) je taky sliderinput_number.zavlaha_bilance_strop (default 10 mm pro otevřenou plochu; nižší = kratší pauza po vydatném dešti). Je to zástupný proxy za vsak/gravitační redistribuci, kterou model jinak nepočítá — model má jen výpar jako ztrátu. Skutečný hluboký vsak je u nás nespolehlivý (nepropustný jíl ~40 cm pod povrchem, proto sklon k podmáčení), takže samostatný odtokový člen nedává smysl; nižší strop dělá podobnou práci jednodušeji. Nižší hodnota se hodí pro mladý/mělce zakořeněný trávník v létě (méně rizika, že bilance "sedí" kladná moc dlouho).
  • Koeficient kc (plocha 0,8 / skleník 1,0) je natvrdo v zavlaha_vyhodnoceni_bilance.

Když to nefunguje (troubleshooting)

  • Nezalévá, i když je sucho: porovnej input_number.zavlaha_bilance_plocha s prahem input_number.zavlaha_prah_deficit. Když je bilance nad −prahem (např. ≥ −4), systém čeká — buď nedávno naměřeně pršelo (Open-Meteo to vidělo), nebo je pod 30 °C a na dnešek/zítřek se čeká ≥ 5 mm deště (veto). Možnosti: sniž práh sliderem (zalévá častěji), nastav bilanci ručně níž v UI, nebo zalej okruh ručně (přepnutí jeho input_boolean off→on = krátký test).
  • sensor.zavlaha_* ukazují unavailable: Open-Meteo je nedostupné. Bilance drží poslední hodnotu a zalévá dál podle ní; po obnovení se samo srovná.
  • Zalévá moc/málo vody (ne četnost): to není o bilanci, ale o délce dávky — uprav input_number.zavlaha_doba_* na dashboardu Zahrada. Kotva: ~10 min bylo osvědčené; pozor na podmáčení (jíl ~40 cm pod povrchem špatně odvádí vodu).

Přidání nebo odebrání okruhu

  1. Přidat / odebrat switch v modbus/ konfiguraci
  2. Přidat / odebrat input_boolean.zavlaha_okruh_N_povolen v input_boolean.yaml
  3. Přidat / odebrat volání script.zavlaha_spust_okruh v ranní a večerní sekvenci v scripts.yaml (pozor: okruh 6 do sekvencí nepatří — má vlastní automations v automations.yaml)
  4. Přidat / odebrat položku v dashboardu Zahrada

Plánované rozšíření

  • Zigbee soil moisture senzor (sensor.0xa4c138ab75d4dfcc_soil_moisture) jako podmínka — nezavlažovat pokud je země už vlhká.
  • Zigbee dešťový senzor pro okamžité přerušení běžící sekvence.