projects:iotaiuto:presence

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
projects:iotaiuto:presence [2021/11/23 17:31] fmussatiprojects:iotaiuto:presence [2021/11/26 16:28] (current) fmussati
Line 1: Line 1:
 +
 ====== Presence detection ====== ====== Presence detection ======
  
-Allo scopo di ricevere una notifica all'entrata di un utente in una zona, esempio person.admin in zone.home(Host Fisico) o zone.scuola(Virtuale), ho utilizzato la funzione apposita di home assistant telegram_bot e notify in configuration yaml. Il bot verra poi uilizzato per inviare una notifica all'id del gruppo apposito (IotAiutoHassNotify), attraverso il messaggio: +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. 
-{{ trigger.to_state.attributes.friendly_name }}'s position: {\{ trigger.to_state.state \}} se la posizione iniziale è diversa dall'attuale.+ 
 +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                                                                                  |     Controllo il cambio di 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. 
 +          {% if trigger.to_state.state == 'not_home' %}                                              |     Se lo stato dell'soggetto trigger è 'not_home' 
 +            {{ trigger.to_state.attributes.friendly_name }}'s position: outside                      |     Test mess. (se il soggetto non si trova in alcuna zona (uscita)) 
 +          {% else %}                                                                                     Altrimenti 
 +            {{ trigger.to_state.attributes.friendly_name }}'s position: {{ trigger.to_state.state }} |     Test mess. (entrata) 
 +          {% endif %}                                                                                |     Fine della condizione 
 +        title: "ZoneChanged"                                                                             Titolo mess. 
 + 
 +Setup di presence detection: 
 +Ovviamente ci sono vari modi in cui l'host(il rasperry pi, la schedina connessa alla rete wifi) può controllare se un dispositivo è in casa: 
 +  1. ping sensor 
 +  2. Unifi integration setup 
 +  3. Hass companion app (Quella che è stata utilizzata) 
 +  4. iCloud for iOS devices 
 + 
 +Spiegazioni setups: 
 + 
 +  1. Home assistant farà un ping al telefono, ossia controllerà se esso  
 +  è connesso al wifi, se risponde allora è connesso alla stessa rete,  
 +  altrimenti verra considerato come non a casa.
  
-- alias: 'Device State Change Alert' +  2Se il router di casa è compatibile con questa seconda funzionalità  
-  trigger: +  di h.ass allora basterà controllare se il telefono è nella lista di  
-    platform: state +  dipositivi connessi al wifi (Peferibile al ping se possibile).
-    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: +  3. Come detto precedentemente l'app userà il gps per tracciare il  
-ZoneChanged +  dispositivo e controllare se le sue coordinate rientrano nelle aree  
-admin's position: home+  interessate. 
 +  Questa opzione permette di sapere sempre dove sei, mentre con quelle  
 +  precedenti è possibile sono sapere se il telefono è connesso al wifi.
  
 +  4. Specifico per iOS, utilizza il iCloud di apple, per conoscere la 
 +  posizione. 
  • projects/iotaiuto/presence.1637685115.txt.gz
  • Last modified: 2021/11/23 17:31
  • by fmussati