Aller au contenu

Ping Téléphone En Veille Ou Tester Votre Présence 2 Le Retour


TonyC

Recommended Posts

Ici le script tourne depuis le 22j sans aucun raté. C'est vraiment devenu un élément indispensable dans la gestion de la maison.

Je suis en train de re-installer Sarah pour qu'elle soit prête pour sa futur maison, et je penses qu'elle va également tirer partie de la variable Présence de M. ou Madame.

 

Tu as avancé Tony sur la plage d'ip? Penses tu que l'on pourrait gagner en réactivité?

Lien vers le commentaire
Partager sur d’autres sites

Salut Masterbt! Merci pour ce retour, avec les fêtes pas trop trouvé le temps, mais ce point n'est pas tombé aux oubliettes, je te tiens au courants dès que je m'y serais penché...

@ez3kiel, ça tourne toujours? Le problème venait il d'un caractère de contrôle? Merci pour ton retour!!

Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

Bonjour, je découvre ce sujet avec intérêt car je souhaite mettre en place un système de gestion de mode "Présence/Absence" me permettant de déclencher des scènes, notamment lorsque je rentre àla maison et que j'ouvre ma porte d'entrée. Si mon téléphone est connecté au Wifi alors je peux considérer que j'arrive àla maison et déclencher la scène qui va bien en fonction de l'heure etc...

Je suis donc tombé sur le sujet et je voulais savoir si cette méthode est bien fiable et comment elle fonctionne.

D'après ce que je lis, il s'agît d'un test continu donc cela signifie àpriori que si j'éteint mon téléphone la nuit par exemple, le système va considérer que je suis absent ?

Merci pour vos retours.

Lien vers le commentaire
Partager sur d’autres sites

Oui c'est cela, tu serais absent la nuit.

 

Un autre point à  noter est que la détection et le changement de la variable n'est pas instantané.Je m'explique :

 

Chez moi, j'ai une variable pour chaque téléphone et une variable globale "présence maison ".

  1. Tu arrives chez toi,ton téléphone va mettre un certains temps à  se connecter au wifi.(quelques secondes)
  2. Fing (qui est installé sur le raspberry ) contrôle toute les minutes les nouveaux périphériques connectés et met à  jour la variable du téléphone.(1 minute max)
  3. Suite à  ça, j'ai une scène qui tourne aussi toute les minutes et qui met à  jour la variable présence maison.(1 minute max)

Ce n'est pas un problème quand tu quittes la maison ( au pire , une lumière oubliée reste allumé 2 minutes )

C'est plus en rentrant que ce temps de MAJ des variables est ennuyeux. Je te conseillerais de changer l'état de la variable présence sur l'ouverture d'une porte d'entrée par exemple.

 

PS: une précision qui à  son importance, comme les variables des téléphones sont mises à  jour par l'api, elles ne peuvent être des triggers pour tes scènes (limitation de l'api  fibaro il me semble ). C'est pour cela que j'ai une scène qui tourne en plus.

Lien vers le commentaire
Partager sur d’autres sites

maintenant si tu veux éviter de mettre une usine àgaz en place, tu raccordes simplement un binary sensor àton alarme => si alarme on, il y a personne, si off, il y a quelqu'un. Tu t'affranchis également des gsm qui n'ont plus de batterie ou qui se trouvent dans un coin de la maison sans wifi, ou que ton routeur est mort, ou ...

Lien vers le commentaire
Partager sur d’autres sites

Yep,

je confirme le délais de 1min quand je rentre chez moi pour que S.a.r.a.h sache que je suis rentrée et que la lumière s'allume.

Aprés je trouves pas que ca soit une usine àgaz, le rasp bosse tout seul dans son coin et rien d'autre àfaire. Après ca dépend beaucoup des habitudes gens. Perso mon tél est sous wifi à100% du temps dé que je suis chez moi, et personnes n'oublie de portable àla maison en partant. Ca peut marcher SEULEMENT avec ses conditions.

Lien vers le commentaire
Partager sur d’autres sites

OK merci pour vos retours. En fait je n'ai pas d'alarme mais pour l'instant juste des motion sensor, dont un dans mon entrée.

Mon souhait serait de pouvoir au moment où j'ouvre ma porte et que j'entre dans l'appartement (détection du MotionSensor) déclencher une scène qui serait capable de détecter si mon téléphone est connecté au Wifi.

Dans ce cas je considère que c'est bien une entrée "autorisée" et que je peux déclencher les scènes qui vont bien.

Sinon j'attends un certains délai pour être sà»r de ne pas détecter le téléphone ou laisser à  défaut de faire le temps une manip sur un interrupteur (genre triple clic).

Si toujours rien => intrusion potentielle etc...

 

Il n'y a pas un moyen simple de faire ça ? Peut-être avec une appli supplémentaire sur l'iphone ?

Lien vers le commentaire
Partager sur d’autres sites

Tu peut très bien utiliser le script de ce topic

Donc tu te retrouve avec une variable présence.

Ensuite tu créé une autre variable exemple: "DeclenchementEntrée"

 

Et tu fais une scène comme ça:

 

Si

[Présence] = oui

Et

[DeclenchementEntrée] = oui

Et

Mouvement = oui

Alors

DeclenchementEntrée = non (pour ne relancer cette scène et donc relancer en boucle les autres scène qui suivent)

ET

{Scène voulue}

 

 

Puis il te faut une 2éme scène qui remet la valeur oui à  la variable DeclenchementEntrée quand tu pars.

Lien vers le commentaire
Partager sur d’autres sites

C'est ce que je me disais mais àpriori c'est le délai de traitement de la variable présence qui pourra perturber le truc.

Je pourrais àla limite faire un WebService sur le RPI qui fait une vérification de présence et répond tout de suite.

Ainsi ce n'est plus le RPI qui dit en permanence si qqn est làou pas mais la HC2 qui demande au RPI de vérifier si il y a quelqu'un àla demande, uniquement lorsqu'elle a besoin de cette info...

Lien vers le commentaire
Partager sur d’autres sites

  • 4 weeks later...

Bonsoir,

 

J'ai un soucis je pense avec l'exécution du script test_presence.sh .

En le faisant tourner manuellement, j'ai :


20:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.23</TD><TD>70:11:24:24:29:0D</TD><TD> </TD><TD> </TD><TD>20:19:14</TD></TR>
39:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.200</TD><TD>E8:AB:FA:0D:F6:9A</TD><TD> </TD><TD> </TD><TD> </TD></TR>
40:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.201</TD><TD>E8:AB:FA:0D:F6:E0</TD><TD> </TD><TD> </TD><TD> </TD></TR>
41:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.202</TD><TD>00:62:6E:4A:FC:22</TD><TD> </TD><TD> </TD><TD> </TD></TR>
42:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.203</TD><TD>E8:AB:FA:07:47:59</TD><TD> </TD><TD> </TD><TD> </TD></TR>
43:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.204</TD><TD>E8:AB:FA:06:3D:10</TD><TD> </TD><TD> </TD><TD> </TD></TR>
44:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.205</TD><TD>00:62:6E:4A:79:1F</TD><TD> </TD><TD> </TD><TD> </TD></TR>
45:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.206</TD><TD>E8:AB:FA:0B:81:B7</TD><TD> </TD><TD> </TD><TD> </TD></TR>
46:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.207</TD><TD>00:62:6E:48:73:E5</TD><TD> </TD><TD> </TD><TD> </TD></TR>
47:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.208</TD><TD>E8:AB:FA:04:74:41</TD><TD> </TD><TD> </TD><TD> </TD></TR>
49:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.210</TD><TD>E8:AB:FA:04:73:83</TD><TD> </TD><TD> </TD><TD> </TD></TR>
50:<TR id="UP"><TD><center>UP</TD><TD>192.168.0.211</TD><TD>00:12:04:A0:24:1D</TD><TD>u10 Networks</TD><TD> </TD><TD> </TD></TR>
{"type":"ERROR","reason":"name","message":"No variable name in uri"}present

Une idée ?

 

Mon script :

#!/bin/bash

# Never ending loop
# version 1.00
# Author: Tony270570
cpt=0
while ((cpt<10))
 do
 grep -n "<center>UP</TD><TD>192.168.0.2" /var/www/ping/lan.html
if [ $? == 0 ]
then
   curl -X PUT -d '{"name": "Presence_TT", "value": "Present"}' http://admin:xxx@192.168.0.108/api/globalVariables
    echo "present"
sleep 10
else
   curl -X PUT -d '{"name": "Presence_TT", "value": "Absent"}' http://admin:xxx@192.168.0.108/api/globalVariables
    echo "absent"
sleep 10
fi
done
 exit 0

Lien vers le commentaire
Partager sur d’autres sites

Salut, je suis en 4.035. J'ai trouvé les deux problèmes :

 

- le premier, mon adresse recherchée étant 192.168.0.2, j'avais aussi toutes celles en 2x et 2xx. J'ai ajouté donc  </TD>à  la fin de la recherche et ça marche 

- ma box étant en V4, j'ai du changer l'appel à  l'api pour les variables globales -> c'est ok

 

Il me reste un seul problème, le script exec_presence ne se lance pas automatiquement (si je le lance manuellement, c'est ok).

Je suis pas un spécialiste en linux, j'ai tout refait comme décrit, mais marche pas. Une idée ?

 

Merci

 

Thierry

Lien vers le commentaire
Partager sur d’autres sites

Si ça intéresse quelqu'un je suis en train de mettre en place un script équivalent qui se base sur la commande arp-scan.

L'avantage est que je trouve un device non pas via son IP mais via son adresse MAC.

Ca fonctionne plutôt bien il me reste àintégrer tout ça dès que j'ai du temps.

Lien vers le commentaire
Partager sur d’autres sites

Si ça intéresse quelqu'un je suis en train de mettre en place un script équivalent qui se base sur la commande arp-scan.

L'avantage est que je trouve un device non pas via son IP mais via son adresse MAC.

Ca fonctionne plutôt bien il me reste àintégrer tout ça dès que j'ai du temps.

Oui super idée

Lien vers le commentaire
Partager sur d’autres sites

  • 2 months later...

Yop yop,

Je viens de passer d'une HCL(3.56) à  une HC2(4.042). Mes variables ne sont plus mise à  jour. Y a t'il une différence d'api?

 

J'ai actuellement cela:

 curl -X PUT -d '{"name": "herelui", "value": "oui"}' http://LOG:PASS@192.168.1.150/api/globalVariables
Lien vers le commentaire
Partager sur d’autres sites

En v4, il faut faire du PUT (comme la v3) et ajouter le nom de la variable dans l'URL.

Exemple :

curl --silent --output '/dev/null' --request PUT --data '{"name": "TempCuisine", "value": "$temp"}' --user admin:password http://192.168.1.1/api/globalVariables/TempCuisine
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...