Aller au contenu

Messages recommandés

Posté(e)

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 
  • Upvote 2
  • 1 mois après...
Posté(e)

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?

  • 2 mois après...
Posté(e)

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 :)

  • 1 an après...
Posté(e)

A mon tour de déterrer...

si je remplace la ligne du script de Krikoff:

  1. 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.

Posté(e)

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

Posté(e)

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
Posté(e)
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..)

×
×
  • Créer...