Guida di ripresa per la prossima sessione

DOMANI.md: dove siamo arrivati, comandi per ripartire e i sei passi da fare
nell'ordine — inserire il giardino vero, misurare la portata dei settori,
collegare l'app all'agente, verificare in simulazione col dito nel terreno,
posare le sonde Watermark e solo alla fine accendere l'automazione.

Include i trabocchetti che fanno perdere lavoro (il localStorage separato per
porta, la data delle piante perenni, i backup) e le cose rimaste fuori.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GFnqupGt8T5HNNhPPHCjKs
This commit is contained in:
lucianoandClaude Opus 5 committed 2026-09-07 14:43:42 +02:00
1 parent b412d51658
commit 5b45e5f485
2 files changed
+177

No files matched your search

+174
View File
@@ -0,0 +1,174 @@
# Guida per domani
Dove siamo arrivati e cosa conviene fare, nell'ordine giusto.
---
## Come si riparte
Dalla cartella del progetto:
```bash
npm run dev # solo l'app, con ricarica automatica → http://localhost:5173
npm run agente # app + centralina insieme → http://localhost:8088
```
Usa `npm run agente` se vuoi lavorare sull'irrigazione automatica, `npm run dev`
se stai solo mettendo mano al codice.
L'indirizzo da aprire dal telefono (stessa Wi-Fi) è quello di rete della macchina
su cui gira l'agente, sulla porta 8088. Per trovarlo: `ipconfig getifaddr en0`.
Tutto è su **https://github.com/luzadev/polliceverde**, un solo commit, niente in
sospeso.
---
## Cosa c'è già
**L'app** — sei sezioni: Oggi (meteo, allerte, cosa bagnare adesso), Orto (aiuole
e colture), Acqua (bilancio idrico per coltura), Turni (programma per la
centralina), Guida (58 schede di ortaggi, frutta e aromatiche), Diario.
**Il motore idrico** — metodo FAO-56: il terreno come serbatoio, consumo
giornaliero pari a evapotraspirazione per coefficiente colturale, ricarica da
pioggia e irrigazioni. Ricostruito su 21 giorni reali e proiettato su 10 di
previsione.
**L'automazione** — un agente Node che apre le valvole all'orario stabilito, un
settore alla volta, e registra nel diario quello che ha erogato. Driver per
ESP32, Shelly e Tasmota. Parte sempre in simulazione.
**Le sonde Watermark** — veto sui turni, riancoraggio del bilancio, confronto fra
misura e calcolo. Firmware ESP32 pronto in `firmware/`.
---
## Da fare domani, in ordine
### 1. Metti dentro il giardino vero
È il passo da cui dipende tutto il resto, ed è anche l'unico che non posso fare
io. In *Orto* → **+ Aiuola**, una per ogni gruppo di piante che condivide terreno
e impianto.
Per ogni aiuola servono: **superficie** in m² (la proiezione della chioma per gli
alberi, non tutto il giardino), **tipo di terreno**, **metodo di irrigazione**,
ed eventualmente pacciamatura e serra.
Per il tipo di terreno, se non lo sai: inumidisci una manciata di terra e prova a
farne un salsicciotto. Si sbriciola subito → sabbioso. Si modella ma si spezza
piegandolo → franco. Fai un anello senza crepe → argilloso.
Poi **+ Pianta qui** per ogni coltura. Per le piante perenni che c'erano già,
scegli la scorciatoia **"C'era già"**: se lasci la data di oggi, l'app crede che
il terreno sia stato appena bagnato all'impianto e per qualche giorno ti dirà che
va tutto bene anche se è secco.
### 2. Misura la portata di ogni settore
Serve a trasformare i millimetri in minuti di valvola aperta, e misurarla è molto
più affidabile che calcolarla dalle schede tecniche: la pressione di casa tua non
è quella nominale.
Apri **una sola** valvola, raccogli per un minuto esatto l'acqua di un
gocciolatore, moltiplica per il numero di gocciolatori del settore e per 60.
Il risultato va in *Orto → modifica aiuola → **Portata del settore (litri/ora)***.
Nella stessa schermata metti il **canale** (l'uscita a relè, si conta da 0) e il
nome del **settore** sulla centralina.
### 3. Collega l'app all'agente
Avvia `npm run agente` e apri l'app **dall'indirizzo dell'agente** (porta 8088),
non dalla 5173. In *Impostazioni → Centralina* scrivi quell'indirizzo nel campo
**Indirizzo dell'agente**.
> ⚠️ Attenzione a un dettaglio che fa perdere lavoro: i dati stanno nel
> `localStorage` del browser, che è **separato per ogni indirizzo**. Se hai già
> inserito il giardino sulla 5173 e poi apri la 8088, trovi tutto vuoto. Prima di
> cambiare porta fai *Impostazioni → **Esporta backup*** e importalo dall'altra
> parte. Poi lavora sempre e solo sulla 8088.
### 4. Lascia tutto in simulazione e verifica col dito
Per **una o due settimane** tieni il driver su *Simulato*. L'agente calcola,
scrive nel registro cosa farebbe, e non tocca niente.
Nel frattempo fai la prova che conta: quando l'app dice di irrigare, prima infila
il dito nel terreno a 15-20 cm. Se le due cose concordano, del calcolo ti puoi
fidare. Se l'app anticipa o ritarda sistematicamente, le manopole sono in
*Impostazioni → Taratura del calcolo* (efficienza dei metodi e risparmio della
pacciamatura).
Registra le irrigazioni che fai, anche quelle a mano: è quello che aggancia il
bilancio alla realtà. Finché non c'è nessuna irrigazione registrata per una
coltura, l'app scrive **"stima provvisoria"** in giallo, e ha ragione.
### 5. Quando arrivano le sonde Watermark
Prima di interrarle, **provale in un bicchiere d'acqua**: dopo dieci minuti
`/sensori` deve leggere 0-5 kPa. Lasciale asciugare all'aria un giorno e devono
salire oltre 100 kPa. Se restano inchiodate, il problema è nel cablaggio.
Per la posa: a **metà della profondità delle radici** (15-20 cm per l'orto, 30-40
per un albero) e a 15-20 cm **di lato** dal gocciolatore, mai sotto — sotto
misureresti il bulbo bagnato, non il terreno che la pianta esplora. Fai il foro
con una punta di legno, bagna la sonda prima di inserirla, e versa un po' di
terra stemperata nel foro: una sonda con aria attorno legge sempre secco.
Poi assegnale alle aiuole in *Orto → modifica aiuola → **Sonda Watermark***.
Schema di collegamento completo in `firmware/README.md`.
### 6. Solo alla fine, accendi l'automazione
Nell'ordine, prima di attivarla: prova **ogni canale a mano** dal pannello in
*Turni* e verifica che apra la valvola giusta; controlla che le sicurezze
(minuti e litri massimi) siano tarate sul tuo impianto; fai una **prova a secco**
e guarda se i risultati hanno senso.
Poi *Impostazioni → Centralina → **Automazione attiva***. Ti chiede conferma.
Il pulsante rosso **Chiudi tutto** in *Turni* è sempre lì.
---
## Cose che è utile sapere
**I turni non sono a intervallo fisso.** In *Turni* trovi due cose diverse: il
*programma fisso* è il ritmo di regime, simulato a terreno in equilibrio e tempo
asciutto — il caso peggiore, quello da lasciare impostato sulla centralina. I
*giorni esatti* partono invece dall'acqua che c'è adesso e scontano le piogge
previste. Ricontrollali una volta a settimana.
**Fai un backup ogni tanto.** *Impostazioni → Esporta backup*. Se svuoti i dati
del browser, il giardino sparisce. Con l'agente collegato il rischio è minore,
perché lo stato vive anche in `agente/dati/stato.json`, ma quel file non è nel
repo (giustamente: sono dati tuoi, e il repo è pubblico).
**L'app funziona offline**, ma il meteo no: senza rete usa l'ultima previsione
scaricata. In giardino va benissimo; dopo qualche giorno senza connessione, meno.
**In caso di dubbio il sistema si ferma.** Sonda guasta, dispositivo che non
risponde, dati meteo mancanti, canale non assegnato: in tutti questi casi il
settore non viene irrigato invece di essere irrigato alla cieca.
---
## Cosa è rimasto fuori
Cose di cui abbiamo parlato ma che non abbiamo fatto, se un giorno servissero:
- **Notifiche a app chiusa** — servirebbe un servizio push o un bot di
messaggistica sull'agente. Un bot Telegram è la via più semplice e gratuita.
- **Integrazione con Home Assistant** — esporre il calcolo come sensore e
lasciare le automazioni là.
- **App pubblica su hosting** (Netlify, Vercel) per consultarla ovunque. Nota che
una pagina in HTTPS non può comandare dispositivi locali in HTTP: resterebbe
per consultazione, mentre l'irrigazione si comanda dall'indirizzo di casa.
- **Più sonde per settore**, per mediare invece di fidarsi di un punto solo.
---
*Ultimo aggiornamento: 7 settembre 2026.*
+3
View File
@@ -6,6 +6,9 @@ calcolandolo sul meteo reale della tua zona invece che su un calendario fisso.
Funziona nel browser, si installa sulla schermata home del telefono e resta consultabile anche senza rete in giardino.
Nessun account, nessun server: i dati vivono nel browser del tuo dispositivo.
> **Riprendi da qui:** [DOMANI.md](DOMANI.md) — dove siamo, come si riparte e cosa
> fare nell'ordine giusto.
## Avvio
```bash