Relancer la box ADSL depuis Domoticz
Relancer la box ADSL depuis Domoticz
Bonsoir à tous.
Je recherche un script quelconque qui testerait régulièrement la connexion internet, ET QUI, en cas de non réponse, relancerait la box internet.
Cette box pourrait par exemple être branchée sur une prise type ON/OFF.
Le process serait alors :
1 - commande OFF de la prise
2 - attente de 10 secondes
3 - commande ON.
Est ce réalisable ?
Merci de votre aide.
Je recherche un script quelconque qui testerait régulièrement la connexion internet, ET QUI, en cas de non réponse, relancerait la box internet.
Cette box pourrait par exemple être branchée sur une prise type ON/OFF.
Le process serait alors :
1 - commande OFF de la prise
2 - attente de 10 secondes
3 - commande ON.
Est ce réalisable ?
Merci de votre aide.
Re: Relancer la box ADSL depuis Domoticz
Bonjour,
oui, c'est réalisable. C'est d'ailleurs dans mes projets puisque ma box plante régulièrement (1 fois par semaine)
Dans quelques jours/semaines, je pourrais surement te poster cela. A moins que tu ne trouves la solution avant.
oui, c'est réalisable. C'est d'ailleurs dans mes projets puisque ma box plante régulièrement (1 fois par semaine)
Dans quelques jours/semaines, je pourrais surement te poster cela. A moins que tu ne trouves la solution avant.
domoticien amateur option bidouille
Re: Relancer la box ADSL depuis Domoticz
Bonjour.
Merci pour ta réponse...je patiente donc !.
En attendant, je vais brancher mon électrovanne d'arrosage sur une prise avec minuterie (ITLR 3500T FR) pour m'assurer de son arrêt.
Merci pour ta réponse...je patiente donc !.
En attendant, je vais brancher mon électrovanne d'arrosage sur une prise avec minuterie (ITLR 3500T FR) pour m'assurer de son arrêt.
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Relancer la box ADSL depuis Domoticz
Bonjour,
Tu trouveras sur ce forum un script_time_ping.lua
Tu ping www.google.com par exemple,
Si le ping échoue ça passe ta prise à Off.
Un autre petit script_device_box.lua se lance si ta prise est à off et la repasse à On après 10s.
Et voila.
Tu trouveras sur ce forum un script_time_ping.lua
Tu ping www.google.com par exemple,
Si le ping échoue ça passe ta prise à Off.
Un autre petit script_device_box.lua se lance si ta prise est à off et la repasse à On après 10s.
Et voila.
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: Relancer la box ADSL depuis Domoticz
autant tout faire dans le même script time, non ?
domoticien amateur option bidouille
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Relancer la box ADSL depuis Domoticz
Le scripts time se lancent toutes les minutes, ça dépasse les 10s souhaitées,
Et il n'est pas possible de faire un Off puis On du même dispositif dans un unique script.
et puis j'aime bien séparer les tâches.
Et il n'est pas possible de faire un Off puis On du même dispositif dans un unique script.
et puis j'aime bien séparer les tâches.
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: Relancer la box ADSL depuis Domoticz
Vous êtes très sympas de nous trouver les scripts qui vont bien...mais quand on débute, on trouve pas !!!
Avec le temps...chantait un de nos grands poètes.
Avec le temps...chantait un de nos grands poètes.
Re: Relancer la box ADSL depuis Domoticz
et hop, mon script comme promis (testé sauf pour la prise adsl que je n'ai pas encore)
Code : Tout sélectionner
-- Guillaume Anquetil - 26/06/2015
-- Ce script ping google toutes les 10 minutes. Si pas de réponses, 2eme ping au bout de 1 minute puis reboot.
-- ce script utilise un bouton "adsl" mention sensor)
-- ce scipt manipule une prise branché sur la box notée 'prise Adsl'
commandArray = {}
-- variable debog : affiche les print et réduit le délai de test de 10 minutes à 2 minutes si la variable debog est différente de 0
debog=0
if (debog~=0) then
delai=0
delai2 = 75 -- 2eme délai rapide si adsl est out
else
delai=300 -- vérification toutes les 10 minutes
delai2 = 75 -- 2eme délai rapide si adsl est out
end
-- récupération de l'heure actuelle
heure_actuelle=os.time() -- heure en seconde depuis ???
-- récupération de la date de dernière mise à jour de la variable adsl
maj=otherdevices_lastupdate['adsl']
if (debog~=0) then print('date capteur : '..maj) end
year = string.sub(maj, 1, 4)
month = string.sub(maj, 6, 7)
day = string.sub(maj, 9, 10)
hour = string.sub(maj, 12, 13)
minutes = string.sub(maj, 15, 16)
seconds = string.sub(maj, 18, 19)
maj2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
-- ajout du délai de vérfication
heure_precedente = tonumber(maj2)
if (debog~=0) then
print (heure_actuelle)
print (heure_precedente+delai2)
print (heure_precedente+delai)
print (otherdevices['adsl'])
end
-- si le délai est supérieure à delai ou si on est à off avec le délai 2
if ((heure_actuelle > heure_precedente+delai) or (otherdevices['adsl']=='Off' and heure_actuelle > heure_precedente+delai2)) then
if os.execute('ping -c1 -w 2000 www.google.fr') then
-- si le ping est ok on met la variable adsl à 1 et on met à jour le capteur adsl
adsl=1
commandArray['adsl']='On'
if (debog~=0) then print('Adsl ok') end
else
-- sinon on met la variable adsl à zero (utile pour la suite)
adsl=0
if (debog~=0) then print ('adsl out') end
end
-- si le bouton est déjà à off et ping out encore
if otherdevices['adsl']=='Off' and adsl==0 then
-- eteindre la prise de l'adsl pause de 5 et redémarrage
-- commandArray['Prise Adsl']='Off'
if (debog~=0) then print ('redémarrage box') end
-- os.execute("sleep 5")
-- commandArray['Prise Adsl']='On'l
commandArray['adsl']='Off' -- on remet la commande off au bouton adsl pour avoir un peu plus d'1 minutes pour laisser la box s'initialiser
end
-- si pas de ping, on met le bouton à off
if adsl==0 and otherdevices['adsl']=='On' then
commandArray['adsl']='Off'
if (debog~=0) then print('mise à off du capteur') end
end
end
return commandArraydomoticien amateur option bidouille
Re: Relancer la box ADSL depuis Domoticz
Bonjour à tous.
J'ai repris l'excellent script de <ganq> que j'ai modifié à la sauce <raboliot> en utilisant qu'un seul objet : la prise on/off à laquelle est branchée la box ADSL.
J'ai testé en prod plusieurs fois ce script (script_time_adsl.lua) avec succès.
J'ai repris l'excellent script de <ganq> que j'ai modifié à la sauce <raboliot> en utilisant qu'un seul objet : la prise on/off à laquelle est branchée la box ADSL.
J'ai testé en prod plusieurs fois ce script (script_time_adsl.lua) avec succès.
Code : Tout sélectionner
commandArray = {}
local prise='box ADSL'
------------------------------------------------------------------------------------------------
-- variables
------------------------------------------------------------------------------------------------
-- on enregistre la dernière maj de la prise
dmaj = otherdevices_lastupdate[prise]
print('Dernière maj : '..dmaj)
-- on ajoue un delai de réinitialisation de la box avant de nouveaux tests
_year = string.sub(dmaj, 1, 4)
_month = string.sub(dmaj, 6, 7)
_day = string.sub(dmaj, 9, 10)
_hour = string.sub(dmaj, 12, 13)
_minutes = string.sub(dmaj, 15, 16)
_seconds = string.sub(dmaj, 18, 19)
dmaj = os.time{year=_year, month=_month, day=_day, hour=_hour, min=_minutes, sec=_seconds}
lapsInit = tonumber(dmaj)+300
-- heure actuelle
maintenant = os.time() -- heure actuelle
---------------------------------------------------------------------------------------------------
-- Sensor : on teste la connexion QUE SI la prise est 'On' et maintenant > lapsInit
-----------------------------------------------------------------------------------------------------
if (otherdevices[prise] == 'On' and maintenant > lapsInit) then
if (os.execute('ping -c1 -w 2000 www.google.fr')) then
print('Connexion adsl OK.')
else
-- si pas de connexion on éteint la prise
commandArray[prise] = 'Off'
print('Pas de connexion adsl !.')
end
end
---------------------------------------------------------------------------------------------------------
-- Relance de la box : on rallume la prise si elle est éteinte
----------------------------------------------------------------------------------------------------------
if (otherdevices[prise] == 'Off') then
os.execute('sleep 5')
commandArray[prise] = 'On'
end
return commandArray
Re: Relancer la box ADSL depuis Domoticz
je t'en prie pour 'excellent'
J'ai un problème de test de ping de google qui n'ai pas fiable. En effet, j'ai une notification d'adsl HS alors que ca fonctionne bien.
Surement quand la bande passante est largement utilisée... Je n'arrive pas à résoudre ce problème malgré la double détection.
tu n'as rien de ce genre ?
J'ai un problème de test de ping de google qui n'ai pas fiable. En effet, j'ai une notification d'adsl HS alors que ca fonctionne bien.
Surement quand la bande passante est largement utilisée... Je n'arrive pas à résoudre ce problème malgré la double détection.
tu n'as rien de ce genre ?
domoticien amateur option bidouille