> Monitoraggio energetico smart:
fotovoltaico e domotica con l'AI
Un impianto fotovoltaico genera dati in tempo reale: produzione, consumi, previsioni meteo. Senza automazione intelligente, rimangono numeri su un'app. Con una pipeline AI ben costruita, diventano decisioni: quando accendere i carichi, cosa posticipare, come massimizzare l'autoconsumo.
Il monitoraggio energetico smart non è una feature: è la base per trasformare un impianto fotovoltaico da generatore passivo a sistema che impara dai suoi stessi dati. La domanda concreta che mi arriva spesso è: "Ho inverter, prese smart, sensori di temperatura. Come li collego davvero a un'AI che prenda decisioni utili?"
Qui non parliamo di previsioni teoriche, ma di tre livelli di implementazione che funzionano: monitoraggio puro, automazione deterministica, e infine agenti AI che si adattano ai pattern.
# Primo livello: raccolta dati centralizzata
Prima di qualsiasi AI, serve una fonte unica di verità. La maggior parte degli impianti è un arcipelago: inverter che parla Modbus, prese Shelly via HTTP, sensori zigbee su hub separati, app del fornitore che mostra dati diversi da quelli reali.
La soluzione è un collector locale (Raspberry Pi 4, NUC, o container Docker su NAS):
- Inverter: leggi via Modbus TCP o seriale. Estrai potenza istantanea, energia cumulata, tensione DC, stato batteria se presente.
- Carichi smart: API REST/MQTT per prese intelligenti. Log lo stato e il consumo storico.
- Meteo: chiama un'API meteo (openweathermap, weatherapi) per cloud cover, irradianza prevista, temperatura ambiente.
- Database locale: InfluxDB o Prometheus per timeseries. Non riversare tutto sul cloud: latenza, costi, privacy.
Con questo setup, hai dati coerenti ogni 10-30 secondi. Niente statistiche falsate da sincronizzazioni diverse.
# Secondo livello: regole deterministiche
Prima di usare AI, automatizza cosa è deterministico. Se il tuo sistema decide in base a regole semplici, non usare un LLM: usa logica booleana, è più veloce e prevedibile.
Esempi concreti:
- Accendi lavatrice/lavastoviglie quando produzione fotovoltaica > 80% della potenza nominale e meteo prevede almeno 2 ore stabili.
- Ricarica batteria di backup se SOC < 50% e ci sono almeno 4 ore di sole previste prima del tramonto.
- Scalda acqua sanitaria quando eccedenza energetica istantanea > 500W per più di 15 minuti consecutivi.
- Spegni carichi non critici se è nuvoloso e batteria carica < 30%.
Implementa queste regole con Home Assistant, OpenHAB, o uno script Python con if/else. Quando eseguono senza errori per settimane, allora sai che il tuo sistema di raccolta dati è affidabile.
Errore comune: saltare direttamente a "AI che decide tutto". Le regole deterministiche sono il fondamento. Un'AI che eredita dati sporchi o logica confusa amplifica solo i problemi.
# Terzo livello: agenti AI adattivi
Dopo settimane di dati storici (almeno 2-3 mesi), hai feedback su cosa funziona davvero. Qui entra un modello predittivo:
Predizione della produzione
Un modello regressivo semplice (Gradient Boosting, Random Forest) apprende dai tuoi dati:
- Ora del giorno, stagione, cloud cover, temperatura.
- Output: produzione FV stimata nei prossimi 15/30/60 minuti.
Non serve un LLM per questo. Un modello scikit-learn addestrato localmente su 500 ore di dati reali batte qualsiasi previsione generica.
Pianificazione dinamica dei carichi
Dato che conosci produzione prevista e consumi storici, puoi anticipare:
- "Tra 45 minuti la produzione cala sotto i 500W. Accendi la lavatrice adesso se è disponibile."
- "Domani pomeriggio nuvole persistenti. Ricarica batteria ora se ci sono almeno 3 ore di sole oggi."
- "Questo carico costa 0.35€/kWh se preso da rete, 0€ se usato ora. Conviene aspettare 20 minuti di sole?"
Qui un LLM localmente ridotto (tipo Phi-2 3B, Mistral 7B) può riassumere i dati e spiegare la decisione in linguaggio naturale, ma la logica sottostante rimane deterministica e verificabile. Niente "l'AI decide" in scatola nera.
# Architettura pratica
| Componente | Funzione | Stack tipico |
|---|---|---|
| Collector | Legge inverter, sensori, meteo. Scrive su DB locale. | Python (pymodbus, requests) su Raspberry Pi / NUC |
| DB Timeseries | Archivia dati con timestamp. Query rapide su finestre temporali. | InfluxDB v2 (5-10GB anno) o Prometheus |
| Engine regole | Logica deterministica. Esegue automazioni basate su trigger. | Home Assistant, Node-RED, script Python cron |
| Modello predittivo | Forecasting produzione FV. Riceve dati orari, predice 60min avanti. | scikit-learn (XGBoost) riaddestrato settimanalmente |
| LLM locale (opzionale) | Spiega decisioni in naturale. Niente inference su cloud. | Ollama + Mistral 7B, esecuzione locale |
| Interfaccia utente | Dashboard con metriche, storico, controllo manuale fallback. | Grafana, Home Assistant UI, o custom React |
Questo stack costa tra 800 e 2.500 euro una volta (inverter e sensori compresi): niente abbonamenti SaaS, niente dipendenza dal cloud.
# I dati che importano veramente
Non raccogliere tutto. Focalizzati su:
- Potenza istantanea (W): inverter, ogni carico, batteria, rete. Granularità: 10-30 secondi.
- Energia cumulata (kWh): produzione, autoconsumo, prelievo da rete. Giornaliera, settimanale, mensile.
- Meteo: cloud cover (%), temperatura ambiente, velocità vento, previsione ora per ora next 24h.
- Stato batteria: SOC (%), tensione, corrente, temperatura cella se disponibile.
- Tariffe energetiche: prezzo kWh per ora (se su mercato orario).
Tutto il resto (dati di diagnostica dell'inverter, strain sulla rete, ecc.) è secondario: archivialo se puoi, ma non è critico per l'automazione.
Punto critico: i dati meteo aggregati da API libere (openweathermap) sono affidabili a 24-48 ore ma degradano velocemente oltre. Per previsioni oltre 2-3 ore, affidati ai sensori locali: irradianza (se hai un piranometro), velocità vento, umidità. Sono meno precisi ma non degradano.
# Quando questa soluzione funziona (e quando no)
Questa architettura è ideale se:
- Hai un impianto fotovoltaico con inverter leggibile (Fronius, SMA, Huawei, Growatt).
- I tuoi carichi sono per lo più "shiftabili" (lavatrice, lavastoviglie, riscaldamento, ricarica) non critici (refrigerazione, pompa filtrazione piscina).
- Vuoi massimizzare autoconsumo o guadagni da scambio con rete.
- La tua casa ha una connessione stabile (WiFi o LAN).
NON usarla se:
- L'inverter non espone protocolli leggibili (alcuni modelli vecchi sono blindati).
- I tuoi carichi sono tutti critici: frigorifero, stufa riscaldamento, pompa. Non hai margini per "posticipa".
- La rete è instabile: un riavvio del Raspberry Pi non deve lasciare l'impianto "cieco" per ore.
- Non hai il tempo/competenza per mantenere il codice. Questo non è plug-and-play.
Nel secondo caso, fermati al livello 1-2 (raccolta dati + automazione semplice). È già una vittoria rispetto a niente.
# Costi reali e tempistiche
Hardware iniziale:
- Raspberry Pi 4B (8GB): 100 euro.
- Prese intelligenti (10-15 pezzi): 200-400 euro.
- Sensori di temperatura/umidità: 50-100 euro.
- Cavi, alimentatori, scatole: 100 euro.
Software: open source, zero costi ricorrenti.
Tempistica di setup: 4-8 settimane per raccolta dati + regole funzionanti. Modello predittivo accurato? 8-12 settimane di addestramento (cioè, attendere i dati).
Manutenzione: aggiorna Home Assistant/script Python ogni 2-3 mesi, controlla log settimanalmente. Non è passivo, ma nemmeno impegnativo se fatto bene.
# Prossimi passi concreti
Se hai un impianto FV e vuoi iniziare:
- Verifica che il tuo inverter esponga dati via Modbus TCP o HTTP. Scarica il datasheet tecnico.
- Installa Home Assistant su un Raspberry Pi (eseguibile in 30 minuti).
- Aggiungi l'integrazione Modbus o HTTP dell'inverter (10-15 minuti).
- Raccogli dati per almeno 2 settimane senza automazione: osserva pattern reali.
- Scrivi le tue prime 3-4 regole deterministiche. Testale in manuale prima di lasciarle autonome.
- Dopo 2-3 mesi di dati, valuta un modello predittivo locale se ne vale la pena economicamente.
Se rimani bloccato su un passaggio tecnico, meglio assumere un sviluppatore che conosce Modbus e Python per 1-2 giorni di consulting (indicativamente 500-1500 euro) che buttare soldi in tool SaaS che risolvono il 50% del problema.
// FAQ
Devo per forza avere una batteria per fare automazione energetica?
No. Una batteria amplifica i benefici (immagazzini eccedenza solare per usarla di sera), ma l'automazione funziona anche senza. Senza batteria: concentrati su carichi shiftabili nel giorno (lavatrici alle 11 quando c'è sole pieno) e su ridurre prelievi di picco dalla rete (che costano di più). La batteria arriva dopo, quando la logica è solida.
Quanto posso risparmiare realisticamente sulla bolletta?
Indicativamente, con automazione corretta e impianto medio (4-6 kW), passa da 40-50% di autoconsumo a 60-75%. Se il tuo kWh costa 0.25 euro, la differenza è 50-100 euro al mese in estate, meno in inverno. Non è una rivoluzione, ma su un anno è 400-600 euro. Se aggiungi ottimizzazione durante ore di mercato orario (carica batteria quando è gratis/negativo), può arrivare a 1000+ euro annui. Dipende dalla regione e dalle tue tariffe.
Mi conviene un servizio cloud tipo Aurora o quello dell'inverter, invece di fare tutto locale?
Dipende da quanto vuoi perdere il controllo dei tuoi dati e dalle tempistiche di risposta che accetti. I servizi cloud sono comodità (dashboard bella, zero setup), ma latenza 2-5 secondi è inaccettabile se devi decidere se accendere un carico ora. Locale: latenza <200ms, zero dipendenza da internet (WiFi o server di terzi giù), dati tuoi. Il tradeoff: devi sapere cosa fai. Se non ti piace scrivere Python, il cloud vince. Se sai cosa preferisci davvero, scegli locale.
Vuoi valutare una soluzione simile per la tua azienda?
Dimmi il tuo caso, valuto la fattibilità e ti dico costi e tempi realistici. Il primo confronto è gratuito.