home assistant fotovoltaico

Home Assistant con fotovoltaico: creare dashboard energia con Sankey view per visualizzare flussi solari, batteria e consumi

Se hai un impianto fotovoltaico (con o senza batteria di accumulo), una delle cose più soddisfacenti è vedere in tempo reale come scorre l’energia: dal pannello alla batteria, dalla batteria alla casa, dalla casa alla rete, e viceversa.

Home Assistant offre nativamente un ottimo Energy Dashboard, ma la vera ciliegina sulla torta è aggiungere una visualizzazione Sankey, ovvero un diagramma di flusso dove la larghezza delle frecce è proporzionale alla quantità di energia che scorre.

Cosa otterrai con questa guida:

  • Dashboard energia completa con grafici giornalieri/mensili

  • Diagramma Sankey live dei flussi di potenza (watt)

  • Diagramma Sankey cumulativo energia (kWh giornalieri)

  • Calcolo automatico costi/ricavi energia

  • Monitoraggio stato batteria e cicli carica/scarica

  • Suddivisione consumi per area/dispositivo


Parte 1: Hardware necessario e sensori

Opzione A: Integrazioni inverter native

Se il tuo inverter è supportato nativamente, è la strada più semplice.​

Inverter con integrazione diretta HACS/HA:

Setup tipo per Huawei Solar:

  1. HACS > Integrazioni > Cerca “Huawei Solar”

  2. Installa e riavvia HA

  3. Impostazioni > Integrazioni > Aggiungi “Huawei Solar”

  4. Inserisci IP inverter e porta Modbus (6607)

  5. Ottieni automaticamente 50+ sensori

Opzione B: Energy meter esterno (Shelly EM/3EM)

Se l’inverter non è integrabile o vuoi misure più precise, usa un energy meter CT clamp.

Shelly 3EM – configurazione impianto fotovoltaico:

┌─────────────────────────────────────┐
│   CONTATORE ENEL (Grid)             │
│         L1  L2  L3                  │
└──────┬───┬───┬────────────────────┘
       │   │   │  ← Shelly 3EM qui
       │   │   │     (3 pinze CT)
┌──────▼───▼───▼────────────────────┐
│   QUADRO ELETTRICO                 │
│                                    │
│   ┌──────────────┐                │
│   │  INVERTER FV │ ← Shelly Plug S│
│   │  (produzione)│    (opzionale) │
│   └──────────────┘                │
│                                    │
│   ├─ Carichi casa                 │
└────────────────────────────────────┘

Cosa misura Shelly 3EM:

  • Import da rete (quando consumi più di quanto produci)

  • Export verso rete (quando produci più di quanto consumi)

  • Potenza istantanea per fase (W)

  • Energia cumulata import/export (kWh)

Prezzi indicativi:

  • Shelly 3EM: ~100€

  • Shelly EM (2 canali): ~60€

  • Shelly Plus Plug S (produzione FV): ~20€

#1
Shelly Pro 3EM (120A) - Misuratore di Energia Trifase Smart Wi-Fi & LAN, su Guida DIN, Monitoraggio in Tempo Reale di Tensione e Corrente, Nessun Hub Richiesto, Contabilizzazione Solare, Alexa Google
Shelly Pro 3EM (120A) - Misuratore di Energia Trifase Smart Wi-Fi & LAN, su Guida DIN, Monitoraggio in Tempo Reale di Tensione e Corrente, Nessun Hub Richiesto, Contabilizzazione Solare, Alexa Google
by Shelly Europe

𝗠𝗼𝗻𝗶𝘁𝗼𝗿𝗮𝗴𝗴𝗶𝗼 𝗘𝗻𝗲𝗿𝗴𝗲𝘁𝗶𝗰𝗼 𝗔𝘃𝗮𝗻𝘇𝗮𝘁𝗼: Tiene traccia dell’energ...

 Price: € 105,00 Compra ora

Opzione C: Inverter + misuratore separato (setup ibrido)

Setup consigliato per massima precisione:

  • Integrazione inverter: per produzione FV e stato batteria

  • Shelly 3EM: per import/export reale dalla rete

  • Shelly Plug individuali: su carichi chiave (lavatrice, pompa calore, EV charger)​


Parte 2: Configurare Energy Dashboard di Home Assistant

Step 1: Abilitare Energy Dashboard

  1. Impostazioni > Dashboard > Energia

  2. Primo accesso: wizard di configurazione guidata

  3. Oppure: clicca ingranaggio in alto a destra > Configura

Step 2: Configurare Grid consumption (rete elettrica)

Sezione “Grid consumption”:

Consumo dalla rete (Grid Consumption):
  Entità: sensor.shelly_3em_channel_a_energy  # o sensor.inverter_grid_import_energy
  
Immissione in rete (Return to grid):
  Entità: sensor.shelly_3em_channel_a_energy_returned  # o sensor.inverter_grid_export_energy

IMPORTANTE: Devono essere sensori kWh cumulativi (sempre crescenti), non potenza istantanea (W).

Costi energia (opzionale ma consigliato):

Costo energia importata:
  - Fisso: 0.35 €/kWh (media italiana 2025)
  - Oppure: sensor.prezzo_pun_orario (se hai tariffa dinamica)

Compenso energia esportata:
  - Fisso: 0.12 €/kWh (scambio sul posto medio)
  - Oppure: sensor.ritiro_dedicato

Step 3: Configurare Solar Panels (fotovoltaico)

Sezione “Solar panels”:

Produzione solare:
  Entità: sensor.inverter_daily_yield  # o sensor.shelly_plug_fv_energy
  
  Esempi nomi comuni:
  - sensor.solaredge_energy_today
  - sensor.fronius_energy_day
  - sensor.huawei_daily_yield
  - sensor.growatt_today_generation

Se hai più stringhe/inverter, aggiungi tutte le entità e HA le sommerà automaticamente.

Step 4: Configurare Home Battery Storage (batteria)

Solo se hai sistema di accumulo:

Energia verso batteria (Battery in):
  Entità: sensor.battery_charge_today  # kWh caricati oggi
  
Energia da batteria (Battery out):
  Entità: sensor.battery_discharge_today  # kWh scaricati oggi

Esempio sensori batteria Huawei:

  • sensor.battery_charge_total

  • sensor.battery_discharge_total

Step 5: Device tracking individuale (opzionale)

Aggiungi dispositivi chiave per vedere nel Sankey i flussi specifici:

Dispositivi individuali:
  - Lavatrice: sensor.shelly_lavatrice_energy
  - Pompa di calore: sensor.shelly_pdc_energy  
  - Wallbox EV: sensor.wallbox_session_energy
  - Piano cottura: sensor.shelly_cucina_energy

HA li organizzerà poi per piano e area se configurati nei dispositivi.


Parte 3: Installare Energy Sankey Card (consigliato)

La card più semplice e integrata

Energy Sankey di davet2001 è la soluzione più user-friendly: prende i dati direttamente dalla configurazione Energy Dashboard senza dover ripetere tutto.

Installazione via HACS:

  1. HACS > Frontend > Menu (3 puntini) > Repository personalizzati

  2. URL: https://github.com/davet2001/energy-sankey

  3. Categoria: Lovelace

  4. Clicca Scarica

  5. Riavvia Home Assistant

Aggiungere le card

Vai nella Dashboard Energia:

  • Clicca Modifica dashboard (matita in alto a destra)

  • Aggiungi scheda > Cerca “Energy Sankey”

Ci sono DUE card da aggiungere:

1. Energy Sankey (kWh – cumulativa giornaliera)

Mostra energia totale del periodo selezionato (giorno/settimana/mese).

type: custom:energy-sankey
# Configurazione automatica da Energy Dashboard
# Non serve yaml, funziona subito!

Cosa mostra:

[Solare 15 kWh] ──→ [Batteria 8 kWh]
                 ──→ [Casa 10 kWh]
                 ──→ [Grid Export 5 kWh]

[Grid Import 3 kWh] ──→ [Casa]
[Batteria 8 kWh] ──→ [Casa]

2. Power Sankey (W – istantanea live)

Mostra flusso di potenza attuale in watt, aggiornata in tempo reale.

type: custom:power-sankey
# Setup automatico dai sensori power (W) presenti

Esempio live:

[Solare 2500W] ──→ [Batteria 800W]
               ──→ [Casa 1200W]
               ──→ [Grid 500W export]

Personalizzazioni avanzate

Se vuoi personalizzare colori o entità specifiche:

type: custom:energy-sankey
title: "Flussi Energia Oggi"
energy_date_selection: true  # Usa date picker Energy Dashboard
sections:
  - entities:
      - entity_id: sensor.solar_production_today
        name: "Pannelli Solari"
        color: "#ffa600"
  - entities:
      - entity_id: sensor.battery_charge_today
        name: "Batteria"
        color: "#00bcd4"
        children:
          - sensor.battery_discharge_today
  - entities:
      - entity_id: sensor.grid_import_today
        name: "Rete"
        color: "#808080"
        children:
          - sensor.grid_export_today
  - entities:
      - entity_id: sensor.house_consumption_today
        name: "Casa"
        color: "#4caf50"
        children:
          - sensor.lavatrice_energy_today
          - sensor.pdc_energy_today
          - sensor.wallbox_energy_today
min_box_distance: 10
min_width: 3
round: 1
unit_prefix: "k"

Parte 4: Alternative – Power Flow Card Plus

Se preferisci una visualizzazione più grafica e “fumettosa”:

Vantaggi Power Flow Card Plus:

  • Grafica più accattivante con icone

  • Mostra % low-carbon della rete (via CO2 Signal)

  • Ottima su mobile

  • Animazioni frecce flusso energia

Installazione:

  1. HACS > Frontend > Cerca “Power Flow Card Plus”

  2. Installa

  3. Dashboard > Aggiungi scheda > Manuale

type: custom:power-flow-card-plus
entities:
  battery:
    entity: sensor.battery_power  # Positivo=scarica, Negativo=carica
    state_of_charge: sensor.battery_soc
  grid:
    entity: sensor.grid_power  # Positivo=import, Negativo=export
  solar:
    entity: sensor.solar_power
  home:
    entity: sensor.home_consumption  # Spesso va calcolato
    
# Calcolo consumo casa (se non hai sensore diretto)
# Consumo = Solare + Grid - Batteria_carica + Batteria_scarica

display_zero_lines: false
use_new_flow_rate_model: true
w_decimals: 0
kw_decimals: 2

# Integrazione CO2 Signal (opzionale)
grid:
  entity: sensor.grid_power
  color_icon: true
  icon: mdi:transmission-tower
  entity_generator: sensor.co2_intensity

fossil_fuel_percentage:
  entity: sensor.co2_signal_fossil_fuel_percentage
  display_zero: true

Risultato:
Un layout visivo con sole, batteria, casa e rete collegati da frecce animate.


Parte 5: Sankey Chart Card classica (massima personalizzazione)

Per chi vuole controllo totale su ogni aspetto:

Installazione:

# Via HACS
HACS > Frontend > Cerca "Sankey Chart"

Configurazione manuale completa:

type: custom:sankey-chart
sections:
  # Sezione SORGENTI (sinistra)
  - entities:
      - entity_id: sensor.solar_power
        name: Solare
        color: "#ff9800"
      - entity_id: sensor.grid_power_import
        name: Rete
        color: "#607d8b"
      - entity_id: sensor.battery_discharge_power
        name: Batteria (out)
        color: "#4caf50"
  
  # Sezione INTERMEDIA (batteria ricarica)
  - entities:
      - entity_id: sensor.battery_charge_power
        name: Batteria (in)
        color: "#00bcd4"
        children:
          # Da dove viene l'energia per caricare
          - sensor.solar_power
          - sensor.grid_power_import
  
  # Sezione CONSUMI (destra)
  - entities:
      - entity_id: sensor.home_consumption
        name: Casa
        color: "#f44336"
        children:
          # Dettaglio consumi
          - sensor.lavatrice_power
          - sensor.pdc_power
          - sensor.cucina_power
      - entity_id: sensor.grid_power_export
        name: Export Grid
        color: "#4caf50"

layout: auto  # horizontal | vertical | auto
height: 400
show_names: true
show_values: true
show_units: true
min_box_height: 3
min_box_distance: 5

Pro: Flessibilità totale, puoi creare qualsiasi flusso.
Contro: Setup più complesso, ogni sensore va definito manualmente.


Parte 6: Creare sensori template per calcoli

Spesso servono sensori “calcolati” non forniti dall’inverter.

Consumo casa totale

# configuration.yaml o template:

template:
  - sensor:
      - name: "Consumo Casa"
        unique_id: home_consumption
        unit_of_measurement: "W"
        device_class: power
        state_class: measurement
        state: >
          {% set solar = states('sensor.solar_power') | float(0) %}
          {% set grid = states('sensor.grid_power') | float(0) %}
          {% set battery = states('sensor.battery_power') | float(0) %}
          
          {# Consumo = Produzione + Import - Export + Scarica_batteria - Carica_batteria #}
          {{ (solar + grid + battery) | round(0) }}

Potenza griglia (positivo=import, negativo=export)

Se hai solo import ed export separati:

template:
  - sensor:
      - name: "Grid Power"
        unique_id: grid_power_combined
        unit_of_measurement: "W"
        device_class: power
        state: >
          {% set imp = states('sensor.grid_import_power') | float(0) %}
          {% set exp = states('sensor.grid_export_power') | float(0) %}
          {{ (imp - exp) | round(0) }}

Energia cumulata giornaliera

Per Energy Dashboard serve kWh da inizio giornata:

sensor:
  - platform: integration
    source: sensor.solar_power
    name: "Solar Energy Today"
    unit_prefix: k
    round: 2
    method: left

utility_meter:
  solar_energy_daily:
    source: sensor.solar_energy_today
    cycle: daily

Parte 7: Layout Dashboard completo consigliato

Struttura ideale Energy Dashboard:

┌───────────────────────────────────────────┐
│  POWER SANKEY (live - watt)               │
│  [Flusso istantaneo animato]              │
└───────────────────────────────────────────┘

┌───────────────────────────────────────────┐
│  ENERGY SANKEY (cumulativo - kWh)         │
│  [Totali giornata selezionata]            │
└───────────────────────────────────────────┘

┌──────────────┬──────────────┬─────────────┐
│ Solar Today  │ Grid Import  │ Battery SOC │
│   15.3 kWh   │   2.1 kWh    │    85%      │
└──────────────┴──────────────┴─────────────┘

┌───────────────────────────────────────────┐
│  Energy Distribution (grafico originale)  │
└───────────────────────────────────────────┘

┌───────────────────────────────────────────┐
│  Devices Energy (top consumer)            │
└───────────────────────────────────────────┘

YAML esempio vista completa:

type: vertical-stack
cards:
  - type: custom:power-sankey
    title: "⚡ Flusso Potenza Attuale"
    
  - type: custom:energy-sankey
    title: "📊 Energia Oggi"
    
  - type: horizontal-stack
    cards:
      - type: entity
        entity: sensor.solar_production_today
        name: Produzione FV
        icon: mdi:solar-power
      - type: entity
        entity: sensor.grid_import_today
        name: Prelievo Rete
        icon: mdi:transmission-tower
      - type: entity
        entity: sensor.battery_state_of_charge
        name: Batteria
        icon: mdi:battery-80
  
  - type: energy-distribution
    title: "Distribuzione Energia"
  
  - type: energy-devices-graph
    title: "Top 5 Consumi"

Parte 8: Tips e best practices

Organizzazione dispositivi per aree

Per avere Sankey con raggruppamenti per stanza:

  1. Impostazioni > Aree e zone

  2. Crea aree: Cucina, Bagno, Camera, ecc.

  3. Assegna ogni dispositivo all’area corretta

  4. Energy Sankey raggrupperà automaticamente i consumi

Ottimizzare performance con history

Con molti sensori energia, il database può crescere:

# configuration.yaml
recorder:
  db_url: sqlite:////config/home-assistant_v2.db
  purge_keep_days: 30
  commit_interval: 10
  
  # Escludi sensori ad alta frequenza non necessari
  exclude:
    entity_globs:
      - sensor.*_voltage
      - sensor.*_current
  
  # Includi solo i sensori energia chiave
  include:
    entity_globs:
      - sensor.*_energy*
      - sensor.*_power

Notifiche intelligenti

Sfrutta i dati per notifiche utili:

automation:
  - alias: "Avviso - Esportando troppo in rete"
    trigger:
      - platform: numeric_state
        entity_id: sensor.grid_export_power
        above: 2000  # W
        for:
          minutes: 10
    action:
      - service: notify.mobile_app
        data:
          title: "⚡ Export elevato"
          message: "Stai esportando {{ states('sensor.grid_export_power') }}W. Considera di avviare lavatrice o carica EV."

Con questa configurazione hai una visione completa e real-time di come scorre l’energia in casa, con grafici professionali degni di un impianto industriale ma accessibili a chiunque.

Investimento totale:

  • Solo software: 0€ (se inverter già integrabile)

  • Con Shelly 3EM: ~100€

  • Setup completo (EM + Plug): ~120-150€

Vantaggi concreti:

  • Ottimizzi consumi e massimizzi autoconsumo

  • Vedi subito anomalie o inefficienze

  • Pianifichi carichi energivori quando produci

  • Dati storici per ROI fotovoltaico preciso

  • Dashboard da fare invidia anche agli installer professionali!

Il Sankey è la ciliegina, ma il vero valore è avere controllo totale sul tuo sistema energetico.