Ricevere la posizione GPS quando si parcheggia l'automobile (con Home Assistant)

 



In questa guida cerco di spiegare passo-passo (diciamo per principianti) come creare un’automazione su Home Assistant che ci invii la posizione GPS di dove ci troviamo, quando scendiamo dall’auto. Cercherò di scrivere un articolo come piace a me: inserirò le informazioni necessarie senza dilungarmi troppo, senza continue ripetizioni (in stile SEO) e andando al punto, ma inserendo le informazioni che è necessario sapere (per capire cosa si sta facendo).

Come prima cosa, naturalmente, dovete avere un’installazione di Home Assistant funzionante e correttamente configurata. Inoltre dovete avere una macchina dotata di Bluetooth (autoradio, vivavoce, o qualunque dispositivo che ci permetta di sapere quando siamo in auto e quando invece scendiamo). Come terzo requisito dovete avere già integrato un sistema che permetta l’invio dei messaggi (ad esempio Telegram); in alternativa potete anche salvare la posizione in un sensore e mostrarlo in Home Assistant (ma nel mio caso non era il desiderata).

1.    Configurazione tipo (HW/SW)

Nel mio caso mi trovo nella seguente situazione (cioè, se avete la mia stessa configurazione e seguite la guida, vi garantisco che funziona):

  • Raspberry Pi 4 – 8 GB
  • Home Assistant 2022.9.4

o   Supervisor 2022.08.6

o   Operating System 9.0

  • Smartphone Android 10

o   App Home Assistant Companion 2022.8.0-full

o   Telegram 8.9.3

2.    Prerequisiti

Come detto nell’introduzione, dovete avere:

3.    Configurazione Companion App

Per impostazione di default l’app di Home Assistant invia i dati dei sensori ogni 15 minuti. Naturalmente per noi questa cosa non va bene, perché dobbiamo avere un punto GPS recente (quanta strada riusciamo a fare in 15 minuti in macchina? Tranquillamente decine di Km).

Dobbiamo quindi abilitare una configurazione che permetta di avere dati GPS più frequenti, ma solo quando usiamo la macchina (altrimenti scarichiamo la batteria del telefono inutilmente).

Ma vediamo prima di tutto i sensori che è necessario attivare e la procedura per farlo.

Lanciamo la nostra App e apriamo il menu a scomparsa, quindi clicchiamo su “Impostazioni”

 


Apriamo la voce “App complementare”

 


Nella sezione “Sensori” clicchiamo su “Gestione dei sensori”

 


Trovare la sezione “Sensori Bluetooth” e verificare che la voce “Connessione Bluetooth” sia abilitata all’invio dello stato ad Home Assistant (ci serve per sapere a che dispositivi Bluetooth è collegato il telefono, in modo da rilevare connessioni e disconnessioni). Se non è abilitato il sensore, cliccarci sopra

 


e abilitare il sensore

 


Tornare al menu superiore e cercare la sezione “Sensori di geolocalizzazione”, quindi verificare che la voce “Posizione geocodificata” sia attiva. Se non lo è, basta abilitarla come fatto in precedenza.



Questo sensore è molto bello perché attribuisce un indirizzo alla posizione GPS. Di contro, però, può essere impreciso (un indirizzo corrisponde ad un edificio o ad un lotto, non ad una strada) oppure non fornire alcun risultato (se non siamo nei pressi di alcun indirizzo, ad esempio). Quindi andremo ad utilizzare un altro valore. Tuttavia è necessario abilitarlo perché ci garantisce un aggiornamento del sensore GPS ad una frequenza impostabile (lo vediamo dopo).

 

Cercare la sezione “Sensori di posizione” e abilitare tutti i sensori

 


Una volta abilitati tutti i sensori, aprire “Posizione in background”

 


Individuare ed abilitare il flag “Modalità ad alta cisione (può scaricare velocemente la batteria)”. Come dicevo sopra, se abilitassimo semplicemente questa impostazione, la batteria si scaricherebbe molto velocemente (soprattutto all’interno di edifici, dove il segnale GPS è più attenuato e il telefono farebbe più “fatica”). Quindi andiamo ad impostare la modalità ad alta precisione, solo quando il telefono è connesso al BT dell’automobile. Clicchiamo quindi su “Modalità ad alta precisione solo se connesso a dispositivi BT” e scegliamo il dispositivo associato alla nostra auto

 


Sotto troviamo altre impostazioni. Io ho lasciato tutto ai valori di default, voi potete “giocarci” un po’, se volete.

A questo punto la configurazione dell’app è terminata. Possiamo chiuderla e passare all’interfaccia di Home Assistant.

 

4.    Recuperare le informazioni necessarie in HA

Adesso occorre recuperare tutte le informazioni (nomi di dispositivi, sensori e altro) necessarie per impostare l’automazione che rileverà la posizione GPS

Nell’interfaccia web di Home Assistant, andare su “Impostazioni”

 


Quindi su “Persone”

 


Apriamo la nostra scheda

 


E verifichiamo che il nostro smartphone sia correttamente associato a noi, come dispositivo di tracciamento

 


Chiudiamo e torniamo al menu “impostazioni” e andiamo su “Dispositivi e servizi”

 


Clicchiamo sulla linguetta “Entità”

 


A questo punto dobbiamo verificare il nome delle entità di cui avremo bisogno per l’automazione.

Ad esempio verifichiamo l’id dell’entità associata alla nostra Persona



E’ importante segnarsi questo ID, perché ci servirà per creare l’automazione.

 

Poi cerchiamo il nome dell’entità associata ai dispositivi Bluetooth collegati al nostro telefono. Cercando il nome del telefono dovreste trovarla facilmente

 


Anche questo ID va segnato da qualche parte, perché andrà utilizzato all’interno dell’automazione.

Adesso dobbiamo identificare l’indirizzo Bluetooth e il nome del dispositivo da utilizzare come “indicatore di guida”.

5.    Attributi (non necessario)

Come dicevo poco sopra, dobbiamo andare a vedere che indirizzo ha e come si chiama il dispositivo BT da “monitorare” per sapere quando scendiamo dalla macchina.

Apriamo il menu “Strumenti per sviluppatori”

 


Selezioniamo la scheda “Stati”

 


Cerchiamo il sensore relativo alle connessioni BT del telefono, mettendo il nome del sensore (o parte del nome) nella casella di ricerca

 


Cliccando sul nome del sensore, viene mostrato il dettaglio nella sezione ad inizio pagina che si chiama “Imposta stato”. Troviamo nella lista dei “paired_devices” quello relativo alla nostra auto e copiamoci il tutta la riga (l’indirizzo e il nome, comprensivo di parentesi)

 


Ora non ci rimane che procede con la creazione dell’automazione.

 

6.    Creazione dell’automazione

Torniamo di nuovo nel menu “Impostazioni”



Quindi apriamo la sezione “Automazioni e scene”

 


Clicchiamo sul bottone “CREA NUOVA AUTOMAZIONE” in basso a destra

 


Selezioniamo “Inizia con un’automazione vuota”

 



Adesso dobbiamo andare a definire che cosa Home Assistant deve controllare per capire se è necessario valutare le condizioni della nostra automazione. In pratica dobbiamo dire a HA di tenere controllate le connessioni Bluetooth del nostro smartphone, e valutare l’automazione solo se c’è un cambiamento. Per fare ciò aggiungiamo l’attivazione cliccando sul bottone “AGGIUNGI ATTIVAZIONE”

 


Nel menu a tendina che si apre selezioniamo “Stato” (cioè gli diciamo che vogliamo basare la nostra automazione sul cambio di stato di un’entità

 


Ora andiamo a selezionare il nostro sensore/entità nel nome dell’entità (c’è l’autocompletamento, basta iniziare a scrivere e ci propone le entità corrispondenti), e “Connected paired devices” come Attributo. Cioè diciamo ad HA che deve passare alla valutazione delle condizioni (step successivo) dell’automazione solo ed esclusivamente se c’è un cambiamento nell’attributo “connected_paired_devices” (cioè la lista dei dispositivi connessi allo smartphone, che si verifica quando un dispositivo si collega o si scollega)



Adesso dobbiamo andare a stabilire la condizione necessaria perché ci venga inviata la posizione della nostra automobile. Cioè dobbiamo dirgli di mandarci le coordinate solo se il BT della macchina era connesso, e ora non è più connesso (evento di disconnessione). Per fare ciò clicchiamo su “AGGIUNGI CONDIZIONE”

 


Nel menu a tendina selezioniamo “Modello”

 


E come valore modello inseriamo il seguente codice:

 {{ "nome_BT" in trigger.from_state.attributes.connected_paired_devices and  
   "nome_BT" not in trigger.to_state.attributes.connected_paired_devices }}  

Dove al posto di nome_BT dovete inserire il dispositivo visto precedentemente (composto da indirizzo + nome)

 


Infine aggiungiamo l’azione, cioè l’invio del messaggio con le coordinate.

Clicchiamo su “AGGIUNGI AZIONE”

 


Nel menu a tendina scegliamo “Chiama servizio”

 


Nel menu di destra dobbiamo cambiare la visualizzazione in YAML, quindi clicchiamo su “Modifica in YAML” (purtroppo l’interfaccia con editor visuale non permette ancora di farlo “comodamente”)

 


Ora inseriamo il seguente testo:

 service: servizio_di_notifica_telegram  
 data:  
  title: GPS  
  message: "Ciao"
  data:  
   location:  
    latitude: |  
     {{state_attr("Persona", "latitude")}}  
    longitude: |  
     {{state_attr("Persona", "longitude")}}  

Dove al posto di “servizio_di_notifica_telegram” metterete l’ID del vostro servizio, e al posto di “Persona”, il vostro ID personale

Il campo "message" può essere lasciato così, perchè non è importante e viene ignorato in questo tipo di messaggi (ma ci deve essere per far funzionare il servizio)

 



Ora non resta che salvare e l’automazione è pronta!

 


Alla disconnessione dal BT dell’auto riceveremo un messaggio con la posizione



Commenti

Post popolari in questo blog

Creare un sensore weather (previsioni del tempo) da Meteo & Radar in Home Assistant

Home Assistant - Recuperare informazioni aggiuntive da Netatmo (termostato)

Installare Frigate su Raspberry Pi con HAssOS

Creare un sensore del prezzo del gas (PSBIL_BUY) in Home Assistant

Installare Portainer su NAS Synology

Esporre UPS da NAS Synology verso Home Assistant (NUT)

Creare MQTT Server (broker) in Home Assistant (HASSIO)

Tasmota (via OTA) su BlitzWolf BW-SHP10 (e su Tuya ESP in generale)

JC vs Khaby Lame