L'hub segue la regola del fuso orario e cambia da sé il proprio orologio. Non si perde nulla, nulla viene contato due volte e i prezzi restano agganciati alle ore giuste.
Vale la pena conoscere i dettagli, perché il cambio tocca tre cose insieme: l'orologio, le registrazioni e le fasce tariffarie.
Come fa l'hub a conoscere il cambio
Memorizza l'intera regola del fuso orario, non uno scostamento fisso: una stringa come CET-1CEST,M3.5.0,M10.5.0/3, che contiene le date di transizione. Le preimpostazioni in Settings → Time per le zone europee e statunitensi sono regole di questo tipo. Un hub impostato su una preimpostazione gestisce quindi il cambio da solo, ogni anno, senza che Lei debba fare nulla a marzo o ottobre.
Due cose da tenere d'occhio:
- Uno scostamento fisso non cambia mai. Se il fuso dell'hub è inserito come semplice scostamento, lo mantiene per tutto l'anno. Decide solo la stringa di regola: usi quindi una preimpostazione oppure inserisca una regola corretta. (Nella app v1.1.4 e precedenti, l'editor della configurazione grezza mostrava anche un flag Daylight saving che non aveva alcun effetto. È stato rimosso proprio per questo.)
- Le zone dell'emisfero australe con ora legale sono nell'elenco delle preimpostazioni — Sydney/Melbourne/Canberra/Hobart, Adelaide, Brisbane, Perth, Auckland/Wellington, Santiago, São Paulo/Buenos Aires, Johannesburg — e l'app le rileva dal browser come le altre. Nella app v1.1.4 e precedenti non erano offerte: l'hub gestiva correttamente le loro regole, ma bisognava digitare a mano una stringa POSIX TZ.
Che cosa succede alle registrazioni
Le registrazioni orarie sono indicizzate in UTC, ed è ciò che tiene ordinata la notte:
- In autunno l'ora locale ripetuta corrisponde a due ore UTC diverse, quindi si ottengono due registrazioni separate: entrambe conservate, nessuna sovrascrive l'altra.
- In primavera non manca nessuna ora nei dati. L'etichetta locale salta semplicemente da 01:59 a 03:00.
Le registrazioni giornaliere, settimanali e mensili seguono il calendario locale. Quindi il giorno del cambio dura davvero 23 ore in primavera e 25 in autunno, e la settimana e il mese che lo contengono sono un'ora più corti o più lunghi. È corretto, non è un errore: è il tempo che è effettivamente trascorso.
Un effetto visibile: un grafico orario in ora locale mostra un'etichetta due volte in autunno, e ne salta una in primavera.
Che cosa succede al costo
Ogni periodo di 15 minuti è valorizzato in base all'ora locale del suo punto medio, così l'energia riceve sempre il fuso in cui è realmente caduta.
Per una fascia notturna 23:00–07:00, la finestra dura quindi nove ore nella notte d'autunno e sette in quella di primavera. L'ora ripetuta in autunno è energia reale e si fattura alla tariffa notturna, come l'ora precedente.
L'unico punto ruvido: un confine di fascia impostato dentro l'ora che si ripete o scompare (una finestra che termina alle 02:30, per esempio) sarà attivo due volte per quella mezz'ora in autunno, e in primavera il suo margine cade alle 03:00. I confini a ore intere fuori da 02:00–03:00, cioè quasi tutte le tariffe reali, non ne sono toccati.
E i contatori giornalieri
Si azzerano a mezzanotte locale, che il cambio non sposta: le transizioni europee e statunitensi avvengono tra le 01:00 e le 03:00. I totali del giorno coprono quindi 23 o 25 ore di energia reale, e il marcatore di giorno dell'hub porta il nuovo scostamento dal giorno successivo.
Nella app v1.1.4 e precedenti c'era qui un difetto visibile: in quei due giorni i valori today dell'app iniziavano un'ora prima, dal momento in cui cambiava l'orologio, e quindi il conteggio di oggi includeva in silenzio un'ora della notte precedente. Le registrazioni erano giuste; ciò che si leggeva nella Overview era un'ora più largo. Corretto dalla v1.1.5, dove “today” inizia alla vera mezzanotte dell'hub in entrambi i giorni del cambio.
Verificato con gli autotest del firmware, che eseguono il codice di registrazioni e prezzi con le vere date di transizione di Berlino, New York e Sydney. Non osservato durante un cambio reale.