Page 1 sur 1

Script pour rebooter sa box

Publié : 01 avr. 2016, 06:12
par gawel3164
Salut,
je partage un script que j'ai bricolé en m'inspirant du script de détection de présence.
En effet je suis "l'heureux" client numéricable qui à hérité d'un modem 30Mégas qui se déconnecte d'internet très régulièrement..... Du coup, plus d'accès depuis l'extérieur, par contre mon réseau et mon système domotique continuent a fonctionner en local... Si je redémarre le modem, internet fonctionne a nouveau. Depuis la page d'administration du modem, aucune commande de redémarrage n'est disponible donc la seule solution que j'ai trouvée (pas très fine j'en conviens..... :D ) est de couper l'alimentation électrique du modem puis la remettre. J'ai donc branché ma box sur une prise DIO et je fais régulièrement un ping sur Google (l'intervalle entre deux pings peut être modifié dans le script). Dès que le ping échoue, la prise est éteinte puis rallumée.
Ce script est surement loin d'être parfait, mais si ça peut servir à quelqu'un qui est aussi satisfait de son modem que moi.... :lol:

Script: script_time_rebootbox.lua

Code : Tout sélectionner

-- Ce script vérifie la connexion internet en faisant un ping vers Google 
-- L'intervalle de détection peut être réglé. Ici par défaut toutes les 3 heures  
-- créer un dummy nommé "PingBox". La prise commandée sur laquelle est branchée la box s'appelle "Connexion". Régler un delai d'allumage de 10s sur l'inter "Connexion" pour que la prise reste éteinte un laps de temps.
 
commandArray = {}
 
--Cette fonction calcule la différence de temps (en secondes) entre maintenant
--et la date passée en paramètre.
function timedifference (s)
 year = string.sub(s, 1, 4)
  month = string.sub(s, 6, 7)
  day = string.sub(s, 9, 10)
  hour = string.sub(s, 12, 13)
  minutes = string.sub(s, 15, 16)
  seconds = string.sub(s, 18, 19)
  t1 = os.time()
  t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
  difference = os.difftime (t1, t2)
 return difference
end
 
--Si la connexion est perdue ou si la connexion est présente depuis plus de 3 heures,
--alors on vérifie à nouveau sa présence
if ((otherdevices['Connexion']=='Off' and timedifference(otherdevices_lastupdate['Connexion']) > 10800) or (otherdevices['Connexion']=='On' and timedifference(otherdevices_lastupdate['Connexion']) > 10800)) then
	ping_success_google=os.execute('ping -c1 8.8.8.8')
	
	
	if ping_success_google  then
	  print('Connexion fonctionnelle')
	  commandArray['Connexion']='On'
	  commandArray['PingBox']='On'
         
	else
	      print('Connexion non fonctionnelle')
	      commandArray['Connexion']='Off'
             commandArray['PingBox']='Off'      
	end
else
   if (timedifference(otherdevices_lastupdate['PingBox']) < 120 and otherdevices['PingBox']=='Off' ) then
commandArray['Connexion']='On'
print('redemarrage')
   end
end
 
return commandArray

Re: Script pour rebooter sa box

Publié : 13 avr. 2016, 07:49
par zipman
Super je viens de poster un sujet identique il y a quelques minutes, étant totalement novice en script et travaillant sur Domoticz sur un D212J synology.

Comment enregistrer ce script et l'exécuter sur ma prise CHACON/DIO ?



Envoyé de mon iPad en utilisant Tapatalk

Re: Script pour rebooter sa box

Publié : 27 janv. 2017, 14:13
par acuponctus
Bonjour,

Je relance le sujet, car je cherche à faire la même chose mais il me manque la prise...
Aussi en me basant sur le même scénario j'aurai imaginé non pas couper l'alimentation électrique, mais l'ouverture d'une page un peu comme ca :

http://192.168.1.1/reboot?submit_button ... d=password (exemple imaginaire)

j'ai trouvé ca sur un forum qu'il faudra traduire en LUA :
wget -q http://%IP%/login --referer="http://%IP%/login?page_ref=/reboot" http://%IP%/reboot --post-data="method=passwd&zsid=&login=%WEBLOGIN%&password=%WEBPASS%&submit=" >nul:

L'idée est faire un script qui profite à tous ceux qui ont domoticz et une box SFR. Et avec un URL appelé on puisse se connecter à la Box et utiliser la fonction reboot. Car il arrive environ une fois par mois que la box se désynchronise. Le LAN reste fonctionnel, c'est juste sur le WAN. ET en rebootant la box tout est OK.

Merci !

Re: Script pour rebooter sa box

Publié : 27 janv. 2017, 20:59
par deennoo
Voici l'api qui va aider.

https://www.neufbox4.org/download/apire ... st_4.0.pdf

Page 7 et 24
je ne peux pas plus aider je suis chez Free.

Re: Script pour rebooter sa box

Publié : 31 janv. 2017, 17:59
par acuponctus
Merci, je vais tester ça prochainement et préciserai le résultat.

Re: Script pour rebooter sa box SFR - arret WiFi

Publié : 15 oct. 2019, 09:58
par acuponctus
Bonjour,
Je vois que je n'avais pas posté ma réponse...
Pour ma part j'ai donc ce script qui permet de rebooter la box et qui fonctionne depuis plusieurs mois :

wget -q http://192.168.1.1/login --referer="http://192.168.1.1/login?page_ref=/reboot" http://192.168.1.1/reboot --post-data="method=passwd&zsid=&login=admin&password=motdepassedelabox&submit=" >/dev/null 2>&1

C'est utile quand il y a une désynchronisation, car dans ce cas seul le reboot permet de retrouver l'accès internet.
Je fais d'abord un ping vers google par exemple, et si ça ne fonctionne pas, ca lance le reboot de la box.


Maintenant je voudrai pouvoir faire la même chose mais avec le WiFi pour le couper ou le remettre en route, l'un d'entre vous aurait il une idée ?
Je commencerai de la même manière
wget -q http://192.168.1.1/login --referer="http://192.168.1.1/login?page_ref=/wifi/config" http://192.168.1.1/wifi/config

mais après ?