This is an old revision of the document!
Presence detection
Allo scopo di ricevere una notifica all'entrata di un utente in una zona, sia essa l'abitazione, la scuola, o il luogo di lavoro, utilizzando il gps(global positioning system), se le coordinate in cui si trova l'utente sono all'interno di un area decisa. Ovviamente si potrebbero utilizzare altri sistemi per il tracciamento, se io fossi connesso al wifi di casa, all'interno della mia abitazione.
Ho utilizzato la funzione apposita dell'applicazione home assistant chiamata telegram_bot, che gestisce un utente telegram virtuale e non reale (nome bot: HassIotAiutoBot) e notify (Si occupa di gestire le notifiche sulle piattaforme come email o telegram) in configuration yaml.
Il bot verra poi uilizzato per inviare una notifica all'id del gruppo(IotAiutoHassNotify), attraverso il messaggio:
{{ trigger.to_state.attributes.friendly_name }}'s position: {{ trigger.to_state.state }}
se la posizione iniziale è diversa dall'attuale. La configuarazione in automation è:
alias: 'Device State Change Alert' trigger: platform: state entity_id: person.admin condition: condition: template value_template: '{{ trigger.to_state.state != trigger.from_state.state }}' action: - service: notify.notify_me data_template: message: > {{ trigger.to_state.attributes.friendly_name }}'s position: {{ trigger.to_state.state }} title: "ZoneChanged"
Risultato:
ZoneChanged admin's position: home
Conclusione: Il sistema di tracciamento utilizza il gps alo scopo di ottenere le coordinate del soggetto, se poi esse corrispondono ad un area decisa dal cliente (casa, scuola, lavoro), allora lo stato del dispositivo cambierà, cioè permette quindi l'utilizzo di questo cambiamento allo scopo di triggerare un automazione precedentemente decisa, consentendo quindi di compiere qualunque azione si preferisca come effetto (es notifica dal bot di telegram alla chat interessata).