orto-skills/build/orto-irrigazione/SKILL.md

315 lines
9.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: orto-irrigazione
description: Progettare sistema irrigazione multi-zona con baseline scheduling e logica automazione. Usare quando: (1) definire zone acqua per classe fabbisogno acqua coltura, (2) calcolare fabbisogni idrico giornalieri (ET, coefficienti Kc), (3) specificare emettitori e placement sensori, (4) scrivere baseline watering schedule e regole trigger meteo. Output: Config sistema irrigazione (markdown) con zone, emettitori, baseline schedule, soglie sensori umidità suolo, regole decisioni meteo.
---
# Orto Irrigazione — Progettazione Sistema Irrigazione Multi-Zona
Progettare zone irrigazione, baseline schedule, e regole automazione basate su fabbisogni acqua coltura, suolo e meteo.
## Quando Usare Questa Skill
- **Dopo orto-layout:** Assegnazione colture a beds/zone è nota
- **Pianificazione sistema:** Definire infrastruttura (emettitori, zone, sensori, controlli)
- **Baseline schedule:** Calcolare fabbisogni acqua giornalieri e frequenza irrigazione
- **Automazione:** Definire trigger umidità suolo + regole override meteo
## Processo
### Fase 1: Classificazione Fabbisogno Acqua da Colture
**Mappare colture → classe acqua (da colture_it.md):**
```
BASSO: Carota, Cipolla, Spinacio, Pisello, Aglio (~100-150 mm/stagione)
MEDIO: Lattuga, Cavolo, Broccoli, Fagiolo (~150-250 mm/stagione)
ALTO: Pomodoro, Peperone, Zucchina, Melone, Cocomero (~300-500 mm/stagione)
MOLTO_ALTO: (Raro; non tipico orto domestico)
```
### Fase 2: Inferisci Zone da Layout
**Input:** `dati/layout/aiuole_dimensioni.md` (zone + assegnazione colture)
**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)
```
### Fase 4: Definisci Infrastruttura Zone
**Per ogni zona, specificare:**
| Parametro | Zona BASSA | Zona MEDIA | Zona ALTA |
|-----------|-----------|-----------|----------|
| **Tipo emettitore** | Goccia (0.5-1 l/h) | Goccia (1-2 l/h) | Goccia (2-4 l/h) + microspruzzatore |
| **Spaziatura** | 0.75m | 0.5-0.75m | 0.4-0.5m |
| **Runtime baseline** | 20-30 min | 40-60 min | 60-90 min |
| **Frequenza** | 2-3x/sett | 3-4x/sett | 4-6x/sett |
| **Sensore suolo** | Opzionale | Opzionale | Consigliato |
| **Soglia sensore (suolo %)** | 40% VWC | 50% VWC | 60% VWC |
### Fase 5: Delinea Logica Automazione
**Regola baseline (se no sensore):**
```
Zona ALTA (Pomodoro):
- Giugno-Luglio: Daily 7am + 5pm (split dovuto caldo)
- Agosto: Daily 6am + 6pm
- Pre-gelo (Ott): Skip se pioggia > 5mm in 24h
```
**Con sensore suolo:**
```
Zona ALTA:
- SE soil_moisture < 60% VWC AND (no pioggia ultime 24h) → Irriga 60 min
- SE soil_moisture > 70% VWC → Skip
- Override: SE air_temp > 35°C → Irriga comunque (stress caldo)
```
**Override meteo (da orto-meteo-decisioni):**
```
- SE rain_forecast > 10mm in 24h → Skip 24h
- SE frost_alert → Muovi irrigazione a mattina (protezione radici)
- SE wind_alert → Sospendi spruzzatori (solo goccia)
```
### Fase 6: Output Config Sistema Irrigazione
**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 |
---
## Manutenzione Annuale
- **Maggio:** Test controller, verifica emettitori (pulizia)
- **Giugno:** Calibrazione sensori (se presenti)
- **Agosto:** Check pressione sistema, riparazione leak
- **Settembre:** Preparare per riduzione irrigazione autunno
- **Novembre:** Svuotare linee, immagazzinare per inverno
---
## Riferimenti
- `references/irrigazione_parametri.md` — ET0 per zone, Kc per colture, classe acqua (BASSO/MEDIO/ALTO), soglie sensori, baseline schedule
- `references/colture_it.md` — Fabbisogni colture specifici per zone
- `references/meteo_soglie.md` — Override meteo (pioggia, gelo, caldo) per reschedule irrigazione
## Assunzioni
1. Fonte acqua disponibile (rubinetto, pozzo, raccolta pluviale)
2. Layout zone già definito (orto-layout)
3. Drenaggio suolo accettabile (>mediocre)
4. No rischio inondazione (topografia)
## Checklist Validazione
- ✓ Tutte zone hanno emettitori + baseline schedule
- ✓ Pressione sistema adeguata (0.5-1.5 bar goccia, 2-3 bar sprinkler)
- ✓ Consumo acqua max ≤ capacità fonte (l/min × runtime)
- ✓ Logica automazione coerente (no conflitti sensore/meteo)
- ✓ Safety interlocks presenti
- ✓ Stima costo ragionevole
---
**Skill: orto-irrigazione** | Versione 1.0 | Status: Pronto per Produzione