[GUIDA] Sapere quando siamo a casa tramite rilevazione smartphone
  • 27 voti - 3 media
#1
Come tutti sapranno, Fibaro dispone di un sistema di geo localizzazione dell'utente che consentirebbe di far conoscere al sistema la presenza o meno in casa e quindi automatizzare a sua volta determinati scenari.
Purtroppo questo sistema non è affidabile e spesso non funziona...
Dopo svariate ricerche e prove ho trovato una valida nonché semplice alternativa che possa darmi una certa sicurezza di funzionamento.
Questa si basa su uno script che verifica se un dispositivo specifico (nella precisione il suo indirizzo IP) è presente o meno nella rete domestica ed aggiorna di conseguenza il valore di una variabile globale.
La presente guida è una traduzione di quanto realizzato dall'utente Sebcbien sul forum francese domotique-fibaro.fr (che come sempre ringraziamo).

[Immagine: SlHkn7O.png]

1) Creare una variabile globale che sarà poi il riferimento dello stato di presenza o meno nell'abitazione (nel mio caso l'ho nominata kead_presente)
2) Trovare l'Ip del proprio smartphone (dalle impostazioni del proprio telefono)
3) Impostare un IP FISSO al proprio terminale o tramite le impostazioni di rete del dispositivo o tramite assegnazione di IP del router

A questo punto serve un appunto di dettaglio sul funzionamento dello script. La scena effettuerà un PING periodico nella rete locale per vedere se il dispositivo è presente o meno ed andrà ad aggiornare di conseguenza la variabile kead_presente.
Per eseguire il PING serve che sul dispositivo sia aperta una porta per la risposta. Da qui si aprono due soluzioni: una per dispositivi APPLE ed una per ANDROID.
  • Per Apple la soluzione è semplice. Basta attivare la sincronizzazione automatica con itunes via wifi. Cosi facendo il nostro smarphone si farà trovare sulla porta 62078
  • Per Android (ma può essere una soluzione alternativa anche per apple) è sufficiente installare l'app gratuita SONOS. Questa una volta lanciata e lasciata in background, manterrà aperta sul dispositivo la porta 3401 (non serve avere dispositivi SONOS per poter lanciare l'app).
Per verificare se le porte sono disponibili vi consiglio di installare su uno smarphone l'app FING (versione Apple e versione Android ) la quale consente di verificare gli IP della rete locale nonché testare le porte aperte.

4) Importare il dispositivo virtuale allegato e modificare:
 - mettere IP e PORTA dello smarphone negli appositi campi del dispositivo virtuale

[Immagine: xhzF7VM.png]

 - all'interno del codice LUA cambiare il valore di local variable_globale_phone con il nome della variabile globale creata in precedenza

[Immagine: WpI1xJd.png]

5) Importare le icone di stato (allegate sotto) e modificare gli ID nello script del main loop del dispositivo virtuale (vedi screen). In questo modo l'icona del dispositivo virtuale si aggiornerà in base allo stato della presenza.
[Immagine: 08JVcpl.png]
6) Creare una scena che prema il pulsante del dispositivo virtuale ogni minuto (o il tempo di loop che si desidera). 
Per chi usa GEA è sufficiente una piccola riga nel codice Smile
Questo codice è solo per gli utenti registrati


E' tutto.
Vi assicuro che il risultato è stabile ed efficace.
Da qui si possono gestire moltissimi scenari automatici basati sulla presenza o meno nell'abitazione.
Buon divertimento!

PS: Nell'allegato trovate il pulsante virtuale già modificato ed aggiornato comprese le icone di presenza per uomo e donna

Allegati
.zip
File size: 59.41 KB
Download: 54

Questo messaggio è stato modificato l'ultima volta il: 01-02-2016, 06:23 PM da kead.
#2
Avevo fatto una cosa del genere con il vera3, però non sono soddisfatto. 

Sto cercando di capire come fare per usare la microlocalizzazione basata su BLE iBeacon. secondo me è comodo per far si che imperihome mostri la pagina della dashboard giusta per ogni stanza che visitiamo, o per attivare / disattivare scene basate sulla presenza nella singola stanza.
qualcosa da realizzare con un prodotto simile: http://estimote.com
#3
(01-02-2016, 06:35 PM)LaMax Ha scritto: Avevo fatto una cosa del genere con il vera3, però non sono soddisfatto. 

Sto cercando di capire come fare per usare la microlocalizzazione basata su BLE iBeacon. secondo me è comodo per far si che imperihome mostri la pagina della dashboard giusta per ogni stanza che visitiamo, o per attivare / disattivare scene basate sulla presenza nella singola stanza.
qualcosa da realizzare con un prodotto simile: http://estimote.com

Cavolo! sicuramente è un obbiettivo interessante! Per il momento mi basta avere funzionante la presenza in casa.
Comunque se hai sviluppi rendici partecipi Wink
#4
Molto utile... come trovo l'id delle icone? 

Grazie
#5
Metto una breve guida prima di sera...
Fibaro HC2 + HClite+ Satel Integra 32 + Nas Synology 415plus + Nabaztag V2
#6
Purtroppo nonostante l'app Sonos la porta 3401 non mi risulta aperta (Samsung Note 4) però mi sembra che funzioni sulla porta 5060 (sip)
#7
Fai uno scan delle porte e vedi quale ti resta aperta.
Con android non ho esperienza. Magari c'è qualche altro metodo o app per aprire una porta desiderata (sicuramente visto l'apertura del sistema Android rispetto ad IOS)
#8
(02-02-2016, 10:55 AM)Cristiano Ha scritto: Molto utile... come trovo l'id delle icone? 

Grazie

ecco la guida: http://www.zwave-community.it/showthread.php?tid=89
#9
(02-02-2016, 04:46 PM)kead Ha scritto: Fai uno scan delle porte e vedi quale ti resta aperta.
Con android non ho esperienza. Magari c'è qualche altro metodo o app per aprire una porta desiderata (sicuramente visto l'apertura del sistema Android rispetto ad IOS)

Ma va bene una qualsiasi porta ad eccezione della 80?
Perchè a me la 3401 non risulta aperta, mentre la 3500 sì.
Però inserendo la 3500 non funziona.
#10
Per Android, consiglio di usare TASKER e creare una regola tale per cui appena il telefonino si aggancia al vostro WIFI interno, aggiorna la variabile su HC2.
L'alternativa è quella come dice KEAD di tenere sempre in background una qualche APP che non è detto che funzioni sempre e che comunque ciuccia batteria.


Utente(i) che stanno guardando questa discussione:
1 Ospite(i)