In casa ci sono una ventina di dispositivi gestiti dall'app Smart Life: un termostato per la caldaia, un condizionatore, alcune prese con misura dei consumi, un sensore di gas, qualche luce, un termometro. Li usavo solo dall'app. Volevo vederli e comandarli dalla dashboard di Home Assistant, insieme al resto della casa.

Smart Life è Tuya

Smart Life è una delle app della piattaforma Tuya, e Home Assistant ha un'integrazione ufficiale per Tuya. Le versioni recenti non chiedono più di creare un progetto sviluppatore sul cloud Tuya né di inserire la password dell'account. Prima di cominciare ho controllato nel codice dell'integrazione installata come funziona il collegamento, e i passi sono tre.

  1. Nell'app Smart Life, in Io, poi Impostazioni, poi Account e sicurezza, c'è un campo «Codice utente». Va copiato rispettando maiuscole e minuscole.
  2. In Home Assistant si aggiunge l'integrazione Tuya e si inserisce quel codice.
  3. Home Assistant mostra un QR code, che si inquadra con lo scanner dell'app Smart Life per confermare l'accesso.

Nessuna password passa da Home Assistant. Dopo la conferma l'integrazione ha trovato 20 dispositivi e 32 entità.

Cosa arriva e cosa no

Non tutto quello che c'è nell'app diventa utilizzabile. Sei dispositivi sono comparsi con l'indicazione «unsupported»: il condizionatore collegato con un modulo fai da te, un sensore di presenza, un sensore di movimento, il controllo a infrarossi e i telecomandi infrarossi della TV e della camera. Il collegamento c'è, ma l'integrazione ufficiale non ne espone né comandi né sensori. Nella scheda li ho elencati comunque, in fondo, così è chiaro perché non si vedono.

Anche le scene create nell'app arrivano in Home Assistant, come entità scene da attivare con un tocco.

Una scheda costruita dal registro

Per non indovinare i nomi delle entità ho letto il registro dei dispositivi di Home Assistant. Qui ho fatto un errore che vale la pena raccontare: il mio script non trovava nessun dispositivo, mentre la pagina dell'integrazione ne mostrava sedici. Nella versione installata il registro non usa più il campo config_entries ma config_entry_id, e il mio filtro cercava un campo che non c'era più. Corretto quello, il censimento è tornato completo.

La scheda è divisa per uso: clima, con i termostati e il termometro; sicurezza, con il sensore di gas; luci; scene; prese e consumi; impostazioni dei dispositivi.

- type: thermostat
  entity: climate.caldaia
  name: Caldaia
- type: tile
  entity: light.scrivania
  name: Scrivania
  features:
    - type: light-brightness

Per le scene, il tocco attiva la scena invece di aprire i dettagli:

- type: tile
  entity: scene.accendi_fuori
  tap_action:
    action: perform-action
    perform_action: scene.turn_on
    target:
      entity_id: scene.accendi_fuori

Guardando la scheda finita ho tolto una cosa. La card delle impostazioni mostrava nell'intestazione un interruttore generale, che con un tocco avrebbe acceso o spento insieme la protezione antigelo della caldaia, i blocchi bambini e la retroilluminazione. Basta una riga:

show_header_toggle: false

Le prese che misuravano per dieci

La scheda indicava una tensione di 2451 volt. In casa la tensione è intorno ai 230-245 volt, quindi il valore sembrava moltiplicato per dieci. Prima di correggere ho confrontato con l'app: segnava circa 245 volt.

Con la tensione corretta è venuto fuori anche il secondo problema. La presa del deposito assorbiva 0,21 ampere a 245 volt, che fanno circa 51 watt, ma la potenza indicata era 472 watt. Anche qui l'app ha confermato: circa 47 watt. Tensione e potenza arrivavano entrambe moltiplicate per dieci; la corrente no.

I sensori dell'integrazione non si possono riscalare, quindi ho creato dei sensori template che dividono per dieci:

- name: Deposito potenza corretta
  unit_of_measurement: W
  device_class: power
  state_class: measurement
  availability: "{{ has_value('sensor.deposito_potenza') }}"
  state: "{{ (states('sensor.deposito_potenza') | float / 10) | round(1) }}"

La dashboard ora usa quelli. Gli originali restano, con i valori sbagliati: se un giorno collegherò le prese alla sezione Energia di Home Assistant, dovrò usare i sensori corretti, non quelli dell'integrazione.

In sintesi

  • Smart Life si collega a Home Assistant con l'integrazione ufficiale Tuya, codice utente e QR, senza password.
  • Non tutti i dispositivi sono supportati: meglio dirlo nella scheda che lasciarli sparire.
  • Prima di contare sul registro dei dispositivi conviene controllare come è fatto nella versione installata.
  • Un interruttore generale su una lista di impostazioni è un rischio: va tolto.
  • Un valore che non torna va confrontato con l'app e con un conto semplice, come corrente per tensione, prima di correggerlo.