Krikroff Posté(e) le 30 décembre 2013 Signaler Partager Posté(e) le 30 décembre 2013 Tout à commencé ici http://forum.fibaro.com/viewtopic.php?t=1894 Ce script peut servir à vérifier l'accès à un domaine et donc aussi sa connexion Internet. J'utilise une variable pour enregistrer le résultat: Cette variable n'est pas obligatoire, juste utile pour utiliser le résultat du script dans une scène. La limite de cette méthode pour le test de connexion est la disponibilité du domaine vers lequel pointe le script. --[[ %% properties %% globals --]] fibaro:log("Start process"); fibaro:sleep(2000); fibaro:log("<b>Check internet connection.</b>"); fibaro:sleep(2000); HC2 = Net.FHttp("dyn.com"); -- call domaine to check response, status, errorCode = HC2:GET("/"); -- check for error if errorCode == 0 then fibaro:setGlobal('Network Status', 1); fibaro:log("Internet connection is alive, http response status is " .. status); if tonumber(status) == 200 then fibaro:sleep(2000); fibaro:log("<b>The request has succeeded</b>"); end else fibaro:setGlobal('Network Status', 0); fibaro:log("<b>Internet is down, check your connection</b>"); end --EOF 2 Lien vers le commentaire Partager sur d’autres sites More sharing options...
i-magin Posté(e) le 30 décembre 2013 Signaler Partager Posté(e) le 30 décembre 2013 Couplé avec le SMS "Paw", c'est intéressant Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fredric Posté(e) le 26 février 2014 Signaler Partager Posté(e) le 26 février 2014 bonjour,je voulais me servir de ton scritp Krikroff et j'ai cette erreur qui vient de la ligne 7."attempt to call method 'log' (a nil value)."j'ai oublié quoi? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krikroff Posté(e) le 26 février 2014 Auteur Signaler Partager Posté(e) le 26 février 2014 Tu as utilisé ce script dans un VD ou une scène ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fredric Posté(e) le 26 février 2014 Signaler Partager Posté(e) le 26 février 2014 je pensé que c'était pour mettre dans un VD, mais cela ne donné rien alors je l'ai mis dans une scène et la il y a l'erreur. Lien vers le commentaire Partager sur d’autres sites More sharing options...
biboun Posté(e) le 12 mai 2014 Signaler Partager Posté(e) le 12 mai 2014 tiens je deterre ce topic pour informer qu'avec les dernieres versions du firmware v6 de la freebox ( krikroff je sais que tu es freenaute ) il y a une petite subtilité. si la box detecte un pb de net, elle renvoie une page informative a toute requete http demandee, et du coup elle renvoie un code 200 ok. on a donc le net down mais le code le voit pas. moi j.ai contourné en interrogeant httpbin.org/status/600 par exemple qui renvoie le code 600, et la la freebox ne peut pas lutter Lien vers le commentaire Partager sur d’autres sites More sharing options...
Alexis S. Posté(e) le 28 mai 2015 Signaler Partager Posté(e) le 28 mai 2015 A mon tour de déterrer... si je remplace la ligne du script de Krikoff: HC2 = Net.FHttp("dyn.com"); par HC2 = Net.FHttp("httpbin.org/status/600"); Le debug m'indique que la connexion est down (alors que tout fonctionne bien). Ce n'est pas cette ligne qu'il faut remplacer? Il faut installer quelque chose de particuliers? Merci pour votre aide. Lien vers le commentaire Partager sur d’autres sites More sharing options...
biboun Posté(e) le 28 mai 2015 Signaler Partager Posté(e) le 28 mai 2015 a vue de nez si tu appelles httpbin.org/status/600 et que ta connection marche, ça renvoie le code 600 ( c'est le principe de httpbin.org/status) donc ligne 19 je mettrais if tonumber(status) == 600 then Lien vers le commentaire Partager sur d’autres sites More sharing options...
Alexis S. Posté(e) le 28 mai 2015 Signaler Partager Posté(e) le 28 mai 2015 mais ce n'est pas ce que je récupère, je ne vois pas où je me rate, voilà mon code: HC2 = Net.FHttp("httpbin.org/status/600"); -- call domaine to check response, status, errorCode = HC2:GET("/"); fibaro:debug("response"..response); fibaro:debug("status"..status); fibaro:debug("errorCode"..errorCode); Et je récupère rien dans response, rien dans status et 2 pour errorcode Lien vers le commentaire Partager sur d’autres sites More sharing options...
biboun Posté(e) le 28 mai 2015 Signaler Partager Posté(e) le 28 mai 2015 mon code est formulé comme ça: testnet = Net.FHttp("httpbin.org",80) response, status, errorCode=testnet:GET('/status/600') et ça renvoie response= status=600 errorCode=0 Celà dit, j'imagine que krikroff a résolu ça depuis longtemps dans son plugin ( j'avaoue que j'ai pas été tres actif ces 6 derniers mois, pas taper, pas taper..) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Alexis S. Posté(e) le 28 mai 2015 Signaler Partager Posté(e) le 28 mai 2015 Parfait, ça tourne! Merci. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés