community italiana di domotica personale
 
Integrare e contabilizzare un pannello solare fotovoltaico “plug & play” su Home Assistant

Integrare e contabilizzare un pannello solare fotovoltaico “plug & play” su Home Assistant

SCOPI DEL PROGETTO:
  • Integrare un pannello solare fotovoltaico “plug and play” all’HUB Home Assistant in modo da poter contabilizzare l’energia prodotta, autoconsumata ed eventualmente reinmessa in rete nazionale
  • Livello di difficoltàmedio
  • Costo: variabile
CONCETTI AFFRONTATI:
  • Installazione hardware
  • Configurazione software
COMPONENTI SOFTWARE UTILIZZATE:
PREREQUISITI:
DISPOSITIVI FISICI UTILIZZATI:
GUIDA INDICATA A UTENTI CON ISTALLAZIONE:
Ambienti Home Assistant HassOS-Supervised-Core
NOTE E DISCLAIMER
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata e realizzata SOLO da personale qualificato;
  • qualsiasi modifica non prevista attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno infatti puro scopo didattico) e fa decadere garanzia, omologazioni e certificazioni di qualità; dei dispositivi interessati;
  • tutte le tecniche descritte si intendono applicate a software e firmware aggiornati alle ultime versioni disponibili;
  • gli articoli di inDomus sono totalmente indipendenti e non sponsorizzati. Se mai questo cambiasse, verrà segnalato chiaramente sulle pagine oggetto di sponsorizzazione;
  • questa pagina è materialmente scritta e manutenuta da più individui: non ci si aspetti né si pretenda un supporto personale. In caso di difficoltà, chiedere supporto alla community sul nostro forum o sulla nostra chat;
  • se hai bisogno di orientarti, c'è la mappa.
Revisione progetto: 1.2

Abstract

L’avvento dei pannelli solari fotovoltaci “plug and play ha portato benefici ai molti che abbiano, con estrema semplicità e basso investimento, scelto di implementarli per la propria realtà domestica al fine di consumare meno energia elettrica.

Coloro che abbiano altresì deciso di dotarsi di Home Assistant – il più diffuso tra gli HUB per domotica personale – possono, tramite una configurazione alla fine piuttosto semplice, visualizzare la potenza istantanea e contabilizzare l’energia prodotta dal pannello nel tempo in modo da consultarne lo storico presso il pannello “Energia” dell’HUB. Inoltre, con ulteriori configurazioni anch’esse piuttosto semplici, possono ottenere una serie di indicatori particolarmente utili, come per esempio il valore potenziale di produzione, la percentuale di produzione ed altro.

Questo progetto illustra tutto questo.

N.b. Il presente progetto è sostanzialmente valido per integrare qualsiasi fonte di produzione energetica esterna all’impianto. Non tiene però in considerazione eventuali impianti di accumulo: il “plug and play”, per definizione e per legge, non prevede la possibilità di installare accumulatori.

Si parte

Assunti

Si assume che Home Assistant ovviamente sia già operativo in una delle tante possibilità di implementazione previste e documentate.

Si assume inoltre di avere installato a monte dell’impianto elettrico un misuratore di potenza/energia (eg. Shelly EM o similari) e di averne integrate le letture all’interno di Home Assistant. Questo perché il pannello energia dell’HUB è in grado di fornire dei report relativi sia al consumo complessivo dell’impianto, sia discriminare le letture relative alla produzione che andremo a realizzare con la presente guida. Dato tale assunto, immagineremo di avere a disposizione un sensore di potenza chiamato sensor.potenza_generale e uno di energia chiamato sensor.energia_generale relativi entrambi, appunto, alla misurazione a monte impianto.

Infine, si assume di conoscere il funzionamento di un pannello solare fotoelettrico “plug and play (incluso il permesso necessario per reinmettere corrente in rete nazionale) e aver ben chiari in testa i concetti di potenza e quello di energia.

Misurare il pannello

Salvo che non si tratti di un pannello particolarmente intelligente, ovvero integrabile su Home Assistant senza bisogno di ausilii, dovremo dotarci di un misuratore da posizionare tra la spina in uscita all’inverter e la presa elettrica scelta per “riversare” la corrente prodotta dal pannello verso l’impianto domestico.

Non tutti i misuratori vanno bene. Solitamente si penserebbe a una comuna presa intelligente (purché integrabile a Home Assistant) dotata di misurazione di potenza/energia, ma dato che il flusso di corrente è contrario rispetto al solito (la corrente non “esce” dalla presa intelligente, ma “entra”), alcune non lo rilevano, misurando “0”. Lo stesso dicasi per gli interruttori intelligenti.

Abbiamo appurato che, per gli scopi della presente guida, certamente funzionano:

Sicuramente ne esistono anche altri: questi sono semplicemente quelli da noi testati e garantiti in termini di funzionamento agli scopi del progetto.


Una volta attestato il misuratore scelto sul pannello e avendone integrate le letture all’HUB avremo quindi due nuovi sensori, uno di potenza istantanea e uno di energia cumulata, chiamati rispettivamente (è un esempio) sensor.potenza_pannello e sensor.energia_pannello.

Potenza casa e potenza pannelli solari su Home Assistant

Gestione della riconsegna

Arrivati a questo punto il lavoro parrebbe già finito, ma non è così. Questo perché abbiamo sì quattro sensori utili a misurare:

  • sensor.potenza_generale
  • sensor.energia_generale
  • sensor.potenza_pannello
  • sensor.energia_pannello

ma i primi due possono essere soggetti, dall’introduzione della produzione esterna, ad anomalie da gestire.

Quando infatti la produzione del pannello supera l’assorbimento istantaneo dell’impianto domestico, la corrente in eccesso viene riconsegnata alla rete elettrica nazionale, uscendo pertanto dall’impianto. Questo talvolta causa – la cosa è legata al misuratore a monte impianto – la generazione di valori negativi di potenza istantanea i quali inficiano il calcolo di energia in kWh.

N.b. Non tutti i misuratori a monte impianto riportano valori negativi, in presenza di corrente inversa. Quello che è necessario fare è portarsi in una condizione di basso assorbimento e vedere, quando la produzione solare supera l’assorbimento dell’impianto, se la lettura di potenza a monte impianto sia negativa o sia semplicemente “0”.

In caso il misuratore non discrimini tra riconsegna o prelievo (ovvero fornisca sempre valori positivi, quale che sia il caso), esso è inadatto agli scopi del presente progetto.

Quello che faremo è quindi definire nuovi sensori derivati che misurino l’assorbimento positivo (quello effettivamente “pagato” alla rete nazionale) e quello negativo (quello riconsegnato alla rete nazionale).

Potenza/energia positive

Prima cosa da fare è dotarsi di un sensore di potenza positiva, ovvero un sensore derivato da quello di potenza generale, sensor.potenza_generale (come da esempio degli assunti).

Per farlo, aggiungere alla propria configurazione YAML il seguente codice nella sezione dei sensori:

sensor:
  - platform: filter
    name: "potenza generale positiva"
    entity_id: sensor.potenza_generale
    filters:
      - filter: range
        lower_bound: 0

avendo cura, ovviamente, di personalizzare eventualmente il nome dell’entità del campo entity_id col nome del proprio sensore di potenza a monte impianto. Riavviare Home Assistant dopo l’avvenuta configurazione.

Questa configurazione genererà un sensore chiamato sensor.potenza_generale_positiva il quale conterrà, nel proprio stato, solo valori positivi: quando il sensore di potenza a monte impianto dovesse diventare negativo (per riconsegna), tale nuovo sensore derivato segnerà “0”.

Perfezionare il sensore aggiungendo alla propria customizzazione la seguente porzione di codice:

sensor.potenza_generale_positiva:
  friendly_name: "Potenza CASA (positivo)"
  unit_of_measurement: "W"
  device_class: "power"
  state_class: "measurement"
  icon: mdi:calculator

ed effettuiamo un altro riavvio.


A questo punto creiamo anche un sensore di energia il quale conteggi l’energia effettivamente prelevata (e pagata) dalla rete nazionale. Per farlo, recarsi su Home Assistant alla voce “Impostazioni” > “Dispositivi e servizi” > “Aiutanti” e creare un aiutante di tipo “integrale della somma di Riemann”.

Indicare nel nome “energia generale positiva” e indicare come “Sensore in ingresso” il sensore di potenza appena creato, ovvero sensor.potenza_generale_positiva. Scegliere poi, come metoto d’integrazione, la “Somma sinitra di Rienmann“, precisione “2“, come prefisso metrico “k” e infine come unità di tempo “ore“.

Al termine, il sensore sensor.energia_generale_positiva sarà stato così creato.

N.b. Se si usano dei contabilizzatori, magari per la gestione delle fasce F1, F2 ed F3, va da sé che la loro configurazione vada aggiornata utilizzando, quale fonte alimentante, sensor.energia_generale_positiva e non più sensor.energia_generale.

Potenza/energia negative

Viceversa, ci può servire – a fini statistici – sapere anche quanta energia abbiamo riconsegnato alla rete nazionale. Ci interessano quindi i valori di potenza negativi tramite i quali calcolarci, come fatto per i positivi, l’energia ad essi associata.

Prima cosa da fare è dotarsi di un sensore di potenza negativa, ovvero un sensore derivato da quello di potenza generale, sensor.potenza_generale (come da esempio degli assunti).

Per farlo, aggiungere al proprio file di configurazione Home Assistant il seguente codice nella sezione dei sensori:

sensor:
  - platform: filter
    name: "potenza generale negativa negativa"
    entity_id: sensor.potenza_generale
    filters:
      - filter: range
        upper_bound: 0

avendo cura, ovviamente, di personalizzare eventualmente il nome dell’entità del campo entity_id col nome del proprio sensore di potenza a monte impianto. Riavviare Home Assistant dopo l’avvenuta configurazione.

Questa configurazione genererà un sensore chiamato sensor.potenza_generale_negativa_negativa (la ripetizione nel nome è voluta) il quale conterrà, nel proprio stato, solo valori negativi: quando il sensore di potenza a monte impianto dovesse diventare positivo, tale nuovo sensore segnerà “0”.

Però questo non va bene così come definito, perché tale sensore riporterà sempre e solo i valori negativi, quando a noi serve conoscere la potenza in uscita in senso positivo.

Creeremo quindi un sensore template che “raddrizzi” il segno negativo del sensore appena creato:

template
  - sensor:
      - name: "potenza generale negativa"
        state: "{{ (states('sensor.potenza_generale_negativa_negativa')|float) * -1}}" 

Dopo il riavvio, il nostro sensore chiamato sensor.potenza_generale_negativa conterrà i valori positivi relativi alla potenza riconsegnata, laddove ce ne siano.

Perfezionare il sensore aggiungendo alla propria customizzazione la seguente porzione di codice:

sensor.potenza_generale_negativa:
  friendly_name: "Potenza CASA (negativo)"
  unit_of_measurement: "W"
  device_class: "power"
  state_class: "measurement"
  icon: mdi:calculator

Ed effettuiamo un altro riavvio.

A questo punto creiamo anche un sensore di energia il quale conteggi l’energia effettivamente ricosegnata alla rete nazionale. Per farlo, nuovamente recarsi su Home Assistant alla voce “Impostazioni” > “Dispositivi e servizi” > “Aiutanti” e creare un nuovo aiutante di tipo “integrale della somma di Riemann”.

Indicare nel nome “energia generale riconsegnata” e indicare come “Sensore in ingresso” il sensore di potenza appena creato, ovvero sensor.potenza_generale_negativa. Scegliere poi, come metoto d’integrazione, la “Somma sinitra di Rienmann“, precisione “2“, come prefisso metrico “k” e infine come unità di tempo “ore“.

Al termine, il sensore sensor.energia_generale_riconsegnata sarà stato generato.

Vetrina - Offerte del giorno

Ricapitolo

A questo punto abbiamo a disposizione:

Sensore Significato/uso
sensor.potenza_generale “Vecchio” sensore di potenza generale a monte impianto, il quale visualizza valori positivi quando si sta assorbendo dalla rete nazionale e negativi quando si sta sovra-producendo, con riconsegna alla rete nazionale
sensor.energia_generale “Vecchio” sensore di energia in kWh a monte impianto, ora privo di senso e da non utilizzarsi più
sensor.potenza_pannello La potenza istantanea prodotta dal pannello
sensor.energia_pannello Il sensore cumulativo di energia prodotta dal pannello
sensor.potenza_generale_positiva Il sensore di potenza istantanea a monte impianto il quale visualizza valori positivi quando si sta assorbendo dalla rete nazionale e “0” quando si sta sovra-producendo, con riconsegna alla rete nazionale
sensor.energia_generale_positiva Il sensore cumulativo di energia che contabilizza l’energia effettivamente prelevata dalla rete nazionale
sensor.potenza_generale_negativa_negativa Sensore di servizio
sensor.potenza_generale_negativa Il sensore di potenza istantanea a monte impianto il quale visualizza valori positivi quando si sta riconsegnando alla rete nazionale e “0” quando si sta sotto-producendo, con assorbimento alla rete nazionale
sensor.energia_generale_riconsegnata
Il sensore cumulativo di energia che contabilizza l’energia effettivamente ricosegnata alla rete nazionale

Con tutti questi sensori copriamo completamente il set di quelli necessari per misurare l’impianto. Tutti questi sensori possono essere visualizzati sulla dashboard di Home Assistant come meglio si crede, ma il massimo si ottiente tramite il…

Pannello energia di Home Assistant

Arrivati a questo punto possiamo recarci alla configurazione del pannello energia di Home Assistant (cliccando qui oppure recandosi a “Impostazioni” > “Plance” > “Energia“), rimuovere gli eventuali sensori già inclusi per quanto riguarda il consumo (per esempio sensor.energia_generale, oppure degli utility meter usati per la contabilizzazione) e configurare come segue:

  • nella sezione “Pannelli solari” > “AGGIUNGI A PRODUZIONE SOLARE” indicare il sensore sensor.energia_pannello;
  • nella sezione “Rete elettrica” > “AGGIUNGI RESTITUZIONE” indicare il nuovo sensore sensor.energia_generale_riconsegnata;
  • nella sezione “Rete elettrica” > “AGGIUNGI CONSUMO” indicare il nuovo sensore sensor.energia_generale_positiva (oppure i propri contabilizzatori, vedi nota a seguire).
N.b. Se si usano dei contabilizzatori, magari per la gestione delle fasce F1, F2 ed F3, va da sé che la loro configurazione vada aggiornata utilizzando, quale fonte alimentante, sensor.energia_generale_positiva e non più sensor.energia_generale.
Consuntivazione energetica Home Assistant - con riconsegna
il pannello “Energia” una volta riconfigurato.

Potenza disponibile/effettiva

L’integrazione e la contabilizzazione sono di per sé già complete, ma possiamo perfezionare il tutto dotandoci di altri nuovi sensori:

  • un sensore che ci indichi quanta potenza istantanea possiamo produrre, teoricamente, in funzione della potenza nominale del pannello, della posizione geografica, del giorno dell’anno e del meteo in corso;
  • un sensore che indichi, in relazione al precedente, in che percentuale siamo producendo potenza tramite i pannelli solari;
  • altri sensori previsionali in merito all’energia solare.

Per il primo utilizzeremo l’integrazione “Forecast Solar” la quale fornisce quanto sopra indicato. Per configurarla, recarsi alla dashboard dedicata alle integrazioni (cliccando qui oppure recandosi a “Impostazioni” > “Dispositivi e servizi” ) e aggiungere l’integrazione “Forecast Solar”:

Forecast Solar - Configurazione

Nella maschera aver cura di indicare la propria località in termini di latitudine/longitudine (dovrebbe già venir proposto automaticamente dalla maschera) nonché la declinazione (ovvero verso dove “guardano” i pannelli) e la potenza nominale del kit solare a propria disposizione (eg. 300 Watt).

Una volta completata l’integrazione, appariranno una serie di nuove entità:

Sensore Significato/uso
sensor.power_production_now Potenza teorica istantanea massima
sensor.power_highest_peak_time_today Data/ora del picco teorico di potenza istantanea di oggi
sensor.power_highest_peak_time_tomorrow Data/ora del picco teorico di potenza istantanea di domani
sensor.energy_current_hour Energia potenziale ora corrente
sensor.energy_next_hour Energia potenziale prossima ora
sensor.energy_production_today Energia potenziale di oggi (tutto il giorno)
sensor.energy_production_today_remaining Energia potenziale rimanente di oggi (del giorno)
sensor.energy_production_tomorrow Energia potenziale di domani (tutto il giorno)

Sono tutti sensori interessanti; quello che però più ci interessa è sicuramente sensor.power_production_now, ovvero la potenza istantanea teorica massima che il pannello potrebbe/dovrebbe produrre.


A questo punto siamo abilitati a definire un sensore template che calcoli automaticamente in che percentuale il pannello stia effettivamente producendo. Aggiungiamo al nostro file di configurazione Home Assistant una configurazione di questo tipo:

template:
  sensor:
      - name: "percentuale produzione solare potenziale"
        state: >-
          {% if (is_state('sensor.potenza_pannello','0')) or not (has_value('sensor.potenza_pannello')) %}
          {% else %}
            {{ ((states('sensor.potenza_pannello')|int) / (states('sensor.power_production_now')|int) * 100)|int}}
          {% endif %}

e riavviamo l’HUB. Questo farà sì che venga generata un’entità chiamata sensor.percentuale_produzione_solare_potenziale la quale riporterà, momento per momento, in che percentuale il pannello sia producendo in funzione del potenziale stimato.

Potenziale produzione solare

Attenzione però: il dato in entrata (sensor.power_production_now) potrebbe, specialmente mattina e sera, essere sovra o sotto stimato, portando quindi a un cattivo calcolo della % calcolata. Per regolare questo aspetto tornare sulla maschera di configurazione dell’integrazione Forecast.Solar e regolare il damping come da indicazioni della documentazione ufficiale.

That’s all, folks!


Altri articoli su questi temi:

⚠️ Se di Home Assistant ne sai poco ma sei interessato a capirne di più, ti suggeriamo di partire da qui.

Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Alcuni link sono taggati in qualità di affiliati Amazon e riceviamo un compenso dagli acquisti idonei, utile al sostenimento del sito, ma le nostre recensioni sono tutte indipendenti e non sponsorizzate. Se ti sei perso, a tua disposizione c'è la mappa.