Da dove viene il vostro prezzo
Il tuo fornitore applica un prezzo diverso ogni 15 minuti, e la maggior parte dei monitor energetici valorizza tutto a una tariffa unica. Ogni cifra di costo che mostrano è quindi una stima — non sbagliata di poco, ma costruita su un numero che non è mai stato il tuo prezzo. Se il tuo contratto segue il mercato, l'unico costo che vale la pena leggere è quello calcolato con il prezzo del periodo in cui l'energia è stata misurata.
Di questo parla questa pagina: da dove l'hub prende quel prezzo, che cosa ci fa, e come vedere quale prezzo ha usato. Che cosa mostra la schermata, e che cosa fare quando una cifra sembra errata, si trova in Dynamic prices.
⚠️ L'hub calcola il prezzo dell'energia. Non accende né spegne nulla. Qui non c'è alcun controllo dei carichi: nessun relè, nessun caricatore, nessun inverter, nessuna automazione "ora più economica" sul dispositivo. Se vuoi che qualcosa funzioni quando l'energia costa poco, l'hub pubblica una notifica e Home Assistant agisce di conseguenza — vedi Cheap windows and the price notification.
La versione breve
- I prezzi dinamici sono disattivati per impostazione predefinita. Con i prezzi dinamici disattivati, la tua tariffa valorizza ogni periodo, esattamente come prima.
- Con i prezzi dinamici attivi, ogni periodo di 15 minuti riceve il suo prezzo dalla fonte principale; se quella fonte non ha un prezzo per il periodo, dalla fonte di riserva; se nemmeno quella ne ha uno, dalla tua tariffa.
- L'hub registra quale delle tre è stata usata, per ogni periodo, e conserva quella registrazione per 40 giorni.
- La tua tariffa resta sempre importante: è il ripiego, fornisce le imposte e l'IVA da aggiungere a un prezzo di mercato, e la sua valuta è la valuta del denaro.
La catena, in ordine
Per ogni periodo di 15 minuti l'hub determina un solo prezzo:
| fonte | che cosa significa | |
|---|---|---|
| 1 | Primary | il fornitore che hai scelto, per la tua zona |
| 2 | Backup | facoltativa, e deve essere un fornitore diverso; usata solo per i periodi che la principale non copre |
| 3 | Your plan | la tariffa di zona in vigore per quel periodo — vedi Tariffs |
Non c'è alcuna media: un periodo, un prezzo, una fonte. La fonte viene memorizzata insieme al periodo, quindi una cifra che leggerai la settimana prossima può ancora essere ricondotta a dove è stato preso il suo prezzo.
Perché vale la pena impostare un backup
Un mercato del giorno prima pubblica domani una volta al giorno. Se quella pubblicazione è in ritardo, oppure il recupero fallisce, oppure la tua zona manca in una risposta, la fonte principale semplicemente non ha un prezzo per quei periodi. Senza un backup interviene la tariffa — che è corretta, ma è un prezzo diverso, e i costi di quel tratto non coincideranno con il mercato. Un backup da un secondo fornitore che copre la stessa zona mantiene il prezzo di mercato al suo posto.
Non ogni zona ha una seconda fonte. Dodici aree sono coperte due volte o più dall'elenco sotto: SE1-4 e NO1-5 (Nord Pool insieme alla fonte nazionale), DK1-2 e NL (Energy-Charts insieme a una seconda), con SE4 e NO2 coperte tre volte. Per AT, BE, CH, CZ, DE-LU, EE, FI, FR, HU, IT-North, LT, LV, PL, SI e le regioni del Regno Unito qui non c'è un secondo fornitore — quindi o un invio da Home Assistant fa da backup, oppure quei periodi ricadono sulla tariffa di zona della tariffa.
Le fonti
| Fonte | Tipo | Risoluzione | Aree | Valuta |
|---|---|---|---|---|
| Energy-Charts (Fraunhofer ISE) | spot | 15 minuti | AT, BE, CH, CZ, DE-LU, DK1, DK2, FR, HU, IT-North, NL, NO2, PL, SE4, SI | EUR |
| Nord Pool (portale dati non ufficiale) | spot | 15 minuti | SE1–4, NO1–5, DK1–2, FI, EE, LV, LT | quella dell'area: SEK, NOK, DKK o EUR |
| Elpriset just nu (SE) | spot | 15 minuti | SE1–4 | SEK |
| Hva koster strømmen (NO) | spot | 1 ora | NO1–5 | NOK |
| EnergyZero (NL) | all-in | 15 minuti | NL | EUR |
| Octopus Agile (UK) | all-in | 30 minuti | le 14 regioni GSP, da A a P | GBP |
| Home Assistant | a scelta: spot o all-in | ciò che viene inviato | — | quella della tua tariffa |
In questa versione nessuna fonte richiede un token o un account.
La risoluzione non è il passo di fatturazione. Un prezzo a 30 minuti o orario si applica a ogni periodo di 15 minuti al suo interno, quindi i tuoi costi vengono ancora calcolati per periodo di 15 minuti — quattro di essi condividono semplicemente un solo prezzo. Il passo in base al quale ti viene fatturato è un'impostazione separata; vedi Bill at the hourly mean.
Spot o all-in è la cosa più importante da impostare correttamente, ed è spiegata sotto, perché sbagliarla è il modo più comune in cui una cifra di costo risulta troppo alta.
⚠️ La valuta non viene convertita. L'hub non converte SEK in EUR. Una zona la cui valuta è diversa da quella della tua tariffa viene rifiutata al salvataggio (il campo restituisce un errore), e una fonte in un'altra valuta viene saltata anziché approssimata. Nord Pool SE3 richiede una tariffa in SEK; Energy-Charts DE-LU richiede una tariffa in EUR. Imposta prima la valuta della tua tariffa, poi scegli una zona che corrisponda.
L'attribuzione è mostrata, e questo è voluto
Ogni fonte riporta la dicitura richiesta dalla propria licenza — per esempio Bundesnetzagentur | SMARD.de /
Energy-Charts (CC BY 4.0) — e l'hub la mostra nella pagina Prices. Non è un elemento decorativo: è la condizione alla
quale i dati possono essere usati, e ti dice che cosa stai guardando. Energy-Charts viene servito solo per le zone
pubblicate sotto CC BY 4.0.
Nord Pool è raggiunto tramite un portale dati non ufficiale, e l'hub lo dichiara dove nomina la fonte. Non c'è alcun accordo di servizio alle sue spalle: può cambiare o interrompersi senza preavviso. Usalo consapevolmente, e dagli un backup dove esiste: SE1-4, NO1-5 e DK1-2 sono coperte anche da un'altra fonte di questo elenco, ma per FI, EE, LV e LT Nord Pool è l'unica — lì un invio da Home Assistant è l'unico backup disponibile.
Che cosa fa il tuo contratto al prezzo
Un prezzo di mercato non è ciò che paghi. I due tipi di fonte differiscono per quanta parte del resto è già contenuta nel numero.
Una fonte spot: il prezzo è l'inizio della catena
buy = ( spot × factor
+ markup
[ + your plan's zone rate, if "zones stack" is on ]
+ your plan's per-kWh energy tax
+ grid fee
+ renewable levy )
× ( 1 + your plan's VAT )
factor e markup sono i termini del tuo contratto: un moltiplicatore e un'aggiunta per kWh. Tutto il resto proviene
dalla tariffa che hai già inserito in Tariffs, ed è il motivo per cui la tariffa conta ancora quando il
prezzo è dinamico.
Intervalli accettati, e un valore fuori da essi viene rifiutato anziché limitato: factor da 0 a 10, markup da −100 a 100.
Una fonte all-in: il prezzo è l'intera catena
buy = the provider's price
Non viene aggiunto nulla dalla tariffa — né imposte, né canone di rete, né oneri, né IVA.
⚠️ Questo è il meccanismo che previene l'errore di costo più comune. Un prezzo all-in contiene già le imposte e l'IVA. Se passasse dalla formula spot, ciascuna di esse verrebbe aggiunta una seconda volta e i tuoi costi risulterebbero visibilmente troppo alti. EnergyZero e Octopus Agile sono marcati come all-in proprio per questo — la classe di un fornitore di rete la imposta l'hub, non tu; la vedi nell'elenco dei fornitori come · all-in e nella riga della formula. L'unico punto in cui la classe è una tua scelta è Home Assistant, dove tu dichiari quale tipo stai inviando. Se i tuoi costi sembrano gonfiati e il prezzo in sé sembra corretto, questa è la prima cosa da leggere.
Home Assistant come fonte
Home Assistant — o qualsiasi client — può inviare i prezzi all'hub invece di farli recuperare dall'hub: fino a 200 periodi alla volta, conservati nel magazzino dell'hub. Indichi se ciò che invii è un prezzo spot o un prezzo all-in, e da quel momento viene trattato esattamente come un fornitore di quel tipo. È il percorso per un fornitore per cui l'hub non ha alcuna fonte, oppure per un prezzo che calcoli tu stesso.
Nella build ESPHome Home Assistant compare fin dall'inizio tra le fonti; sul firmware standalone compare nell'elenco una volta arrivato un invio. In entrambi i casi i prezzi dinamici restano disattivati finché non li attivi, e la fonte la scegli tu — Home Assistant è un'opzione nell'elenco, non quella già selezionata.
Tutto ciò che è scritto in questa pagina vale per entrambe le build: l'hub ESPHome esegue lo stesso nucleo e lo stesso recuperatore, con gli stessi fornitori, la stessa pianificazione e la stessa catena di ripiego. Cambia solo il punto in cui imposti tutto — nella build ESPHome è il pannello RBgrid in Home Assistant anziché l'app web.
Il lato vendita
L'esportazione viene valorizzata separatamente, e mai con lo stesso numero dell'importazione. Tre modalità:
| Modalità | Il prezzo di vendita è |
|---|---|
| From the provider (predefinita) | il prezzo di esportazione della fonte, dove ne ha uno, altrimenti la tariffa di vendita di zona della tua tariffa |
| From the tariff plan | la tariffa di vendita di zona della tua tariffa |
| Market price × factor − fee | spot × export factor − export fee |
Il fattore di esportazione accetta da 0 a 10, la commissione di esportazione da −100 a 100 (k_sell e la tariffa di immissione nell'API). Sul lato vendita non si applicano imposte né IVA.
Il valore dell'energia esportata non viene mai sottratto dal tuo costo. Energia importata e relativo costo, energia esportata e relativo valore, affiancati — vedi Economics. Un prezzo dinamico cambia i numeri, non questa regola.
Bill at the hourly mean: quando il tuo contratto si regola per ora
Alcuni contratti seguono il mercato ma si regolano per ora, anche quando il mercato pubblica ogni 15 minuti. Attivando Bill at the hourly mean, ciascun periodo di 15 minuti di un'ora viene fatturato alla media dei prezzi di quell'ora.
Questa è una caratteristica del tuo contratto, non della tua fonte. Una fonte a 15 minuti con regolazione oraria richiede di attivarla; una fonte oraria non la richiede affatto, perché i suoi quattro periodi condividono già un prezzo. Attivarla "perché il mio fornitore è orario" non cambia nulla; lasciarla disattivata quando il tuo contratto è orario fa differire ogni periodo di un po' dal calcolo del tuo fornitore.
I periodi fatturati in questo modo sono contrassegnati come hourly_mean nel registro dei prezzi, così in seguito puoi distinguerli.
Prezzi negativi e soglie minime
Quando il mercato va in negativo, l'hub mantiene il prezzo negativo e registra un costo negativo per quel periodo. È la lettura onesta: durante quei periodi, consumare energia ti accredita denaro con un contratto che segue il mercato.
Se il tuo contratto non trasferisce i prezzi negativi, imposta una soglia minima: Lowest buy price e Lowest sell price
(da −100 a 100, oppure none; floor_buy e floor_sell nell'API). Se è disattivata, ciascuna mostra «None: negative prices pass
through». La soglia viene applicata per ultima, dopo tutto il resto.
Con i prezzi dinamici disattivati, le tariffe non scendono mai sotto zero, come prima. Le soglie esistono perché un prezzo di mercato può farlo, e il tuo contratto potrebbe non farlo.
Quando arrivano i prezzi
- I prezzi di oggi vengono recuperati non appena il giorno non è coperto per intero.
-
I prezzi di domani vengono recuperati dalle 11:00 UTC, quando inizia la pubblicazione del giorno prima; l'app lo presenta come lo vive il lettore — «they usually arrive after 13:00 CET».
-
Se un recupero fallisce, oppure i prezzi di domani non sono ancora usciti, l'hub riprova ogni 15 minuti fino alle 15:00 UTC, poi ogni ora. Dopo le 15:00 UTC la pagina lo dice anche apertamente: lo stato diventa «Tomorrow's prices not in yet».
Quindi una seconda metà del grafico vuota prima di mezzogiorno è normale, non un guasto: domani non esiste ancora.
Entrambi gli esiti vengono scritti nel log dell'hub, e puoi leggerli in Events:
price: state A -> B (source …)
FAIL price: <provider> <zone> fetch failed (<reason>), retry in N min
Il motivo è uno tra fetch_failed, http_status, parse, auth, no_data_for_zone o rate_limited — e quale sia decide
cosa fare (vedi sotto). Lo stato in tempo reale e fino a che punto i prezzi sono noti si trovano nella pagina Prices, e
nell'API come price_state e valid_until.
Il registro: quale prezzo è stato usato, per ogni periodo
Il prezzo applicato a ogni periodo di 15 minuti viene registrato con la sua fonte, e conservato per 40 giorni — anche
quando i prezzi dinamici sono disattivati, nel qual caso la voce riporta semplicemente plan. Lo scarichi in CSV dalla pagina Prices.
prov |
il prezzo proviene da |
|---|---|
source |
la tua fonte principale |
backup |
la tua fonte di riserva |
ha_push |
inviato da Home Assistant o da un altro client |
hourly_mean |
la media di quell'ora, secondo l'impostazione del tuo contratto |
plan |
la tariffa di zona della tua tariffa |
🔑 È questo che rende una cifra di costo verificabile anziché affidabile per fede. Un monitor che ti mostra un costo ti chiede di crederci. Un monitor che ti mostra il prezzo che ha usato, periodo per periodo, con la fonte da cui proviene, ti consegna il calcolo — e 40 giorni sono abbastanza per chiudere una discussione con un estratto conto mensile in mano.
I record della cronologia in sé non cambiano formato: il denaro viene calcolato con il prezzo di ciascun periodo, e tutto ciò che legge già la cronologia o il CSV dell'hub non richiede modifiche.
Dove il prezzo compare altrove
-
Dynamic prices — la schermata: prezzo attuale, di oggi e di domani, la tua fonte e la formula, le finestre economiche, i picchi, il registro.
-
Why this hour costs what it costs — la catena completa dall'energia al denaro, ora con un prezzo di mercato al suo interno.
-
Cheap windows and the price notification — ciò che l'hub pubblica perché qualcos'altro possa agire su un tratto economico.
-
Import peaks — il massimo prelievo di 15 minuti e orario di un ciclo di fatturazione. Misurato indipendentemente dal fatto che tu usi o meno i prezzi dinamici.
-
Home Assistant e MQTT — la telemetria in tempo reale riporta lo stato, la fonte in uso, fino a che punto i prezzi sono noti, e la tariffa di acquisto e di vendita attuale; vedi MQTT broker.
Se sei sul firmware v1.2.0, aggiorna
Le note di rilascio dell'hub contengono una raccomandazione, ed è utile seguirla anziché scorrerla: aggiorna dalla v1.2.0 se usi i prezzi dinamici.
Sulla v1.2.0 i periodi di prezzo recuperati venivano conservati nel piccolo magazzino delle impostazioni dell'hub — lo
stesso che contiene l'ora in corso e i punti di riferimento dell'energia. Con i prezzi dinamici attivi, i prezzi potevano
riempirlo, e a quel punto un riavvio poteva far perdere una parte dell'ora in misura. L'hub lo segnala quando accade: il
Hub log riporta FAIL hour persist …: ESP_ERR_NVS_NOT_ENOUGH_SPACE.
La v1.2.1 sposta i periodi di prezzo nel file system dell'hub e libera quello spazio al primo avvio, registrando
price: stores moved from NVS to the file system. Non cambia nulla per chi legge, e nulla in questa pagina
appare diverso su una versione o sull'altra — ma il guasto descritto sopra non può più verificarsi.
Le regole delle finestre economiche e le cifre dei picchi di importazione sono piccole e restano nel magazzino delle impostazioni su entrambe le versioni: «the price stores moved» non significa che tutto ciò che riguarda i prezzi sia stato spostato.
Che cosa non fa
Detto chiaramente, perché ciascuna di queste è una cosa che un lettore potrebbe ragionevolmente aspettarsi:
- Nessun Tibber, nessun Amber. Non implementati. Se il tuo fornitore è uno di questi, invia il prezzo da Home Assistant.
- Nessuna conversione di valuta. La valuta della tua tariffa e quella della tua zona devono essere la stessa.
- Nessun accordo di servizio per Nord Pool. L'endpoint è un portale dati non ufficiale e può cambiare senza preavviso.
- Nessun controllo dei carichi. L'hub misura e valorizza; non accende né spegne nulla. La notifica è il punto di passaggio.
- Nessuna fatturazione della quota di potenza. I picchi vengono misurati, non valorizzati nei tuoi costi.
Quando la cifra è sbagliata: che cosa controllare
I miei costi sono troppo alti, e il prezzo in sé sembra corretto. La tua fonte è all-in ma viene trattata come spot, quindi le imposte e l'IVA della tariffa vengono aggiunte sopra un prezzo che le conteneva già. Per un fornitore di rete la classe è dell'hub, non tua: leggila nell'elenco dei fornitori, dove una fonte all-in è mostrata con · all-in, e nella riga della formula. Per Home Assistant la classe è tua — controlla What Home Assistant sends.
I miei costi sembrano troppo bassi, oppure il prezzo è più basso di quello dell'app del mio fornitore.
È il contrario: un prezzo spot senza termini contrattuali. Controlla che factor e markup corrispondano al tuo contratto, e
che la tariffa a cui si riferiscono riporti la tua imposta sull'energia, il canone di rete, gli oneri e l'IVA. Un prezzo spot
puro è un numero all'ingrosso, non al dettaglio.
Metà del grafico è vuota.
Se è prima del primo pomeriggio, i prezzi di domani non sono ancora usciti — l'hub inizia a chiederli alle 11:00 UTC e di solito
arrivano dopo le 13:00 CET. Se è oltre quell'ora, cerca in Events una riga FAIL price: e leggi
il suo motivo.
FAIL price: … no_data_for_zone.
Il fornitore ha risposto, ma non per la tua zona. Oppure la zona non è nell'elenco di quella fonte, oppure la fonte ha smesso
di servirla. Cambia zona, oppure cambia fonte.
FAIL price: … parse o http_status, ripetuto.
La fonte è cambiata o è fuori servizio. È il caso per cui esiste una fonte di riserva; impostane una di un fornitore diverso che
copra la stessa zona — se l'elenco ne ha una per la tua zona; vedi Why a backup is worth setting sopra.
FAIL price: … rate_limited.
Troppe richieste sono arrivate al fornitore dal tuo indirizzo. L'hub rallenta da solo — ogni 15 minuti fino alle 15:00 UTC,
poi ogni ora — quindi si risolve da sola. Se persiste per un giorno, qualcos'altro nella tua rete interroga lo stesso endpoint.
Ho salvato una zona e il salvataggio è stato rifiutato. La valuta della zona non corrisponde a quella della tua tariffa, e l'hub non converte. Imposta la valuta della tariffa su quella del tuo mercato, poi salva la zona.
Il prezzo è corretto, ma i costi sono ancora calcolati con la mia tariffa.
Controlla il registro dei prezzi per quei periodi: una voce plan significa che né la fonte principale né quella di riserva li
hanno coperti. Oppure i prezzi non erano ancora arrivati per quel tratto, oppure i prezzi dinamici erano disattivati in quel
momento — l'impostazione vale dal momento in cui viene salvata, e l'energia già misurata mantiene il prezzo con cui è stata valorizzata.
I miei numeri differiscono da quelli del mio fornitore di una piccola quantità costante. Controlla hourly mean rispetto al tuo contratto: se ti regoli ogni ora e l'hub valorizza ogni periodo di 15 minuti, ogni ora sarà leggermente sfalsata in entrambe le direzioni. Attivala e l'hub valorizzerà ogni periodo dell'ora alla media di quell'ora.
Un periodo è costato meno di zero.
Il prezzo di mercato era negativo e il tuo contratto lo trasferisce, quindi l'hub ha registrato un costo negativo. Se il tuo
contratto non lo trasferisce, imposta floor_buy al prezzo più basso che ti possa effettivamente essere addebitato.
Ho cambiato fonte e i vecchi costi non sono cambiati. Non cambiano mai. Un periodo viene valorizzato una sola volta, con il prezzo in vigore quando è stato misurato, e la cifra resta — vedi Why this hour costs what it costs. Cambiare fonte cambia ciò che succede da ora in poi.
⚠️ Per qualsiasi intervento all'interno di un quadro elettrico, rivolgiti a un elettricista qualificato.