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
7.3 KiB
Guida per domani
Dove siamo arrivati e cosa conviene fare, nell'ordine giusto.
Come si riparte
Dalla cartella del progetto:
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
localStoragedel 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.