SCOPI DEL PROGETTO:
CONCETTI AFFRONTATI:
|
COMPONENTI SOFTWARE UTILIZZATE:
COMPONENTI FISICI UTILIZZATI:
|
GUIDA INDICATA A UTENTI CON ISTALLAZIONE:![]() |
|
NOTE E DISCLAIMER
|
|
Revisione progetto: 1.1 |
Abstract
Negli ultimi anni molti hanno preso dimestichezza – spesso senza saperlo – con la Near Field Communication (abbreviato NFC), una tecnologia che permette di “leggere” (tramite dispositivi dotati di un’antenna adeguata, per esempio gli smartphone di nuova generazione) delle informazioni direttamente da delle “tag”, degli elementi che si attivano con il solo avvicinamento, appunto, dell’antenna compatibile.
Il caso più lampante è quello delle carte di credito contactless: ogni carta di questo tipo contiene al suo interno una “tag” NFC la quale, avvicinata al POS di pagamento si “attiva” e comunica a quest’ultimo le coordinate bancarie del cliente. Un altro esempio comune è quello dei badge lavorativi: basta avvicinarli al lettore presente sul varco d’ingresso per ottenerne (se autorizzati) l’apertura. Anche quelli, tutti basati su tecnologia NFC.
L’idea di base di questo progetto sta nell’idea di utilizzare uno smartphone/tablet dotato di antenna NFC per leggere una tag NFC (posizionata dall’utente dove meglio creda) al fine di eseguire specifiche funzioni della propria domotica basata su Home Assistant.
Immaginiamo a mo’ d’esempio di avere un attuatore applicato al sistema di apertura di una porta d’ingresso e integrato a Home Assistant: quello che potremmo fare con le tecniche descritte in questo progetto è posizionare una tag NFC adesiva (costo: qualche euro) nelle vicinanze al varco e, per aprirla, utilizzare il solo avvicinamento del cellulare ad essa, gesto il quale attivi il meccanismo di apertura. Il tutto, ovviamente, nella massima sicurezza (il perché lo vedremo a breve).
NOTA SULLA SICUREZZA: È certamente vero che chiunque possa liberamente leggere una tag NFC; è altresì vero che in assenza di Home Assistant Companion installata sullo smartphone/tablet (autenticato con username/password sul proprio Home Assistant) la lettura sia totalmente inutile e sicura. |
Assunti
Il progetto, per essere implementato, prevede:
- la disponibilità di uno o più smartphone/tablet dotati di antenna NFC e di una o più tag NFC;
- l’adozione dell’app Home Assistant Companion;
- Home Assistant configurato per il controllo remoto tramite HTTPS.
Il secondo punto prevede che la propria istanza Home Assistant sia raggiungibile da remoto e tramite protocollo HTTPS: in caso si stia utilizzando Home Assistant installato su Raspberry la guida dettagliata al procedimento è questa, per gli utenti Home Assistant OS invece è quest’altra.
Si parte
Logica di funzionamento
Per realizzare il presente progetto abbiamo scelto Home Assistant Companion, l’app ufficiale di Home Assistant per smartphone tablet (per Android e per iOS) che consente di definire dei flussi di automazione di vario genere; una delle frecce all’arco di tale app è, per l’appunto, l’antenna NFC (quando presente sullo smartphone/tablet).
Ogni tag NFC da par suo contiene al suo interno un codice identificativo (ID) (nonché molte altre informazioni, volendo) il quale può essere arbitrariamente impostato dall’utente a un valore specifico.
Quello che andremo a fare è dunque:
- definire un tag ID su Home Assistant;
- scrivere tale ID sulla tag NFC target;
- definire un’automazione innescata tramite la lettura della tag NFC tramite lo smartphone/tablet.
Api
In primis, assicuriamoci che il componente API sia attivo. Per farlo, è semplicemente necessario che nel file di configurazione sia presente la riga:
api:
in caso manchi, aggiungerla e riavviare l’HUB.
Creazione ID tag
Recarsi (tramite l’app Home Assistant Companion su smartphone/tablet) presso l’interfaccia Home Assistant alla voce “Configurazione” > “Etichette” (“Tags” in inglese).
Cliccare su “+“. Si aprirà la maschera che consentirà di di definire il nome dell’etichetta (puramente descrittivo) e l’ID della tag NFC.
Nel nostro caso, dato che realizzeremo un’automazione d’esempio che accenda/spenga una luce, chiameremo la tag “Luce tavolo” mentre lasceremo che l’ID venga auto-generato lasciando vuoto il campo. Al termine della compilazione cliccare su “Crea e scrivi“:
N.b. La personalizzazione dell’ID etichetta può essere comoda laddove, successivamente, si scriva l’automazione a mano e non tramite wizard. Un nome riconoscibile (anziché una stringa caratteri auto-generata) può facilitare la lettura del proprio codice YAML. |
A questo punto avvicinare lo smartphone/tablet alla tag NFC da scrivere:
Se tutto andrà bene, l’app fornirà conferma dell’avvenuta scrittura:
Automazione
A questo punto è necessario definire l’automazione (o le automazioni) che effettuino delle azioni a fronte della lettura della tag.
Per farlo, sempre sotto la voce “Configurazione” > “Etichette“, cliccare sull’icona a forma di robot:
A questo punto si aprirà la classica maschera per la definizione dell’automazione, la quale potrà essere compilata come meglio si crede:
Una volta salvata, andando a spulciare la configurazione YAML, apparirà più o meno come segue (nell’azione abbiamo inserito l’esempio del toggle di una luce):
automation: - alias: "Accensione luce tavolo via tag NFC" trigger: platform: tag tag_id: 5d30e0b7-4d82-4676-b17a-9553af451cb4 condition: [] action: service: light.toggle entity_id: light.tavolo
Ovviamente il tag_id sarà quello auto-generato in fase di creazione della tag sull’app Home Assistant Companion.
Uso
Perché il trigger d’innesco NFC funzioni è necessario che lo smartphone/tablet siano sbloccato (ma non, necessariamente, che l’app sia aperta).
Si consiglia di non posizionare le tag NFC su superfici metalliche – pena il mancato o l’errato funzionamento.
A differenza di Android (che in caso di lettura tag innesca direttamente l’automazione), nel caso di Apple iOS, alla lettura di una tag NFC appare un menu a tendina:
sul quale è necessario tappare per innescare l’esecuzione dell’automazione presso Home Assistant.
⚠️ Se di Home Assistant ne sai poco ma sei interessato a capirne di più, ti suggeriamo di partire da qui. |
Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Se ti sei perso, a tua disposizione c'è la mappa. |