Totul a pornit de la un programator Hunter cu 2 zone care funcționa de ani buni. Simplu, not smart, fiabil — dar limitat. Când am avut nevoie de încă două zone (picuratoare) și de control pe WiFi, l-am înlocuit cu un switch Tuya de 4 canale cumpărat cu sub 100 RON de pe aliexpress. A mers excelent.

Între timp a apărut nevoia de o a cincea zonă — inca un un picurator pe grădină — rezolvată cu un Sonoff SWV-BSP, o electrovalvă inteligentă pentru apă cu Zigbee 3.0 integrată în HA prin Zigbee. Tocmai când credeam că e gata, s-a stricat un Iritrol Life DC de la aspersoarele din fata casei: consuma bateria în 1-2 săptămâni, indiferent ce faceam. Soluția: am tras fir, am schimbat solenoidul și l-am conectat la o priză smart. Zona 6 e pregătită în cod, așteptând switch-ul fizic definitiv.

Trei lumi diferite — Tuya WiFi, Zigbee 3.0 și o priză smart — fără nicio legătură între ele la nivel de protocol. Exact genul de situație în care Home Assistant strălucește: le unești pe toate într-un singur sistem, cu logică comună.

Dar automatizarea de bază — pornește zona X la ora Y — e banală. Ceea ce m-a interesat a fost să adaug valoare reală: știam din măsurători că apersoarele mele dau 0.4 L/m²/minut. De acolo a venit ideea: dacă știu debitul și știu temperatura prognozată, pot calcula exact cât trebuie să ud și pot ajusta duratele automat la începutul fiecărei săptămâni sau luni.

Hardware folosit

Setup-ul fizic e deliberat ieftin și simplu:

  • Tuya TYWB 4ch-RF — controlează zonele 1–4: Gazon Paul, Gazon Anca, Lateral Grădina, Copacii. Input AC/DC 7-32V/USB 5V, 10A per canal, 16A total, WiFi 2.4GHz + Bluetooth + 433MHz RF. Integrat în HA prin integrarea Tuya nativă.
  • Sonoff SWV-BSP — Electrovalvă inteligentă pentru apă, Zigbee 3.0 — zona 5, picuratorul din grădiniță. Controlează direct fluxul de apă, integrată în HA prin Zigbee.
  • Priză smart (zona 6, placeholder) — pentru Iritrol-ul stricat: solenoid nou pe 24vAC, fir tras, priză smart până la o soluție mai elegantă.

Total hardware pentru 5 zone active: sub 200 RON. Programatorul Hunter original costa mai mult și nu putea face jumătate din ce face sistemul actual. Cel iritrol life dc… 2 zone… doar 900 lei.

Arhitectura în Home Assistant

Sistemul folosește Irrigation Unlimited (HACS) ca motor de control al zonelor — nu pentru schedule-urile lui native, ci pentru comenzile manual_run și cancel pe care le apelează automatizările HA.

De ce această abordare și nu schedule-urile native IU? Pentru că avem nevoie de durate dinamice — calculate în funcție de temperatură și debit — care se schimbă săptămânal. Schedule-urile IU sunt statice prin natură. Automatizările HA cu manual_run permit transmiterea duratei calculate la momentul rulării.

ha-irigatii/
├── packages/
│   └── irigatie.yaml        # Entități, automatizări, senzori
└── lovelace/
    └── irigatie_dashboard.yaml  # Dashboard cu 3 pagini

Zonele de irigații

NrZonăHardwareStatus
1Gazon PaulTYWB 4ch-RF canal 1Activ
2Gazon AncaTYWB 4ch-RF canal 2Activ
3Lateral GrădinaTYWB 4ch-RF canal 3Activ
4CopaciiTYWB 4ch-RF canal 4Activ
5Picurator GrădinaSonoff SWV-BSP Zigbee 3.0Activ
6Irigații Față CasăPriză smart (Iritrol reparat)Pregătit, dezactivat

Zona 1 are două durate configurabile: normală și caniculă — mai lungă, activată automat când prognoza indică ≥3 zile cu maxime de peste 30°C în săptămâna următoare.

Planificarea automată

Fiecare zonă are o automatizare de schedule zilnic cu mai multe moduri selectabile din interfață:

  • Zile fixe — Lun+Joi, Mar+Joi+Sâm, Lun+Mie+Vin sau zilnic
  • Interval — o dată la X zile, bazat pe data ultimei irigări stocate în input_datetime
  • Dezactivat — oprire completă a schedule-ului pentru zona respectivă

Modul Interval e util pentru zone ca picuratorul sau copacii — nu au nevoie de ritmicitate fixă, ci de un interval minim între udări.

Bilanțul hidric — de unde vine valoarea reală

Acesta e miezul sistemului. Știind că gazonul consumă 0.4 L/m²/minut (măsurat cu testul casoletei — pui o cutie pe gazon în timpul irigării și măsori câți mm s-au acumulat în X minute), poți calcula exact cât udă sistemul per săptămână și cât ar trebui să ude în funcție de temperatură.

Formula necesarului e deliberat simplă:

necesar_saptamanal [L/m²] = temperatura_medie_maxime_7_zile [°C]

Calibrare: la 30°C medii → 30 L/m²/săptămână. E o aproximare, dar una care funcționează în practică — temperatura maximă e cel mai bun proxy simplu pentru evapotranspirație fără senzori de umiditate sol.

Zilnic la 07:00, o automatizare apelează weather.get_forecasts (Met.no, integrat nativ în HA) și calculează media maximelor zilnice pe 7 zile. Duminică seara la 21:00, verifică dacă săptămâna viitoare are caniculă (≥3 zile cu maxime ≥30°C).

Procentul acoperit — câte procente din necesarul calculat e acoperit de programul curent — e afișat în dashboard cu un gauge 0–150% per zonă de gazon.

Auto-ajustarea duratelor

Pasul următor față de simpla afișare a bilanțului: sistemul recalculează automat duratele de irigare la frecvența configurată (săptămânal, la 2 săptămâni sau lunar) pentru a menține bilanțul la ~100%.

durata [min/sesiune] = temperatura_medie_maxime / sesiuni_pe_sapt / debit_L_mp_min

Exemplu — Gazon Paul la 28°C, Lun+Joi, debit 0.4:
  → 28 / 2 / 0.4 = 35 min/sesiune

La 20°C:
  → 20 / 2 / 0.4 = 25 min/sesiune

Duratele au clamping per zonă (gazonul între 1–59 min, copacii între 5–120 min, picuratorul între 5–180 min) și pot fi activate/dezactivate individual per zonă. Zona 1 calculează și durata de caniculă cu un factor ×1.3.

Rezultat practic: vara, când temperaturile cresc, duratele cresc automat luni dimineața fără nicio intervenție manuală. Toamna, scad.

Dashboard-ul — 3 pagini responsive

Construit cu custom:layout-card și custom:button-card (HACS), responsive pe desktop, tabletă și telefon:

  • Pagina 1 — Control: butoane Start/Stop per zonă, timp total azi, toggle caniculă, grafic activitate ultimele 48h
  • Pagina 2 — Bilanț Hidric: gauge per zonă de gazon, deficit sau exces față de necesar
  • Pagina 3 — Configurare: ore start, durate, program, interval, debit măsurat, toggle auto-ajustare per zonă

O notă tehnică: today_duration din Irrigation Unlimited trackează doar sesiunile din schedule-urile native IU. Deoarece sistemul folosește manual_run din automatizări HA, today_duration rămâne 0. Soluția: senzori history_stats care citesc direct din istoricul HA, indiferent de modul de pornire al zonei.

Instalare rapidă

  1. Instalează din HACS: Irrigation Unlimited, button-card, layout-card
  2. Copiază packages/irigatie.yaml în <config>/packages/
  3. Activează packages în configuration.yaml: homeassistant: packages: !include_dir_named packages
  4. Înlocuiește entity ID-urile switch-urilor cu ale tale în secțiunea irrigation_unlimited:
  5. Restart complet HA (nu doar reload — input_number cu mode: box necesită restart)
  6. Calibrează debitul cu testul casoletei și setează input_number.zona_N_litri_mp_minut

Ce urmează

Compensare precipitații — datele sunt disponibile din același weather.get_forecasts (atributul precipitation per zi). Formula ar deveni necesar_ajustat = max(0, necesar - precipitatii_prognozate_mm). Dacă plouă marți, sistemul scade automat durata de joi.

Notificări push — când bilanțul hidric scade sub 70%, când caniculă se activează automat sau când auto-ajustarea modifică o durată cu mai mult de 10 minute.

Zona 6 (Gazon Față Casă) e deja pregătită în cod — entități, automatizări, bilanț hidric — dar dezactivată (enabled: false) până când switch-ul fizic e instalat.

Asta e primul meu proiect / repo pe Github aici: ha-irigatii

Pământul gol arata deprimant asa ca ne-a venit ideea sa punem iarbă. În fața casei și pe lateral am zis că punem noi semințe de iarbă și ce iese… iese. Udăm zilnic manual că-i suprafața mică, dacă iese – bine, dacă nu iese… iară bine. A ieșit fără probleme, e deasă, parcă prea deasă, e verde, parcă prea verde…

Mai avem nevoie și de iarbă!

A trebuit să facem la fel și in “curte”, dar acolo am zis sa intram și noi in civilizație cu aspersoare, sa valorificam puțul de care v-am povestit. Am mers pe o recomandare și am primit niște costuri enorme dar cel puțin oferta de materiale a fost detaliata frumos într-un excel + schema sistemului:

  • 5000 lei sistemul de aspersoare cu programator fără cămin pentru put, fără pompa submersibila (sistemul era rainbird, 4 aspersoare seria 3500, 2 seria 1800, programator – cu wifi, senzor ploaie)
  • 500 + 500 cămin si pompa submersibila
  • Plata manopera pentru băieții care executau lucrarea (nu se știe cât, dădeam și noi cat credeam de cuviință)
  • Alte costuri ascunse (ca de obicei apar, mai 100 de ron pe te miri ce, mai 500 de ron pe altceva…

Totalul ajungea la minim 6000 lei doar cu ce udăm. Ce udăm, in cazul nostru iarba (sămânța sau rulou) mai costă încă 5 euro / mp cu tot cu manoperă.

Am trecut mai departe, pentru că nu cred ca merita suma de diri-dari cerută. Am mers pe o altă recomandare de la un vecin: vorbiți cu Mr. Hornflower, e ok dar trebuie sa-l păziți când muncește pentru că… De parcă un cubanez care a venit de la bloc poate să își dea girul pe o lucrare… poate să zică e ok sau nu. Am vorbit cu Mr. Hornflower, a venit, a văzut, am vorbit de bani:

  • 1500 lei – manopera și materiale pentru sistemul de aspersoare (6 aspersoare ca mai sus, programator (unu comun pt 2 curti, cost impartit la 2), electrovana (mai era una pe curtea vecina), presostat, supapa de sens. In banii ăștia a săpat șanțurile, a pus țeava, fitinguri și in capu’ lor aspersoarele + un circuit separat de la pompa la o cișmea, sa poți folosi puțul și pentru chestii casnice.
  • 350 lei pompa submersibila, ceva de la bricostore, 2.4mc/h
  • 700 lei cămin pentru put și acareturi
  • restul pana la 3200 de lei a fost însămânțarea pământului + lucrarea cu moto-sapa, să omoare buruienile și să afâneze pământul, plus sămânțarea cu niște semințe speciale, pe care le are el, un amestec meseriaș de iarba rezistentă, sport cu nu mai știu ce fir floc…

Sistemul lu’ asta trebuia să fie integral rain-bird. Așa am agreat, rainbird, rain-bird-for-the-win! După ce bați palma cu omu… restul e doar poveste. Totul o sa fie bine! O sa fie iarbă, o sa fie super.

Acum începe povestea, începem să ne dăm seama de micile mizerii (păcăleli țepoase):

  • aspersoarele erau murdare de pământ înainte sa le monteze, nu au venit ambalate specific și nu aveau duzele cu care vin in set – deci SH
  • 3 aspersoare au fost rainbird 3500, unu a fost altceva… (dar tot rotativ cu 1/2)
  • un aspersor nu avea duza de jet
  • cele 2 aspersoare fixe (gen rainbird 1800) – unu era hunter, unu era rainbird, si aveau duze 12A de la hunter 🙂
  • Controller-ul a fost si ala tot Hunter…
  • electrovanele fie au fost stricate, fie le-a stricat el că le-a montat invers (le-a inlocuit/reparat, idc/idk)
  • Țeava de cișmea nu funcționa, era înainte de presostat și nu pornea pompa că nu simțea consum, a modificat și a pus după presostat cu i-am spus.
  • instalația de aspersoare se încarcă și ajunge la presiune maximă destul de greu, înainte să-i dea blana băltește pe lângă ele… probabil ca se golește instalația prin 2 aspersoare care sunt mai jos (teren în o ușoară panta)
  • Pregătirea pământului a fost deficitară, nu a pregătit în nici un fel substratul însămânțat. Au rămas bolovani la suprafață, munți și văi în care apa băltește.
  • A aruncat semințele și a tăvălugit peste bolovani… la prima ploaie ne-am dat seama ca nu a nivelat cum trebuie, că nu a ținut cont de cerința noastră.

Vy0r3l este unul din micii găinari (țepari) de pe piața de servicii, încearcă să ciupească câteva sute de lei prin artificii demne de #muiepsd. Mai apare câte un cost de care a uitat – gen pietriș de balast 200ron, nu avea scândură sa facă căminul de puț, capacul nu intra în preț, semințele folosite au fost jumătate “alea speciale” – jumătate de la hornbach, materiale SH (aspersoare, electrovane). Oamenii cu care a venit la lucrare au venit 1 data nebăuți dar au băut până au terminat de lucrat, odată a venit ciupiți rău, altădată neciupiți dar s-au rezolvat pana au terminat treaba. El este omul care nu are recomandări de la clienți pe grupul de care povesteam în prologul seriei de cubanezi de oraș ajunși la curte.

Nu merge ieftin, bun si rapid. Aici doar a fost ieftin comparat cu prima ofertă. Dai un ban dar știi că face! Dai un ban și stai in față!