Il y a maintenant près de 2 ans je vous avais présenté une manière de déterminer qui était présent à la maison. Cette méthode toute simple consistait à affecter une adresse IP fixe aux smartphones des personnes habitant à la maison et de faire en sorte que la Zibase puisse récupérer cette information. Cette fonctionne fonctionne très bien mais nécessite de faire appel à des scripts PHP qu’il faut héberger chez soi. Depuis quelques mois, la box Eedomus permet de faire cela sans utiliser de scripts PHP externes. Voici comment faire.
Présentation
Pour savoir si une machine est présente sur un réseau informatique il y a une manière simple de le savoir c’est d’utiliser la commande PING en appelant l’appareil avec son adresse IP. Cela correspond à lancer à haute voix un “ordinateur n° 15 es-tu là?” et de patienter pour recevoir la réponse de cet appareil qui dirait : “oui je suis là”! si l’appareil en question ne répond pas, on considérera qu’il n’y est pas. Cela dit cela ne permet pas de savoir si l’appareil est absent du réseau ou s’il y est physiquement branché mais qu’il est tout simplement éteint.
En informatique, la commande PING est utilisée en connaissant l’adresse IP de la machine à contacter. La commande PING indique la durée nécessaire pour la joindre. Si cette durée est trop longue la machine sera considérée comme non présente dans le réseau informatique.
Cette fonctionnalité bien pratique est disponible en standard sur la box Eedomus via la Eedomus Toolbox. Et comme les smartphones peuvent se connecter en Wi-Fi au même réseau que votre centrale domotique Eedomus via votre box Internet, cela permet de détecter si votre smartphone est présent sur le réseau informatique domestique et de considérer par extension que son propriétaire est également à la maison.
Pré-requis
Pour faire un PING il faut tout d’abord connaitre l’adresse IP de votre smartphone. Cette adresse IP doit qui plus est être invariable dans le temps. Pour permettre cela, vous pouvez tout simplement vous connecter à l’interface de gestion de votre box ADSL et renseigner le forçage de l’attribution de l’adresse IP par votre box à votre Smartphone en fonction de l’adresse MAC de ce dernier. Cette étape n’est pas facile à illustrer car elle dépend de votre box ADSL et du type de smartphone que vous possédez. iOS : L’adresse MAC de l’iPhone 3GS de Mme se trouve dans :
- Réglages/Général/Informations -> adresse wi-fi.
Android: L’adresse MAC de mon Nexus 5 se trouve dans :
- Paramètres/A propos du téléphone/Etat -> Adresse MAC Wi-Fi
Pour permettre à votre box Internet d’affecter toujours la même adresse IP à votre smartphone lorsque ce dernier souhaite se connecter à votre réseau via le Wi-Fi il faut vous rendre sur la console d’administration de votre box et de renseigner l’adresse MAC et de lui affecter l’adresse IP souhaitée. Pour la Freebox:
- se connecter sur la console d’admin de la Freebox en renseignant votre login/mot de passe
- Aller dans “Ma Freebox” puis “Configurer mon routeur Freebox”
- dans la rubrique “Redirections / Baux DHCP” vous trouverez une sous rubrique “Baux DHCP permanents”
- renseigner alors l’adresse IP que vous souhaitez attribuer à votre smartphone et son adresse MAC
- Sauvegarder les paramètres
- redémarrer votre Freebox pour que les paramètres prennent effet
Mise en place de la détection nominative
Dans la console d’administration de la box Eedomus il faut maintenant créer un périphérique qui aura la charge de vous indiquer si votre smartphone est connecté à votre réseau c’est à dire si vous êtes présent dans votre logement. Ce périphérique est un capteur HTTP. Il faudra créer un capteur HTTP par Smartphone à identifier.
- créer un périphérique de type capteur HTTP
- Paramétrer ce capteur de la manière suivante:
URL de la requête : http://localhost/tools/?action=ping&url=192.168.0.111 Chemin XPath : /eedomus/result Dans l’URL, la valeur 192.168.0.111 est l’adresse IP de votre smartphone. Elle doit être adaptée si vous utilisez une autre valeur. La fréquence de la requête est affectée à la valeur 60. C’est a dire que le capteur sera mis à jour automatiquement toutes les 60 minutes. Mais ne vous en faites pas, on pourra mettre à jour ce capteur également à la demande.
- renseigner les 2 valeurs possibles suivantes:
Mise à jour de la détection de présence nominative
Afin de mettre à jour cette donnée de détection de présence nominative dès que l’on ouvre la porte d’entrée par exemple, on va faire appel à un périphérique “Etat”. Il aura la charge de piloter la mise à jour de la détection de présence tout en s’assurant que le smartphone a s’est bien connecté au réseau Wi-Fi. Pour forcer une smartphone à se connecter au réseau Wi-Fi, il “suffit” de le réveiller et qu’il sorte de son état de veille. Cela peut se faire par un simple envoi de notification par exemple. Cette étape est nécessaire pour les appareils sous iOS et on pourrait s’en dispenser pour des appareils Android.
- créer une périphérique “Etat”
- Le paramétrer de la manière suivante
- Lui créer la macro “En Cours dans 10s”
- Lui créer la macro “Non demandée dans 10s”
- créer la règle “Reconnaissance présence Lancement”
- créer la règle “Reconnaissance présence”
Utilisation
Si l’on a envie maintenant de savoir qui est à la maison lorsque la porte d’entrée s’ouvre par exemple. Si vous avez bien suivi le tutoriel, vous aurez remarqué que nous avons paramétré le composant HTTP pour qu’il se mette à jour toutes les heures (60 minutes exactement). On aurait pu d’ailleurs mettre toutes les 1/2 heures ou moins encore mais cela aurait surchargé sans nécessité la détection de présence par la box eedomus. L’idéal aurait été qu’il n’y ait pas de fréquence définie et que la mise à jour se fasse uniquement à la demande. Pour l’instant une fréquence de mise à jour est une donnée nécessaire… Pour l’instant…
Déclencher la demande de reconnaissance est maintenant simple. Il “suffit” de créer une règle qui lancera une notification et qui positionnera le statut de l’état à “Demandé”. Les règles créées précédemment s’occuperont de la temporisation nécessaire à la réception de la notification par le smartphone à son éventuelle reconnexion au réseau Wi-Fi et au PING à proprement parler. La règle suivante est lancée suite à un événement “ouverture de porte d’entrée”.
Conclusion
Cette méthode à l’avantage d’être compatible avec tous les smartphones. Aucune application tierce n’est nécessaire. Le fonctionnement par défaut des téléphones qui se connectent au réseau Wi-Fi connu de manière automatique est un avantage que l’on exploite ici. Son entrée sur le réseau se faisant de manière transparente cela ne nécessite aucune manip d’aucune sorte de la part du propriétaire du smartphone. Il suffit juste de faire sortir le smartphone en lui envoyant une notification.
Autre avantage et non des moindres, la méthode ne consomme pas la batteries des smartphones. Comme le GPS du téléphone n’est pas utilisé pour le faire détecter par la box, il n’y a pas des surconsommation. C’est un peu le souci des solutions basées sur la géolocalisation des smartphones. Ave cette méthode il s’agit en quelque sorte d’une géolocalisation passive.