Come configurare indicatori sui prezzi benzina presso Home Assistant

3 minuti di lettura
Scopi della guida
  • Creare dei sensori numerici che forniscano i prezzi alla pompa dei carburanti censiti dal sito prezzibenzina.it e relativi andamenti nel tempo
  • Livello di difficoltàbasso
Concetti affrontati:
  • Utilizzo software
Componenti software utilizzate:
Prerequisiti
Dispositivi fisici utilizzati:
GUIDA maggiormente indicatA per:

Tutti gli ambienti

Note e disclaimer
  • qualsiasi modifica all'impianto elettrico dev'essere effettuata da personale qualificato;
  • qualsiasi modifica attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (la presente guida ha puro scopo didattico);
  • qualsiasi modifica attuata in proprio a un dispositivo ne fa decadere la garanzia.

Abstract

Come noto, Home Assistant non è solo un HUB personale per il controllo e la gestione centralizzata della propria domotica ma un vero e proprio pannello di controllo presso il quale far confluire anche informazioni “esterne” come, ad esempio, quelle relative alla meteorologia.

Prezzi Benzina LogoPrezziBenzina.it” è un noto sito italiano il quale permette di visionare i prezzi alla pompa di migliaia di stazioni di rifornimento; a partire dalla versione 0.85 di Home Assistant è disponibile una piattaforma (“PrezziBenzina”, figlia del componente “Sensor”) la quale permette di aggiungere alla configurazione dell’HUB tanti sensori quanti sono i carburanti erogati (nelle varie modalità – Self Service, Servito ecc.) da una specifica (o da diverse) stazioni di rifornimento.

Va da sé che, dotandoci di “sensori”, tali entità non solo forniranno l’ultimo valore disponibile ma anche la sequenza storica, quindi l’andamento. Con un minimo di personalizzazione sarà anche possibile definire delle notifiche tali da segnalare agli utenti della domotica il diminuire e/o l’aumentare del prezzo al dettaglio dei vari carburanti.

Procedimento

Il procedimento è piuttosto semplice:

  • identificare la stazione(i) di rifornimento di proprio interesse e dedurne l’ID;
  • configurare il sensore (specificando quali carburanti tracciare).

Stazione(i) di rifornimento

Recarsi presso prezzibenzina.it e, attraverso la mappa, identificare la stazione di rifornimento di proprio interesse. Una volta trovata, cliccare su di essa e poi su “Scheda”:

Prezzi Benzina mappa

Una volta apertasi la “scheda” della stazione di rifornimento, si osservi l’URL della pagina: il numero posto alla destra de “distributori” è l’ID che identifica univocamente la stazione di rifornimento.

URL Prezzi Benzina ID

Integrazione

È ora possibile procedere alla modifica della configurazione di Home Assistant al fine di creare i sensori relativi ai prezzi alla pompa.
Come spiegato, Home Assistant creerà tante entità sensore quante sono le combinazioni di tipologia di carburante e di erogazione. Se la stazione eroga Benzina e Diesel (gasolio) in modalità Self Service e Servito, creerà quattro sensori.

La configurazione è banale:

sensor:
  - platform: prezzibenzina
    station: STATION_ID

È possibile personalizzare l’integrazione relativa alla pompa indicando nome e tipologia di carburante:

name(stringa, opzionale) Il nome del sensore
type_of_fuel(lista, opzionale) La lista dei carburanti da monitorare. I valori accettati sono:

  • Benzina
  • Benzina speciale
  • Diesel
  • Diesel speciale
  • GPL
  • Metano

In assenza di questa personalizzazione, Home Assistant censirà tutto quello che troverà disponibile.

Un esempio di personalizzazione:

sensor:
  - platform: prezzibenzina
    station: 
    fuel_types: 
      - "Benzina"
      - "GPL"
    name: "Distributore sotto casa"

Come da immagine che segue, i sensori forniranno nello stato il prezzo alla pompa, mentre presso gli attribuiti tutta una serie di informazioni aggiuntive quali la modalità di erogazione, la data e l’ora di aggiornamento, l’unità di misura:

Attributi Prezzi Benzina Home Assistant

Storico e raggruppamenti

Accedendo tramite frontend a uno dei sensori così prodotti, sarà possibile visualizzare lo storico dell’andamento del prezzo:

Prezzi Benzina Home Assistant - Storico prezzo

I sensori prodotti dall’integrazione possono essere molti, sopratutto laddove si censiscano più stazioni di rifornimento.
Per questo si consiglia di utilizzare uno o più raggruppamenti:

Prezzi Benzina Home Assistant - Raggruppamento

Ovviamente per distinguere i vari sensori si consiglia di personalizzare l’attributo “Friendly Name”, attribuendogli un nome intelleggibile.

Notifica andamenti

Grazie alla piattaforma Home Assistant “Trend” è possibile dotarsi di uno o più sensori di tendenza che segnalino quando i prezzi stanno aumentando e/o diminuendo.

Ipotizziamo di aver definito un sensore di prezzi chiamato sensor.distributore_sotto_casa_benzina. Il sensore di tendenza si configurerà così:

# Esempio di configurazione
binary_sensor:
  - platform: trend
    sensors:
      calo_prezzo_benzina:
        entity_id: sensor.distributore_sotto_casa_benzina
        invert: true
        max_samples: 2
      aumento_prezzo_benzina:
        entity_id: sensor.distributore_sotto_casa_benzina
        invert: false
        max_samples: 2

A questo punto sarà possibile definire due automazioni atte a notificare automaticamente le variazioni di prezzo:

automation:
- alias: "Notifica prezzo benzina in discesa"
  trigger:
    platform: state
    entity_id: binary_sensor.calo_prezzo_benzina
    to: 'on'
  condition: []
  action: []

- alias: "Notifica prezzo benzina in aumento"
  trigger:
    platform: state
    entity_id: binary_sensor.aumento_prezzo_benzina
    to: 'on'
  condition: []
  action: []

Il campo “action” andrà ovviamente valorizzato col codice relativo alla piattaforma/e di notifica utilizzata/e. Su questo tema far riferimento alla scheda dedicata al componente Home Assistant “Notifications“.


Home Assistant Official LogoATTENZIONE: 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.


Please comment below