--- name: orto-irrigazione description: Design multi-zone irrigation system with baseline scheduling and automation logic. Use when: (1) defining water zones by crop water-need class, (2) calculating daily water requirements (ET, Kc coefficients), (3) specifying emitters and sensor placement, (4) writing baseline watering schedules and meteo-triggered rules. Outputs: Irrigazione system config (markdown) with zones, emitters, baseline schedule, soil sensor thresholds, meteo decision rules. --- # Orto Irrigazione — Multi-Zone Irrigation System Design Design irrigation zones, baseline schedule, and automation rules based on crop water needs, soil, and weather. ## When to Use This Skill - **After orto-layout:** Crop assignment to beds/zones is known - **System planning:** Define infrastructure (emitters, zones, sensors, controls) - **Baseline schedule:** Calculate daily water needs and watering frequency - **Automation:** Define soil moisture triggers + meteo override rules ## Process ### Phase 1: Water-Need Classification from Crops **Map crops → water class (from colture_it.md):** ``` BASSO: Carota, Cipolla, Spinacio, Pisello, Aglio (~100-150 mm/season) MEDIO: Lattuga, Cavolo, Broccoli, Fagiolo (~150-250 mm/season) ALTO: Pomodoro, Peperone, Zucchina, Melone, Cocomero (~300-500 mm/season) MOLTO_ALTO: (Rare; non tipici orto domestico) ``` ### Phase 2: Infer Zones from Layout **Input:** `dati/layout/aiuole_dimensioni.md` (zone + crop assignment) **Example:** ``` Zone A1 (15 m²): Pomodoro (ALTO) + Basilico (MEDIO) → Zone ALTA Zone A2 (15 m²): Cavolo (MEDIO) + Lattuga (MEDIO) → Zone MEDIA Zone A3 (20 m²): Carota (BASSO) + Cipolla (BASSO) → Zone BASSA ``` ### Phase 3: Calculate Baseline Water Needs **Formula (simplified):** ``` Daily water need (mm) = ET0 × Kc × Area_fraction Where: - ET0 (ref evapotranspiration) = climate-based (lookup from zone) - Kc (crop coefficient) = 0.4-1.2 (depends crop growth stage) - Running frequency = Daily need / Emitter rate Example (Zone ALTA, July, North Italy): - ET0 ≈ 6 mm/day (summer peak) - Kc (Pomodoro, mid-season) ≈ 0.9 - Daily need ≈ 6 × 0.9 = 5.4 mm/day - If drip emitter 2 l/h spaced 0.5m = ~4 mm/h per m - Runtime ≈ 5.4mm / 4mm_per_h ≈ 1.3h ≈ 80 min/day - Frequency: 1x daily or split 2x (morning/evening in heat) ``` ### Phase 4: Define Zone Infrastructure **For each zone, specify:** | Parameter | Zone BASSA | Zone MEDIA | Zone ALTA | |-----------|-----------|-----------|----------| | **Emitter type** | Dripper (0.5-1 l/h) | Dripper (1-2 l/h) | Dripper (2-4 l/h) + microsprayer | | **Spacing** | 0.75m | 0.5-0.75m | 0.4-0.5m | | **Baseline runtime** | 20-30 min | 40-60 min | 60-90 min | | **Frequency** | 2-3x/week | 3-4x/week | 4-6x/week | | **Soil sensor** | Optional | Optional | Recommended | | **Sensor threshold (soil %)** | 40% VWC | 50% VWC | 60% VWC | ### Phase 5: Outline Automation Logic **Baseline rule (if no sensor):** ``` Zone ALTA (Pomodoro): - June-July: Daily 7am + 5pm (split due heat) - August: Daily 6am + 6pm - Pre-frost (Oct): Skip if rain > 5mm in 24h ``` **With soil sensor:** ``` Zone ALTA: - IF soil_moisture < 60% VWC AND (no rain last 24h) → Irrigate 60 min - IF soil_moisture > 70% VWC → Skip - Override: IF air_temp > 35°C → Irrigate anyway (heat stress) ``` **Meteo override (from orto-meteo-decisioni):** ``` - IF rain_forecast > 10mm in 24h → Skip 24h - IF frost_alert → Move irrigation to morning (root protection) - IF wind_alert → Suspend sprayers (only drip) ``` ### Phase 6: Output Sistema Irrigazione Config **File:** `dati/irrigazione/sistema_irrigazione.md` ```markdown # Sistema Irrigazione — [ORTO_ID] **Area totale:** [AREA] m² **Acqua disponibile:** [SOURCE] — [PORTATA] l/min **Vincoli:** [CONSTRAINTS_FROM_ONBOARDING] **Automazione:** [LEVEL] --- ## Zone Irrigue ### Zona ALTA (A1 — Pomodoro, Basilico) **Colture:** Pomodoro (ALTO) + Basilico (MEDIO) **Area:** 15 m² **Sole:** Pieno (6-8h) **Emitters:** - Tipo: Dripper 2 l/h + microsprayer 4 l/h (angoli) - Spacing: 0.4m - Numero emitters: ~40 drippers **Layout:** ``` [A1 Pomodoro — Area 15 m²] Drip line 1 ──────────────────→ Drip line 2 ──────────────────→ Drip line 3 ──────────────────→ Drip line 4 ──────────────────→ Linea manifold: 16mm PE Main inlet: 20mm PE (from rubinetto) ``` **Baseline Schedule (June-August, North Italy):** | Mese | Frequency | Timing | Runtime | Note | |------|-----------|--------|---------|------| | Jun | 4x/week | 7am | 60 min | Inizio stagione | | Jul | Daily | 7am, 5pm | 60 min each | Peak heat | | Aug | Daily | 6am, 6pm | 80 min each | Peak caldo + ciclo lungo | **Soil Sensor (Optional but recommended):** - Model: Capacitive VWC sensor (es. SMT100) - Placement: 20cm depth, centro aiuola A1 - Threshold: 60% VWC → Irrigate (trigger) - Confidence: Sensor ±3% accuracy **Meteo Override Rules:** - IF rain_forecast > 10mm → Skip next 24h - IF temp_forecast > 35°C → Force irrigate (heat stress priority) - IF frost_alert → Early morning irrigation only **Safety Interlocks:** - Max runtime: 120 min/zone/day (prevent overwatering) - Flow monitoring: IF flow sensor detects 0 l/min for 5 min → STOP + ALERT **Cost estimate:** - Drip tubing + emitters: €15 (DIY, PE budget) - Sensor (if): €30-50 - Timer (if): €20-50 - Total: €65-115 **Expected water consumption:** - Zone ALTA: 5.4 mm/day × 15 m² = 81 liters/day - 30 days June-August: ~2,400 liters/mese - Totale stagione (Jun-Oct): ~10,000 liters --- ### Zona MEDIA (A2 — Cavolo, Lattuga) **Colture:** Cavolo (MEDIO) + Lattuga (MEDIO) **Area:** 15 m² **Baseline Schedule:** | Mese | Frequency | Runtime | |------|-----------|---------| | Jun | 3x/week | 40 min | | Jul | 4x/week | 50 min | | Aug | 4x/week | 60 min | | Sep-Oct | 2-3x/week | 40 min | **Emitters:** Dripper 1-2 l/h, spacing 0.5m --- ### Zona BASSA (A3 — Carota, Cipolla) **Colture:** Carota (BASSO) + Cipolla (BASSO) **Area:** 20 m² **Baseline Schedule:** 2-3x/week, 20-30 min **Emitters:** Dripper 0.5-1 l/h, spacing 0.75m **Note:** Post-raccolta (cipolla maturazione), ridurre irrigation (rischio marciume) --- ## Irrigation Circuit Layout (Diagram Testuale) ``` [Rubinetto] ↓ [Timer/Controller] ↓ [Linea principale 20mm PE] ├─→ [Regolatore pressione] │ ├─→ Valvola solenoide Zona ALTA (A1) │ ├─→ Valvola solenoide Zona MEDIA (A2) │ └─→ Valvola solenoide Zona BASSA (A3) │ └─→ [Sensore flusso totale (optional)] └─→ [Manometro] ``` --- ## Automazione Opzioni ### Opzione 1: Manuale (Budget basso) - Timer meccanico semplice (€20) - Avvio manuale o timer accensione - Pro: Semplice, economico - Contro: Meno preciso, niente sensori ### Opzione 2: Timer programmabile (Budget medio) - Timer digitale (€30-50) con 4+ programmi - Cron settimanale customizzabile - Sensor input: None (rule-based only) - Pro: Flessibile, reliable - Contro: No adaptive weather ### Opzione 3: Smart controller (Budget alto) - Controller IoT (es. Rasprry Pi + Sonoff relays, ~€80-150) - WiFi integration: Previsioni meteo automatiche - Sensor integration: Capacitive VWC input - Pro: Full automation, adaptive - Contro: Setup tecnico, power requirement --- ## Meteo Integration **Input from orto-meteo-decisioni:** Weekly briefing (ogni lunedì): ``` ZONA ALTA: - Previsione pioggia: 15mm Wed (expected coverage 60%) - Azione: Skip Wednesday+Thursday (2 days) - Reschedule: Riprendere Friday ZONA MEDIA: - Nessun cambiamento (pioggia marginale) ZONA BASSA: - Previsione caldo (T > 32°C) Fri-Sun - Nota: Carota in raccolta; ridurre irrigation (no stress) ``` --- ## Troubleshooting | Problema | Causa | Soluzione | |----------|-------|----------| | Emitter intasato | Calcare/sporco | Pulizia nozzle; demineralizzare se needed | | Flusso ridotto | Perdita linea | Check connection; sostituire se bucata | | Piante appassite | Sotto-irrigazione | Aumentare runtime o frequenza | | Marciume radicale | Over-irrigazione | Ridurre frequenza; migliorare drenaggio | --- ## Annual Maintenance - **Maggio:** Test controller, verifica emitters (pulizia) - **Giugno:** Calibration sensori (se presenti) - **Agosto:** Check pressione sistema, repair leaks - **Settembre:** Preparare per riduzione fall watering - **Novembre:** Svuotare linee, immagazzinare per inverno --- ## References - `references/irrigazione_parametri.md` — ET0, Kc coefficients, zone design patterns ## Assumptions 1. Fonte acqua disponibile (rubinetto, pozzo, raccolta pluviale) 2. Layout zone già definito (orto-layout) 3. Suolo drenaggio accettabile (>mediocre) 4. No flooding risk (topografia) ## Validation Checklist - ✓ Tutte zone have emitters + baseline schedule - ✓ Pressione sistema adequata (0.5-1.5 bar drip, 2-3 bar sprinkler) - ✓ Max water consumption ≤ source capacity (l/min × runtime) - ✓ Automation logic coherent (no conflitti sensore/meteo) - ✓ Safety interlocks present - ✓ Cost estimate reasonable --- **Skill: orto-irrigazione** | Version 1.0 | Status: Production-Ready