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:
1 parent
b412d51658
commit
5b45e5f485
2 files changed
+177
No files matched your search
@@ -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.*
|
||||
@@ -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
|
||||
|
||||
Reference in new issue
Block a user