Contrôler le Freebox Player

Temps de lecture : 9 minutes.

Nous allons voir comment contrôler le Player de la Freebox V6, ou simplement changer de chaîne via les interactions. Pour plus de détails sur les interactions, je vous invite à (re)lire l’article Jeedom Interactions – Gestion des lumières.

Pour cela, on va configurer des commandes dans Jeedom, pour qu’il génère des phrases types. Le but étant qu’il comprenne les différentes demandes nécessaires pour contrôler le Player de la Freebox.

Exemple de phrases que je peux être amené à dire :

  • Mets la 5.
  • Mets France 5.
  • Mets la chaîne numéro 5.
  • Mets la radio.
  • Passe sur bfmtv.
  • Touche enregistrer.
  • Zappe sur la chaîne précédente.
  • Chaîne suivante.
  • Mets la pause.
  • Mon bouquet.
  • Passes sur Airplay.
  • Etc…

Jeedom va créer les phrases pour chaque commande grâce à une liste de synonymes.

Il est important que vous soyez un peu rigoureux dans l’organisation de vos objets, commandes et équipements dans Jeedom. En règle générale, les objets correspondent aux pièces de la maison, les équipements (Lumière, porte, température…) et commandes (On, Off…) doivent être cohérents. On est pas encore sur de l’intelligence artificielle. 🙂

Pré-requis.

Avant de mettre en place les interactions dans Jeedom, il faut déjà pouvoir contrôler le Player et pour cela, j’utilise les plugins (gratuit) Freebox_OS et Script.

Plugin : Freebox_OS.

Le plugin permet de récupérer des informations sur la Freebox Serveur, mais aussi de contrôler le Player grâce à une télécommande virtuelle. En bonus, il peut même donner l’état du Player, Allumé ou éteint. Cela est très pratique si l’on n’a pas de télé connectée, le HDMI-CEC permet de contrôler la TV, ou l’ampli et de connaitre leur état.

Plugin : Script.

Ce plugin va nous permettre de programmer des combinaisons de commandes, comme par exemple, taper 1 et 5 pour la chaîne 15, mais aussi, pour naviguer dans les menus. Il est possible de faire la même chose avec des scénarios et le plugin Freebox_Os, mais c’est moins pratique, car il faut une interaction par commande. De plus, c’est l’occasion d’appréhender le très intéressant plugin Script.

Créations des phrases types.

  • Nom : Contrôle Player.
  • Groupe : Ce que vous voulez, par exemple : Télé.
  • Demande : La phrase type de la demande, par exemple « Mets la 5. » que l’on va modifier pour correspondre aux différentes demandes possibles.
    • Mets la #equipement# #commande#.
      • Mets la = Phrase d’action de base que nous utiliserons pour les synonymes.
      • #equipement# = Variable pour les équipements « player fbx v6 telec » du plugin Freebox_OS ou « player fbx v6 script » du plugin Script.
      • #commande# = Variable pour les touches de la télécommande. 1, 2, 3, Home, Flèches…
  • Synonyme : Liste des synonymes pour remplacer les différentes commandes.
    • player fbx v6 script= |player fbx v6 telec= |Mets la=Passe sur,mets,chaîne numéro,mets la chaîne numéro,zap sur,zap sur la,touche,chaîne,Passe sur, |programme +=chaîne suivante|programme -=chaîne précédente|lecture=pause| 1=TF1| 2=France2,France 2| 3=France3,France 3| 5=France5,France 5| 6=M6| 7=Arte| 8=C8| 9=W9|France4=France 4|
  • Réponse : La phrase type de la réponse à la question par exemple « Entendu, télé sur : BFMTV » que l’on va modifier, pour correspondre aux différentes réponses possibles.
    • Entendu, télé sur : #commande#.
  • Conversion binaire : Pas utile dans notre cas.
  • Utilisateurs autorisés : Pas indispensable dans notre cas.
  • Regexp d’exclusion : Permet de supprimer des mots, des équipements ou même des commandes inutiles . Attention il faut savoir comment fonctionnent les Regexp pour créer la bonne syntaxe.
    • (player fbx v6 script|player fbx v6 telec|power|bas|haut|droite|gauche|recherche|home|info|mute|Volume -|Volume +|rafraîchir)i

Voir la doc de Jeedom pour plus de détails.

Complément d’informations pour les synonymes.

Les synonymes pour un même mot doivent être séparés par des virgules et chaque groupe, par des barres verticales « | » (AltGr + 6).

« player fbx v6 script= |player fbx v6 telec= | Cela veut dire que les équipements sont remplacés par un espace  »  » lors de la génération des phrases. Du coup, « Mets la player fbx v6 telec 5 » devient « Mets la 5 ». Jeedom à besoin de connaitre l’équipement (Player fbx v6 telec), mais je ne veux pas avoir à le nommer à chaque fois que je fais une demande.

Complément d’informations pour les Regexp d’exclusion.

Les Regexp doivent être séparés par des barres verticales « | » (AltGr + 6), il faut bien prendre en compte les espaces entre les mots.

Comme pour les synonymes j’ai ajouté « player fbx v6 script|player fbx v6 telec » pour que les phrases contenant les équipements soient supprimées des propositions.
J’ai aussi ajouté d’autres touches comme « Power » car j’utilise un scénario pour allumer ou éteindre le Player. Pour le « volume » je passe par un RM-Pro qui contrôle mon ampli.

Le « i » à la fin permet de ne pas tenir compte de la casse des regexp.

Sélection des Filtres.

Les filtres permettent de limiter l’interaction aux élément sélectionnés. Voila ma sélection, mais elle sera sûrement différente chez vous, en fonction de vos réglages.

  • Limiter aux commandes de type : Action.
  • Limiter aux commandes ayant pour unité : Sans unité.
  • Limiter aux commandes appartenant à l’objet : Salon.
  • Limiter aux plugins : Freebox_OS et script.
  • Limiter aux catégories : Multimédia.

Scripts de contrôle (facultatif).

Les scripts permettent de créer des combinaisons de commandes pour choisir une chaîne supérieure à 9, ou un menu spécifique. (Radio, Airplay…).

L’utilisation des scripts est facultative, car vous pouvez combiner les commandes en utilisant le plugin Freebox_Os via des scénarios, mais cela vous oblige à créer une interaction par scénario.

Exemple de script (Airplay).

  • Ouvrir le plugin script.
  • Ajouter un dispositif et le nommer par exemple « Player FBX V6 Script« .
  • Aller dans commandes et cliquer sur « Ajouter une commande script« .
  • Donner un nom à la commande par exemple « Airplay« .
  • Sélectionner le type « Action » et cliquer sur « Nouveau« .
  • Saisir le code suivant :
wget -q "http://hd1.freebox.fr/pub/remote_control?code=********&key=home"
sleep 1
wget -q "http://hd1.freebox.fr/pub/remote_control?code=********&key=home"
sleep 2
wget -q "http://hd1.freebox.fr/pub/remote_control?code=********&key=right"
sleep 1
wget -q "http://hd1.freebox.fr/pub/remote_control?code=********&key=right"
sleep 1
wget -q "http://hd1.freebox.fr/pub/remote_control?code=********&key=up"
sleep 2
wget -q "http://hd1.freebox.fr/pub/remote_control?code=********&key=ok"
sleep 2
  1. L’adresse du Player, « http://hd1.freebox.fr« , peut être différente chez vous si vous avez plusieurs Players. Vous pouvez aussi utiliser l’adresse IP que vous trouverez sur http://mafreebox.freebox.fr.
  2. Remplacer les ******** par le code de la télécommande que vous avez déjà saisi dans le paramétrage du plugin Freebox_Os. Depuis votre player, aller dans « Réglage, Systeme, Informations Freebox Player et Server, puis Code télécommande réseau ».
  3. Il y a des sleep entre chaque commande pour palier à la latence du Player.
  4. Les 3 premières lignes permettent de se caler en haut du menu principal du Player.
  5. Les autres lignes contrôlent les flèches et la touche OK de la télécommande.

Exemple de script (Radio).

wget -q "http://hd1.freebox.fr/pub/remote_control?code=********&key=home"
sleep 1
wget -q "http://hd1.freebox.fr/pub/remote_control?code=********&key=home"
sleep 2
wget -q "http://hd1.freebox.fr/pub/remote_control?code=********&key=right"
sleep 1
wget -q "http://hd1.freebox.fr/pub/remote_control?code=********&key=right"
sleep 1
wget -q "http://hd1.freebox.fr/pub/remote_control?code=********&key=down"
sleep 1
wget -q "http://hd1.freebox.fr/pub/remote_control?code=********&key=down"
sleep 1 
wget -q "http://hd1.freebox.fr/pub/remote_control?code=********&key=ok"

Exemple de script (Science & Vie TV).

wget -q "http://hd1.freebox.fr/pub/remote_control?code=********&key=2"
wget -q "http://hd1.freebox.fr/pub/remote_control?code=********&key=0"
wget -q "http://hd1.freebox.fr/pub/remote_control?code=********&key=7"

Phrases générées.

Lorsque vous allez enregistrer, Jeedom va générer les différentes phrases que vous pouvez voir en cliquant sur le bouton « Voir« .  Ajustez vos filtres et synonymes en fonction des phrases, pour quelles correspondent au mieux à vos besoins.

Conclusion.

Vous pouvez maintenant contrôler votre Freebox Player grâce à la reconnaissance vocale, via des applications comme Sarah, Domo Widget, VocalDom, ou simplement via les SMS, comme on l’a vu avec JPI.

Pour allumer et éteindre le Player j’utilise une autre interaction qui appelle un scénario. Je veux que mon bouquet TV soit sélectionné lors de l’allumage, et que mon design « Multimédia », permettant de contrôler le Player, Kodi, LMS, les lumières salons… s’affiche sur ma tablette.

Pour la gestion du volume (+, -, Mute) j’ai créé des interactions qui utilisent RM-Pro via le plugin Broadlink de Sarakha63 dont je vous parlerai bientôt.

Retrouvez la liste des plugins Jeedom et du matériel utilisé sur la page Bons plans.

Si vous avez des idées de déclinaisons, d’optimisations, besoin d’aide ou des remarques, n’hésitez pas à laisser un commentaire.

Contrôler le Freebox Player
Notez cet article :
Partager :

21
Laisser un Commentaire

avatar
13 Comment threads
8 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
7 Comment authors
ThomasglouTarlakNawaMoussGilles Recent comment authors
  Notifications  
plus récents plus anciens plus de votes
Me notifier des
Jean-Marc
Jean-Marc

Bonjour Guillaume,

Vous dites : « En bonus, il peut même donner l’état du Player, Allumé ou éteint. »
Comment peut-on récupérer cette donnée ? Est-ce qu’il est possible d’en créer une variable (utilisable avec ou sans interaction) ?

Cordialement,
Jean-Marc

Jean-Marc
Jean-Marc

Je serais en effet intéressé par vos cas pratiques.

Mes besoins seraient de :
– Voir si la Freebox Player V6 est allumée à tout moment (visibilité sur Dashboard et widget « Domo Widget »)
– Utiliser le « Statut Power » dans un scénario « Départ de la maison » qui aurait pour rôle d’éteindre lumières et TV une fois tout le monde sorti du domicile. Typiquement, si Freebox Player V6 éteint, ne pas simuler un appui sur le bouton « Power ».

Jean-Marc
Jean-Marc

Bonjour Guillaume,

Je vais me pencher ce week-end sur ce que tu m’as transmis hier.
Merci beaucoup pour ton aide et ton partage. Sois sûr que je serais là pour lire ton article sur les « Virtuels » 😉

Bon week-end de 3 jours 🙂

Jean-Marc

Gilles
Gilles

Bonjour Guillaume,

Merci pour cet article qui m’a permis de bien avancer sur l’automatisation de ma Freebox au travers de Jeedom.
Aujourd’hui, quand je rentre chez moi, ma Freebox s’allume automatiquement (téléphone sur réseau) et se cale sur une chaîne musique. Le matin, quand je me lève (capteur présence), elle s’allume et se positionne sur BFMTV.

Ma question est la suivante : Comment être sur que le son n’est pas trop fort à l’allumage automatique ? Est-il possible de le positionner automatiquement à un certain seuil ?

Merci de ton aide

Gilles
Gilles

Ouaouh ! Quelle réponse rapide. J’ai hâte de rentrer à la maison pour tester.

Merci.

Gilles
Gilles

Bonsoir Guillaume,
Tout fonctionne parfaitement. J’ai fait une boucle de 1 à 6 pour baisser le son et seulement un appui long pour le remonter. Ce qui me permet de baisser à 0 et de revenir à 20.

Encore merci.

NawaMouss
NawaMouss

Hello all
Merci pour ce tuto !!
Petite question : toutes les applications de reconnaissance vocal sont pour Android!! (Sarah, Domo Widget, VocalDom)
Il y en a t-il pour IOS ?

Merci Bien
A+

Tarlak
Tarlak

Bonsoir,

J’ai une petite question histoire de bien comprendre le principe, est-ce qu’il faut créer un script par chaine ? avec comme nom celui de la chaine par exemple ?

Tarlak
Tarlak

Bonjour,

Merci beaucoup pour la réponse, j’ai un peu adapter les différents script en leur passant une variable celle du code de la télécommande, j’ai déclarer une variable globale de scénario, comme ca si un jour je dois réinitialiser le code de la télécommande ou que je doives changer la box je n’aurais pas a le faire dans tout les scripts 🙂

glou
glou

Bonjour Guillaume, Quel beau prénom ! Question, je suis néophyte de la solution Jeedom, je commence a bien installer cela chez moi, je me suis offert l’addon kodi recemment et j’ai reussi a mettre en place a coté un openjarvis qui communique vraiment bien avec Jeedom Par defaut j’arrive a piloter mes divers kodi avec les fonctions de base Kodi via la voie, mais la fonctionnalité de pilotage de la télé serait un enorme plus (et un gros coup de bluff pour mes enfants haha) Penses tu qu’il serait possible d’adapter ton script et scénario pour arriver a piloter mon… Lire la suite »

glou
glou

Coucou, dans les grandes lignes, tu as pigé, je reprends juste un point de détail TVH (TVHeadEnd) est un service qui distribue en rtsp sur mon LAN des flux video tv cest la que je peux regrouper mes chaines ip et tnt (jai collé des dongle tnt au rpi) pour y coller ma numérotation , recevoir les grilles de programmes, gerer les enregistrements etc lui tourne parfaitement mais ne pilote en aucun cas les kodi, ces derniers disposent d’un addon tvh client qui s’occupe de tout coller directement dans « le menu tv » de kodi, de la chacun de mes kodi… Lire la suite »

Thomas
Thomas

Hello,

Intéressant…
J’ai une mni 4k et le plugin Freebox os propose la telecommande de cette box (fonctionnelle). Puis je adapter ton tuto pour la mini ?

Merci à ceux qui ont contribué.
Votre don contribuera à fournir encore plus de contenu de qualité.