projects:iotaiuto:presence

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 }}
                        ↧                            ↧                      ↧
                Nome del soggetto            è in posizione:       zona del soggetto

se la posizione iniziale è diversa dall'attuale. La configuarazione in automation è:

alias: 'Device State Change Alert'                                                                 |     Nome dell'automazione
trigger:                                                                                           |     Specifico il trigger
  platform: state                                                                                  |     Se lo stato
  entity_id: person.admin                                                                          |     Dell'oggetto (l'utente admin)
condition:                                                                                         |     Specifico eventuali condizioni
  condition: template                                                                              |     Natura condizione
  value_template: '{{ trigger.to_state.state != trigger.from_state.state }}'                       |     È diverso dallo stato precedente
action:                                                                                            |     Specifico l'azione
  - service: notify.notify_me                                                                      |     Uso il servizio di notifica
    data_template:                                                                                 |     Creazione messaggio
      message: >                                                                                   |     Testo mess.
        {{ trigger.to_state.attributes.friendly_name }}'s position: {{ trigger.to_state.state }}   |     Testo (varia a seconda di chi ha attivato il trigger)
      title: "ZoneChanged"                                                                         |     Titolo mess.

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).

  • projects/iotaiuto/presence.1637775001.txt.gz
  • Last modified: 2021/11/24 18:30
  • by fmussati