Componente Home Assistant “Utility Meter”

Produttore: Home Assistant Community
Disponibilità: incluso nell’HUB personale Home Assistant
Categoria: software
Tipologia: componente Home Assistant
Costo medio: gratuito
Difficoltà di implementazione: bassa
Valutazione inDomus: n/a

Il componente “Utility Meter” di Home Assistant permette di creare delle entità che permettano all’utente di monitorare i consumi a partire da letture di altri sensori, contabilizzandoli su base quotidiana, settimanale, mensile e annuale. Dei “contatori” di consumo, per così dire.

In sostanza, tale componente genera degli ulteriori sensori (virtuali) che forniscono i totali di consumo su un dato periodo di contabilizzazione, permettendoci di tenere traccia dell’andamento dei consumi nel tempo.

Al termine del ciclo di contabilizzazione (indipendentemente dalla durata impostata) il valore dell’entità “Utility Meter” viene azzerato e il valore totale del ciclo terminato viene salvato nell’attributo “last_period“, permettendoci di effettuare eventuali calcoli di comparazione, andamento e previsione, conto economico (ad esempio tramite l’implementazione della piattaforma “Trend“).

Dato che alcuni provider di servizio energetico prevedono anche tariffazioni per fascia oraria, (eg. la classica bioraria energetica), il componente permette di personalizzare la configurazione nel definire tali fasce, permettendoci così di contabilizzare i consumi in modo appropiato.

N.b. Come sorgente di un sensore “Utility Meter” può essere utilizzato qualunque sensore numerico, purché fornisca valori in costante crescita. Il contabilizzatore si limita però a sommare la differenza positiva tra la penultima lettura ricevuta e l’ultima. Per esempio, un sensore che fornisca un primo valore 0, poi 10, poi 11, a ricevimento di questo ultimo valore (11) avrà un totale di contabilizzazione di 21 , ovvero:

(10 – 0) + (11 – 10)= 21

Configurazione

Definire entità tramite il componente “Utility Meter” è molto semplice. Un esempio di configurazione in configuration.yaml è il seguente:

#Esempi di configurazione
utility_meter:
  energia:
    source: sensor.energia_in_kwh

 

Nell’esempio sopra, “energia” è il nome dell’entità, che di conseguenza si chiamerà “sensor.energia“. Si possono ovviamente creare più entità, quante se ne vogliono, sempre sotto il blocco “utility_meter:“.

Dettagli di configurazione:

source (stringa, obbligatoria) l’entità sensore da monitorare (eg. “sensor.energia_in_kwh“)
cycle (stringa, obbligatoria) definisce la durata del ciclo di contabilizzazione. Può essere “daily“, “weekly“, “monthly“, “yearly“.
offset (intero, opzionale) di default i cicli iniziano al T0 previsto dal ciclo (00:00 per il daily, 00:00 di lunedì per il weekly eccetera). Questo parametro permette di regolare un offset. Default: 0
tariffs (lista, opzionale) lista delle eventuali tariffe. Default: []

Servizi

I servizi collegati a questo componente sono tre:

  • utility_meter.reset
  • utility_meter.next_tariff
  • utility_meter.select_tariff

utility_meter.reset

Permette di azzerare il contabilizzatore.

Attributo Opzionale Descrizione
entity_id no L’entità da azzerare.

utility_meter.next_tariff

Permette di passare alla tariffa seguente (in base all’elenco definito in configurazione). Se l’entità era impostata sull’ultima tariffa, si posiziona sulla prima.

Attributo Opzionale Descrizione
entity_id no L’entità al quale imporre il cambio di tariffa di contabilizzazione.

utility_meter.select_tariff

Permette di selezionare una specifica tariffa tra quelle definite in configurazione.

Attributo Opzionale Descrizione
entity_id no L’entità al quale imporre il cambio di tariffa di contabilizzazione.
tariff no La tariffa da impostare per la contabilizzazione.

Configurazione avanzata

Nell’esempio che segue creiamo due sensori “Utility Meter” per contabilizzare il consumo energetico giornaliero e mensile, suddiviso su due fasce orarie: F1 e F2 (la tipica bioraria).

Il sensore monitorato è sempre lo stesso, “sensor.energia_in_kwh“.

utility_meter:
  daily_energy:
    source: sensor.energia_in_kwh
    cycle: daily 
    tariffs:
      - F1
      - F2
  monthly_energy:
    source: sensor.energia_in_kwh
    cycle: monthly
    tariffs:
      - F1
      - F2

Questa configurazione non genera due sensori (come lascerebbe ipotizzare la configurazione), ma sei:

  • sensor.daily_energy
  • sensor.monthly_energy
  • sensor.daily_energy_F1
  • sensor.daily_energy_F2
  • sensor.monthly_energy_F1
  • sensor.monthly_energy_F2

I primi due, contabilizzeranno i totali per giorno e mese; i restanti contabilizzeranno ciascuno un ciclo specifico per fasce specifiche.

Immaginiamo ora che la fascia F1 corrisponda alla fasciaoraria 9:00 – 21:00 e l’F2 dalle 21:00 alle 9:00 del giorno seguente.
Per automatizzare il passaggio di fascia, utilizziamo la seguente automazione:

automation:  
  trigger:
    - platform: time
      at: '09:00:00'
    - platform: time
      at: '21:00:00'
  action:
    - service: utility_meter.next_tariff
      entity_id: utility_meter.daily
    - service: utility_meter.next_tariff
      entity_id: utility_meter.monthly

Questo componente può tornare particolarmente utile in scenari come quello legato all’integrazione di letture energetiche su Home Assistant tramite Sonoff POW.


Home Assistant iconATTENZIONE: ricorda che sul nostro community FORUM c'è una sezione ad hoc dedica a Home Assistant, per qualsiasi dubbio, domanda, informazione nel merito specifico di queste componenti.

Dubbi? Perplessità? Fai un salto sul FORUM o sulla CHAT @DISCORD!
Questa pagina è coperta dalla licenza Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Licenseil che significa che puoi liberamente condividerlo, senza modificarlo, citando il link della fonte.