Cosa c'è di nuovo?
Le novità più recenti di The Pot, raccontate dal punto di vista
dell'utente. Le voci sono in ordine cronologico inverso (più recenti
in cima). Per la cronistoria tecnica completa, c'è sempre git log
sul repo.
Luglio 2026
📬 Il Riccio ora può scriverti lui
Novità attivabile (di default spenta): al mattino il Giardiniere Virtuale può raccontarti lui gli avvisi sui tuoi vasi, con la sua voce, invece delle notifiche standard. Un solo messaggio al giorno, e solo quando c'è davvero qualcosa da dire (niente «buongiorno» a vuoto): meteo in arrivo, un vaso che ha sete, un promemoria. Se sa qualcosa di te (la memoria del Riccio), lo usa per rendere il consiglio più utile — ad esempio ricordandoti che una pianta è tossica per il tuo gatto.
Il Riccio non inventa nulla: si limita a mettere in parole gli avvisi che The Pot ha già calcolato. Lo attivi dal profilo, nella card del Giardiniere, con «Messaggi dal Riccio» (serve prima la consulenza personalizzata attiva). Le urgenze — un gelo improvviso stanotte — restano immediate come sempre.
Puoi scegliere la cadenza: giornaliero (gli avvisi ogni mattina) oppure settimanale — un solo messaggio il lunedì, con gli avvisi raccolti insieme agli spunti di stagione: quando una tua pianta cambia fase (riparte a vegetare in primavera, va in fioritura, si prepara al riposo), il Riccio te lo segnala con il consiglio di cura del momento. Anche qui niente invenzioni: la stagionalità viene dal calendario fenologico delle specie in catalogo.
🦔 Il Riccio ora si ricorda di te
Il Giardiniere Virtuale ha una memoria: quando in chat gli dici qualcosa di stabile su di te — «ho un gatto in casa», «uso solo rimedi biologici» — se lo segna dichiarandolo, come farebbe una persona che ti sta conoscendo, e ne tiene conto nelle conversazioni successive (ad esempio ti avvisa da solo se una specie è tossica per il tuo micio).
Nel profilo, dentro la card del Giardiniere, c'è la nuova sezione «Cosa ricorda di te il Riccio»: ogni voce con la sua data, la ✕ per eliminarla, «Svuota memoria» con conferma e l'aggiunta a mano. Massimo 15 voci, solo tue: si cancellano insieme all'account. E se un fatto cambia («non ho più il gatto»), basta dirglielo in chat: aggiorna i suoi appunti da solo.
🔢 The Pot ha un numero di versione: v0.27.2
Ricostruito da tutta la storia di sviluppo (456 commit da maggio): lo 0 davanti è la fase prototipo, il 27 conta le giornate di sviluppo che hanno consegnato funzionalità, l'ultimo numero le rifiniture dall'ultima. Lo trovi nel footer di ogni pagina — utile per capire al volo se la tua installazione è aggiornata.
🖼️ Ritocchi: copertina in Panoramica e home allineata
La tab Panoramica del vaso ora mostra la foto di copertina (click → tab Foto). E sulla home le due schede «Da fare ora» e «Attività recenti» sono finalmente allineate: partono e finiscono alla stessa altezza, col link al calendario ancorato in fondo.
🌱 Il vaso nuovo ti guida dal minuto uno
Appena crei un vaso, l'agenda si popola da sola: i suggerimenti di irrigazione e concimazione arrivano subito dal catalogo della specie, calcolati dalla data di piantagione/registrazione — perfetto se stai imparando. E senza brutti scherzi: mai appuntamenti "scaduti" per cose che non hai mai registrato, nemmeno se aggiungi oggi un vaso piantato due anni fa. Appena registri un'attività (anche col 💧 sulla tile), il ciclo si aggancia alle tue date reali. Il tag "auto · da catalogo" sulla card spiega tutto al passaggio.
📷 «Scatta» ovunque si caricano foto
Il pattern Scatta/Scegli foto ora copre anche gli upload normali: galleria del vaso, foto allegate alle attività del diario e screenshot del feedback. In più qui puoi scattare più foto in sequenza — si accumulano in un elenco con anteprima e le rimuovi singolarmente con la ✕ prima di caricare. Senza JavaScript resta il campo file classico.
📷 PlantNet: scatta la foto direttamente dal telefono
Nei finestra di riconoscimento (specie e fitopatie) ogni foto ha ora due bottoni: «📷 Scatta» apre subito la fotocamera del telefono, «🖼️ Scegli foto» apre la galleria — prima su molti Android la galleria non era nemmeno raggiungibile. Dopo lo scatto compare un'anteprima con miniatura, così sai che la foto è quella giusta prima di lanciare l'identificazione.
💧🌱🌾⋯ La tile del vaso diventa una plancia rapida
Il bottone 💧 sulla tile ha compagnia: ora ci sono anche 🌱 fertirrigazione e 🌾 concimazione — un tap e l'attività di oggi è nel diario, da completare con prodotti e dosi quando vuoi. E il bottone ⋯ apre le altre categorie (potatura, trattamento, rinvaso…): scegli e si apre il form del diario già impostato. Il badge rosso delle fitopatie si è spostato in alto a sinistra, accanto alla ⓘ.
🧹 Rifiniture: chip coerenti, refresh sicuro, microcopy
Tre piccolezze che si notano quando non ci sono più: i filtri a pillola (diario, foto, calendario, avvisi) ora hanno tutti la stessa forma e lo stesso stile quando attivi — nel calendario l'attivo verde pieno era l'unico diverso. Dopo «Rileva sensori» puoi aggiornare la pagina senza che il browser ripeta la rilevazione. E i bottoni del diario ora dicono in piccolo la differenza che confonde tutti: fertirrigazione = acqua + liquido, concimazione = secco/granulare.
💧🌱🌾 Nuova attività a colpo di pollice
Nel form del diario la categoria non è più un menu a tendina: i 3 tipi che usi ogni giorno — Irrigazione, Fertirrigazione, Concimazione — sono bottoni grandi con l'icona, subito sotto le dita. Le altre categorie (trattamento, potatura, rinvaso…) si aprono col bottone «Altre…». Se arrivi da una scadenza del calendario il tipo giusto è già evidenziato, come prima.
📌 La home dice cosa fare ORA, il calendario mostra la settimana
La sezione «Pianificazione» della home si chiama ora «Da fare ora» e mostra solo ciò che conta subito: scaduti (con la data e da quanto tempo) e oggi. Gli appuntamenti futuri non affollano più la home: una riga in fondo ti dice quanti sono («N appuntamenti nei prossimi 7 giorni») e ti porta al calendario. E se la settimana è piena ma per oggi non c'è nulla, te lo dice: «✅ Niente da fare oggi». In più le card sono ora le stesse identiche del calendario — stessi colori per categoria, stesse icone, stesso bottone ✅ — così lo stesso appuntamento è riconoscibile a colpo d'occhio nelle due pagine.
🗂️ La scheda del vaso ora è a tab
Basta scroll infinito tra dieci card: la scheda del vaso è divisa in 5 tab — Panoramica (pianta, dimensioni, posizione, date, sensori collegati), Diario, Foto, Salute (fitopatie, con un badge che conta quelle aperte) e 🔬 Strumenti (curva idrica, fertilizzanti abituali, collega-sensore, rinvasi). I badge dei gruppi e gli avvisi restano sempre in cima, qualunque tab tu stia guardando. Ogni tab ha il suo indirizzo, e l'app ti porta da sola su quella giusta: registri un'attività → atterri sul Diario; risolvi una fitopatia → atterri su Salute.
📆 Calendario più leggibile: giorni vuoti compressi
Nella settimana, i giorni senza eventi non occupano più una card intera col trattino: diventano una riga sottile con solo la data. Oggi resta sempre a grandezza piena, anche se vuoto, così l'occhio si orienta subito. Le settimane piene restano identiche.
🌱 L'agenda vuota ora ti spiega perché
Se un vaso appena creato non mostra appuntamenti, non sei tu: la pianificazione automatica parte dalla prima attività che registri a diario (o da un protocollo). Ora l'agenda della home e il calendario lo spiegano quando sono vuoti, e se hai vasi nuovi in mezzo a vasi già avviati compare una nota che ti dice quanti aspettano ancora la prima attività.
💧 «Innaffiato!» — registra un'irrigazione a 1 tap
Il gesto più frequente ora è il più veloce: sulla tile del vaso (griglia «I miei vasi») c'è il bottone 💧 in alto a destra, e nella scheda del vaso il bottone «💧 Innaffiato oggi» — un tap e l'irrigazione di oggi è registrata. È una normale voce di diario: alimenta curva idrica e pianificazione, e la puoi completare con i dettagli (dose, note) o eliminare dal diario se hai sbagliato tap. Prima servivano 5-6 passaggi, ora 2.
👁️ Vista Essenziale o Completa: scegli tu
Nuova impostazione Profilo → Vista dell'app. La vista Essenziale mostra solo gli strumenti del ciclo quotidiano (vasi, diario, appuntamenti, avvisi, foto); la Completa aggiunge modelli e tarature (curva idrica, fertilizzanti abituali, sensori…). Nella vista Essenziale le sezioni avanzate non spariscono: le trovi nel blocco richiudibile «🔬 Strumenti avanzati» delle pagine. I nuovi utenti partono in Essenziale; chi era già registrato resta in Completa (nulla è cambiato per te, se non la possibilità di alleggerire). Pagine già semplificate: la scheda del vaso, il form di creazione/modifica vaso (i campi avanzati — microclima, età pianta, fertilizzanti abituali, set multi-vaso — si aprono al bisogno, e i blocchi in cui hai già impostato qualcosa restano aperti da soli) e la home (le tile delle dashboard scendono in fondo, nel blocco Strumenti avanzati) il calendario (restano Stato e Vaso; gli altri filtri si aprono da «Filtri avanzati») e il form dei gruppi (gli "ambiti" si aprono al bisogno). Le altre pagine arriveranno via via.
⚙️ Calibrazione guidata dei sensori (wizard)
I sensori WH51/WH52 convertono un segnale grezzo (AD) in percentuale usando due riferimenti di fabbrica che non sempre si adattano al tuo terriccio. Ora ogni sensore ha un ingranaggio ⚙️ nella card «Sensori suolo» che apre un wizard passo-passo:
- Umidità — metti il sensore in acqua, premi «Aggiorna lettura» finché il segnale si stabilizza e confermalo; poi asciugalo e tienilo in aria e conferma il secondo punto. I due riferimenti vengono catturati da soli, e puoi comunque ritoccarli a mano prima di salvare.
- Temperatura (WH52) — confronto con un termometro di fiducia: inserisci la temperatura di riferimento e l'offset si calcola da sé.
- EC (WH52) — con una soluzione di calibrazione a EC nota (es. 1413 µS/cm): inserisci il valore noto e il gain (0.5–1.5) si calcola da sé.
Il wizard mostra la lettura in tempo quasi-reale dal cloud (conta 1–5 minuti di ritardo tra sensore e cloud: il bottone «Aggiorna lettura» serve proprio ad aspettare che si stabilizzi). Tutte le correzioni sono per singolo sensore, si applicano alle letture future e si azzerano lasciando i campi vuoti.
📈 Dato reale del sensore sulla curva idrica
Se il vaso ha un sensore di umidità collegato, il grafico della curva idrica ora mostra anche una linea blu tratteggiata con le letture reali del sensore, sovrapposta alla parte passata della curva simulata: un colpo d'occhio per confrontare stima e realtà. Attenzione a come si legge: la linea blu è l'umidità volumetrica del terreno, la verde è la % di riserva utile — due grandezze diverse. Confronta l'andamento (salite dopo le irrigazioni, discese nei giorni caldi), non i valori assoluti. È il primo passo verso l'uso del dato reale per correggere la simulazione.
🗓 Protocolli e appuntamenti automatici, senza doppioni
Se imposti un protocollo (irrigazione, concimazione o trattamento) su un vaso, il calendario ora mostra solo gli appuntamenti del protocollo, senza affiancare anche quello "automatico" dello stesso tipo. E dall'appuntamento del protocollo puoi rimuoverlo (❌ «Rimuovi protocollo»): elimina l'intera serie e il vaso torna agli appuntamenti automatici calcolati.
📏 Dimensioni del vaso con i decimali
Ora puoi inserire misure con la virgola (es. 23,5 cm) nei campi
delle dimensioni del vaso — asse maggiore/minore, diametro, altezza, ecc.
Prima accettavano solo numeri interi. Fino a 2 cifre decimali.
Giugno 2026 — Settimana del 10 giu
📡 Sensori Ecowitt: collega i tuoi gateway
Nuova sezione Profilo → Sensori: collega i tuoi gateway Ecowitt (le due chiavi personali di ecowitt.net + il codice MAC) e con un clic su «Rileva sensori» The Pot importa i sensori di umidità del suolo (WH51/WH52) dal servizio cloud di Ecowitt. Poi, dalla scheda di ogni vaso, nella card «Sensori suolo» colleghi il sensore giusto a quel vaso e ne vedi l'umidità attuale con un piccolo grafico dell'andamento degli ultimi giorni (e, per i WH52, anche conducibilità e temperatura). Per ogni sensore puoi impostare una soglia di umidità: quando il terreno misurato scende sotto, ricevi un avviso «terreno secco» tra gli avvisi del cruscotto — basato sul dato reale del sensore, non solo sulla stima.
👥 Gruppi suggeriti: scegli tu gli ambiti
I gruppi automatici ora partono da te: in cima alla pagina dei suggerimenti scegli gli ambiti che ti interessano (irrigazione, concimazione, trattamenti) e The Pot propone i gruppi giusti. Non si raggruppa più per esposizione (poco utile finché non gestiamo le "zone" del balcone). E le piante malate hanno la precedenza: se ci sono fitopatie attive, trovi in cima un unico gruppo «Piante da trattare» — anche di specie diverse — così le curi tutte insieme.
🌱 Avviso «vaso da avviare» più mirato
L'avviso che segnala un vaso lasciato senza cure (dopo ~30 giorni senza attività a diario) ora non scatta se hai già impostato un protocollo — un appuntamento programmato o un preset fertilizzante. In quel caso il vaso non è "trascurato": sta già pianificando, e se ignori gli appuntamenti è l'avviso "in ritardo" a ricordartelo. È il complemento naturale del nuovo comportamento sui vasi appena creati: niente rumore, ma un promemoria quando un vaso resta davvero fermo.
📅 Niente appuntamenti «fantasma» sui vasi nuovi
Creando un vaso, il calendario non si riempie più di irrigazioni e concimazioni "presunte" prima ancora che tu abbia fatto qualcosa. Ora la pianificazione di un'attività parte quando registri il primo evento di quel tipo nel diario: la prima irrigazione fa partire le irrigazioni, la prima concimazione le concimazioni. Se invece imposti un protocollo esplicito (step protocolli o cadenza fertilizzanti), gli appuntamenti partono subito come prima. Gli avvisi meteo restano sempre visibili.
🗑 «Elimina gruppo» ora funziona
Il pulsante Elimina gruppo (nella modifica di un gruppo) non faceva nulla, per un errore tecnico nella pagina. Ora elimina correttamente il gruppo dopo una richiesta di conferma; i tuoi vasi restano intatti e perdono soltanto l'appartenenza a quel gruppo.
🚀 Deploy nativo su VPS (per chi auto-ospita)
The Pot ora si può mettere in produzione su una VPS Ubuntu senza
Docker: gira come servizio systemd in un virtualenv, dietro
Cloudflare Tunnel (nessuna porta aperta, HTTPS automatico). Nuova
guida passo-passo deploy/setup-vps.md con i
file pronti (unit systemd per app + timer notifiche/backup, template
delle variabili d'ambiente, script di aggiornamento). L'host di ascolto
è ora pilotabile dalla variabile HOST (es. 127.0.0.1 dietro il
tunnel).
🔑 Recupero password
Hai dimenticato la password? Nella pagina di accesso c'è ora il link "Password dimenticata?": inserisci la tua email e ricevi un link per reimpostarla, valido 1 ora e utilizzabile una sola volta. Cliccandolo scegli la nuova password ed entri.
Per sicurezza: la risposta è sempre la stessa (non riveliamo se un'email è registrata o no), il codice del link non è mai conservato in forma cifrata, e al cambio password tutte le sessioni attive vengono disconnesse. L'invio dell'email usa lo stesso sistema di posta (le stesse variabili dei feedback); se non è configurato, il link viene scritto nel registro tecnico dell'app (l'amministratore può recuperarlo).
Nota per chi auto-ospita The Pot. Se le email (recupero password o feedback) non arrivano, ora il registro tecnico riporta la causa esatta del fallimento (es. autenticazione rifiutata) invece di un errore muto. Per provare la configurazione senza passare dal browser c'è anche
scripts/smtp_test.py:docker exec -it thepot python scripts/smtp_test.py. Con Gmail ricorda che serve una App Password di 16 caratteri (con verifica in 2 passaggi attiva), non la password dell'account.
📐 Footer sempre in fondo alla pagina
Sulle pagine con poco contenuto (es. pochi vasi) il footer non restava in fondo allo schermo ma "fluttuava" a metà, lasciando una grande area vuota sotto. Ora il footer è ancorato in fondo alla finestra (sticky footer): il contenuto si espande a riempire l'altezza disponibile e il footer resta dove ti aspetti.
⚡ "I Miei Vasi" più veloce con tante piante
La pagina "I Miei Vasi" caricava le foto di copertina a piena risoluzione (anche diversi MB l'una, come escono dal telefono): pesante già con poche foto, ingestibile con decine di vasi. Ora ogni copertina è servita come miniatura ottimizzata (~400 px, generata una volta e conservata) e il browser la memorizza a lungo (non la riscarica a ogni visita). Le immagini fuori schermo si caricano solo quando servono (lazy). Risultato: griglia molto più reattiva, anche con molti vasi con foto.
🔖 Stato dei feedback (e storico per l'utente)
I feedback hanno ora un ciclo di vita: l'amministratore, dalla pagina Admin → Feedback ricevuti, può impostare lo stato di ciascuno — Inviato (iniziale), Visualizzato, Gestito come issue, Nuova implementazione, Scartato — e, con un click, aprirlo come Issue su GitHub tramite un link con titolo e testo già precompilati (serve solo configurare il repo; nessun token, l'admin conferma su GitHub).
Dal lato utente, nella scheda Profilo → 💬 Feedback compare lo storico dei feedback inviati, ciascuno con il suo stato aggiornato: così sai se la tua segnalazione è stata vista, presa in carico come issue o pianificata.
Per l'amministratore, il bottone "Feedback ricevuti" mostra ora un badge rosso con il numero di feedback non ancora letti (quelli in stato Inviato): appena ne cambi lo stato, vengono considerati letti e il contatore scende.
☔ Niente avvisi di pioggia/grandine per i vasi al coperto
I vasi riparati dall'alto (esposizione alla pioggia bassa, es. sotto una tettoia o un balcone coperto) non ricevono più avvisi di pioggia abbondante, grandine o neve: cadendo dall'alto, la copertura le blocca, quindi quegli avvisi erano fuorvianti (era il caso segnalato: vaso con esposizione 0% che riceveva comunque l'allerta grandine). Gli avvisi di gelo, caldo e vento restano — la tettoia non protegge da temperatura e raffiche laterali. Vale sia nella sezione Avvisi sia nel Calendario.
🖼 "I Miei Vasi" come griglia di foto
La pagina "I Miei Vasi" cambia look: invece delle schede di testo, ora è una griglia di riquadri quadrati con la foto di copertina di ogni vaso (o un'icona della specie se non hai ancora foto). Sotto ogni riquadro restano sempre visibili nome e specie.
Passando il mouse (o spostando il focus da tastiera) su un riquadro compare un tooltip flottante con tutte le info del vaso — substrato, materiale, dimensioni, posizione, data d'impianto — e i pulsanti modifica / elimina. Il tooltip non copre il riquadro, che resta interamente cliccabile: un click apre la pagina di dettaglio. I riquadri sono grandi (al massimo 5 per riga) e quelli con fitopatie attive mostrano un piccolo badge rosso in alto a destra, visibile a colpo d'occhio. Su telefono/tablet (dove non c'è il passaggio del mouse) tocca il pulsante ⓘ sul riquadro per aprire le stesse info. La ricerca per nome/specie continua a funzionare.
📖 Diario del vaso: primi 10 + "Vedi tutte" in un finestra
Nel dettaglio del vaso la sezione "Diario del giardiniere" mostra ora le prime 10 attività (prima erano 5). Quando ce ne sono di più, il bottone "Vedi tutte le N attività" apre un finestra con l'elenco completo e compatto (data · tipo · nota) — senza lasciare la pagina. Dal finestra resta un link rapido al diario con i filtri (la pagina dedicata di sempre).
💬 Invia feedback allo sviluppatore
Nel profilo c'è una nuova scheda "💬 Feedback": scrivi un messaggio (bug, idea, suggerimento) e, se vuoi, allega fino a 5 screenshot. Ogni feedback viene archiviato e — quando il server ha l'email configurata — recapitato via email allo sviluppatore con gli allegati. Anche senza email configurata non si perde nulla: resta salvato e l'amministratore lo ritrova nella sua pagina dedicata (Admin → Feedback ricevuti).
❓ Guida ai parametri delle dashboard
Accanto ai titoli "🔧 Parametri tecnici dei vasi" (Dashboard Tecnica) e "🌱 Metriche agronomiche per vaso" (Dashboard Agronomica) c'è ora un'icona "?": aprila per una legenda di ogni colonna, raggruppata come la tabella, con la spiegazione in parole semplici di cosa rappresenta ciascun valore (da "Cap. acqua" e "Kc mid" fino a "Sev. max", "Mese corr." e "Discendenti").
Ne ho approfittato per allineare la spiegazione dello scatter alle ultime modifiche: niente più riferimento all'"alone blu" (rimosso), asse X descritto come stress esterno (meteo + idrico) e nota sulla pesatura temporale degli avvisi previsti.
🔁 Protocolli in atto alla creazione di un vaso
Quando crei un nuovo vaso, dopo il salvataggio compare uno step opzionale "Protocolli in atto": se segui già un programma di irrigazione, concimazione o trattamento per quella pianta, puoi dichiararlo e The Pot mette subito il prossimo appuntamento (e i successivi) in calendario, senza aspettare che tu registri la prima attività nel diario.
Per ogni protocollo scegli se indicare la prossima data prevista oppure l'ultima volta che l'hai fatto (da cui si calcola la prossima), più ogni quanti giorni si ripete. Puoi sempre saltare questo passaggio: in tal caso, come prima, gli eventi nasceranno dalla prima attività che registrerai. Lo step appare solo alla creazione, non quando modifichi un vaso esistente.
✨ Gruppi suggeriti automaticamente
Nella pagina Gruppi c'è un nuovo pulsante "✨ Suggerisci gruppi": The Pot analizza i tuoi vasi e ti propone gruppi già pronti, raggruppandoli per:
- specie (i vasi della stessa pianta → stesse concimazioni e stesse fitopatie tipiche);
- esposizione (indoor/outdoor + livello di riparo → stesso fabbisogno d'acqua).
Prima di creare alcunché vedi un'anteprima modificabile: puoi rinominare ogni gruppo, togliere i vasi che non vuoi includere o saltare interi gruppi. Vengono proposti solo raggruppamenti di almeno 2 vasi, e i vasi già in un gruppo con lo stesso ambito non vengono ri-proposti (niente conflitti). Confermi e i gruppi selezionati vengono creati in un colpo solo.
🗂 Calendario: filtri Info / Avvisi / Allerte
Sul Calendario c'è una nuova fila di filtri per la natura degli elementi, accanto ai filtri per stato e categoria:
- ℹ️ Info — le attività di pianificazione e i promemoria (le cose da fare: irrigazioni, concimazioni, trattamenti, rinvasi…);
- ⚠️ Avvisi — gli avvisi di livello attenzione (meteo sub-ottimale, stress idrico previsto);
- 🚨 Allerte — gli avvisi critici (gelo o caldo estremo in arrivo).
Selezionando una voce vedi solo gli elementi di quel tipo; Tutte (default) mostra tutto. Il filtro si combina con gli altri (stato, categoria, vaso, gruppo) e resta attivo mentre navighi tra le settimane.
🎯 Scatter "Distribuzione stress": stress idrico nel calcolo e pesato nel tempo
Il grafico "Distribuzione stress dei tuoi vasi" (Dashboard Tecnica) diventa più fedele:
- lo stress idrico previsto ora contribuisce al punteggio dell'asse orizzontale — ribattezzato "stress esterno (meteo + idrico)" — invece di essere solo un alone blu decorativo: la secchezza del substrato è una pressione ambientale, quindi sposta il vaso verso destra insieme agli avvisi meteo. L'alone è stato rimosso; il tooltip indica comunque "include stress idrico previsto";
- gli avvisi basati su previsioni (stress idrico e meteo futuri) sono ora pesati per quanto sono vicini nel tempo: peso pieno se imminenti, poi calo graduale fino a un minimo oltre i 7 giorni. Un problema previsto fra una settimana non pesa più quanto uno previsto per domani;
- i vasi indoor continuano a ignorare il meteo esterno, ma ora il loro stress idrico viene comunque considerato (al chiuso il vaso si asciuga lo stesso).
🧭 Accesso più rapido alle dashboard di dettaglio
I due pulsanti Dashboard Agronomica e Dashboard Tecnica sono stati spostati in alto nella home (subito sotto le statistiche rapide) e resi più compatti: ora sono due barre basse con icona e descrizione affiancate, invece dei riquadri alti in fondo alla pagina. Si raggiungono senza dover scorrere oltre l'agenda e le attività recenti.
📊 Curva idrica più leggibile: griglia e giorni sull'asse
Il grafico della curva idrica (detail del vaso) ha ora una griglia di sfondo leggera che aiuta a leggere i valori a colpo d'occhio:
- sull'asse verticale compaiono anche le tacche 25% e 75% (prima solo 0/50/100%), con una linea-guida tenue per ognuna;
- sull'asse orizzontale c'è una linea-guida per ogni giorno e l'etichetta col numero del giorno su (quasi) tutti i giorni — prima erano solo tre date (inizio, oggi, fine).
La linea verticale "oggi" e il confine "+7gg" restano ben in evidenza sopra la griglia. Niente cambia nel calcolo: è solo una resa grafica più chiara.
🧪 Stima preparazione anche per i trattamenti
La card "Stima preparazione" ora compare anche quando registri un'attività di tipo trattamento (non più solo per irrigazione/fertirrigazione/concimazione). Ti propone quanta soluzione preparare — il volume d'acqua in cui sciogliere il prodotto — stimato in base alla pianta:
- se hai indicato altezza e larghezza della chioma del vaso, l'app calcola l'area da bagnare e quindi i litri di soluzione;
- altrimenti usa una stima per fascia di taglia ricavata dal volume del vaso (vaso piccolo → poca soluzione, vaso grande → di più).
Se hai già scelto uno o più pesticidi, per ognuno viene mostrata anche la dose corrispondente a quel volume (ml o g), e con "Applica suggerimento" i campi del form si compilano da soli. È una stima di comodo: verifica sempre l'etichetta del prodotto, che ha sempre l'ultima parola su dosi e modalità.
🔄 Bottone "Aggiorna" nella Stima preparazione
Nella card "💧 Stima preparazione" del form attività, accanto a "Applica suggerimento" c'è ora un bottone "↻ Aggiorna": ricalcola la stima (acqua + dosi) con i prodotti e la data attualmente impostati. Utile quando modifichi i valori dopo aver già applicato il suggerimento — prima la card restava ferma sul calcolo precedente.
📸 Foto PlantNet salvate nella galleria del vaso
Quando crei un vaso identificando la specie con PlantNet, le foto che hai caricato per il riconoscimento possono ora essere aggiunte alla galleria del vaso. Nel finestra di identificazione, dopo aver visto le specie candidate, compare la sezione "Aggiungi alla galleria del vaso" con le miniature delle tue foto: spunti quelle che vuoi tenere (tutte selezionate di default) e, scegliendo la specie, vengono salvate insieme al vaso. La prima foto diventa automaticamente la copertina.
⏳ Spinner durante il caricamento delle foto
Quando carichi una o più foto nella Galleria del vaso, il pulsante "Carica foto" ora mostra uno spinner e diventa "Caricamento…": un feedback chiaro che l'upload è in corso (utile con foto grandi o connessioni lente, dove prima sembrava che non succedesse nulla).
🖼 Foto di copertina nelle schede dei vasi
Nella pagina "I Miei Vasi", al posto dell'icona della specie ogni scheda mostra ora la foto del vaso (la prima che hai caricato). Se il vaso non ha ancora foto, resta l'icona della specie come segnaposto.
Dalla Galleria del vaso puoi scegliere quale foto usare come copertina: ogni foto ha un pulsante a forma di stella (☆) per impostarla; quella attiva mostra il badge ★ copertina. Se elimini la foto di copertina, l'app torna automaticamente alla prima foto disponibile.
📱 Dashboard tecnica e agronomica: vista a schede su mobile
Le tabelle dei parametri della Dashboard Tecnica (20 colonne) e Agronomica (19 colonne) erano illeggibili su telefono: richiedevano uno scorrimento orizzontale continuo. Ora su schermi stretti (≤720px) ogni pianta diventa una scheda verticale con il nome in testa e sotto l'elenco "parametro · valore", molto più comodo da consultare. Su desktop resta la tabella classica (ordinabile per colonna). Nessun dato in meno: la scheda mostra tutti i parametri.
💧 Stress idrico: un solo avviso per vaso
Quando la curva idrica prevede stress per più giorni consecutivi (es. 10, 12, 13, 14, 15 giu), l'app mostrava un avviso per ogni giorno — affollando il pannello avvisi, il calendario e la scheda del vaso con messaggi identici (vedi issue_01). Ora mostra un solo avviso per vaso: il primo giorno previsto in stress. Quando quel giorno passa senza che tu intervenga, l'avviso si aggiorna automaticamente al giorno successivo. Vale per il pannello avvisi in home, il calendario settimanale, gli avvisi della scheda vaso e le notifiche push.
🔬 PlantNet: meno candidati, più utili
Il riconoscimento con foto (PlantNet) mostrava troppe specie candidate, molte con affidabilità dello 0-2% (rumore inutile e confusionario). Ora mostra al massimo 3 candidati con la percentuale di match più alta (scartando gli 0%), più eventuali specie/fitopatie già nel tuo catalogo che possono essere selezionate al volo. Se nessun candidato supera lo 0%, un messaggio suggerisce di riprovare con una foto migliore. Vale sia per l'identificazione delle piante sia per quella delle fitopatie.
📌 Barra di navigazione fissa in alto (desktop)
Su desktop la barra di navigazione in cima (logo + menu) ora resta fissa allo scroll: scendendo nella pagina rimane sempre raggiungibile, con un leggero effetto di sfocatura del contenuto che le scorre sotto. Su telefono il comportamento è invariato (la navigazione principale è la barra in basso).
Giugno 2026 — Settimana del 3 giu
🐞 Fix: salvataggio esposizione/materiale sul vaso singolo
Corretto un bug per cui, con un solo vaso (non un set), le scelte di "Esposizione alla pioggia" e "Materiale del vaso" fatte nella scheda del vaso non venivano salvate (tornavano al default dopo il salvataggio). Con due o più vasi nel set funzionava già.
Causa: questi due parametri avevano due campi nel form — uno nella scheda del vaso e uno "principale" più in basso — e per il vaso singolo veniva salvato quello principale (vuoto), ignorando la scheda. Soluzione: esposizione e materiale ora vivono in un solo posto (la scheda del vaso, esattamente come le dimensioni); i campi "principali" duplicati sono stati rimossi. Bonus: le scelte non si perdono più nemmeno in caso di errore di validazione del form.
🪣 Materiale del vaso per-variant nei set
Esteso ai materiali lo stesso pattern di RAIN-V: nei set di vasi
multipli ora ogni sub-vaso può avere il suo materiale
(plastica, terracotta, ceramica smaltata, ecc) indipendente dal
pot principale. Caso d'uso reale: un set di 3 vasi della stessa
specie sul balcone dove il primo è di terracotta porosa
(evaporazione maggiore), il secondo di plastica impermeabile,
il terzo di ceramica smaltata. Fitosim modella PotMaterial
esplicitamente con conducibilità termica e porosità diverse.
Nel form vaso, ogni riga della sezione "Dimensioni del vaso"
ha ora un menu a tendina "Materiale del vaso" con prima opzione
"— stesso del vaso principale —" (= ereditato, default
backward-compat). Le altre opzioni vengono dal catalogo
materiali. Il valore esplicito persiste in
pot_size_variants.pot_material_id.
Effetti pratici nella curva idrica del set: - Le linee tratteggiate colorate dei sub-vasi riflettono il diverso comportamento termo-idrico del materiale (terracotta si asciuga più velocemente di plastica/ceramica). - Il vaso più critico nella media pesata inversa è ora scelto in base alla combinazione volume + materiale, non solo al volume.
☔ Esposizione pioggia per-variant nei set di vasi
Nei set di vasi multipli ora ogni sub-vaso può avere la sua esposizione alla pioggia indipendente. Caso reale: balcone con 3 vasi della stessa pianta dove il primo è in posizione aperta (100%), il secondo vicino alla ringhiera coperta (50%), il terzo sotto un tavolino (30%). Senza questo, fitosim usava la stessa esposizione del "vaso principale" per tutti — perdendo informazione.
Nel form vaso, ogni riga della sezione "Dimensioni del vaso"
ha ora il suo menu a tendina "Esposizione alla pioggia". I valori
sono persistiti per-variant in pot_size_variants.rainfall_exposure.
Effetti pratici nella curva idrica del set: - Le linee tratteggiate colorate (toggle dalle chip) ora riflettono la pioggia che ciascun sub-vaso riceve davvero. - Un sub-vaso "sotto tavolino al 30%" può scendere sotto la soglia di stress giorni prima del compagno scoperto. - Le barre blu pioggia sul grafico restano quelle della curva media pesata (esposizione media); per vedere la pioggia per-variant accendi la sua chip dalla legenda.
☔ Esposizione alla pioggia per vasi coperti
Non tutti i vasi sul balcone sono completamente esposti alla pioggia: alcuni stanno sotto un balcone alto, altri vicino a una ringhiera coperta, altri ancora sotto la chioma di un albero o sotto una tettoia. The Pot supporta ora questo modello tramite il nuovo campo "Esposizione alla pioggia" nel form del vaso.
5 preset agronomici (basati sulla documentazione di fitosim):
- 100% Scoperto (default): terrazzo aperto, tutta la pioggia arriva
- 70% Sotto balcone alto (pioggia obliqua)
- 50% Vicino a ringhiera coperta
- 30% Sotto chioma o sporgenza
- 0% Sotto tettoia chiusa (mai bagnato, devi bagnare a mano)
Il valore moltiplica la pioggia del forecast prima di usarla nel calcolo dell'acqua. Effetti visibili: - Le barre blu del grafico curva idrica mostrano la pioggia effettiva che raggiunge il substrato (un vaso al 50% vede barre alte metà rispetto a un altro vicino scoperto). - La curva si asciuga più rapidamente per i vasi coperti → avvisi di stress più precisi. - Sul detail vaso, badge ☔ con la percentuale appare se < 100%.
Per i vasi indoor il campo è inerte (in casa non piove). Default 100% per tutti i vasi esistenti → nessuna regressione.
Riferimento: il parametro era già modellato da fitosim
(Pot.rainfall_exposure: float [0, 1]) ma non veniva propagato
dal prototipo. Ora collegato.
🎯 Curva set: media pesata "sul vaso più critico"
Nei set di vasi, la curva verde principale era prima la media pesata sul volume — il vaso più grande dominava. Ma in pratica il vaso più importante per la decisione "quando bagnare?" è il più piccolo, perché è quello che entra in stress per primo.
Ora la media è pesata inversamente al volume: peso ∝ 1/volume.
Esempio: set 19.9 L + 38.8 L + 2.4 L → pesi 10% / 5% / 85% → la
verde segue praticamente il vaso piccolo (2.4 L) → vedi lo stress
in arrivo quando serve, non quando è tardi per il piccolo.
Le linee tratteggiate colorate dei singoli sub-vasi restano identiche, solo la verde principale cambia. Header del grafico aggiornato: "(set di N vasi · media sul vaso più critico)".
🌦 Strip meteo Home: seconda settimana on-demand
La strip meteo della home ora mostra solo i primi 7 giorni di default + un bottone "+7 giorni" in fondo per espandere la seconda settimana (giorni 8-14). Cliccando di nuovo si richiude ("-7 giorni"). Riduce il rumore visivo della home a 14 celle intanto che gli avvisi continuano a usare l'intero orizzonte.
📅 Curva idrica estesa a 14 giorni
La curva idrica ora copre 14 giorni futuri invece di 7 (orizzonte raddoppiato). Open-Meteo gratis offre fino a 16 giorni di forecast; 14 è un compromesso tra orizzonte di pianificazione e affidabilità.
I primi 7 giorni restano gold standard (forecast ad alta accuratezza); i giorni 8-14 vengono visualizzati con una linea tratteggiata dopo una piccola linea verticale "+7gg" che separa le due fasce. Comunica visivamente l'accuratezza meteo decrescente: trattali come tendenza, non come previsione affidabile.
L'orizzonte raddoppiato vale anche per: - gli avvisi di stress idrico previsto sul calendario (che ora possono comparire fino a 14 giorni in avanti); - il summary sotto al grafico ("Nessuno stress idrico previsto nei prossimi 14 giorni" invece di 7); - la sotto-finestra extended viene cached automaticamente come il resto delle previsioni (aggiornate ogni 3 ore).
Sui set di vasi anche le linee tratteggiate colorate dei sub-vasi seguono lo stesso pattern: standard fino a +7gg, tratteggiata fine dopo.
💧 Stima preparazione anche per irrigazione + lista vasi del gruppo
La card "💧 Stima preparazione" del form "Registra attività" ora compare anche per le attività di irrigazione pura (prima solo per fertirrigazione e concimazione). Mostra i litri d'acqua previsti dalla simulazione per quel vaso, senza la sezione fertilizzanti (che per l'irrigazione non si applica).
Inoltre, quando il vaso fa parte di un gruppo e c'è il bottone "Applica al gruppo X", sopra a quel bottone ora appare la preview "Stima per gli altri vasi del gruppo" con:
- una riga per ogni altro vaso del gruppo con i suoi litri previsti (es. 🪴 Geranio-finestra: 2.45 L);
- il totale del gruppo in fondo (incluso il vaso corrente), così sai già a colpo d'occhio quanti litri tirerai fuori dal rubinetto se applichi al gruppo.
Il calcolo per ogni vaso usa fitosim sulle sue specifiche geometrie/volume/posizione — quindi il totale non è una stima media: somma realmente le stime per-vaso. La preview si aggiorna in automatico quando cambi il tipo di attività o i fertilizzanti.
I gruppi di tipo "trattamenti fitosanitari" non vedono la preview (non c'è una "quantità d'acqua uniforme" da stimare per la difesa).
🔍 Curva idrica set-aware: auto-zoom verticale dell'asse Y
Per i set di vasi, le N linee tratteggiate dei sub-vasi spesso
restano molto vicine alla curva media (es. delta dello 0.3-0.7%
del water_pct) perché fitosim normalizza il drawdown su % di TAW
e vasi con stesso substrato/specie si comportano in modo
proporzionalmente simile. Risultato: su asse Y 0-100% le 3 linee
finivano sovrapposte al pixel — l'utente vedeva solo la verde
principale.
Fix: ora per i set l'asse Y va in autozoom verticale sul range effettivo delle curve, finché tutte le linee restano sopra il 30%:
y_maxresta sempre 100% (capacità di campo come ancora visiva).y_minè il primo multiplo di 10% sotto il minimo osservato − 10% di aria.- La soglia di allerta arancione resta sempre dentro al plot
(vincolo:
y_min ≤ alert − 5%). - I tick laterali (% sull'asse Y) sono dinamici: 100/90/80/70 invece di 0/50/100 quando lo zoom è attivo.
Per i vasi singoli o quando le curve scendono sotto 30%, comportamento invariato (asse 0-100%).
📏 Curva idrica: grafico più alto per migliore leggibilità
Il grafico della curva idrica ora ha un'altezza maggiore per migliorare la leggibilità:
- Vasi singoli: 160 px (prima 130 px, +23%).
- Set di vasi: 220 px (+69%), così le N polyline
tratteggiate sovrapposte si distinguono anche quando il
water_pctvaria in un range stretto (es. 92-100% nei primi giorni dopo l'irrigazione).
Le linee tratteggiate dei sub-vasi sono anche più spesse
(stroke 2.2 invece di 1.5) e con linecap arrotondato per
sembrare più visibili contro la curva principale verde.
🫧 Curva idrica set-aware: N curve + media pesata sul volume
Per i vasi che in realtà sono set di N vasi (es. "Vinca (balcone cucina) (×2)"), la curva idrica ora simula ogni sub-vaso separatamente invece di trattare il set come un singolo vaso "principale".
Nel grafico ora vedi: - N polyline tratteggiate colorate — una per ogni sub-vaso con la sua geometria reale (blu, viola, arancio, rosa, verde acqua nella palette ciclica). - Polyline verde scura principale — la media pesata sul volume degli andamenti. Rappresenta quanto del totale del substrato del set è ancora disponibile come acqua. Un sub-vaso piccolo che si asciuga di più contribuisce meno al deficit aggregato (proporzionalmente al suo volume). - Legenda chip sotto al grafico con 1 chip per sub-vaso (col suo volume in L) + 1 chip "media pesata" verde.
Perché serve: prima la curva mostrava solo il "vaso
principale" del record pots, ignorando le varianti. Se il
tuo set conteneva un vaso da 12 L e uno da 5 L, la curva del
12 L non rappresentava lo stress del 5 L (che si asciuga ~2.5×
più in fretta). Ora puoi colpo d'occhio capire quale
sub-vaso del set entra in stress per primo — la sua linea
colorata scende sotto la soglia arancione prima della media.
Gli avvisi di stress idrico restano sulla media pesata (vista sistemica del set): se vuoi una vista per-sub-vaso, guardi le linee colorate. Pill "Capacità" e tutti i numeri di sintesi sono anche loro la media pesata.
I vasi singoli (la maggioranza) non vedono nessuna differenza: una curva sola, comportamento invariato.
🪲 Bugfix: form "Registra attività" rispetta i periodi del vaso
Quando un vaso ha la griglia "Pianifica per periodi" attiva (es. Alg-A-Mic in ott-nov, Concime fiorite in apr-set, Bio-Heaven in mar-apr), il form "Registra attività" ora propone solo i prodotti effettivamente attivi nel mese della data scelta.
Prima: il form mostrava tutti e 3 i prodotti a prescindere dal mese — incoerente con il calendario settimanale e la card Pianificazione, che invece filtravano correttamente. La "Stima preparazione" calcolava di conseguenza dosi per prodotti che non andavano applicati in quel periodo.
Ora: registrando un'attività il 31 maggio sul vaso dell'esempio, parte solo Concime fiorite — esattamente come nell'evento proposto dalla pianificazione del 29 mag. Anche la stima preparazione si allinea (litri acqua + dose solo dei prodotti attivi).
I preset con cadenza fissa (modalità legacy, use_schedule=0) restano sempre attivi: la griglia è opt-in e chi non la usa mantiene il comportamento precedente.
🔔 Tab "Gestione notifiche" nel profilo
Nuova terza tab del profilo dedicata a tutte le notifiche ricevute. Layout master-detail: a sinistra la lista (degli ultimi 90 giorni), a destra il dettaglio della notifica selezionata. In cima alla lista trovi 3 filtri pill — Tutte / Non lette / Lette — e un bottone "Segna tutte come lette" quando ci sono notifiche da chiudere in blocco.
Sulla tab stessa vedi un badge rosso con il numero di non-lette (cap visivo a "99+") che sparisce quando arrivi a zero. Ogni card nella lista mostra icona del tipo, titolo, primo pezzo del body, e data umanizzata ("oggi 14:23", "ieri 09:15", "mer 28 mag 11:00"). Le non-lette hanno un pallino verde accanto al titolo.
Sul dettaglio: titolo grosso, body completo, chip del tipo, metadati di invio + lettura, e un bottone "Vai al contenuto →" che apre la pagina associata alla notifica (es. il vaso interessato, il calendario del giorno, l'avviso meteo).
Apertura dal device aggiornata: quando tappi una push sul
telefono, l'app ora ti porta a /profilo/notifiche?n=<id>
con la notifica pre-selezionata e marcata letta automaticamente,
invece di mandarti direttamente al contenuto. Da lì decidi se
vuoi vedere il contesto pieno (bottone Vai al contenuto)
oppure restare nella cronologia. Così non perdi mai una
notifica che hai chiuso velocemente.
Una notifica si considera letta in 3 modi: apertura del dettaglio nella tab, click sul push dal device (anche se non visiti la tab), oppure bulk "Segna tutte come lette".
🏠 Curva idrica anche per i vasi indoor
I vasi indoor ora hanno una curva idrica stimata (prima il grafico era nascosto). Il calcolo usa l'ET₀ outdoor della tua location moltiplicata per 0.35 — un fattore tipico delle stanze chiuse italiane (T più stabile ~20-23°C, niente vento convettivo, radiazione solare ridotta al ~30% via finestre).
Sopra al grafico appare una pill ambra "🏠 Stima indoor" con disclaimer onesto: la stima è approssimata (±25%) perché non conosciamo il microclima reale della tua stanza. Nessuna barra pioggia visualizzata (in casa non piove). Verifica sempre al tatto prima di intervenire.
Una versione più precisa che usa T+RH della tua stanza (input dal profilo) è in roadmap — per ora la stima è "uguale per tutti" modulata solo dalla specie.
🌧 Pioggia prevista nella curva idrica
Sui vasi outdoor, il grafico della curva idrica ora mostra barre blu verticali in basso al plot per ogni giorno con pioggia prevista ≥ 0.3 mm. Altezza barra proporzionale ai mm (scala fissa: 30 mm = altezza massima). Sopra ogni barra una label numerica blu indica la quantità in mm (1 decimale sotto i 10 mm, intero da 10 in su: "0.5", "2.0", "12"). Il tooltip su hover include la riga "🌧 pioggia X mm" sui giorni piovosi. Piccola legenda "pioggia (mm)" appare in basso a destra solo quando ci sono barre.
Permette di leggere a colpo d'occhio se il bilancio idrico beneficierà di una pioggia in arrivo prima di stressarsi.
✨ Penman-Monteith FISICO per specie sulla dashboard tecnica
La pipeline di calcolo della curva idrica e delle colonne Deficit + Gg → irrig. della Dashboard Tecnica è stata aggiornata al gold standard agronomico. Quando hai:
- location configurata con la quota (presa dal geocoding di Open-Meteo)
- forecast meteo completo (RH, vento, radiazione)
- una specie con parametri fisiologici (resistenza stomatica, altezza chioma — popolati per 67 specie del catalogo da letteratura agronomica)
→ il calcolo usa Penman-Monteith fisico specie-specifico (±5% vs lisimetro, gold standard FAO-56). Altrimenti cade su Penman-Monteith standard FAO-56 (±10%) o Hargreaves-Samani (±15%, fallback).
Sulla Dashboard Tecnica, le colonne Deficit e Gg → irrig. hanno ora un badge inline: - ✨ verde = Penman-Monteith fisico (gold standard) - (nessun badge) = PM standard FAO-56 (caso tipico) - * ambra = Hargreaves (fallback, manca uno dei meteo extra o la quota)
Cosa cambia in concreto: la differenza si nota soprattutto su succulente CAM (Aloe, Cactus, Sansevieria — rs molto alta, ET 30-40% più bassa del modello generico), mediterranee xerofile (Olivo, Lavanda, Rosmarino — rs alta, ET 15-25% più bassa) e tropicali foglie ampie (Monstera, Ficus benjamina — rs bassa, ET 15-20% più alta).
Per attivare PM fisico se prima avevi solo Hargreaves: rifai il geocoding dal profilo (la quota viene presa dall'API Open-Meteo). Niente nuovi form da compilare.
🌍 Catalogo specie esteso con parametri fisiologici
78 specie del catalogo seed ora hanno popolati: - Kc iniziale/medio/tardo + frazione di deplezione (parametri FAO-56) - Resistenza stomatica (s/m, da letteratura agronomica) - Altezza chioma in vaso (m, valori "casalinghi" non naturali)
Sono i valori scientifici che il calcolo Penman-Monteith fisico usa per differenziare le specie: succulente CAM con rs=500-700 (chiudono stomi di giorno), tropicali con rs=80 (foglie ampie), mediterranee con rs=200-250 (xerofile), bonsai con altezza chioma 0.30 m (compressa intenzionalmente), ecc.
67 specie delle 78 hanno valori specie-specifici da letteratura (riferimenti: FAO-56 Tab. 12, Damour 2010, Nicolas 2005 per olivo, Ortuño 2006 per agrumi, Sage & Kubien 2007 per CAM, Lehmann 2011 per basilico/aromatiche). Le altre 11 (specie rare come Paulownia, Ippocastano, Petunia) usano il default per sim_group come fallback.
Il dato viene popolato anche su installazioni esistenti al prossimo riavvio dell'app, senza sovrascrivere valori che hai personalizzato.
🩺 Scatter Dashboard Tecnica: alone blu stress idrico
Sullo scatter "Distribuzione stress dei tuoi vasi" i punti ora hanno un alone blu tratteggiato quando il vaso ha almeno 1 giorno di stress idrico previsto nei prossimi 7 giorni. Gli assi X (meteo) e Y (salute) restano invariati: l'alone fa emergere lo stress idrico come sub-fonte della Y senza alterare le coordinate. A colpo d'occhio capisci se il warning su Y è per fitopatia/trattamento o per acqua nel substrato.
Maggio 2026 — Settimana del 27 mag
💧 Curva idrica simulata FAO-56 sul detail vaso
Per ogni vaso outdoor con un'irrigazione registrata sul diario, sotto le card statiche del detail appare una nuova sezione 💧 Curva idrica: un grafico sparkline che mostra l'andamento previsto dell'acqua disponibile nel substrato dal giorno dell'ultima irrigazione (al 100%) fino a +7 giorni di previsione meteo.
Modello agronomico: bilancio idrico FAO-56 Penman-Monteith (gold standard internazionale) usando: - ET₀ giornaliero da Open-Meteo (con fallback Hargreaves-Samani) - Kc della categoria della specie (Slice K-data: 11 sim_group) - Capacità di campo + soglia di allerta + PWP dal substrato
Cosa vedi: - Curva verde dell'acqua disponibile in % - Soglia di allerta tratteggiata arancione orizzontale - Linea verticale "oggi" come riferimento temporale - Pallini rossi sui giorni futuri in stress previsto - Tooltip su hover/touch con data + % + mm + badge stress - 3 pill sintetiche sotto il grafico (summary stress / ultima irrigazione / capacità+soglia)
Avviso "Stress idrico previsto": quando la simulazione prevede ≥ 1 giorno futuro sotto la soglia, ricevi un avviso warning su 3 fronti: 1. Pannello Avvisi della home 2. Calendario settimanale: card blu 💧 nella cella del giorno previsto, click → detail vaso 3. Detail vaso: pill ambra sotto al grafico
L'avviso è una previsione, non una misura: verifica al tatto prima di intervenire. Vedi guida § 4.8 Curva idrica simulata.
Quando una nuova irrigazione: la curva si resetta a 100% al nuovo T₀ (presupposto: bagni correttamente, il substrato torna a capacità di campo). Placeholder informativo se non hai mai loggato un'irrigazione: ti chiede di registrarne una per attivare il grafico.
🆕 Set di vasi identici (1 record agronomico, N vasi fisici)
Quando hai N vasi della stessa pianta sulla stessa posizione (es. 5 pervinche sul davanzale, 4 basilici in fioriera, 3 sansevierie in fila), adesso puoi dichiararli come un singolo Pot logico con N vasi del set. Tutti gli attributi agronomici sono unici (specie, substrato, diario, fitopatie, foto, calendario, gruppi), ma la geometria può essere diversa per ogni vaso del set.
Come si crea: nel form Nuovo Vaso / Modifica Vaso, dentro al fieldset "Dimensioni del vaso", dopo aver compilato il primo vaso clicca "+ Aggiungi vaso al set" per dichiarare il secondo, terzo, ecc. Ogni vaso ha:
- forma propria (cilindrica / tronco-conica / rettangolare / ovale)
- dimensioni proprie
- volume in litri (calcolato in automatico)
- una "Etichetta del vaso" opzionale (es. "Cassetta sinistra", "Rotondo grande") per distinguerlo
Label UI: i vasi che hanno ≥ 2 variants mostrano il suffisso "(×N)" accanto al nome — es. "Pervinca balcone (×5)" — visibile nella lista vasi e nel detail.
Stima fertirrigazione fitosim (key feature): il calcolatore simula ogni vaso del set separatamente con la sua propria fisica e somma i risultati. Cosi' un set eterogeneo (es. 3 cassette grandi + 2 vasi piccoli) non viene collassato in una "media pesata sul volume" ma rispetta lo stress idrico per-vaso. Esempio reale:
Set di 5 vasi (Pervinca), volume totale 42.9 L:
• Vaso 1 (12.0 L cassetta): 1.34 L — prossima irrigazione 2026-06-02
• Vaso 2 (12.0 L cassetta): 1.34 L — prossima irrigazione 2026-06-02
• Vaso 3 (12.0 L cassetta): 1.34 L — prossima irrigazione 2026-06-02
• Vaso 4 (4.6 L rotondo): 0.50 L — prossima irrigazione 2026-06-03
• Vaso 5 (2.3 L rotondo): 0.26 L — prossima irrigazione 2026-06-02
Totale acqua: 4.77 L
Bio-Grow (7 ml/L): 33.36 ml
Quando NON usare il multi-vaso: se le piante sono di specie diverse, in posizioni diverse, o vuoi tenere uno storico diario separato per ognuna. In quei casi crea N vasi singoli e (se vuoi) raggruppali in un Gruppo (§6-bis) — concetti complementari.
Schema DB:
pot_size_variants(id, pot_id CASCADE, position, shape, dim*, volume_l, note) — tabella opzionale 1:N- Backward-compatible: i vasi esistenti restano com'erano (dim su
pots.*, nessuna riga in pot_size_variants). Solo quando l'utente aggiunge una 2a variant dal form, le righe vengono salvate qui epots.volume_lviene aggiornato = somma dei volumi delle variants.
🆕 Gruppi di vasi (raggruppa + applica + filtra calendario)
Nuova entità gruppo di vasi: l'utente può raggruppare i suoi vasi per applicare la stessa azione (irrigazione, fertirrigazione, concimazione, trattamento fitopatie) a tutti i vasi del gruppo con un click. Tipico caso d'uso: "innaffio tutto il balcone alla volta" oppure "tratto le 3 rose colpite da oidio con lo zolfo" — prima serviva la Modalità catena del diario (tap-tap-tap N volte). Adesso basta cliccare il bottone "Applica al gruppo" e l'app fa il resto.
Schema agronomico del gruppo: 1 nome + 1 descrizione + 1 colore badge + 1-4 scope (= cosa il gruppo abilita):
- fertilizers → fertirrigazione + concimazione
- irrigation → irrigazione
- diseases → trattamento fitopatie
- calendar → filtro menu a tendina nel calendario
Un vaso può stare in più gruppi purché gli scope non si sovrappongano (es. la Sanseviera può essere in "Cocciniglia agrumi" scope=diseases E in "Tutto il balcone" scope=fertilizers, irrigation: gli scope sono disgiunti, nessun conflitto). Quando si crea/modifica un gruppo violando il vincolo, l'app rifiuta con messaggio operativo ("X è già in Gruppo Y per le fitopatie...").
3 punti di interazione:
- Pagina
/gruppi(Menu → 👥 Gruppi): CRUD dei gruppi con palette 8 colori, multi-checkbox scope, multi-checkbox vasi. - Form Nuova attività del diario: se il vaso è in un gruppo
con scope pertinente alla categoria scelta, sotto il riepilogo
prodotti appare un blocco verde-tenue con bottoni "👥 Applica
al gruppo Nome (N vasi)". Click → backend crea N entry
diario (una per vaso), tutte legate al gruppo via
applied_via_group_id. Redirect alla pagina del gruppo con flash "Attività applicata a N vasi del gruppo." - Calendario settimanale: nuovo menu a tendina "Filtra per gruppo" accanto a "Filtra per vaso". Selezione → calendario mostra solo gli eventi (passati, in settimana, scaduti, meteo) dei vasi membri. Si combina coi filtri esistenti (status, categoria, vaso, sub-trattamento) con AND.
Detail vaso: nella pagina di un vaso che è in N gruppi, appaiono N badge colorati in cima (clickable per andare al gruppo).
Categorie non broadcast-abili: rinvaso, nascita, misurazione, potatura, talea, osservazione, pulizia, ricovero, altro. Sono per natura azioni "fisiche per singolo vaso" — niente bottone "Applica al gruppo" per loro.
Schema DB:
pot_groups(id, owner, name, description, color, scope CSV, created_at)pot_group_members(group_id CASCADE, pot_id CASCADE, joined_at, compound PK)pot_journal.applied_via_group_id(FK pot_groups ON DELETE SET NULL): link debole per tracciabilità. Se elimini il gruppo, le entry storiche restano ma perdono il link.
🆕 Stima preparazione fertirrigazione (fitosim integrato)
Nel form Nuova attività del diario, quando scegli categoria fertirrigazione o concimazione e selezioni uno o più fertilizzanti, una nuova card "💧 Stima preparazione" ti dice quanta acqua e quanto di ogni prodotto preparare.
Esempio: per un vaso di basilico da 4 L cilindrico in terracotta outdoor + Bio-Grow liquido (7 ml/L) + Floranid granulare (20 g/vaso):
💧 Stima preparazione
Acqua: 0.40 L (400 ml)
- Bio-Grow: 2.80 ml (7 ml/L × 0.40 L)
- Floranid: 20.0 g (20 g/vaso, dose intera)
Note:
• Vaso: cilindrica, 4.0 L, specie Basilico.
• Prossima irrigazione FAO-56 raccomandata: 2026-05-29 (PREDICTED_ALERT).
[ Applica suggerimento ] (poi puoi sempre adattare a giudizio)
Cosa c'è dietro: integrazione della libreria scientifica fitosim (sibling repo). fitosim modella il bilancio idrico giornaliero del vaso con il metodo FAO-56 (Penman-Monteith / Hargreaves-Samani per ET₀), considerando:
- dimensioni del vaso (volume in litri, diametro, materiale — i terracotta evaporano più dei plastica)
- substrato: capacità idrica WHC e acqua disponibile alla
pianta AWC (i campi
whc_pct/awc_pctdella tabella substrates) - specie: coefficiente colturale Kc per fase fenologica (initial / mid / late) + frazione di stress depletion
- forecast meteo dei prossimi 7 giorni: temperature, pioggia, ET₀ calcolata da Tmin/Tmax + latitudine
- dose del catalogo del fertilizzante (
dilution_ml_per_lper liquidi,dose_g_per_l_substrateodose_g_per_potper granulari)
Fallback "manutenzione": se la pianta non è in deficit idrico nei prossimi 7 giorni (forecast piovoso, vaso ancora pieno), la stima ricade su 15% del volume del vaso — la quantità tipica per una fertirrigazione di corredo.
Bottone "Applica suggerimento": pre-popola automaticamente
water_ml + dose di ogni prodotto. Resta sempre modificabile a mano.
🆕 Modal dettaglio previsioni meteo 3h
La strip meteo 7 giorni in cima alla home ora è cliccabile. Click su una card → si apre un finestra con il dettaglio orario ogni 3 ore per quel giorno.
8 slot per giorno (00:00, 03:00, 06:00, 09:00, 12:00, 15:00, 18:00, 21:00). Per ogni slot:
- icona meteo
- temperatura aria + temperatura percepita (in piccolo)
- precipitazioni sommate sulle 3 ore (visibile solo se ≥ 0.5 mm)
- umidità relativa
- raffiche di vento km/h (visibili solo se ≥ 15 km/h)
Le metriche poco significative sono nascoste per ridurre il rumore visivo (giornate serene = niente "—" inutili).
Velocità: usa le stesse previsioni della strip (aggiornate ogni 3 ore), nessuna chiamata extra a Open-Meteo per click. Il primo click su una card può essere mezzo secondo più lenta se i dati risalgono a una versione precedente (auto-refresh per popolare i nuovi campi orari); i successivi sono istantanei.
Chiusura del finestra: pulsante ✕ in alto a destra, tasto Esc, o click sullo sfondo scuro.
🐛 Fix critici stabilità + UI mobile
- DB: l'eliminazione di un vaso a volte falliva con errore
"no such table: pot_journal_legacy_misuraz" (FK orfana lasciata
da una vecchia migration). Causa: la migration kind-extension
(mag 2026, slice misurazione/nascita) rinominava
pot_journalinpot_journal_legacy_misurazper estendere lo schema, e SQLite 3.26+ aggiornava automaticamente le FK delle tabelle figlie a puntare al nome legacy. La funzione di repair copriva solopot_journal_fertilizersepot_journal_pesticides; mancavanopot_photos.je_idepot_scheduled_events.completed_je_id. Ora tutte e 4 le tabelle figlie sono riparate al boot, idempotente. - Mobile — griglia "Pianifica per periodi": sforava dal finestra del
form vaso su schermi stretti. Causa: i flex items dentro al
fieldset Fertilizzanti abituali non avevano
min-width:0, quindi il contenuto largo (tabella 12 mesi ~700 px) non si stringeva. Fix: scroll orizzontale corretto sulla griglia, le celle restano leggibili. - Modal PlantNet — bottoni asimmetrici: i pulsanti Annulla e
Identifica avevano dimensioni leggermente diverse (secondary vs
primary hanno padding di default differenti). Fix:
min-widthe padding uniformi. - Calendario — frecce navigazione settimana: quando il bottone
"Oggi" era assente (sei già nella settimana corrente), il
pulsante
→occupava la maggior parte dello spazio e←restava stretto. Fix: le due frecce ora dividono lo spazio 50/50.
📄 Documento tecnico dei flussi operativi
Per chi sviluppa o lavora sul codice: nuovo file
docs/the_pot_prototype_operative_flows.md (~2 000 righe, 26
flussi, 31 diagrammi Mermaid) che descrive end-to-end ogni
operazione del prototipo (auth, vasi, diario, fitopatie, calendario,
push, PlantNet, catalogo personale, GDPR). Stile mirror del documento
di Fase 1 ma adattato allo stack del prototipo (Python stdlib +
SQLite WAL + JS vanilla).
Maggio 2026 — Settimana del 24 mag
🆕 Pianifica per periodi (griglia mese × fertilizzante)
Nuovo modo di organizzare la concimazione di un vaso quando vuoi alternare prodotti diversi in stagioni diverse.
Tipico caso d'uso: per il rosmarino in vaso uso Bio-Grow da aprile a maggio (spinta vegetativa), poi Bio-Bloom da giugno a ottobre (supporto fioritura/aroma). Prima dovevi accontentarti di un solo prodotto con cadenza fissa; ora puoi pianificare entrambi.
Come si attiva
- Apri Modifica Vaso (o nel form Nuovo Vaso).
- Aggiungi i fertilizzanti che vuoi usare nel fieldset Fertilizzanti abituali (come prima).
- Sotto al bottone "+ Aggiungi prodotto" trovi una checkbox nuova: "Pianifica per periodi". Spuntala.
- Appare una griglia: una riga per fertilizzante, 12 colonne mese. Ogni riga ha un colore distintivo (palette di 8 tinte fisse, assegnate in ordine).
- Click su una cella vuota → si attiva con cadenza default 14 giorni. Click su una cella attiva → popover per modificare la cadenza in giorni (1-365). Vuoto + OK → disattiva la cella.
Effetto sul calendario
Il calendario delle concimazioni mostra eventi distinti per ogni fertilizzante, ognuno col proprio nome nel sottotitolo (es. "Concimazione · Bio-Grow") e con cadenza specifica per mese. Click sul bottone dell'evento → form journal pre-compilato col prodotto giusto.
I mesi NON attivati nella griglia non hanno eventi: se l'ultima concimazione di maggio "trasborderebbe" in giugno (mese OFF), viene scartata e il sistema riprende dal primo mese ON successivo. La griglia comanda in modo stretto.
Compatibilità
La feature è opt-in: senza spuntare la checkbox il calendario si comporta esattamente come prima (cadenza del primo prodotto o "Cadenza personalizzata" globale se valorizzata). I vasi esistenti non subiscono nessun cambiamento finché non attivi la modalità.
🆕 PlantNet — riconoscimento specie e fitopatie
The Pot integra il servizio esterno Pl@ntNet (CIRAD/INRAE, Francia) per il riconoscimento automatico da foto. È un'integrazione opzionale, opt-in (consenso esplicito dal profilo) e revocabile in qualsiasi momento.
Riconoscimento specie (form Nuovo Vaso / Modifica Vaso)
- Bottone "📷 Identifica con foto" sopra il select Specie.
- Carichi 1-3 foto (foglia/fiore/frutto/corteccia/auto), PlantNet propone i candidati ordinati per confidenza (%).
- Match automatico: se la specie c'è nel catalogo The Pot viene preselezionata; se no, puoi aggiungerla al tuo Catalogo personale Piante con dati grezzi PlantNet e gruppo botanico inferito dalla famiglia (per parametri agronomici di default sensati).
Riconoscimento fitopatie (form Registra Fitopatia / Modifica Fitopatia)
- Bottone "📷 Identifica con foto" sopra il select Tipologia.
- Carichi 1-3 foto del sintomo (default organo foglia; corteccia per i marciumi del fusto, frutto per BER e simili).
- PlantNet propone candidati con il codice EPPO (standard internazionale di codifica organismi nocivi). 17 fitopatie di sistema sono mappate a EPPO (Botrite=BOTRCI, Ragnetto rosso=TETRUR, Oidio, Afidi, Cocciniglie, ecc.): per quelle il match è istantaneo.
- Se non c'è match, puoi aggiungere la fitopatia al tuo Catalogo personale Fitopatie: nome modificabile, tipo inferito euristicamente (fungal/bacterial/viral/pest), severità default moderata.
Catalogo personale
In Profilo → Catalogo personale sono attive 2 nuove card:
- Piante (
/profilo/catalogo/piante): lista specie personali con scientifico, famiglia, gruppo botanico, conteggio vasi che le usano. Bottone Elimina rifiuta se ci sono vasi attivi. - Fitopatie (
/profilo/catalogo/fitopatie): lista fitopatie personali con EPPO, tipo, severità, conteggio voci del diario che le riferiscono. Bottone Elimina rifiuta se ci sono voci nel diario (anche risolte) — niente CASCADE silenziosa per preservare lo storico.
Privacy (vedi anche docs/PRIVACY.md §3, §5, §7)
- Foto inviate in tempo reale al servizio PlantNet.
- Dati nascosti della foto (posizione GPS) rimossi prima dell'invio.
- PlantNet non conserva la foto (memoria volatile per pochi secondi).
- Quota globale piattaforma: 500 identificazioni/giorno condivise tra tutti gli utenti (piano gratuito PlantNet).
NB: per carenze nutrizionali e fisiopatie (clorosi ferrica, BER, scottatura solare, ecc.) PlantNet non emette EPPO perché non sono organismi viventi: vanno scelte manualmente dal menu a tendina.
Maggio 2026 — Settimana del 22 mag
🆕 Età della pianta (triade in 3 slice)
Tre nuovi modi per descrivere "quanto è vecchia" la tua pianta — non il vaso, ma proprio la pianta — e usarli per dosare fertilizzanti e modulare gli avvisi meteo.
Slice 1 — Campi sul vaso. Nel form Nuovo vaso / Modifica vaso trovi due nuovi campi opzionali:
- Data di nascita: il giorno in cui la pianta è nata (talea piantata, seme germinato, innesto eseguito). Distinto dalla Data di piantagione, che si riferisce al vaso attuale (es. una talea del 2023 rinvasata oggi ha data di nascita 2023 ma data di piantagione di oggi).
- Categoria età: bucket qualitativo con quattro valori — Propagazione (talea/seme in corso), Giovane (in crescita attiva), Matura (sviluppo completo), Esemplare (storica). Utile quando la data esatta non si conosce, o quando lo sviluppo relativo conta più dell'anagrafica (un bonsai di 30 anni può essere ancora giovane nel suo ciclo).
Il detail vaso mostra una nuova riga "Età pianta" che combina data + categoria con l'età calcolata umanizzata, per esempio: "12 mar 2024 (circa 1 anno e 3 mesi) · Giovane". La riga non appare se entrambi i campi sono vuoti.
Slice 2a — Dose fertilizzante modulata. Quando selezioni un prodotto nel fieldset Fertilizzanti abituali, la dose pre-popolata tiene conto sia della sensibilità della specie alla salinità (orchidee 1/4, succulente/bonsai 1/2) sia della categoria età del vaso: Propagazione × 0.5, Giovane × 0.7, le altre × 1.0. Le piante in fase iniziale hanno apparato radicale ridotto: una dose piena può creare crescita rigogliosa ma debole o stress da salinità. Esempio combinato: orchidea (25%) in propagazione (50%) → dose suggerita = 12.5% della dose etichetta. Una nota sopra le righe spiega quali fattori sono attivi.
Slice 2b — Avvisi meteo più cauti. Le piante in Propagazione o Giovane ricevono gli avvisi prima del solito, con lo stesso pattern del post-rinvaso e in modo cumulativo:
| Condizione | Effetto sulle soglie |
|---|---|
| Post-rinvaso (~30 gg) | gelo +1, caldo −2, siccità −2, vento ×0.8, soglie specie ±2 °C |
| Propagazione | gelo +1, caldo −2, siccità −2, vento ×0.7, soglie specie ±2 °C |
| Giovane | caldo −1, siccità −1, vento ×0.85, soglie specie ±1 °C |
| Matura / Esemplare | nessuna modulazione |
Esempio: una talea appena rinvasata riceve l'avviso gelo già a 6 °C invece di 4, e l'avviso vento a 25 km/h (floor minimo) invece di 50. La modulazione è silente — non appare nel testo dell'avviso — ma la motivazione si vede dal detail vaso (categoria età + eventuale finestra post-rinvaso).
Slice 3 — Voce diario "Nascita". Nuova categoria 👶 Nascita nel
diario delle attività. La usi quando registri retroattivamente un
evento di propagazione (talea presa il 12 marzo dal proprio
giardino) o un acquisto datato (etichetta del vivaista del 5
gennaio). Effetto collaterale: il performed_at dell'attività viene
copiato automaticamente sulla Data di nascita del vaso.
Slice 2c (rinviata): la modulazione delle cadenze rinvaso/potatura in base all'età è stata rinviata fino a quando ci sarà un sistema di suggerimenti programmatico. Il catalogo specie oggi descrive le frequenze come testo libero ("ogni 2-3 anni"), non come campo numerico strutturato.
🆕 Dimensioni della pianta (altezza + larghezza) e resistenza al vento
Due campi opzionali sul vaso per descrivere quanto è grande la pianta, integrati con la stima di resistenza al vento e con una voce diario dedicata:
Altezza — in cm, misurata dalla base al punto più alto. Visibile poi nel detail vaso.
Larghezza — in cm, larghezza massima stimata della chioma. Se non la inserisci, l'app assume circa metà dell'altezza (proporzione tipica 2:1).
Voce diario "Misurazione" (categoria 📏) — registra altezza e/o larghezza in una specifica data. L'entry storica resta nel diario e i campi del vaso vengono aggiornati con gli ultimi valori. Almeno una delle due dimensioni è obbligatoria.
Modulazione soglia vento — l'avviso meteo_vento (default raffiche > 50 km/h) viene modulato su due assi:
- Stabilità vaso × pianta: peso vaso (volume × densità materiale) × base del vaso contro l'altezza della pianta. Vasi alti e leggeri scendono di soglia, vasi pesanti e bassi la alzano.
- Forma della chioma: rapporto altezza / larghezza. Una pianta colonnare (alta e stretta, come un cipresso) offre poca "vela" al vento → soglia più alta. Una pianta folta o sferica (come un alloro a globo) intercetta molto vento → soglia più bassa.
Soglia finale clippata tra 35 e 75 km/h. Esempi:
| Setup | Soglia avviso |
|---|---|
| Limone 200 cm × 80 cm (folto) in plastica 12 L base 28 cm | 35 km/h |
| Limone 200 cm potato a 40 cm in plastica 12 L base 28 cm | 38 km/h |
| Sansevieria 50 cm × 25 cm in plastica 10 L base 25 cm (tipico) | 45 km/h |
| Ficus 100 cm × 60 cm in vaso cemento 30 L base 40 cm | 75 km/h |
| Cipresso colonnare 150 cm × 30 cm in terracotta 15 L base 30 cm | 75 km/h |
Quando la modulazione è significativa il messaggio di avviso aggiunge una nota tipo "[vaso poco stabile per l'altezza della pianta, soglia 35 km/h]" oppure "[pianta colonnare: poca vela al vento, soglia 75 km/h]" così capisci perché l'allerta arriva prima o dopo del solito.
Compatibilità: i vasi esistenti senza larghezza esplicita ricevono la stessa soglia di prima (il fallback h/2 riproduce l'aspect ratio assunto implicitamente dalla formula precedente).
🆕 Bottone "Torna in cima" globale
Tutte le pagine lunghe (catalogo, diario, calendario) hanno ora un bottone fluttuante in basso a destra che riporta in cima alla pagina con uno scroll fluido. Appare solo dopo aver scrollato di almeno 400 px.
🆕 Nuovo indirizzo principale: the-pot.net
The Pot ha cambiato casa: il nuovo indirizzo è https://the-pot.net. Aggiorna i bookmark e l'icona aggiunta alla schermata home del telefono per puntare al nuovo dominio.
Il vecchio indirizzo the-pot.andrewdotexs.dev continua a
funzionare in coabitazione: nessuna interruzione per chi ha la
vecchia URL salvata. La rimozione del vecchio dominio è programmata
per un futuro rilascio, con preavviso.
Lato login Google: dietro le quinte è stato aggiunto il redirect URI del nuovo dominio in Google Cloud Console. Se tenti il "Continua con Google" e ricevi un errore, prova a refreshare la pagina o svuota la cache del browser una volta.
🆕 Catalogo specie
Nespolo europeo (Mespilus germanica, famiglia Rosaceae) aggiunto al catalogo specie: piccolo albero da frutto rustico, resistente fino a -25 °C, fiori bianchi a maggio e frutti commestibili dopo l'ammezzimento autunnale. Concimazione mar-set ogni 30 giorni, pH 5.5-7.0, profondità radicale 40 cm. Configurabile come vaso in pieno cielo o forma da bonsai.
Bonsai Ginepro → Ginepro giapponese: rinomina della specie per allinearla al nome commerciale più diffuso (Juniperus chinensis / Juniperus procumbens). Slug invariato per non rompere i vasi esistenti.
🆕 Catalogo concimi (+7 prodotti reali) e pesticidi (+1)
Aggiunte da etichetta fisica fornite dall'utente. Tutti gli NPK, i microelementi e i dosaggi sono confermati direttamente dal packaging, non più valori indicativi:
Fertilizzanti (FERTILIZERS_SEED, ora 173 voci totali):
- BioNee OrtoFast NPK 20-10-10 — concime granulare ad azione rapida per orto/frutta/ornamentali (General Copper SRL, distrib. Bionee LG).
- NutriGold Concime Bonsai liquido 6-4.5-4.5 (NaturaOrganica) — nuovo brand.
- GebEarth Radicante Plus Liquido — biostimolante radicante per rinvasi, talee e margotte (RaAmon Srl).
- Menedael (メネデール) 100 ml — attivatore botanico giapponese a base di ferro bivalente Fe²⁺ chelato (distribuito in Italia da Crespi Bonsai) — nuovo brand.
- Vialca LEAF 30-10-10 — concime fogliare idrosolubile alto azoto, con microelementi chelati EDTA — nuovo brand.
- CIFO Mikrom — correttivo di carenze multiple con microelementi chelati EDTA (Cu, Fe, Mn, Mo, Zn).
- Geosism & Nature Geomicor Radicant — inoculo di micorrize (Glomus mosseae + G. intraradices) + batteri rizosfera + Trichoderma, consentito in agricoltura biologica (E.B.F. Euro Biofert) — nuovo brand.
Pesticidi (PESTICIDES_SEED, ora 25 voci totali):
- GebEarth Olio di Neem Spray pronto all'uso 500 ml — variante RTU (ready-to-use) dell'olio di neem generico, da nebulizzare direttamente senza diluizione.
Nuovi brand introdotti in catalogo: NutriGold, Menedael, Vialca, Geosism & Nature. Brand già presenti integrati con nuove referenze: BioNee, GebEarth, CIFO.
Maggio 2026 — Settimana del 18 mag
🆕 Nuove funzionalità
Beta chiusa con whitelist + pagina admin
Beta chiusa: la registrazione di nuovi account è ora limitata alle email pre-approvate dall'amministratore. Chi tenta di registrarsi con un'email non presente in whitelist vede il messaggio "The Pot è in beta chiusa: la tua email non è nella lista degli invitati. Contatta l'amministratore per richiedere l'accesso." Vale sia per signup classico (email + password) sia per signup via Google.
Backfill retroattivo: al primo deploy, tutti gli utenti già registrati vengono aggiunti automaticamente alla whitelist (marcatura "backfill iniziale"). Nessuno perde l'accesso.
Pagina /admin (visibile solo all'amministratore, definito
via env var ADMIN_EMAIL). 3 sezioni:
- Statistiche (top): utenti totali, con sessione attiva, bloccati, email in whitelist.
- Utenti registrati: tabella con email, nome, stato (verde "sessione attiva" / grigio "offline"), badge G per chi è loggato via Google, badge rosso "bloccato" se sospeso. Bottone "Blocca" / "Sblocca" per ogni riga (l'admin non può bloccare sé stesso).
- Whitelist beta tester: lista email approvate + form per aggiungerne di nuove + bottone "Rimuovi" per riga.
Block utente: quando l'admin blocca un utente, il sistema cancella immediatamente tutte le sessioni attive di quell'utente (logout forzato da ogni dispositivo) e impedisce nuovi login con messaggio "Account sospeso, contatta l'amministratore". Reversibile con un click dalla stessa pagina (l'utente dovrà rifare login).
Link "Amministrazione" nell'hub Risorse del profilo, visibile
solo all'admin (gli altri utenti non vedono nemmeno il link e
ricevono 403 se tentano di andare a /admin direttamente).
Detail vaso + override cadenza + calendario fenologico (suite H)
Quattro miglioramenti incrementali sulla concimazione preset-aware introdotta con la suite G:
1. Card "Fertilizzanti abituali" nel detail del vaso. Nella pagina del vaso, sotto Posizione/Date, compare ora una card read-only con i preset configurati: per ogni prodotto vedi nome, dose effettiva (con nota "dose ridotta 1/4 per specie sensibile" se applicabile alle orchidee/succulente/bonsai) e la periodicità del prodotto. Click su "modifica" in alto a destra → form vaso con anchor diretto al fieldset preset.
2. Cadenza personalizzata per riga preset. Nel form vaso, per ogni riga del fieldset "Fertilizzanti abituali", c'è un nuovo campo opzionale "Cadenza personalizzata (gg)". Compilato (es. 21 giorni) → il calendario propone le scadenze ogni 21 giorni tutto l'anno, sostituendo la periodicità del prodotto. Vuoto → la cadenza resta quella dichiarata dal fabbricante. La card detail mostra "ogni 21 gg (cadenza personalizzata)" quando attiva.
3. Chips visivi mesi di concimazione nel catalogo specie.
Nelle card del catalogo /catalogo/piante e nella pagina dettaglio
della singola specie, l'informazione "mesi di concimazione" era
mostrata come testo CSV ("mesi 3,4,5,6,7,8,9"). Ora è una barra
di 12 chips colorati: arancione "concimare", grigio chiaro "non
concimare". Stesso layout della barra "attività vegetativa" già
esistente, ma palette dedicata per distinguere visivamente le 2
informazioni. Etichette aggiunte sopra ogni barra.
4. Calendario degli stadi fenologici nel catalogo specie. Nella pagina dettaglio di ogni specie compare ora una griglia "Stadi fenologici" (6 righe × 12 colonne) che mostra quando ciascuno dei 6 stadi botanici è attivo nel ciclo annuale: dormienza (marrone), germogliamento (verde chiaro), vegetativo (verde), fioritura (arancio), fruttificazione (terracotta), riposo (grigio). Una specie può avere più stadi simultanei in uno stesso mese (es. agrumi vegetativi + fruttificanti da maggio a luglio). I dati di base sono inferiti dal sim_group della specie (clima Italia centro-nord) con disclaimer che varia per cultivar/zona.
Concimazione preset-aware con periodi stagionali (suite G)
Quando assegni un preset fertilizzante al vaso, la periodicità del prodotto (dall'etichetta del fabbricante) sostituisce quella generica della specie nel calcolo delle scadenze. Esempio concreto:
- Vaso di basilico senza preset → la home propone una concimazione ogni 20 giorni (da catalogo specie).
- Stesso vaso con preset COMPO Concime per Rose → la home segue la periodicità dichiarata sull'etichetta: ogni 7 gg in primavera- estate (mar-ott), ogni 30 gg in autunno-inverno (nov-feb). La transizione fra le due cadenze è automatica al cambio mese.
I prodotti possono avere più periodi stagionali distinti (es. COMPO Orchidee: 14 gg da marzo a ottobre, 30 gg da novembre a febbraio). Se il mese corrente non rientra in nessun periodo dichiarato dal fabbricante (es. preset attivo solo da marzo a settembre), il calendario non propone scadenze fino al primo mese valido.
Nel form del vaso, fieldset "Fertilizzanti abituali":
- Dose pre-popolata automaticamente alla selezione di un prodotto, con la dose suggerita dal catalogo (ml/L per liquidi, g per granulari). Il valore viene applicato solo se il campo è vuoto: una modifica manuale non viene mai sovrascritta.
- Sotto la riga appare il testo della periodicità del prodotto: "ogni 7 gg da mar-ott; ogni 30 gg da nov-feb". Aggiornato in tempo reale al cambio del select.
- Dose ridotta per specie sensibili a salinità: orchidee (1/4 della dose), succulente e bonsai (1/2). Se la specie del vaso è una di queste, appare una nota informativa sopra le righe e la dose pre-popolata è già moltiplicata per il fattore di riduzione consigliato.
Nel catalogo /catalogo/fertilizzanti, la riga Applicazione
delle card mostra ora la periodicità in forma compatta
("ogni 14 gg da mar-ott; ogni 30 gg da nov-feb") invece del vecchio
elenco numerico di mesi.
Prodotti con periodi stagionali multipli inclusi in questa release: COMPO Concime per Orchidee e COMPO Concime per Rose. Altri prodotti continueranno ad arrivare quando recupererò le indicazioni dal fabbricante.
Multi-pesticide nei trattamenti
Quando registri un trattamento nel diario, ora puoi inserire più pesticidi in una sola entry, ciascuno con la propria dose. Il caso d'uso reale è il "mix-tank" dei trattamenti combinati:
- Fine inverno: poltiglia bordolese + olio bianco insieme per difese fungine + cocciniglie svernanti
- Primavera: olio di neem + sapone molle potassico per afidi e ragnetto rosso
- Pre-fioritura: zolfo bagnabile + propoli contro oidio
Cosa cambia nel form "Nuova attività" (categoria trattamento):
- Il vecchio menu a tendina singolo "Fitosanitario applicato" è stato sostituito da un fieldset "Pesticidi applicati" con N righe.
- Stesso pattern UI del multi-fert (F1): bottone + Aggiungi prodotto, × rosso per rimuovere, dose adattiva (ml/L per liquidi, g/L per polveri solubili).
- Restano: il menu a tendina Fitopatia trattata (singolo) e il fieldset Biostimolante (per i preventivi con Acti-Vera, Leaf-Coat, ...).
Nella visualizzazione del diario la card mostra ora tutti i pesticidi applicati separati da bullet (es. "Olio bianco (15 ml/L) · Rame ossicloruro (4 g/L) · 1500 ml di soluzione · per Cocciniglia cotonosa").
Compatibilità: le entry trattamento pre-F3 (con un solo
pesticide nella colonna pesticide_id) vengono backfillate
automaticamente nella nuova tabella pot_journal_pesticides. Le 3
colonne legacy su pot_journal (pesticide_id +
pesticide_dose_ml_per_l + pesticide_dose_g_per_l) restano allineate
al primo prodotto della lista per retrocompat con
_compute_next_treatment (calcolo scadenze fitopatia).
Con questo lo slice F (multi-prodotto end-to-end) è completo: F1 multi-fertilizzante, F2 preset abituali per vaso, F3 multi-pesticide. La tripletta copre il 95% dei pattern reali di trattamento agronomico in vaso.
Preset "Fertilizzanti abituali" per vaso
Nel form Nuovo Vaso e Modifica Vaso è apparso un nuovo fieldset "Fertilizzanti abituali": salva qui i prodotti che usi abitualmente per quella pianta, con la dose standard di ognuno.
Quando registrerai una fertirrigazione o concimazione su quel vaso, le righe del form "Prodotti fertilizzanti" verranno pre- popolate automaticamente dai preset salvati. Puoi sempre modificare/rimuovere/aggiungere righe al volo: è solo un punto di partenza, non un vincolo.
Caso d'uso tipico: ho 3 piante di basilico in casa, le tratto tutte con la stessa linea BioBizz (Bio-Grow 2 ml/L + Top-Max 0.5 ml/L + Alg-A-Mic 5 ml/L). Salvo il preset una volta sul vaso e poi ogni fertirrigazione settimanale parte già compilata: 2 click ed è registrata.
Lo stesso pattern UI dello slice F1 (riga template + bottone "+ Aggiungi prodotto" + × rosso) viene riusato qui. Il campo dose si adatta sempre alla forma del prodotto (ml/L per liquidi, g per granulari).
Nessun backfill: i vasi pre-F2 partono senza preset (lista vuota). Bastano 30 secondi per aggiungere i tuoi prodotti abituali a un vaso già esistente da Modifica Vaso.
Multi-fertilizzante nelle attività di diario
Quando registri una fertirrigazione o una concimazione nel diario, ora puoi inserire più prodotti in una sola entry, ciascuno con la propria dose. Il caso d'uso reale è il "mix-tank" delle linee fertilizzanti: tipicamente Bio-Grow + Top-Max + Alg-A-Mic mescolati nello stesso annaffiamento, ognuno con dosaggio diverso (es. 2 ml/L, 0.5 ml/L, 5 ml/L).
Cosa cambia nel form "Nuova attività":
- Quando scegli categoria fertirrigazione o concimazione appare un fieldset "Prodotti fertilizzanti" con una riga (Prodotto + Dose) e un bottone "+ Aggiungi prodotto".
- Ogni riga ha il proprio campo dose che si adatta automaticamente alla forma del prodotto:
- Liquido → "Dose (ml/L)"
- Granulare / polvere → "Dose (g)"
- Click sulla × rosso a destra di una riga per rimuoverla.
- Il vecchio campo "Dose acqua (ml)" (water_ml) resta unico e condiviso: rappresenta la soluzione totale preparata.
Nella visualizzazione del diario la card mostra ora tutti i prodotti applicati separati da bullet (es. "Bio-Grow (2 ml/L) · Top-Max (0.5 ml/L) · Alg-A-Mic (5 ml/L) · 1500 ml di soluzione").
Compatibilità: le entry esistenti pre-F1 (con un solo prodotto
nella colonna fertilizer_id) vengono backfillate automaticamente
nella nuova tabella pot_journal_fertilizers al primo avvio dopo
l'aggiornamento. Nessuna perdita di dati, nessun action richiesto.
Le 3 colonne legacy su pot_journal restano allineate al primo
prodotto della lista per retrocompatibilità con dashboard / export
ZIP che ancora non leggono la nuova tabella.
Categoria trattamento: il menu a tendina singolo "Biostimolante" (per i preventivi con Acti-Vera, Leaf-Coat, ecc.) resta uguale per ora. Il multi-pesticide arriverà in slice F3.
Accesso con Google ("Continua con Google")
Nella pagina Accedi appare un bottone "Continua con Google" sopra il form email/password. Funziona in entrambe le direzioni:
- Hai già un account locale con email = quella del tuo account Google? Al primo click si associa automaticamente il tuo Google al tuo account The Pot (link automatico, condizione: l'email Google deve essere verificata). Login completo.
- Non hai mai usato The Pot? Al primo click viene creato un account nuovo con nome/cognome presi dal profilo Google. Niente password locale: accedi sempre via Google. Se in futuro vuoi una password locale per fare login senza Google, usa la card Cambia password nel Profilo.
Nel Profilo, se hai collegato Google, appare una nuova card "Account Google" con la pill verde ✓ Collegato + email + bottone Scollega. Lo scollegamento è rifiutato finché non hai una password locale (evita lock-out).
Disponibilità: il bottone Google appare solo da host autorizzati
(prod the-pot.andrewdotexs.dev + localhost:8080/8765). Da LAN
(es. 192.168.1.x:8080 dal telefono) Google OAuth non accetta IP
locali come redirect URI: il bottone non viene mostrato e usi
email/password come sempre. Per aggiungere altri host, aggiornali
sia in Google Cloud Console che in GOOGLE_OAUTH_ALLOWED_HOSTS.
Configurazione richiesta (deployer):
- Crea OAuth credentials in Google Cloud Console → OAuth client ID → Web application.
- Authorized redirect URIs:
-
https://the-pot.andrewdotexs.dev/auth/google/callback-http://localhost:8080/auth/google/callback(o porta in uso) - Configura nel container via env:
-
GOOGLE_CLIENT_ID(il valore pubblico è già OK in chiaro) -GOOGLE_CLIENT_SECRET(mai in git, sempre in env/secret) -GOOGLE_OAUTH_ALLOWED_HOSTS(CSV, default include prod+localhost)
Se le env vars non sono settate, il bottone Google non appare e l'app funziona come prima (email/password only).
Modal "Cosa c'è di nuovo" al login
Quando viene rilasciato un aggiornamento rilevante, al primo accesso successivo compare un finestra centrale con:
- Titolo della release + data
- 3-5 bullet sintetici sulle novità principali
- Link "Leggi tutti i dettagli →" alla pagina
/novita(changelog completo) - Bottone "Ho capito" per chiudere
Compare una sola volta: dopo che lo hai chiuso (o cliccato sul
link dettagli) non lo rivedi più, fino al prossimo aggiornamento
rilevante. Implementazione: nuova colonna users.last_seen_release_id
(migration idempotente, NULL → utenti pre-esistenti vedono il finestra
una volta sola dopo l'upgrade; per i nuovi registrati viene
inizializzata al valore corrente, così non vedono finestra di release
antecedenti al loro arrivo).
I bug fix piccoli non bumpano l'id della release → niente finestra per micro-cose. Il CHANGELOG completo resta consultabile in qualsiasi momento da Profilo → Risorse → Cosa c'è di nuovo.
Nav redesign: search finestra + bottom-nav mobile + hub Risorse
Riorganizzata la barra di navigazione che era diventata sovraffollata (9 affordance in una riga: search inline + 5 link + profilo + tema + logout). Cambia in 3 punti:
1. Desktop · ricerca come finestra: il vecchio campo "Cerca…"
inline è stato sostituito da un singolo bottone 🔍 che apre un dialog
finestra al centro dello schermo. Stessa ricerca di prima (GET
/cerca), nessuna funzionalità persa, e nella nav recupero spazio
per stringere gli altri link (padding orizzontale 0.85 → 0.6rem,
gap 0.4 → 0.35rem). Esc o click fuori chiudono il dialog;
all'apertura il campo riceve focus automatico.
2. Mobile · bottom-nav fissa con 5 tab: su viewport ≤ 720px la top-nav perde i link principali (restano solo logo + ricerca/tema/ profilo come azioni di servizio) e in fondo allo schermo appare una barra fissa con 5 tab:
| Tab | Icona | |
|---|---|---|
| 1 | Home | 🏠 |
| 2 | Vasi | 🪴 |
| 3 | Calendario | 📅 |
| 4 | Catalogo | 📚 |
| 5 | Profilo | 👤 |
La tab corrispondente alla sezione corrente è evidenziata in verde
con label in grassetto (aria-current="page" per accessibilità).
Supporta il safe-area iOS (env(safe-area-inset-bottom)) per
non finire sotto la home indicator di iPhone con notch.
3. Hub "Risorse" nel Profilo: i link Novità e Manuale
escono dalla top-nav (dove occupavano 2 slot) e si spostano in una
card dedicata nella pagina /profilo (border ambra, link cliccabili
larghi con icona + titolo + descrizione breve). Sono consultazioni
rare, non destinazioni quotidiane: stanno meglio dove l'utente cerca
"le mie cose" (profilo) piuttosto che in nav principale.
Tutto retrocompatibile: stessi indirizzi, niente
modifiche backend. Solo template (base.html, profilo.html), CSS
(style.css) e un piccolo JS (app.js) per aprire il dialog e
applicare la classe mobile-tab-active.
Trattamenti preventivi end-to-end (4 slice verticali)
Big release di questa settimana: l'app ora supporta i trattamenti preventivi (profilassi programmate per evitare problemi, non per curarli) come cittadini di prima classe — dal catalogo specie fino al filtro del diario. Rilasciato in 4 slice verticali concatenati:
1. Concimazione approfondita — la card "Concimazione" nel detail di una pianta del catalogo ora mostra, oltre al solito regime descrittivo:
- NPK ideale (fase vegetativa) — es.
8-3-9per il limone; - NPK ideale (fase fioritura) — quando applicabile (agrumi, fiorite, leguminose);
- Concime consigliato — link cliccabile alla scheda del prodotto del catalogo fertilizzanti, separato per fase vegetativa e fioritura.
Es. il glicine in fioritura vuole 0-5-4: zero azoto, perché è
una leguminosa azotofissatrice e l'eccesso fa "tutto fogliame,
niente fiori". Il limone vuole 8-3-9 in vegetativa e 6-3-12 in
fioritura (alto K per la fruttificazione).
2. Nuova card "Trattamenti preventivi" sotto "Malattie e parassiti comuni" nel detail pianta — lista di profilassi suggerite per quella specie:
- Nome del trattamento (es. "Poltiglia bordolese di fine inverno")
- Periodo descrittivo + Mesi in italiano ("feb, mar") + Intervallo ("ogni 21 giorni")
- Prodotto cliccabile → catalogo fitosanitari (per olio bianco, neem, poltiglia bordolese, bicarbonato di potassio, trappole) o fertilizzanti (per biostimolanti come Acti-Vera, Leaf-Coat).
- Note specifiche (es. "T > 5 °C, prima della ripresa vegetativa").
3. Eventi automatici "Profilassi" nel calendario — ogni trattamento preventivo del catalogo genera card "auto" nel calendario e nella Pianificazione della home, esattamente come fa già per irrigazione e concimazione:
- Icona 🛡️ scudo (vs 🌱 concimazione, 💧 irrigazione, 🦠 fitopatia)
- Titolo "Profilassi: <nome del trattamento>"
- Tag "auto · profilassi da catalogo"
- Click ✅ → form
Nuova attivitàtrattamentopre-compilato con il prodotto giusto (fitosanitario o biostimolante) - Pianificazione date: parte dall'ultima applicazione preventiva del
PRODOTTO sul vaso (trattamento senza fitopatia associata, stesso prodotto) e
applica
interval_daysfiltrato daactive_months.
Il form trattamento ora supporta anche fertilizer_id (oltre a
pesticide_id): serve per i preventivi a base di biostimolanti tipo
Acti-Vera o Leaf-Coat. Il menu a tendina "Fertilizzante / biostimolante"
appare automaticamente quando la categoria è trattamento.
4. Sub-filtro "Preventivi / Curativi" nel diario e nel calendario — selezionando la categoria Trattamento compare una seconda fila di chip più piccole Tutti / 🛡️ Solo preventivi / 🦠 Solo curativi. Distinzione semplice:
- Curativo = trattamento legato a una fitopatia registrata
(
pot_disease_idvalorizzato) — l'hai applicato perché avevi visto afidi, oidio, ecc. - Preventivo = trattamento senza fitopatia collegata — è una profilassi programmata (es. olio bianco di febbraio per prevenire la cocciniglia, Acti-Vera per rinforzare le difese).
Il sub-filtro influisce sia sulla lista delle entry del diario sia sui counts per categoria mostrati nella pagina (es. "5 trattamenti preventivi" invece di "7 trattamenti"). Nel calendario, "Solo preventivi" mostra le card 🛡️ + eventuali eventi DB pianificati di tipo trattamento; "Solo curativi" mostra solo le card 🦠 da fitopatie attive.
Specie pilota con dati popolati per tutti e 4 gli slice: basilico, limone Quattro Stagioni, Phalaenopsis, Aloe vera, glicine, ortensia. Le altre specie non vedono ancora NPK ideali, trattamenti preventivi, eventi profilassi: arriveranno via via, una specie alla volta.
Nuove piante e fertilizzanti nel catalogo
- Glicine (Wisteria sinensis) aggiunto al catalogo piante: rampicante deciduo molto rustico (tollera -20 °C), fioritura primaverile in lunghi grappoli profumati. È una leguminosa azotofissatrice, quindi vuole poco azoto: la sua nota nella sezione concimazione lo ricorda esplicitamente.
- 6 nuovi prodotti BioBizz nel catalogo fertilizzanti per completare la linea: Acti-Vera (biostimolante da Aloe vera), Bio-Heaven (amminoacidi/energy booster), CalMag (integratore Ca+Mg per acqua povera), Bio-Up e Bio-Down (regolatori di pH), Leaf-Coat (spray fogliare protettivo a base di lattice naturale).
Posizione fissa: piante "sempre indoor" o "sempre outdoor"
Se hai una pianta che vive sempre nella stessa posizione (es. una Sansevieria che resta in salotto tutto l'anno, un oleandro outdoor anche d'inverno in zone miti), ora puoi dirglielo all'app. Sul form del vaso c'è un nuovo menu a tendina "Posizione fissa?" con 3 opzioni:
- Cambia con le stagioni (default, comportamento di prima)
- Sempre indoor — sopprime l'avviso "Primavera stabile" che suggerirebbe di portare la pianta fuori
- Sempre outdoor — sopprime l'avviso "Ritiro consigliato" che suggerirebbe di portarla dentro in autunno
Gli altri avvisi meteo (gelo, caldo, vento, ecc.) restano attivi: è solo la transizione stagionale a essere disattivata.
Sul detail vaso appare un piccolo badge 🔒 nella card Posizione che ti ricorda della scelta. Vedi §4.7 del manuale.
Modalità catena: registra più attività dello stesso giorno con un click
Quando hai 3 irrigazioni programmate per il 22 maggio (Stella di Natale, Salvia, Tradescantia), prima dovevi cliccare ✅ sulla prima, registrarla, tornare alla home, cliccare sulla seconda, ecc.
Ora dopo aver registrato la prima, l'app ti porta direttamente al form pre-compilato della prossima attività dello stesso tipo per lo stesso giorno. In cima al form vedi un banner:
✓ Stella di Natale registrato. Continui con Salvia? (eventi del 2026-05-22) [Termina catena →]
La catena si attiva quando clicchi ✅ da una card della Pianificazione (home) o dal Calendario. Si ferma automaticamente quando non ci sono più eventi della stessa categoria per quel giorno, oppure quando clicchi "Termina catena →" nel banner.
Categorie con catena: irrigazione, fertirrigazione/concimazione, trattamento fitopatie. Le altre (potatura, rinvaso, ecc.) restano una alla volta come prima. Vedi §5.5 del manuale.
Manuale utente accessibile dall'app
Adesso il manuale completo è raggiungibile in tre modi:
- Da loggato: nuova icona 📖❓ nella barra in alto (accanto a Catalogo). Click → pagina con il manuale renderizzato.
- Dalla pagina di login/registrazione: cerchietto "?" in alto a destra della card (utile a chi non sa ancora cosa fa l'app).
- PDF scaricabile: bottone "⬇ Scarica PDF" in cima alla pagina manuale, file completo da archiviare.
Tutto offline-friendly, niente dipendenze esterne.
🔧 Miglioramenti
-
Avvisi meteo cross-vaso: quando un evento meteo (vento forte, grandine, ecc.) colpisce tutte le tue piante outdoor, l'avviso ora dice "Tutte le piante — Raffiche di vento forte oggi…" invece di elencare i 13 nomi singolarmente. Più leggibile su mobile.
-
Dropdown prodotti raggruppati per marca: quando scegli un fertilizzante (diario fertirrigazione/concimazione + preset "Fertilizzanti abituali" del vaso) o un pesticida (diario trattamento + form fitopatia), gli
<option>ora sono raggruppati sotto il brand di appartenenza — BioBizz, Canna, GHE, Compo, Solabiol, ... — con un'intestazione in grassetto sopra ciascun gruppo. I prodotti senza marca dichiarata finiscono in fondo sotto "(Senza marca)". Scorrere il menu a tendina è molto più rapido: arrivi al gruppo del produttore con un'occhiata invece di leggere una lista piatta di 50+ voci. Funziona via<optgroup>HTML nativo (zero JS, accessibile, identico in tutti i browser). -
Calendario su mobile: i bottoni di navigazione settimana (←, Oggi, →) ora stanno su una sola riga compatta invece di spezzettarsi su tre righe.
-
Tema scuro: rivisto il contrasto in molti punti (sezione Avvisi, calendario, dashboard agronomica, lineage, post-rinvaso badge, profilo). Testi grigio-su-grigio ora ben leggibili. Verdi della palette dark riadattati per migliore identità.
-
Cataloghi: aggiunte nuove voci.
- Specie: Tradescantia spathacea (Mosè nella culla), Graptopetalum paraguayense (Pianta fantasma), Kalanchoe daigremontiana (Madre di migliaia), Plectranthus verticillatus (Edera svedese).
-
Fertilizzanti: CIFO Algatron, COMPO Concime per Orchidee, Biogold Original Italpollina, SYBA Premium Orchid BIO, SYBA Premium Cacti BIO, COMPO Concime per Acidofile, COMPO Suprême Universale, COMPO Fiorite con Guano, COMPO Concime per piante verdi.
-
Catalogo fertilizzanti — espansione COMPO + CIFO: importati i cataloghi completi compo-hobby.it (concimi universali, balcone e appartamento, cura piante) e cifo.it home & garden (concimi, biostimolanti, integratori). +53 nuove voci, fra cui:
- COMPO: NPK BLU / ORO / Plus, Suprême Granulare, Bio Fortigo, BIO Aqua Depot (liquido + granulare), Organic & Recycled, Bio Concime Organico Universale, Concime Universale con Guano, Concime per Bonsai/Cactacee/Ciclamini/Gerani/Rose/Surfinie e Petunie/Balconi/Orchidee base, Turbo Rinverdente/Radici/Vitalità, bastoncini universali/fiori/verdi/orchidee, Sangue di Bue, Miscela Microelementi, e i correttivi Calcio Liquido, Ferro Liquido, Azzurrante per Ortensie, Rinverdente Fogliare.
- CIFO: Eclat 15, Concime universale blu, per ortensie / acidofile / rose / agrumi / orchidee / bonsai / gerani / grasse / surfinie / prato; biostimolanti Sinergon PLUS, Biotron S, Top Veg GR, Top N, Bio Oro; correttivi di carenza Azoto, Calcio, Ferro, Fosforo, Magnesio, Potassio, S 5 Radicale, Solfer.
-
NPK e dosi non sono dichiarati sui cataloghi del produttore: le voci nuove hanno NPK nullo e la nota "vedi etichetta del prodotto". Mesi e periodicità sono valori conservativi tipici della categoria (mar-ott per i concimi, primavera+autunno per i granulari a lenta cessione, anno intero per i correttivi).
-
Catalogo fertilizzanti — GebEarth + SybaSupport: +20 voci dai cataloghi gebearth.com e sybotanica.com.
- GebEarth: linea liquida completa (Universale, Piante Verdi, Bonsai, Agrumi, Piante Grasse, Orchidee base, Orchidee 20-20-20 con NPK dichiarato, Idroponica).
-
SYBASupport: linea BIO a rilascio lento (tropicali / cactus / orchidee), linea BIO liquida (tropicali / cactus / orchidee), linea standard a rilascio lento per substrato minerale (LECA, lapillo), Humus di lombrico, Lapillo fine, Farina di getti di vermi.
-
Brand "GabEarth" → "GebEarth": corretto il typo storico nel catalogo per Vegetable e Bloom (il produttore reale è GebEarth, sito gebearth.com). Migrazione automatica al boot: chi aveva già il catalogo seedato vede le 2 voci ora sotto l'optgroup GebEarth insieme alle nuove voci della stessa marca.
-
Catalogo Biogold + Hanagokoro (linee bonsai giapponesi): ampliate le linee dei due concimi organici giapponesi più diffusi per bonsai.
- Biogold: aggiunti Biogold Original (granulare, NPK 3.5-3.7-3.3 — cessione lenta su 2 mesi, fondo standard per crescita primavera-estate) e Biogold Vital (liquido biostimolante a base di vitamine + aminoacidi — per piante deboli, malate o appena rinvasate). Biogold Classic / Motohi (premium, NPK 5.5-6.5-3.5) già presente: ne ho rifinita la descrizione per distinguerlo chiaramente da Original.
-
Hanagokoro: ora 3 size distinte (S / M / L) come SKU separati, perché la granulometria cambia velocità di cessione e dose per vaso. Size S per shohin (~25 gg, 15 g/vaso), M per bonsai medi (~30 gg, 20 g/vaso), L per bonsai grandi (~45 gg, 30 g/vaso).
-
Bug fix NPK Hanagokoro 13-11-9 → 4-5-2: il SEED iniziale aveva l'NPK errato (forse confuso con un altro concime giapponese). NPK reale del prodotto in commercio è 4-5-2 (azoto basso, fosforo alto, potassio basso — formulazione classica per bonsai che favorisce sviluppo radicale senza eccessi vegetativi). Migrazione automatica al boot per chi aveva il dato vecchio nel DB: il fix si applica solo se NPK è ancora 13-11-9, così non sovrascrive eventuali correzioni manuali successive.
-
Catalogo BioNee + naturali generici: +7 voci dal catalogo bionee.shop (concimi/biostimolanti biologici + fitosanitari naturali).
- Fertilizzanti BioNee (2): Amino BOOST (biostimolante liquido a base di aminoacidi vegetali), Concime Piante Grasse GRA1.
- Fitosanitari naturali generici (4, brand=None — disponibili a tutti i produttori): Olio di neem (insetticida ad ampio spettro), Caolino corroborante (barriera fisica, dissuasore visivo), Zeolite micronizzata corroborante (corroborante minerale), Olio vegetale di soia (insetticida soffocante, alternativa vegetale all'olio bianco).
-
Fitosanitario BioNee (1): Olio di Neem + Sapone molle (combo) — combinazione pronta all'uso che combina insetticida
- bagnante.
-
Catalogo brand italiani — Gesal, Flortis, Protect Garden, Il Paese Verde, Biotica, Blumen: +25 voci da 6 brand storici del giardinaggio hobby italiano.
- Gesal (gruppo Compo/Syngenta, 4 voci): Universale NPK 7-3-5, Piante Fiorite/Gerani NPK 4-6-6, Cycas NPK 6-3-6, bastoncini stick per piante fiorite.
- Flortis (Sumitomo Chemical, 5 voci): Bonsai NPK 6-19-19, Universale Liquido NPK 7-7-7, Gelb Granulare NPK 14-6-16 a lenta cessione, Blu Granulare NPK 12-12-17, Agrumi Biologico.
- Protect Garden (ex Bayer Garden / SBM, 7 voci): Universale Liquido NPK 6-4-5, Nutrimento in Gocce per Orchidee, concimi liquidi per Agrumi / Gerani / Acidofile / Piante Verdi, 3in1 Granulare.
- Il Paese Verde (Agribios Italiana, gruppo Yara, 7 voci): Fertil Olivo NPK 10-5-5, Bioactive (ammendante con funghi antagonisti), Humus di Lombrico, Linea Prato completa (Starter, Growing, Biogreen, Fertilgreen).
- Biotica (biotica.bio, 1 voce): Crementum, concime biologico liquido universale per orticole, ornamentali e da frutto. Consentito in agricoltura biologica.
- Blumen (1 voce): Concime Naturale Orto e Piante da Frutto.
Catalogo totale passa da 139 a 164 fertilizzanti distribuiti in 23 brand. Optgroup nel menu a tendina distingue ora visivamente tutti i brand della catena di vendita italiana (garden center, Brico, supermercati).
🐛 Bug fix
-
Toggle tema chiaro/scuro non funzionava: la preferenza veniva salvata ma non riletta nel disegnare la pagina, così cliccare l'icona non aveva effetto visibile.
-
Campi di input bianchi su tema scuro: testo bianco su sfondo bianco in vari form (login, profilo, ricerca, ecc.).
-
Splash, login e registrazione in tema scuro: ora la pagina pre-login mantiene sempre il tema chiaro per coerenza con l'identità brand, indipendentemente dalla preferenza di sistema.
-
Avviso
Vento fortecon elenco lungo: vedi miglioramento sopra (ora "Tutte le piante"). -
Calendario mobile: bottoni navigazione su 3 righe distinte; ora una sola riga.
-
Footer sovrapposto alla bottom-nav su mobile: in fondo alle pagine il tag "Beta version" e i link Privacy / Termini di servizio finivano dietro le tab della bottom-nav fissa. Ora il footer ha il proprio spazio sotto (altezza tab + safe-area iPhone), così resta sempre leggibile sopra la nav.
-
Form vaso (Nuovo / Modifica) restituiva 502 Bad Gateway: regressione introdotta con i preset "Fertilizzanti abituali". Il render del fieldset preset accedeva a un campo (
brand) non presente nella query del catalogo fertilizzanti, generando un errore. Risolto allineando l'etichetta dei prodotti a quella già usata nel menu a tendina del diario — Nome (forma, NPK x-y-z) — con vantaggio collaterale: ora vedi sempre la stessa etichetta per lo stesso prodotto in tutta l'app. -
Home e Calendario mostravano una pagina di errore: regressione introdotta con la concimazione dai preset. La lettura dei preset del vaso avveniva nel momento sbagliato, mandando in errore la pagina. Risolto sistemando l'ordine delle operazioni.
-
Fitopatia "aperta" anche dopo aver registrato un trattamento: registrando un trattamento dal diario (es. bicarbonato di potassio per oidio del rosmarino), lo status della fitopatia restava 'aperta' invece di passare a 'in trattamento'. Conseguenze visibili:
- L'allerta "Fitopatia X aperta da N giorni senza trattamento iniziato" continuava ad apparire indefinitamente.
- Il calendario non proponeva la prossima applicazione perché
il
pesticide_idsulla fitopatia non veniva valorizzato. - Ora registrando un trattamento per una fitopatia: lo status passa automaticamente a "in trattamento", viene memorizzata la data di inizio, e il pesticide del primo prodotto applicato diventa il riferimento per le scadenze successive (es. ogni 7 giorni per il bicarbonato). Migrazione retroattiva al boot riallinea le fitopatie già trattate prima del fix.
Maggio 2026 — Prima metà del mese
🆕 Nuove funzionalità
Notifiche push (Web Push)
The Pot può inviarti notifiche push sul telefono o desktop, anche quando l'app non è aperta. Dal profilo trovi la card "Notifiche push": attivi, scegli quali tipi di avviso ricevere (7 toggle: avvisi meteo critical, meteo schedulate, eventi del giorno, recap serale, fine post-rinvaso, fitopatie trascurate, vasi inattivi), imposti gli orari delle notifiche schedulate (mattina, mezzogiorno, sera) e una finestra di silenzio notturno (default 22:00-07:00 — le notifiche critical la bypassano).
Funziona via Web Push standard: niente account da creare, niente servizi esterni. Su iOS le push richiedono che l'app sia installata come PWA (vedi §16 del manuale).
Installa come app (PWA)
L'app si installa come PWA su Android, iOS, Windows e macOS: appare un'icona sulla home del telefono o nel menu app del desktop, e si apre in modalità standalone (senza barra del browser). Necessario per ricevere notifiche push su iOS.
Ricerca globale
Nuova barra di ricerca 🔍 nell'header (quando sei loggato) che cerca in 6 aree contemporaneamente: i tuoi vasi, catalogo specie, substrati, fertilizzanti, fitopatie, note del diario. Risultati raggruppati per area con link diretti. Soglia minima 2 caratteri. Vedi §17 del manuale.
Tema chiaro / scuro / automatico
Toggle nella nav header con 3 stati: 🌑 auto (segue il sistema operativo), ☀ chiaro forzato, 🌙 scuro forzato. Preferenza salvata sul tuo profilo, sincronizzata tra dispositivi. I background stagionali esistono in versione chiara e scura, scelti automaticamente in base al tema attivo. Vedi §18 del manuale.
Esporta i tuoi dati (GDPR)
Nuova card nel profilo: "Scarica i miei dati". Click → ricevi un ZIP con tutto quello che è tuo: vasi (attivi + archiviati), entry del diario, fitopatie, foto originali, preferenze, meteo salvato. Tutti i file dati sono testo leggibile (formato JSON). Conforme all'Art. 20 GDPR (portabilità dati). Niente importazione: solo download. Vedi §19 del manuale.
🔧 Miglioramenti
-
Lineage del vaso: registrare un rinvaso con cambio di substrato o forma ora crea un nuovo "Pot" e archivia il vecchio. Il vecchio resta consultabile dal pannello Lineage del nuovo. Durante la finestra post-rinvaso (14-30 giorni a seconda della specie), le scadenze auto di concimazione e irrigazione sono sospese per dare alla pianta tempo di acclimatarsi. Schedulati checkpoint di osservazione ai giorni +7, +14, +21.
-
Calendario annuale per specie: nella pagina dettaglio di ogni specie del catalogo, barra 12 mesi colorata (attivo/transizione/dormiente) con intervallo concimazione e irrigazione.
-
Calcolatore mix kg: sul detail vaso, bottone ⚖️ "Calcola mix" che mostra i kg di ogni componente del substrato per il volume del tuo vaso. Funziona anche con substrati personalizzati.
-
Substrati personalizzati: crea ricette tue (finestra con somma 100% verificata live, parametri agronomici calcolati come media ponderata).
🐛 Bug fix
-
Update script Windows non rilevava commit nuovi: in PowerShell gli errori dei comandi git non venivano catturati, lo script pensava che fosse già tutto aggiornato. Ora controlla esplicitamente l'exit code di
git+ check del working tree pulito prima del pull. -
Pagina
/guidamostrava sorgente Markdown: la libreriamarkdownera classificata come dipendenza di tooling e non veniva installata nel container. Spostata a runtime. -
Calendario, dashboard, profilo: numerosi fix di leggibilità su tema scuro (testi grigio scuro su sfondo scuro, banner con sfondi bianchi residui, chip filtri illeggibili).
Maggio 2026 — Slice finali del prototipo
Sono stati chiusi i tre slice "finali" che completano la versione prototipo dell'app:
- Export GDPR — scarica tutti i tuoi dati come ZIP.
- Ricerca globale — cerca in 6 aree con un click.
- Tema scuro — auto/light/dark con persistenza utente.
Aprile 2026 — Slice precedenti
Sintesi delle macro-feature implementate prima dei commit recenti.
Per ognuna c'è una sezione dedicata nel manuale (docs/USER-GUIDE.md):
- Avvisi meteo personalizzati per specie (§13.2): override del messaggio per ogni specie che coltivi (es. "Oleandro fragile: copri subito").
- Deduplicazione avvisi: 3 vasi con stesso evento meteo → 1 card con i 3 nomi (§10.3).
- Salta per pioggia sul calendario: bottone 🌧️ sulle card di irrigazione automatica quando il forecast Open-Meteo prevede ≥5 mm di pioggia.
- Transizione stagionale (§11): avvisi "ritiro autunnale" e "uscita primaverile" con buffer modulato dal microclima del vaso.
- Categoria diario "Ricovero" con sub-tipi acclimatazione / definitivo / uscita, side-effect su pot.location.
- Dashboard agronomica (§15): indice di salute, distribuzione specie, top fitopatie, vasi che richiedono attenzione.
- Calendario settimanale (§9) con eventi auto da catalogo + eventi utente + meteo + banner overdue.
- Diario delle attività (§5) con 11 categorie, foto in galleria, filtri ricchi.
- Fitopatie (§7) con trattamenti ciclici, calcolo "prossima applicazione" e overdue.
Gennaio–Febbraio 2026
- Slice B: catalogo fitopatie + relazione fitopatie ↔ fitosanitari, registrazione fitopatia sul vaso, trattamenti ciclici.
- Slice A: registrazione utente, login con "ricordami", gestione vasi base, catalogo pubblico (specie, substrati, fertilizzanti, materiali del vaso).
Vuoi proporre una nuova funzionalità o segnalare un bug? Vai alla sezione "Glossario" del manuale (§21) per la terminologia, poi contattaci. 🌱