Pilotage décodeur orange avec Google SmartHome

Tags: #<Tag:0x00007f385c34c628>

Bonjour,

Je partage une astuce parce que j’ai un peu galéré pour le faire fonctionner.

Le principe :

  • Installer et configurer le plugin JeeOrangeTV
  • Créer un virtuel, avec 2 infos (ChaineInfo et VolumeInfo) et 2 commandes (Info et Volume). C’est lui qui communiquera avec Google SmartHome.
  • Créer 2 scénarios qui envoie les commandes volume et chaine du virtuel vers JeeOrangeTV

En détail …

  1. Installer et Configurer le plugin JeeOrangeTV. Je vous renvoie à la documentation du plugin pour ça. Surtout vérifiez qu’il fonctionne correctement avant de continuer.

  2. Installer le plugin Google SmartHome. Là encore je suppose que le plugin est déjà fonctionnel.

  3. Créer un virtuel : je l’ai appelé « Box », et créer les commandes ci-dessous
    image

  4. Très important : Dans chaque commandes et infos que vous venez d’ajouter, allez dans les paramètres avancés (roue cranté), onglet Configuration, et sélectionnez le type générique Chaine ou Volume. Sans ça, le virtuel sera en erreur dans le plugin Google SmartHome.

  5. Créer le scénario qui va gérer le volume : Copier le code PHP, et le déclencher par la commande Volume du virtuel « Box ». N’oubliez pas de personnaliser le nom des périphériques dans les variables.

// Initialisation des variables
$cpt = 0;      // compteur
$BoxDevice = '[Multimedia][OrangeTV]'; // Nom de la box Orange
$VirtualDevice = '[Multimedia][Box]';  // Nom du virtuel
//$LastBoxVolume = $scenario->getData('LastBoxVolume');
$NewBoxChaine = cmd::byString('#'.$VirtualDevice.'[ChaineInfo]#')->execCmd();

// Nombre de caractères à traiter
$cpt = strlen($NewBoxChaine);
$tab = str_split($NewBoxChaine);

$scenario->setLog('__NewBoxChaine'.' -> '.$NewBoxChaine);
$scenario->setLog('__Compteur'.' -> '.$cpt);

// Changement du volume
for ($i = 0 ; $i < $cpt ; $i++ ) {
  $scenario->setLog('#'.$BoxDevice.'['.$tab[$i].']#');
  cmd::byString('#'.$BoxDevice.'['.$tab[$i].']#')->execCmd();
}
//$scenario->setData('LastBoxVolume',$NewBoxVolume);
  1. Créer le scénario qui va gérer les chaines : Copier le code PHP, et le déclencher par la commande Chaine du virtuel « Box ». N’oubliez pas de personnaliser le nom des périphériques dans les variables.
// Initialisation des variables
$cpt = 0;      // compteur
$BoxDevice = '[Multimedia][OrangeTV]'; // Nom de la box Orange
$VirtualDevice = '[Multimedia][Box]';  // Nom du virtuel
//$LastBoxVolume = $scenario->getData('LastBoxVolume');
$NewBoxChaine = cmd::byString('#'.$VirtualDevice.'[ChaineInfo]#')->execCmd();

// Nombre de caractères à traiter
$cpt = strlen($NewBoxChaine);
$tab = str_split($NewBoxChaine);

$scenario->setLog('__NewBoxChaine'.' -> '.$NewBoxChaine);
$scenario->setLog('__Compteur'.' -> '.$cpt);

// Changement du volume
for ($i = 0 ; $i < $cpt ; $i++ ) {
  $scenario->setLog('#'.$BoxDevice.'['.$tab[$i].']#');
  cmd::byString('#'.$BoxDevice.'['.$tab[$i].']#')->execCmd();
}
//$scenario->setData('LastBoxVolume',$NewBoxVolume);
  1. Paramétrer le virtuel box dans le plugin Google SmartHome. Bien mettre le type sur TV, sauvegarder et actualiser la page (F5). Le status doit passer sur OK.
    image

  2. Testez avec : « Ok Google ! Mets la chaine 27 sur Box » ou « Ok Google ! Augmente le volume de 2 sur Box »

Patrice

Bonjour,

Merci pour le tuto.

J’ai essayé de le suivre, mais ça ne fonctionne pas chez moi.

Le virtuel remonte bien sur google home.
Il prends bien en compte la demande de changement de son, mais le son ne change pas sur la livebox

Pour les changements de chaines, Google home informe que « Je ne peux lire des vidéos que sur des appareils équipés de Chromecast… »

Merci pour ton aide

Bonjour

Même soucis, le virtuel remonte bien dans le Dashboard, je peux régler le volume, mais pas changer de chaine
pas de changement d’état de la variable Chaine Info dans le virtuel, tout se passe comme-ci cette variable n’était pas modifiée par le plugin smart home

Bonjour,

Merci pour ce tuto.

Je rencontre les mêmes problèmes, Google Home ne peut pas lire des vidéos…
Ca fonctionne dans le dashboard pour les chaines mais pas le volume. D’ailleurs le script volume fait beaucoup référence aux chaines. J’ai donc remplacé « chaine » par « volume » mais c’est pareil. Mais comme je n’y connait rien…