Aller au contenu

PING sur Iphone avec Syno (détection présence)


flamalex

Messages recommandés

Bonjour,

je suis débutant en syno

j'ai installé IPKG (ce n’était pas gagné::) 

je cherche à détecter ma présence en réalisant un ping sur mon iphone dés lors que celui ci est détecté

(le but étant par la suite de remonter l'état sur boxdomotique fibaro HC2)

après avoir écumé google, forum ect..... manifestement il faudrait installer overlook_fing_3.0 sur le syno

l'appli est soit en *.deb ou *.rpm ou *.tgz (cette appli permets de voir un iphone (wifi ip fixe mm en veille)

je ne sais pas si c'est la bonne solution

je ne sais plus trop quoi faire, auriez vous une piste, un tuto.......

je vous remercie par avance

Lien vers le commentaire
Partager sur d’autres sites

désolé, avec mon nouveau boulot, j'ai pas eu le temp ;)

voici le script :

https://dsm.cambier.org/fbsharing/UVOA5Wkj

basé sur arping
gestion de multiple ip
 

perso l'utilise pour les notif surveillance station et la domotique pour que mon alarme soit silencieuse qd on est présent (120 db dans les oreille, ca fait mal :p)

Lien vers le commentaire
Partager sur d’autres sites

ok, merci, c'est deja pas mal, je te remercie

questions: l'installation de IPKG me servira à rien dans mon cas?

comment installes tu un *.py? par le bootstrap, telnet?

tu installes "pyload.spk" avant? (pyload....................)

je souhaite , en effet, récupérer l’état présent/absent pour activer/désactiver l'alarme en passant par la HC2 de fibaro

Modifié par flamalex
Lien vers le commentaire
Partager sur d’autres sites

Le 21 février 2016 at 09:08, lndiana a dit :

J'utilise une simple commande arping qui marche plutôt bien. Et pour l'intégration à la domotique, je l'appelle via une page php.

Pourrais tu développer

stp

merci

 

edit:

dans les forums domotique, l'experience est faite avec raspery, ils installent "fing", qui permet de detecter l'iphone meme en veille.(pcq seul fing detecte les iphones en veille)

les expériences réalisées avec un nas et un android etaient concluantes.

le probleme est que personne n'utilise de nas pour detecter l'iphone.

concernant "fing" apparement il faudrait réussir a l'installer sur le syno, il detecterait mon phone et apres assurer la liaison avec la box domotique.

(overlook fing, serait le program a installer, seulement celui ci se decline en .deb ou rpm ou tgz)

une idée?

Modifié par flamalex
Lien vers le commentaire
Partager sur d’autres sites

bonjour,

je souhaite installer overlook-fing-3.0 sur synology (avec putty, win scp) en tgz ou deb ou rpm

mais je ne sais pas comment faire, impossible de trouver sur google, une explication clair, sur synology

pourriez vous m'aider

 

http://www.domotique-fibaro.fr/index.php/topic/2831-ping-t%C3%A9l%C3%A9phone-en-veille-ou-tester-votre-pr%C3%A9sence-2-le-retour/

je souhaiterai réaliser ceci (voir lien ci dessus) sur un synology

Modifié par flamalex
Lien vers le commentaire
Partager sur d’autres sites

Bonjour flamalex,

 

Désolé pour la réponse tardive : j'ai répondu à ce post via tapatalk, et il ne m'a pas prévenu de ta réponse.

Pour faire simple : 

J'ai une page php hébergé sur le syno dans un répertoire protégé par un .htaccess (pour ne pas permettre son execution depuis l'exterieur.

Cette page est appelé par ma box domotique avec l'adresse IP (fixe) de mon iphone en parametre.

La page execute la commande arping (via exec) et renvoi 0 ou 1

Je fais ca car ma domotique est hébergé dans un container docker et ne peut pas voir les requetes arping.

Mon code (pas propre, mais c'est pour l'exemple : 

 

$cmd = "/opt/bin/sudo /usr/bin/arping".(($retry>0)?" -c".$retry:"").(($timeout>0)?" -w".$timeout:"").(($interface=="")?" -I eth0":" -I ".$interface)." ".$ipAddress;
//$cmd = $cmd." | grep xx:xx:xx:xx:xx:xx";
$cmd = $cmd." 2>&1";

$arp=exec($cmd, $op, $return);

//echo ".FIN </BR>";
if (!isset($op)){
    //return false;
    if($Debug) echo "No Output!"."</BR>";
} else {
    if($Debug) echo "Output:".$op[0]."</BR>";
    //return true;
}
if (!isset($return)){
    //return false;
    if($Debug) echo "No Retour:".$return."</BR>";
} else {
    if($Debug) echo "Retour:".$return."</BR>";
    //return true;
}

//    $lines=explode("\n", $op);
$lines=$op;
    #look for the output line describing our IP address
    foreach($lines as $line)
    {
//    echo "Line:".$line."<BR>";
       $cols=preg_split('/\s+/', trim($line));
//       echo "IP:".$cols[0]. " " . $cols[0]."<BR>";
       if ($cols[0]==$ipAddress)
       {
           $macAddr=$cols[1];
//           echo "OK<BR>";
       }
    $lastline = $line;
    }

$cols = explode(" ",$lastline);
if($cols[1]>0){
 echo "1"; //$cols[1];
} else {
  echo "0";
}

 

 

 

Modifié par lndiana
Lien vers le commentaire
Partager sur d’autres sites

Salut Indiana,

ya pas de quoi!

je débute, sur syno, surtt dans le language

en fait j'essaie de comprendre depuis 2 semaines

et ca fait des mois que je cherche une solution pour capter l'iphone en veille

sur un site domo, on m'a expliqué que c’était possible, mais pas moyen, mm avec google, de trouver qqchose de clair.

j'avoue que ton code, c'est du chinois :) pour moi

il a deja fallu que je comprenne, IPKG et des trucs comme ca

apparemment il y a des paquets qui appellent d'autres paquets, enfin bref un truc de fou

pourtant je ne me débrouille pas trop mal en info et domo mais alors en linux, c'est la cata

je comprends globalement l'arborescence, j'ai vu que des gars installaient overlook fing sur un RPI (debian), pour ca je trouve des tutos, mais pour le syno pas moyen

je ne sais pas par ou commencer, ou plutôt je ne sais plus

(il y en a qui disent devoir install python, puis debian......................... bref, le flou artistique)

ensuite, Gaetan, dans ce mm sujet, me parle également de ARPING, avec un script, mais comment l’exécuter, c'est du *.py, sous entendu je pense du python, je suis débutant (à fond:)  mais que faire

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Arping est un exécutable Linux, mais tu peux le lancer de différente manière. Dans un script .sh, un script Python, ou comme moi dans une page php. Dans mon cas, l'intérêt est de pouvoir lancer arping depuis une page web, à distance. Mais ca n'est peut être pas le moyen le plus simple. Dans ton cas, une simple commande dans un bash suffira.

Lien vers le commentaire
Partager sur d’autres sites

Le 28/2/2016 at 09:38, lndiana a dit :

Salut,

Arping est un exécutable Linux, mais tu peux le lancer de différente manière. Dans un script .sh, un script Python, ou comme moi dans une page php. Dans mon cas, l'intérêt est de pouvoir lancer arping depuis une page web, à distance. Mais ca n'est peut être pas le moyen le plus simple. Dans ton cas, une simple commande dans un bash suffira.

Salut,

ok, on y va pour une simple commande dans bash, mais comment procède t on?

 

Lien vers le commentaire
Partager sur d’autres sites

Eh bien tout simplement en écrivant un script sh qui prend en parametre une adresse ip ou Mac, qui exécute arping et qui retourne 1 ou 0.

Ensuite, tu appelles ce script depuis ta solution domotique. Tu as quoi déjà?

L'aide de arping : http://linux-ip.net/html/tools-arping.html

Ok. Je viens de voir : Fibaro Hc2. Mais je ne sais comment exécuter un script sur hc2.

Lien vers le commentaire
Partager sur d’autres sites

Salut, 

ok pour remonter sur la HC2 ca devrait aller

mais avant ca, c'est chaud

si j'arrive à retourner 1 ou 0, ca sera deja pas mal

l'ideal serait de prendre l'adresse MAC de l'iphone

 

je ne sais pas comment créer ce script.sh et encore moins l'executer pour qu'il scan l'adresse MAC, tout le tps (en boucle)

(honnêtement, je regarde le lien que tu m'as communiqué, c'est du chinois pour moi, je viens de démarrer cette histoire de linux :)

 

Modifié par flamalex
Lien vers le commentaire
Partager sur d’autres sites

Je ne suis pas un gourou linux non plus, mais en cherchant script bash sur Google, tu devrais trouver ton bonheur.

Perso, j'ai préféré gérer le lancement auto à partir de la domotique, d'où la page PHP. Mais ça implique d'autres complication, surtout sur le syno. Tu ne peux pas faire ça directement sur la hc2? Elle doit bien être capable de lancer une commande arping, non?

Envoyé de mon Nexus 5 en utilisant Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

exact, le seul probleme, pour les iphones, c'est que l'iphone en veille n'a plus de wifi, donc avec la hc2, cela implique l'envoi d'une notif push pour reveiller le phone et donc le detecter si il est present, imagines 1 push par minute!!  :)  je l'ai fait pour voir si c'etait possible, oui ca fonctionne, mais bon!!!!

la seule facon de chopper un iphone en wifi ayant l'ecran en veille est le "fing" apparement, mais pareil, je capte rien, ou plutot ca fonctionne pas toujours,

je fais des tests actuellement sur un RPI2, mais c'est pas fiable (apparemment le probleme existe que sur iphone)

Lien vers le commentaire
Partager sur d’autres sites

Moi j'ai contré ce problème via mon routeur, je récupère directement le statut des appareils connectés, qu'ils soit en veille ou actif, directement via leur adresse mac.

tu peux voir à exploité cette possibilité si ton routeur le permet ;-)

je suis d'accord avec toi, forcé l'iPhone à être actif en permanence au wifi.. Vive la batterie...

Lien vers le commentaire
Partager sur d’autres sites

Il y a 16 heures, Einsteinium a dit :

Moi j'ai contré ce problème via mon routeur, je récupère directement le statut des appareils connectés, qu'ils soit en veille ou actif, directement via leur adresse mac.

tu peux voir à exploité cette possibilité si ton routeur le permet ;-)

je suis d'accord avec toi, forcé l'iPhone à être actif en permanence au wifi.. Vive la batterie...

c'est exactement ce que je souhaite

j'ai un modem routeur CastelNEt de numericable

comment puis je savoir si ça fonctionne sur mon routeur?

quelle démarche? 

merci

Il y a 14 heures, gaetan.cambier a dit :

j'ai toujours mon script dispo pour la verification de presence avec support de plusieur ip à gérer si çà interesse :

https://dsm.cambier.org/fbsharing/eG236QwK
 

 

Salut Gaetan, 

oui, mais encore faudrait il que je comprenne quelque chose du python et comment ca fonctionne

j'ai passé plusieurs heures depuis l'ouverture de ce sujet, notamment sur le RPI2, je commence à comprendre l'arborescence

j'arrive à détecter un android avec fing en IP, 

mais l'iphone impossible au bout de 30sec de veille.

En fait l'idéal serait: dans un rayon de 20 ou 50m, lorsque j'approche de chez moi, l'iphone dans la poche accroche le réseau (mm pas longtps) mais au moins signaler que Presence =1

dans le cas ou je quitte mon domicile, idem signaler que l'iphone décroche du reseau lan (en IP ou en MAC (préférence pour la MAC)) le problème ici, lorsque tu decroches du réseau avec un iphone, ca ne veut pas forcement dire que tu quittes ta maison, ça peut vouloir dire qu'il est en veille et la c'est la m......

 

Modifié par flamalex
Lien vers le commentaire
Partager sur d’autres sites

Il y a 15 heures, gaetan.cambier a dit :

j'ai toujours mon script dispo pour la verification de presence avec support de plusieur ip à gérer si çà interesse :

https://dsm.cambier.org/fbsharing/eG236QwK
 

 

lorsque je lance ton script j'obtiens ça

@RPI:~ $ sudo /home/script/surveillance.py
Traceback (most recent call last):
  File "/home/script/surveillance.py", line 31, in <module>
    subprocess.check_call(["/usr/bin/arping", "-q", "-f", "-w3", "-Ibond0", ip ])
  File "/usr/lib/python2.7/subprocess.py", line 535, in check_call
    retcode = call(*popenargs, **kwargs)
  File "/usr/lib/python2.7/subprocess.py", line 522, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory
 

 

 

 

j'ai modifié le debut de ton script, sans savoir si c'est bon!! je dois bien créer avant "security_enable.py" et "notif_enable.py"? je mets quoi dedans? :)

#!/usr/bin/env python

# Parametres a modifier ######
program_enable = "python /home/script/notif_enable.py 1 && python /home/script/security_enable.py 0"
program_disable = "python /home/script/notif_enable.py 0 && python /home/script/security_enable.py 1"
delai = 5
ip =    [
        '192.168.0.188',
        '192.168.0.16'
    ]
number_check = 3
DEBUG = False
##############################
 

Modifié par flamalex
Lien vers le commentaire
Partager sur d’autres sites

ok, mais je mets quoi dedans? 

dans un premeir tps je voudrai qu'il me precise, lorsque GSM detecté, "present" ou "absent", ^par la suite je ne vais pas appeler un programme, je vais envoyer une requete vers fibaro pour modifier une variable

du style

curl -X PUT -d '{"name": "Presence", "value": "Present"}' http://admin:000000@192.168.0.24/api/globalVariables 
    echo "present"
sleep 30
else
   curl -X PUT -d '{"name": "Presence", "value": Absent"}' http://admin:000000@192.168.0.24/api/globalVariables 
    echo "absent"

Modifié par flamalex
Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...

J'ai trouvé une solution pour détecter l'iphone sur le réseau wifi, de manière fiable et sans interruption, sans parasite

j'ai créé VPN dans le syno, l'iphone s'y connecte tres bien, meme iphone en veille, l'accroche du VPN est parfaite

néanmoins, lorsque il y a perte volontaire du wifi de l'iphone puis ré activation du wifi de l'iphone pour accroche sur réseau local, le VPN ne s'active pas automatiquement,

je dois le relancer manuellement sur l'iphone

existe t il une solution pour forcer automatiquement le VPN iphone a démarrer lorsque la connexion wifi apparaît?

( ma recherche: activation vpn iphone si wifi activé)

 

Modifié par flamalex
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.