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.

Cet article a 24 commentaires

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

    1. Bonjour,
      Oui la commande  » Statut Power » du plugin Freebox_Os donne le statu du Player, même si on démarre depuis la télécommande. Ce qui est très pratique et utilisable dans les scénarios par exemple.
      J’utilise souvent la fonction trigger(#[Salon][Player FBX V6 Telec][ Statut Power]#) qui permet de lancer un scénario lorsque l’état de la commande change.
      Il est effectivement possible de le mettre dans une variable mais je n’en vois pas trop l’utilité.
      J’ai plusieurs cas pratique de scénario si ça vous intéresse n’hésitez pas.
      Cordialement,
      Guillaume.

  2. 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 ».

  3. Salut,
    C’est assez simple si tu sais te servir des virtuels mais il faudrait faire un article sur le sujet pour bien expliquer, je vais te donner des pistes.

    1) Voir si la Freebox Player V6 est allumée à tout moment (visibilité sur Dashboard et widget « Domo Widget »).
    Tu crées un virtuel Action ON/OFF moi je l’ai appelé « Menu Multimédia » puis tu créais un scénario déclenché par [ Statut Power] et [Menu Multimédia] :
    SI trigger(#[Salon][Menu Multimedia][Etat]#)
    ALORS
    SI #[Salon][Player FBX V6 Telec][ Statut Power]# != #[Salon][Menu Multimedia][Etat]#
    ALORS
    #[Salon][Player FBX V6 Telec][Power]#
    SINON
    __________________________________________
    SI trigger(#[Salon][Player FBX V6 Telec][ Statut Power]#)
    ALORS
    SI #[Salon][Player FBX V6 Telec][ Statut Power]# == 1 ET #[Salon][Menu Multimedia][Etat]# == 0
    ALORS
    #[Salon][Menu Multimedia][ON]#
    SINON
    SI #[Salon][Player FBX V6 Telec][ Statut Power]# == 0 ET #[Salon][Menu Multimedia][Etat]#== 1
    ALORS
    #[Salon][Menu Multimedia][OFF]#
    SINON

    Le virtuel se mets à jour lorsque l’on clique sur le bouton Power de la télécommande ou si on clique sur le virtuel. Apres pour l’intégration dans domowidget il suffit de mettre l’ID de ton virtuel.
    2)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.
    La il suffit de vérifier si il y a quelqu’un chez toi et si ce n’est pas le cas alors action : Off lumières et Off freebox.
    J’ai un scénario assez proche qui désactive le scénario d’allumage automatique de la lumière du salon sur présence lorsque la TV est ON et le reactive lorsque l’on arrête la tv ça peu te donner une piste.

    SI #[Salon][Player FBX V6 Telec][ Statut Power]# == 1 ET scenario(#[Salon][Lumieres][Lumiere salon]#) >=0
    ALORS
    (scenario) deactivate de [Salon][Lumieres][Lumiere salon]
    SINON
    (scenario) activate de [Salon][Lumieres][Lumiere salon]
    SI #time# < = time_op(#[Informations][Liergues][Lever du soleil]#,+10) OU #time# >= time_op(#[Informations][Liergues][Coucher du soleil]#,+10)
    ALORS
    #[Salon][Petite Lampe][ON]#
    SINON
    SINON

    Bon courage pour la création de tes scénarios et tiens moi au jus.
    Bon weekend.
    Guillaume.

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

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

    1. Bonjour Gilles, content d’avoir pu t’aider.
      Pour ton histoire de volume le problème c’est que la Freebox ne renvoi pas d’état et on ne peut pas affecter un valeur pour le volume du coup il faut jongler avec les commandes de l’API.
      Essaie de faire une commande http://hd1.freebox.fr/pub/remote_control?code=12345678&key=vol_dec&long=true qui permet de garder le bouton volume moins appuyé pour aller jusqu’à 0 et en suite tu peux faire une boucle dans ton scénario avec http://hd1.freebox.fr/pub/remote_control?code=12345678&key=vol_inc le nombre de fois nécessaire pour arriver au bon niveau de volume.
      Je n’ai pas testé mais je pense que ça doit fonctionner, si ce n’est pas le cas n’hésite pas à revenir je me pencherai plus sérieusement sur le problème.
      Bon courage.
      Guillaume.

    2. Je n’ai pas pu m’empêcher d’essayé.
      Pour Gilles Réglage volume FBX
      Du coup le « long=true » permet de faire varier d’environ 10 points de volume du coup j’ai mis une boucle pour descendre et monter le volume.
      J’espère que ça te conviendra.
      ++
      Guillaume.

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

    Merci.

    1. Je n’aime pas attendre quand je pose des questions sur les forums alors je mets un point d’honneur à répondre rapidement sur mon site, c’est la moindre des choses.
      Tiens moi au courant de l’avancement de ton scénario.

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

  8. 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+

    1. Bonjour,
      Je ne pense pas ou peu être en passant par Siri avec des interactions par SMS. C’est le problème de IOS, ce n’est pas aussi ouvert que Android.

  9. 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 ?

    1. Bonsoir,
      Oui pour les chaines supérieurs à 9 il faut créer une commande script par chaine. Il est possible de faire dupliquer et de changer simplement les numéros et le nom de la commande.

  10. 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 🙂

  11. 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 PVR a travers l’addon kodi de jeedom ?
    En gros je diffuse la télé chez moi via un rpi qui héberge un serveur TVHeadEnd
    le pvr remonte bien dans l’addon Kodi mais je n’arrive pas sans scénario a piloter la télé comme annoncé pour le freebox player dans ton article

    J’ai parcouru le forum Jeedom et c’est le post ou tu échanges avec tout le monde qui revient le plus souvent, du coup soit j’oriente mal mes recherches, soit personne n’a encore tenté cela, soit ma demarche est mauvaise et j’oriente donc mal mes recherches !

    Penses tu pouvoir m’aider ?
    Par avance merci davoir deja lu toussa !

    1. Bonjour,
      Je n’utilise pas la TV via Kodi mais je vais essayer de comprendre. Tu veux pouvoir changer de chaîne (TVHeadEnd) via les interactions Jeedom ?
      Déjà est ce que tu peux changer de chaîne depuis Jeedom ? ( Plugin kodi ou virtuel ou script …)

      Tu peux le faire via le plugin Kodi en ajoutant des commandes Json, du genre :
      Player.Open
      « item » : { « channelid »: 15″ }
      Il faudra créer une commande pas chaîne. C’est de la théorie car je ne l’ai pas fait chez moi mais déjà c’est une piste. Apres c’est le même principe que pour la Freebox.

      Tiens moi au jus si tu as besoin d’aide ou si ça marche 🙂

  12. 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 peux choisir sa chaine, ou son enregistrement etc

    dans Jeedom , via le plugin je peux piloter mes kodi , je peux si je rentre dans les params de l’un de mes kodi , choisir via le menu PVR mes chaines de télé en clic oui
    mais si je veux piloter a la voie, ca coince, improbable de dire « jeedom choisi la chaine 2 et affiche la dans le salon » (ou dans le genre) , effectivement, je pense que je rate un truc ….

    je vais regarder dans la soirée ce que je peux faire coté addon !
    merci pour ce premier retour

  13. 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 ?

    1. Bien sur le principe est le même. Jeedom ne fait pas le différence on peut même l’adapter pour l’utiliser avec un RM Pro par exemple.

  14. Bonjour j’ai un soucis j’ai suivis pas à pas votre tutoriel est quand j’interroge mon jeedom.
    Je lui dit « Mets TF1 » il me répond entendu télé sur W9.
    Je ne sais plus trop ou recherché :/
    Pouvez-vous m’aider svp ?

    1. Bonjour,
      Déjà il faut voir si il vous comprend pas ou si il envoi la mauvaise information.
      La commande est vocal ? (Google home, JPI…) ou ecrite (SMS…)

      Dans outils / Interactions / Tester est ce que Jeedom comprend TF1 ou W9 ?
      Il me faut plus d’informations pour pouvoir aider car chaque cas est différents.

      1. Bonjour merci de votre réponse si rapide.
        Bonjour ceci ce passe avec Pushbullet mais par la suite sera par SMS et commande vocale.
        Quand je test dans interaction cela fait toujours pareil
        Pouvez-vous m’ajouter sur Facebook svp pour que l’on puisse communiquer svp : https://www.facebook.com/profile.php?id=100011208312765

Laisser un commentaire

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

Inscrivez-vous à la Newsletter de votre choix pour ne recevoir que ce que vous désirez.

Fermer le menu

Vous pouvez maintenant choisir quel type d’article vous voulez recevoir par Newsletter, pensez à mettre à jour votre abonnement.
Le formulaire de gestion d’abonnement est disponible uniquement pour les abonnés aux mailing listes.