Aggiungere i sensori del Broadlink A1 e-Air a Home Assistant

2 minuti di lettura
Scopi della guida
  • Aggiungere dei sensori del Broadlink A1 e-Air alla configurazione di Home Assistant
  • Livello di difficoltà: basso
Concetti affrontati:
  • Configurazione 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

Il “Broadlink A1 e-Air” è un dispositivo molto semplice, a basso consumo, utile per introdurre nella propria domotica cinque sensori in un colpo solo. Questi sensori (temperatura, umidità relativa, luminosità dell’ambiente, livello di rumore, qualità dell’aria) possono essere censiti tramite l’applicazione Broadlink e-Control ma possono anche essere configurati presso la configurazione di Home Assistant, diventando così a pieno titolo sue entità.

In questa guida vedremo quindi come aggiungere questi sensori alla configurazione di Home Assistant.

Configurazione di base

Per introdurre in configurazione i cinque sensori forniti dall’A1 è necessario disporre, a monte, del suo indirizzo IP (fisso – leggi qui come impostarlo) e del suo indirizzo MAC (disponibile sull’app e-Control di Broadlink usata per configurare il dispositivo sulla propra Wi-Fi.

Ottenute queste informazioni, il blocco di configurazione da aggiungere al configuration.yaml di Home Assistant è il seguente:

sensor:
  - platform: broadlink
    update_interval: 60
    host: IP_ADDRESS
    mac: 'MAC_ADDRESS'
    monitored_conditions:
      - temperature
      - humidity
      - air_quality
      - light
      - noise

Le variabili disponibili per la personalizzazione della configurazione sono le seguenti:

update_interval(intero, opzionale) Il numero di secondi tra un aggiornamento e l’altro.
host(stringa, obbligatorio) L’IP del dispositivo.
mac(stringa|lista,obbligatorio) L’indirizzo MAC del dispositivo.
monitored_conditions(lista|stringa, obbligatorio) L’elenco delle metriche da collezionare. I valori possibili sono (“termperature”, “humidity”, “air_quality”, “light”, “noise”)

L’introduzione di tali sensori genererà delle entità che sul frontend appariranno come di seguito (qui raggruppati per comodità):

Broadlink A1 e-Air su Home Assistant

Personalizzazione dei sensori

Come si nota nell’immagine sopra, due sensori sono intelleggibili (temperatura e umidità relativa) mentre i restanti tre indicano dei valori interi (0, 3, 1) che poco aiutano nel capire lo stato dei sensori.

Per ovviare a questo problema creeremo altrettanti sensori sfruttando la piattaforma “Template Sensor” di Home Assistant, mappando di fatto i valori numerici come segue:

SensoreIndicatore fornito dal dispositivoValore corrispondente
Sensor Air Quality0Excellent (o “Eccellente”)
1Good (o “Buona”)
2Normal (o “Normale”)
3Bad (o “Cattiva”)
Sensor Light0Dark (o “Buio”)
1Dim (o “Scuro”)
2Normal (o “Normale”
3Bright (o “Luminoso”)
Sensor Noise0Quiet (o “Silenzioso”)
1Normal (o “Normale”)
2Noisy (o “Rumoroso”)

La configurazione da aggiungere è la seguente:

  - platform: template
      air_quality:
        friendly_name: "Air Quality"
        value_template: >-
          {% if states('sensor.broadlink_sensor_air_quality')|int == 0 %}
            Excellent
          {% elif states('sensor.broadlink_sensor_air_quality')|int == 1 %}
            Good
          {% elif states('sensor.broadlink_sensor_air_quality')|int == 2 %}
            Normal
          {% elif states('sensor.broadlink_sensor_air_quality')|int == 3 %}
            Bad
          {% else %}
            -unknown-
          {% endif %
      brightness:
        friendly_name: "Brightness"
        value_template: >-
          {% if states('sensor.broadlink_sensor_light')|int == 0 %}
            Dark
          {% elif states('sensor.broadlink_sensor_light')|int == 1 %}
            Dim
          {% elif states('sensor.broadlink_sensor_light')|int == 2 %}
            Normal
          {% elif states('sensor.broadlink_sensor_light')|int == 3 %}
            Bright
          {% else %}
            -unknown-
          {% endif %}
      noise:
        friendly_name: "Noise"
        value_template: >-
          {% if states('sensor.broadlink_sensor_noise')|int == 0 %}
            Quiet
          {% elif states('sensor.broadlink_sensor_noise')|int == 1 %}
            Normal
          {% elif states('sensor.broadlink_sensor_noise')|int == 2 %}
            Noisy
          {% else %}
            -unknown-
          {% endif %}

Tale configurazione, presso il frontend, genera entità di tipo sensore che riportano informazioni di questo tipo:


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