#1 Le 08/05/2010, à 17:53
- Kysic
[script/sh] reboot freebox à distance
Vous aimeriez pouvoir redémarrer votre modem adsl freebox à distance ?
Je vous propose un script pour le faire, et sans avoir besoins d'un onduleur...
Par contre il vous faudra quand même un rebond (avec un pc ou un routeur) derrière la freebox et un boîtier hd branché.
L'idée est simple, utiliser la nouvelle fonctionnalité de télécommande à distance du boîtier hd.
Comme il est possible de rebooter le modem adsl via les menu tvs, c'est devenu possible depuis le PC.
Le seul problème c'est les menus de free qui sont cycliques et qui se souviennent du dernier emplacement.
Donc pas moyen de se caler dans un coin pour savoir où l'on est.
Du coup le script mais longtemps à s'exécuter en faisant des manips bizarre pour se caler comme il faut, vous aurez peut être l'impression qu'il fait n'importe quoi mais normalement il devrait fonctionner et faire redémarrer votre modem adsl.
(Dans le menu principal, le script utilise le double item canal+/canalsat pour se placer sur la première ligne, puis il utilise le fait que le menu télésites soit le seul de la deuxième ligne dont on ne puisse revenir en appuyant sur le bouton rouge pour se situer dans les colonnes. Dans le menu paramètres c'est plus facile puisqu'il manque un item sur la première ligne).
Je vous invite à suivre ce qui se passe en allumant la télé pour vérifier.
Je ne vous garanti pas qu'il n'active pas un truc qu'il ne faudrait pas, notamment si free change l'agencement des menus, vous êtes les seuls responsables .
Vous pouvez bien sûr partir du script pour faire d'autres choses si vous souhaitez et n'hésitez pas à poster des améliorations.
[edit]
J'ai oublié de préciser, vous devez indiquer votre code télécommande pour que le script puisse fonctionner.
Vous le trouverez dans le menu "Information générale" (lui même dans paramètres) de la freebox HD (sur la télé).[/edit]
#!/bin/sh
# Code télécommande accessible dans le menu
# "Informations générales" de la freebox hd
CODE_FREEBOX=
# Identifiant du boîtier HD
ID_BOITIER=1
# Simule un appui sur la touche $1
# Simule un appui long si $2 vaut "long"
# Liste keys :
# power : la touche rouge on/off
# list : la touche d’affichage de la liste des chaînes entre power et tv
# tv : la touche verte TV de commutation péritel.
# 0 à 9 : les touches 0 à 9
# back : la touche jaune en dessous du 7
# swap : la touche en dessous du 9
# info, mail, help, pip : les touches bleues à droite des numéros de chaîne
# epg, media, options : fonctionnalités "secondaires" de ces mêmes touches
# vol_inc, vol_dec : volume+ et volume-
# prgm_inc, prgm_dec : program+ et program-
# ok : touche OK
# up, right, down, left : les touches directionnelles entourant le OK
# mute : la touche de mise en sourdine
# home : la touche free
# rec : la touche d’enregistrement
# bwd : la touche de retour en arrière (<<)
# prev : la touche "précédent" (|<<)
# play : la touche lecture/pause
# fwd : la touche d’avance rapide (>>)
# next : la touche "suivant" (>>|)
# red : le bouton rouge (B)
# green : le bouton vert (A)
# yellow : le bouton jaune (Y)
# blue : le bouton bleu (X)
simulerAppui() {
if [ "$#" -eq 1 ]
then
isLong=false
else
if [ "$#" -eq 2 ]
then
isLong=true
else
echo "Usage : simulerAppui <key> [long]"
return 2
fi
fi
wget -q -O /dev/null "http://hd${ID_BOITIER}.freebox.fr/pub/remote_control?code=${CODE_FREEBOX}&key=${1}&long=${isLong}"
}
# Conduit sur l'item radio si l'on
# est dans la troisieme colonne
accueilColonne3Haut() {
simulerAppui left
sleep 1
simulerAppui down
sleep 1
simulerAppui right
sleep 1
simulerAppui left
sleep 1
simulerAppui down
sleep 1
simulerAppui right
sleep 1
simulerAppui left
sleep 1
simulerAppui down
sleep 1
simulerAppui right
}
# Conduit sur l'item en haut de la
# colonne courante sur la page
# d'accueil
accueilLigneHaut() {
accueilColonne3Haut
sleep 1
simulerAppui left
sleep 1
accueilColonne3Haut
sleep 1
simulerAppui left
sleep 1
accueilColonne3Haut
sleep 1
simulerAppui left
sleep 1
accueilColonne3Haut
sleep 1
simulerAppui left
}
# Conduit sur l'item Telesite si l'on
# est sur la deuxieme ligne
accueilLigne2Gauche() {
simulerAppui ok
sleep 3
simulerAppui red
sleep 1
simulerAppui left
sleep 1
simulerAppui ok
sleep 3
simulerAppui red
sleep 1
simulerAppui left
sleep 1
simulerAppui ok
sleep 3
simulerAppui red
sleep 1
simulerAppui left
sleep 1
simulerAppui ok
sleep 3
simulerAppui red
sleep 10
simulerAppui home
}
# Va dans le menu parametre
# quand le boitier est allume
gotoParam() {
simulerAppui home
sleep 5
accueilLigneHaut
sleep 1
simulerAppui up
sleep 1
simulerAppui up
sleep 1
accueilLigne2Gauche
sleep 1
simulerAppui right
sleep 1
simulerAppui down
sleep 1
simulerAppui ok
}
# Va dans le menu info Reseau
# quand le boitier est allume
gotoInfoReseau() {
gotoParam
sleep 1
# On va l'item disque dur du menu param
simulerAppui up
sleep 1
simulerAppui left
sleep 1
simulerAppui up
sleep 1
simulerAppui left
sleep 1
simulerAppui up
sleep 1
simulerAppui left
sleep 1
# On est sur l'item disque dur
# On va sur information reseau
simulerAppui left
sleep 1
simulerAppui up
sleep 1
simulerAppui ok
}
# Redemarre le modem adsl si le
# boitier HD est allume
redemarrerAdslSiOn() {
gotoInfoReseau
sleep 1
simulerAppui down
sleep 1
# Ce ok lance le redemarrage
simulerAppui ok
# On ressort du menu
sleep 1
simulerAppui red
sleep 1
simulerAppui red
sleep 1
simulerAppui red
}
case $1 in
rebootAdsl)
# Redemarre le modem adsl
# dans tous les cas
simulerAppui power
sleep 5
redemarrerAdslSiOn
sleep 1
simulerAppui power
sleep 5
redemarrerAdslSiOn
;;
*)
$0 rebootAdsl
;;
esac
Dernière modification par Kysic (Le 08/05/2010, à 21:56)
Hors ligne
#2 Le 16/06/2010, à 13:06
- guiguidu59
Re : [script/sh] reboot freebox à distance
Salut!
On cherche actuellement à faire cette action pour les aliceboxs V5 (presque pareil qu'une freebox V5), une idée?
Hors ligne
#3 Le 16/06/2010, à 13:15
- Pacifick_FR42
Re : [script/sh] reboot freebox à distance
@Kysic heu... ça doit venir de moi, mais j'ai rien pigé... pour la méthode employé, il faut le boitier tv ? utiliser la télécommande ? bref...
Hors ligne
#4 Le 16/06/2010, à 18:04
- Kysic
Re : [script/sh] reboot freebox à distance
guiguidu59 > Je ne sais pas du tout comment fonctionne un alicebox V5. Il faut regarder si la fonctionnalité de télécommande depuis le PC existe dessus et s'il est possible de la rebooter avec les menus freebox sur la télé.
Pacifick_FR42 > Il faut juste le boitier télé. Il faut savoir que free à activé une fonctionnalité permettant au périphérique (pc) connecté en Ethernet sur le réseau local de servir de télécommande pour la télé. Ainsi par exemple un téléphone connecté en wifi et avec la bonne appli peut servir de télécommande. L'idée est ici de se servir de cette fonctionnalité pour contrôler le boîtier HD.
Si un ordinateur est connecté sur le réseau locale de la freebox, il peut "télécommander" le boitier HD de la freebox, comme s'il appuyait sur les touches de la télécommandes. En fait il suffit pour cela d'appeler une page http en connaissant le "code télécommande" qui est visible dans le menu paramètre>informations générales du menu freebox sur la télé. (ce code est nécessaire pour des raisons de sécurité).
Donc comme il est possible de redémarrer le boiter adsl de la freebox via le menu freebox télé, juste avec le boîtier télé (pas forcément besoins d'une télé), on peut redémarrer la freebox depuis un pc (routeur) connecté sur le réseau locale.
Rq : mon script pourrait être amélioré mais c'étais surtout pour montrer le principe.
On pourrait également imaginer un script qui fait sonner le téléphone, ça peut être marrant...
Dernière modification par Kysic (Le 16/06/2010, à 18:09)
Hors ligne
#5 Le 16/06/2010, à 18:20
- Slide16
Re : [script/sh] reboot freebox à distance
Bonjour tout le monde,
@Kysic: je suis un habitué du forum des Aliciens, et suite à un message de guiguidu59 je suis passé voir ici.
Alors oui, l'AliceBox (seulement V5 d'ailleurs) et une freebox dans une boite rouge marquée "Alice". Donc nous avons la possibilité d'avoir le code télécommande, et effectivement, le reboot du modem est une fonction disponible depuis les paramètres réseau, via le décodeur TV.
Le problème que l'on a, est que l'interface est spécifique (pas tout à fait la même que Free), et que notre décodeur, se met sur le dernier menu dans lequel on était avant de le mettre en veille.
Donc on ne se retrouve pas toujours dans le même menu, d'une fois sur l'autre, ce qui fait, qu'on ne sait pas d'où on part, donc on ne sait pas comment aller à coup sur, dans l'onglet "infos réseaux".
Je vais regarder ton code pour voir si on peut l'adapter à notre besoin (mais je suis novice en script bash, je me suis tout juste mit à linux avec une SLAX en USB BOOT depuis quelques semaines).
Dernière modification par Slide16 (Le 16/06/2010, à 20:45)
- Xav -
Hors ligne
#6 Le 16/06/2010, à 20:19
- Kysic
Re : [script/sh] reboot freebox à distance
Oui, on a le même problème sur la freebox.
Il faut essayer les différents menu et voir ce qui diffère pour essayer de se caler à chaque fois.
Parfois il y a une ligne ou une colonne de plus dans un menu, ça permet de se caler en partie.
Dans les menus de la freebox hd, il y a également des différences lorsque l'on va dans une option du menu principal. Pour certaines on peut revenir au menu principal en appuyant sur la touche rouge et pour d'autre non. En gros il faut observer tout ce qui diffèrent dans la navigation des menus et qui pourrait permettre de se caler.
En combinant tout ça comme il faut (avec un peu de réflexion), on peut arriver à trouver la bonne suite de touche pour se caler toujours sur le même menu, après on fait ce que l'on veut (enfin attention parce que même dans les sous-menu la dernière position est mémorisée).
Ca sera peut être pas possible sur l'AliceBox, ça dépends des menus.
C'est clair que c'est pas très pratique mais j'ai pas trouvé d'autre solution.
Après si le boitier télé n'est pas utilisé autrement, on peu aussi mettre les menus dans la bonne position pour faire un script plus simple, mais il faudra les remettre à chaque fois qu'on les utilisera ce qui n'est pas très pratique.
Dernière modification par Kysic (Le 16/06/2010, à 20:20)
Hors ligne
#7 Le 16/06/2010, à 20:49
- Slide16
Re : [script/sh] reboot freebox à distance
Oui je suis en train d'étudier ton script, et effectivement, il faut lister les menus et sous-menu, et trouver le moyen d'avoir un système pour se recaler à coup sur.
Ton script fonctionne bien avec l'AliceBox (ça simule la télécommande, et je vois le trucs se balader tout seul dans les menus devant moi), mais les menus diffèrent de la Freebox, donc tu ne retombe pas où il faut
Je vais maintenant essayer de dresser la carte du truc, pour trouver comment revenir toujours sur le menu réseau.
En tout cas, merci pour se script, c'est un très bon point de départ pour la version Alice.
Je vais tenter de le faire aboutir, je reviendrai poster mon code si j'y parviens.:rolleyes:
Dernière modification par Slide16 (Le 16/06/2010, à 20:50)
- Xav -
Hors ligne
#8 Le 19/06/2010, à 18:26
- Slide16
Re : [script/sh] reboot freebox à distance
Alors, pour ce qui est de trouver un moyen d'arriver à tous les coups sur le bon menu.. j'ai pas trouvé moyen de faire sur l'Alice comme sur la Free
... quand la frappe chirurgicale ne marche pas, il reste la "méthode bourrin", aussi appelée "tuage de mouche au bazooka"
En effet, on a que 4 menus, donc même sans savoir où on est, si on se déplace et qu'on lance la séquence à chaque fois, on est sur de passer où il faut.
Par contre, l'idée c'est de ne pas tout péter en lançant la séquence de touche du reboot, sans être dans le bon menu, et c'est là qu'il faut la jouer fine:
- certain sous-menu, quittent le menu lors d'un appui sur "rouge"
- le sous-menu "mon abonnement", du même menu que "infos réseaux", ne quitte pas lors d'un appui sur rouge (ça c'est cool)
- du coup, en utilisant la touche, "rouge", j'arrive à quitter 2 des 3 menus qui ne sont pas les bons, avant de lancer ma séquence de touche, qui n'a alors aucun effet (cool aussi)
- il reste juste le menu de la VOD, dans lequel je vais naviguer pour rien sans le savoir, mais sans faire de dégâts non plus (pas chez moi en tout cas)
==> c'est gagné !!! je lance le reboot dans les 4 menus, et dans les 3 qui ne sont pas bons, je ne fais pas de connerie pour autant ("la mouche est tuée, et le bazooka ne fais pas de dommages collatéraux").
J'ai repris le principe de la freebox, ne pouvant pas savoir si le décodeur est allumé ou éteint, je lance 2 reboot avec un power entre les 2.
J'ai testé les 2 cas extrêmes:
- décodeur déjà allumé (donc le script commence par l'éteindre) et avec le bon menu atteint en dernier
- décodeur éteint au départ et le bon menu atteint en premier
Pas de gros soucis, ça marche dans le 2 cas, par contre, dans le 2ème cas (toutes les bonnes conditions réunies au départ), j'ai retrouvé la connexion avant la fin du script, donc ça a lancé un 2ème reboot.
Donc voilà, à tous les coups ça marche, des fois, ça marche trop bien...
#!/bin/sh
# Code télécommande
CODE_ALICEBOX=12345678
# Identifiant du boîtier HD
ID_BOITIER=1
# Simule un appui sur la touche $1
# Simule un appui long si $2 vaut "long"
# Liste keys :
# power : la touche rouge on/off
# ok : touche OK
# up, right, down, left : les touches directionnelles entourant le OK
# home : la touche free
# red : le bouton rouge
simulerAppui() {
if [ "$#" -eq 1 ]
then
isLong=false
else
if [ "$#" -eq 2 ]
then
isLong=true
else
echo "Usage : simulerAppui <key> [long]"
return 2
fi
fi
wget -q -O /dev/null "http://hd${ID_BOITIER}.freebox.fr/pub/remote_control?code=${CODE_ALICEBOX}&key=${1}&long=${isLong}"
}
# enchaine une séquence "menu" "<-" "OK" "rouge"
# le déplacement permet d'avoir un nouveau menu à chaque fois (en 4 appels, on est sur d'être passé où il faut)
# et permet surtout d'être replacé sur le 1er élément du menu précédent
# le "OK" puis "rouge" pemet de ressortir du menu avant de lancer le reboot si pas au bon endroit
# sauf depuis l'écran de la VOD mais rien de grave ne se passera (en tout cas, no soucy chez moi)
sequence_deplace() {
simulerAppui home
sleep 3
simulerAppui left
sleep 1
simulerAppui ok
sleep 1
simulerAppui red
}
# enchaine une séquence "haut" "OK" "bas" "OK"
# on se délace sur le dernier sous-menu (infos réseau) et on entre
# puis on descend et on valide ==> le reboot est lancé (si on était das le bon menu)
sequence_reboot() {
simulerAppui up
sleep 1
simulerAppui ok
sleep 3
simulerAppui down
sleep 1
simulerAppui ok
}
# Redemarre le modem adsl
# en faisant 4 "déplacement + reboot"
# pour être sur de passer au moins une fois sur le bon menu
redemarrerAdsl() {
sequence_deplace
sleep 1
sequence_reboot
sleep 1
sequence_deplace
sleep 1
sequence_reboot
sleep 1
sequence_deplace
sleep 1
sequence_reboot
sleep 1
sequence_deplace
sleep 1
sequence_reboot
}
case $1 in
rebootAdsl)
#cas 1: on allume le décodeur
# cas 2: on éteind le décodeur
simulerAppui power
sleep 10
# cas 1: on vient d'allumer, on lance le reboot
# cas 2: on vient d'éteindre, le lancement de reboot se fait dans le gaz
redemarrerAdsl
sleep 1
# cas 1: box en train de rebooter
# cas 2: on avait éteind t là on rallume
simulerAppui power
sleep 10
# cas 1: box en train de rebooter
# cas 2: on vient d'allumer, on lance le reboot
redemarrerAdsl
sleep 1
;;
*)
$0 rebootAdsl
;;
esac
Donc voilà, je vous laisse le tester, J'y ai passé tout l'après-midi à bidouiller ma télécommande pour tester des combinaisons de touches.
En espérant que ça pourra vous servir
- Xav -
Hors ligne
#9 Le 20/06/2010, à 22:52
- nesthib
Re : [script/sh] reboot freebox à distance
euh… je n'ai pas de freebox pour tester mais ce ne serait pas plus malin (et plus simple) de trouver quelle requête est envoyée à la freebox lors du clic sur ton bouton dans le menu afin de l'envoyer en ligne de commande ?
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#10 Le 18/12/2010, à 18:09
- Kysic
Re : [script/sh] reboot freebox à distance
nesthib > Désolés de pas avoir répondu plus tôt, j'avais oublié ce topic en fait.
J'avais pensé à ta solution mais je n'avais pas de hub (pb des switchs basiques non configurables) pour capturer le traffic. De toute façon je crois que les deux boîtiers communiquent en IPsec donc c'est mort.
L'ihm des menus tv a un peu évolué depuis mon post me semble t'il, il y a peu de chance que le script fonctionne encore, faudrait le mettre à jour...
A ma connaissance toujours pas de nouvelle fonctionnalité de free pour rebooter sa freebox à distance. C'est dommage, eux sont bien capable de le faire, ils pourraient nous mettre un lien dans la console d'administration pour la rebooter ça leur couterait pas grand chose...
[troll]Peut être que leur nouvelle freebox v6 pourra être rebootée à distance ??[/troll]
Dernière modification par Kysic (Le 18/12/2010, à 18:10)
Hors ligne
#11 Le 22/12/2010, à 04:00
- nesthib
Re : [script/sh] reboot freebox à distance
pour comprendre les requêtes envoyées une simple analyse du code des pages de l'interface web devrait suffire (je crois savoir qu'il existe des menus cachés).
Sinon une capture est possible avec firefox ou wireshark
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#12 Le 22/12/2010, à 19:26
- Kysic
Re : [script/sh] reboot freebox à distance
nesthib > Je ne comprends pas de quoi tu parles.
Je pense que tu parle de l'interface web sur le site de free, dans ce cas là il n'y a pas de menu permettant de redémarrer la freebox, c'est là le problème.
Les seules solutions à ma connaissance pour redémarrer une freebox sont soit de lui couper l'alimentation, soit d'utiliser le menu TV.
Le menu TV n'est pas accessible (à ma connaissance) à partir d'un ordinateur, on ne peut pas récupérer les pages et les analyser (sauf dans le cadre du freeplayer où l'on héberge des pages sur un de notre ordi qui font office de menu sur la TV mais c'est autre chose).
On peut cependant espérer capturer le traffic entre la freebox hd et la freebox adsl pour voir où le boîtier HD récupère l'interface tv et surtout pour voir les trames déclenchant le reboot de la freebox.
Seulement pour cela il faut déjà posséder un hub (pour dupliquer le traffic ethernet vers son ordinateur si on veut avoir une chance de le capturer avec wireshark).
Mais surtout je pense que même avec hub cela n'ira pas plus loin car je crois le traffic entre la freebox HD et la freebox ADLS utilise IPsec, il est chiffré . On ne pourra donc pas exploiter les trames capturés ni les rejouer pour faire rebooter le boîtier ADSL.
Mais si tu as plus d'infos je suis preneur...
Hors ligne
#13 Le 07/01/2011, à 22:43
- Kysic
Re : [script/sh] reboot freebox à distance
Bon je viens de voir qu'apparemment avec la freebox v6 on aura une interface web locale qui permettre de rebooter :
http://www.freenews.fr/spip.php?article9662
Dommage que je n'ai pas l'intention de changer de freebox...
Hors ligne
#14 Le 08/01/2011, à 03:31
- Pacifick_FR42
Re : [script/sh] reboot freebox à distance
Oui, moi aussi, je vais attendre un peu (j'ai quelques installations à faire dans mon agenda ) mais l'offre de gratuité des appelles vers les portables est séduisante...
Hors ligne
#15 Le 08/01/2011, à 09:42
- HP
Re : [script/sh] reboot freebox à distance
[…] apparemment avec la freebox v6 on aura une interface web […]
Ouah ! trop fort ! Une révolution ! (mouarf)
Ça fait 10 ans, au moins, que n'importe quel routeur à 50€ sait faire la même chose…
Dernière modification par HP (Le 08/01/2011, à 09:44)
cat /dev/urandom >/dev/null 2>&1 #github
Hors ligne
#16 Le 08/01/2011, à 16:53
- Pacifick_FR42
Re : [script/sh] reboot freebox à distance
Kysic a écrit :[…] apparemment avec la freebox v6 on aura une interface web […]
Ouah ! trop fort ! Une révolution ! (mouarf)
Ça fait 10 ans, au moins, que n'importe quel routeur à 50€ sait faire la même chose…
Je pense pas que c'était le but du message, il ne s'agit pas de souligner une quelconque "prouesse", simplement de souligner quelque chose qui n'existait pas sous free et qui est quant même bien pratique !
Hors ligne
#17 Le 04/04/2014, à 10:47
- kidou
Re : [script/sh] reboot freebox à distance
Bonjour,
Comme beaucoup de personnes peuvent tomber sur ce post (comme moi qui en ai eu besoin) et au vu des changements dans l'interface de la freeboxHD, je me suis permis de reprendre le script original et de l'adapter pour le faire fonctionner dans tous les cas sur une freeboxHD avec le nouveau menu de la freeboxCrystal (à la date de début 2014).
Si ça peut en aider plus d'un
Cordialement,
Kidou
#!/bin/sh
#
# Script bash permettant de redemarrer la Freebox boitiers ADSL & HD
# Par Kidou d'apres une idee de Kysic (Forum Ubuntu-fr)
# Code telecommande accessible dans le menu
# "Informations generales" de la freebox hd
CODE_FREEBOX=""
# Identifiant du boitier HD
ID_BOITIER=1
HOST="hd${ID_BOITIER}.freebox.fr"
# Simule un appui sur la touche $1
# Simule un appui long si $2 vaut "long"
# Liste keys :
# power : la touche rouge on/off
# list : la touche d'affichage de la liste des chaines entre power et tv
# tv : la touche verte TV de commutation peritel.
# 0 a 9 : les touches 0 a 9
# back : la touche jaune en dessous du 7
# swap : la touche en dessous du 9
# info, mail, help, pip : les touches bleues a droite des numŽros de chaine
# epg, media, options : fonctionnalites "secondaires" de ces memes touches
# vol_inc, vol_dec : volume+ et volume-
# prgm_inc, prgm_dec : program+ et program-
# ok : touche OK
# up, right, down, left : les touches directionnelles entourant le OK
# mute : la touche de mise en sourdine
# home : la touche free
# rec : la touche d'enregistrement
# bwd : la touche de retour en arriere (<<)
# prev : la touche "precedent" (|<<)
# play : la touche lecture/pause
# fwd : la touche d'avance rapide (>>)
# next : la touche "suivant" (>>|)
# red : le bouton rouge (B)
# green : le bouton vert (A)
# yellow : le bouton jaune (Y)
# blue : le bouton bleu (X)
usage(){
echo "Usage : $0 <box>"
echo "box :"
echo " adsl : redemarre le boitier adsl"
echo " hd : redemarre le boitier hd - reset les pages et curseur"
echo ""
}
# Forge et lancement de la commande wget
appui() {
if [ "$#" -eq 1 ]
then
isLong=false
else
if [ "$#" -eq 2 ]
then
isLong=true
else
echo "Usage : appui <key> [long]"
return 2
fi
fi
sleep 1 && wget -q -O /dev/null "http://${HOST}/pub/remote_control?code=${CODE_FREEBOX}&key=${1}&long=${isLong}"
}
# reste sur la première ligne si première colonne grace au double bouton Canal+
gopremiereligne(){
# se déplace vers le bas par la droite, immobile si TV
appui right && appui down && appui left
appui right && appui down && appui left
appui right && appui down && appui left
}
# se place sur la seconde ligne
gosecondeligne(){
# cherche première ligne pour chacune des 4 colonnes
gopremiereligne && appui left
gopremiereligne && appui left
gopremiereligne && appui left
gopremiereligne
# passe à la seconde ligne par en bas à cause du double bouton Canal+
appui up && appui up
}
# va dans le menu Param (delay aggrandi pour chargement plus long TVperso et Replay)
goparam(){
# se place sur la seconde ligne
gosecondeligne
# cherche le menu Replay (le seul à ne pas sortir via Red)
appui ok && sleep 2 && appui red && appui left
appui ok && sleep 2 && appui red && appui left
appui ok && sleep 2 && appui red && appui left
appui ok && sleep 2 && appui red && sleep 5 && appui home
# ouvre le menu Param
appui left && appui left && appui down && appui ok
# se place sur Affichage
appui right && appui right && appui right && appui up
appui right && appui right && appui right && appui up
appui right && appui right && appui right && appui up
appui right && appui right && appui right && appui up
}
# Relance la Box ADSL
relanceadsl(){
# ouvre le menu Param/Réseau
appui home && goparam && appui right && appui right && appui ok
# Redémarrage de la Box ADSL
appui down && appui ok
# retour et mise en veille HD
appui red & appui red && appui red && appui power && sleep 10
}
# Relance la Box HD
relancehd(){
# ouvre le menu Param/Général
appui home && goparam && appui right && appui ok
# Redémarrage de la Box HD
appui down && appui ok
# retour et mise en veille HD
appui red & appui red && appui red && appui power && sleep 10
}
if [ -z $CODE_FREEBOX ]
then
echo "Erreur : la variable CODE_FREEBOX n'est pas configure\n"
echo "Boitier HD : Menu Parametres -> Informations generales\n"
exit 2
fi
case $1 in
adsl)
# on exécute 2 fois car dans l'un des 2 cas la box HD sera éteinte
relanceadsl
relanceadsl
;;
hd)
# on exécute 2 fois car dans l'un des 2 cas la box HD sera éteinte
relancehd
relancehd
;;
*)
usage
exit 1
;;
esac
exit 0
Hors ligne
#18 Le 28/05/2014, à 19:33
- hendrix
Re : [script/sh] reboot freebox à distance
Kidou je tenais à te remercier pour ton script. J'aurais juré que c'était impossible et pourtant ça marche.
Hors ligne