[TUTO] Utilisation de Philips Hue avec Kodi, avec son PC/MAC, en combinaison avec son installation Ambilight, et/ou avec des Hue Like. Partie 2/2

Manque seulement les 3 Schémas !!!

Nous venons d'aborder la 1ère Partie du tuto pour faire du Hue sans utiliser Hyperion.

 

Si vous l'avez raté vous la trouverez ici car avant d'entreprendre la lecture de cette 2nde partie, il faudra peut être aller y jeter un œil. Nous allons aborder cette 2nde partie ou je vous montrerez comment utiliser des équipements Hue avec Hypérion de différentes manières.

 

Voici son contenu :

  • Prise en main de 3 applications pour smartphone, All4Hue qui est un peu plus fourni que celle de Philips Hue App, Connectbot pour arrêter/relancer des instances Hypérion et Hue Restore pour sauvegarder/restaurer les états des Lampes ou Ampoules.
  • Une utilisation simple du Hue, comme dans la 1ère partie, non plus restreinte à Kodi mais utilisable également avec plusieurs sources ( si vous avez le matériel nécessaire comme le VideoGrabber ou encore le combo Splitter/Hdmi2AV en plus de ce dernier ).
  • En mode Double combinant ce mode Hue avec un système Ambilight déjà en place selon 2 procédés différents ( Méthode traditionnelle via VideoGrabber, Splitter/HDMI2AV... ou pour les autres via la combinaison des extensions Kodi Hue et Kodi Hypérion ) et  comment remplacer Kodi Hue par Kodi Hyperion.
  • En mode Triple combinant le mode Double du dessus et une utilisation de Hue Like.

Pour cette 2nde partie j'ai utilisé :

  • Mon ordinateur portable sous Windows 10 ayant aussi son système Ambilight avec Synlight
  • Mon Pi Zéro dans son boitier AmBiPiBox en version Multi-Sources HDMI
  • Mon Odroid C2 dans son petit boitier AmBiPiBox en usage Mono-Source pour Kodi
  • Ma TV de 19" avec ses 75 LEDs WS2812B
  • Mon kit Starter Hue V3
  • Mes 2 Hue Like que j'avais utilisé pour le tuto camera ( voir ici )

Voila ce que ça donne en vidéos avec une 2 Ampoules. Celle de gauche est avec l'option SwitchOnBlack True et celle de droite avec False.

Comme pour la 1ère partie, désolé pour la qualité sommaire de l'installation. On voit bien que False est mieux tout de même non ???.

 

Dernière Info : Mettre la valeur Luminance Minimum à 0.15000 pour ne pas que l'ampoule reste bleu lorsque l'image est noir.


Et ce que ça donne en combinant un système Ambilight, des Hue avec Kodi Hue et des Hue Like en Forward Hypérion :

Préalable

 

J'aurai besoin :

  • De lire la 1ere partie du tuto sur le Hue
  • D’élément Hue avec un pont
  • D'un ordinateur ou autre équipement équivalent
  • D'un Raspberry ou d'un Odroid fonctionnant sous LibreELEC mais OpenELEC fera l'affaire également
  • D'une installation Ambilight déjà en place ( pas obligatoire )
  • De connaitre l'adresse IP de son Raspberry/Odroid
  • De Winhue3
  • Des applications All4hue, Hue restore et Connectbot
  • D'HyperCon
  • D'installer Hypérion via HyperCon ou autre si besoin ( en ligne de commande...)
  • WinScp et Putty ( Si vous ne savez pas vous en servir, voir mes autres tutos ou je décris un peu plus en détail leur utilisation )
  • Notepad++ pour l’édition des fichiers .json
  • Mon Script On_Off_Hue.sh

Voyons d'abord les schémas des installations que je vais decrir avant d'entreprendre toutes manipulations.

 

Plans de situation pour mieux comprendre le fonctionnement

 

Voici les schémas des différentes installations que je traiterai dans cette 2nde partie. J'ai indiqué 3 mode d'utilisation en introduction

  • Hue seul
  • Hue + Ambilight
  • Hue + Ambilight + Hue Like

Il va nous falloir 3 schéma. Les voici : ( à rajouter )

Sur le 1er, les Hue fonctionne seul, sans autre élément lumineux et ce pour plusieurs sources possibles ( selon votre équipement ) :

  • Raspberry/Odroid, Shield..
  • Box, Tuner TV...
  • Console, PC.. 

Sur le 2nd, on y a ajouté un système Ambilight pouvant être utiliser :

  • via la méthode traditionnelle
  • via les outils OTA ( Hyperion Screen Capture, Kodi Hyperion, Kodi Hue )

Et enfin sur le 3ème, on à intégrer de nouveaux éléments Hue Like.

 

Je m’arrêterai à 3 instances car ça fait peut être beaucoup et de plus il risque d'y avoir des problèmes de latence à trop vouloir en mettre. L'idéal est aussi de n'avoir que 2 voir 3 lampes maxi car la aussi le pont est vraiment faiblard en transmission d'information.

 

Sachez juste qu'Hyperion prend très peu de ressources. Voici un exemple de charge CPU avec 2 et 3 instances d'hyperion ( j'ai arrêté le processus Kodi avant avec cette commande systemctl stop kodi )

 

Pour Info : Plus il y aura de changements de couleurs, plus cela demandera de charge CPU. Mon Pi Zéro était souvent à 100% le pauvre en faisant tourner 3 instances et il avait un peu de mal à suivre la cadence. ( on voit sur la dernière qu'il est à quasi 90% ).

Maintenant que nous avons vu les installations, nous pouvons commencer la création de l'Username et la récupération des IDs des Hue.

 

Création de l'Username et récupération des IDs

 

Il va nous falloir 3 informations principales pour la création du fichier de configuration hyperion.hue.json  :

  • L'adresse IP du pont ( que l'on à configuré en statique dans la 1ère partie )
  • Un nom d'utilisateur pour accéder au pont
  • Les IDs correspondant à chaque Lampes ou Ampoules que l'on souhaite utiliser.

 

Génération de l'Username

 

Nous avons vu à la fin de notre 1ère partie que l'on peut gérer son installation Hue en utilisant le logiciel WinHue3 avec lequel nous avons renommer les 2 Ampoules ( Depuis, j'ai pu mettre en place ma 3ème Ampoule que j'ai renommé en Ampoule 3 ). Nous allons l'utiliser une nouvelle fois pour créer un Username indispensable à Hypérion.

 

L'Username est en fait une clé d'accès généré par le pont afin de permettre, par exemple, à une application de s'y connecté et ainsi agir sur l'installation. Celui-ci est généré à chaque fois qu'une demande de jumelage est amorcé et après avoir appuyé sur le bouton de votre pont.

 

WinHue3 permet entre autre, de voir, de gérer et générer les noms d'utilisateurs ( pour ce dernier c'est beaucoup plus plus simple de passer par ce logiciel que par la procédure décrite sur developer.meethue.com).

 

Voici la procédure à suivre :

  • Retourner dans le logiciel Winhue3 et cliquer sur le bouton Manage Users ( Une nouvelle fenêtre s'ouvre )
  • Dans le champ Application Name nous allons entrer comme nom Hyperion
  • Appuyer sur le bouton central du pont
  • Cliquer ensuite sur Add User pour finaliser la procédure de jumelage ( Le nom d'utilisateur est généré )
  • Faire un copier coller dans un fichier texte de votre Username
  • Cliquer sur Done pour sauvegarder la configuration.

Je viens de générer un nom d'utilisateur et voici celui qui m'a était attribué :

  • Izt1J9W2ZlDGW-Db0xfEgatKBxjPZBtcXOdGLdUb

Je l'utiliserai un peu plus tard lorsque je créerai mon fichier hyperion.hue.json.

 

Pour l'heure il nous faut obtenir une 2nde et dernière information, les IDs des lampes et pour cela nous n'allons pas utiliser Winhue3 mais l'application Smartphone All4Hue.

 

Recupération des IDs via l'application All4hue

 

La récupération se fera par le biais ce cette application, All4Hue, installable directement sur smartphone sous Android ou sous IOS.

 

J'ai pour ma part essayé d'avoir ces informations dans l'application que j'avais déjà installé soit Hue App ou encore dans le logiciel Winhue3 mais impossible, aucun onglet, aucun bouton ne permet de les avoirs. Peut être ai-je pas bien cherché ??

 

Je me suis donc mis en quête d'application alternative. J'ai testé All4hue par hasard, vu qu'il était bien noté et j'ai trouvé mon bonheur. En plus de fournir une gestion de son installation d'une manière plus poussé que Hue App et celle-ci permet la récupération des ID tant convoité.

 

Il me faut récupérer 3 IDs. Voici comment faire :

  • Installer l'application All4hue sur votre smartphone ou tablette
  • L'ouvrir ( Une recherche de pont se lance )
  • Un pont est trouvé. On nous demande d'appuyer sur le bouton central du pont donc appuyons.

Une fois le jumelage fait nous arrivons sur l'interface de gestion All4hue.

  • Appuyer sur le symbole en haut à gauche pour développer le menu ( un menu s'affiche de la gauche vers la droite )
  • Appuyer sur la ligne Lights ( On voit mes 3 Ampoules intégrés au pont, Ampoule 1,2 et 3 ).
  • Pour récupérer le 1er ID, celui d'Ampoule 1, Appuyer sur la roue crantée qui se trouve sur la même ligne que celle-ci et appuyer sur la ligne Show internal Identifier. ( Mon Ampoule 1 à pour ID 1 )
  • Appuyer sur Ok et répéter la procédure avec Ampoule 2 et Ampoule 3 ( ID 2 et ID 3 ).

Pour Info : Vous pouvez tout à fait avoir une ampoule portant le nom Hue color lamp 1 avec un ID différent de 1. J'ai par exemple eu un ID 3 et 4 qui ne m’arrangeai pas du tout donc j'ai fait un reset de mon pont et celui-ci m'a de nouveau assigné des ID 1 et 2 pour mes 2 ampoules.

 

Je suis maintenant en possession de mes ID, du nom d'utilisateur et de l'adresse IP de mon pont. Je vais pouvoir passer à la génération du fichier de configuration Hypérion pour qu'il gère mes Hue. 

 

Pour rappel, voici les 3 informations que l'on va utiliser  : 

  • L'emplacement des ampoules et leurs identifiants ( ID 1, 2 et 3 )
  • L'adresse IP du pont qui est 192.168.1.200
  • L'Username associé au pont qui sera Izt1J9W2ZlDGW-Db0xfEgatKBxjPZBtcXOdGLdUb

 

Génération du fichier de configuration hyperion.hue.json pour toute config

 

Nous allons aborder la génération de fichier de configuration pour qu'Hypérion gère les Hue présent dans notre installation.

 

Je vais générer un fichier utilisable pour tout type de config. Par contre il faudra faire une modification de ce fichier lorsque l'on utilisera le mode Double ( Hue + Ambilight ) ou en mode Triple ( Hue + Ambilight + hue Like ).

 

Il va nous falloir aborder, avant cette génération, un point important sur la définition des zones de traitement de couleurs.

 

Définition des zones de traitement 

 

Je résume : 

  • Je possède 3 Ampoules ayant comme IDs 1,2 et 3
  • Je souhaite que la 1 traite la partie gauche de l'image, la 2 la partie droite et la 3 l'image entière.

On a vu avec Screenbloom la définition de zone de détection de couleurs. Elle se faisait très simplement par quelques clics de souris. Avec Hypérion c'est tout le contraire, tout est une question de mathématique.

 

Dans nos souvenirs lointains, on se rappelle avoir fait utiliser des axes X/Y qui avait pour point 0 le coin en bas à gauche. Avec Hypérion ce point 0 se trouve en haut à gauche.

 

Hypérion fonctionne sur un axe x = hscan et un axe y = vscan. Celui ci part de 0 pour finir à 1.

 

Il va donc falloir trouver les coordonnées des zones de détection de couleurs pour chacune des Ampoules en fonction des zones que l'on souhaite définir pour chacune d'elle.

  

Je vous en avait déjà fait part lors du précédent Tuto sur le Hue/Hue Like par Caméra. Revoyons l'image provenant du Wiki d'Hypérion :

Il y a 2 axes sur ce schéma, le hscan donc le x ( de gauche à droite ) et le vscan le y ( de haut en bas )

  • Le coin gauche correspond a 0 sur les 2 axes. Le coin en bas à gauche correspond aussi au 0 du hscan
  • Le coin en haut/bas à droite correspond au 1 du hscan
  • Le coin en bas gauche/droite correspond au 1 du vscan.

Voici les coordonnées que j'utiliserai pour mon Ampoule ID 3 afin d'obtenir un traitement complet de l'image :

{

"index" : 2,

"hscan" : { "minimum" : 0.0000, "maximum" : 1.0000 },

"vscan" : { "minimum" : 0.0000, "maximum" : 1.0000 }

}

 

En voyant ces lignes une question se pose : Pourquoi ai-je un "index" : 2, alors que j'ai défini ces valeurs pour mon Ampoule 3 ??

 

Car Hypérion, comme pour le nombre de LEDs, commence à compter à partir de 0 donc si vous avez 3 Ampoules / Lampes, il faudra des Index allant de 0 à 2. On voit aussi que le hscan et le vscan ont un minimum de 0 et un maximum de 1 donc un traitement de 100% de l’écran. 

 

Voici les correspondances que je vais mettre en place :

  • Index 0 = ID 1
  • Index 1 = ID 2
  • Index 2 = ID 3

Je vous ai dit plus haut que je souhaite obtenir un traitement de la moitié de l'image pour les ampoules 1 et 2 et la totalité de l'image pour l'ampoule 3. Voici ce que j'aurai pour la partie gauche, Ampoule 1 et Index 0 :

{

"index" : 0,

"hscan" : { "minimum" : 0.0000, "maximum" : 0.5000 },

"vscan" : { "minimum" : 0.0000, "maximum" : 1.0000 }

},

 

Seul le hscan est à 0.5000 ( soit 50% ). Si j'avais voulu un traitement du 1/4 de l'image, localisé dans le coin gauche, j'aurai indiqué  "hscan" : { "minimum" : 0.0000, "maximum" : 0.5000 },"vscan" : { "minimum" : 0.0000, "maximum" : 0.5000 }.

 

Il ne nous reste plus que la définir le dernier zonage pour l'ampoule portant l'ID 2. Voici les coordonnées de la zone de traitement :

{

"index" : 1,

"hscan" : { "minimum" : 0.5000, "maximum" : 1.0000 },

"vscan" : { "minimum" : 0.0000, "maximum" : 1.0000 }

},

 

Le vscan ne change pas car nous voulons un traitement de toute la partie verticale. Or le hscan à changé. Nous sommes passés, par rapport à Index 1 de min 0 à min 0.5 et de max 0.5 à max 1Logique car si nous juxtaposons les coordonnées hscan de l'index 0 et 1, nous obtenons :

  • min 0.0000 --> max 0.50000 et min 0.50000 --> max 1.0000 qui revient en additionnant les 2 à avoir min 0.0000 --> max 1.0000

Le même résultat que pour l'index 2 qui traitera la totalité de l'image.

 

On se retrouve alors avec ces 3 Index qu'il faudra copier dans le fichier de configuration hyperion.hue.json que nous allons généré :

{

"index" : 0,

"hscan" : { "minimum" : 0.0000, "maximum" : 0.5000 },

"vscan" : { "minimum" : 0.0000, "maximum" : 1.0000 }

},

{

"index" : 1,

"hscan" : { "minimum" : 0.5000, "maximum" : 1.0000 },

"vscan" : { "minimum" : 0.0000, "maximum" : 1.0000 }

},

 

{

"index" : 2,

"hscan" : { "minimum" : 0.0000, "maximum" : 1.0000 },

"vscan" : { "minimum" : 0.0000, "maximum" : 1.0000 }

}

 

On va voir ça dans peu de temps. Pour l'heure, copier les lignes que vous avez modifiés dans un fichier texte en attendant.

 

Configuration d'HyperCon en vue de la génération

 

Nous allons enfin pouvoir débuter la génération de notre fichier de configuration. J'ai déjà traité ce sujet à de nombreuses reprises et resterai évasif donc il faudra jeter un œil sur les autres tutos, notamment celui sur le Hue/Hue Like par Caméra ou s'il le faut, allez voir directement celui traitant en détail d'HyperCon.

 

Alors commençons par

  • Ouvrir HyperCon puis :

 

Onglet Hardware :

  • Changer le nom de la configuration en HyperionHue
  • Changer le type d'installation en choisissant PhilipsHue
  • Changer l'adresse IP 127.0.0.1 par celle de votre pont donc pour moi 192.168.1.200
  • Changer l'Username newdevelopper par celui que nous avons généré soit Izt1J9W2ZlDGW-Db0xfEgatKBxjPZBtcXOdGLdUb
  • Décocher la case Switch Off on Black  pour ne pas que la lampe s’éteigne lors des scènes sombre ( à vous de voir si c'est mieux sans ou avec. Cette option se trouve dans la partie Device du fichier sous la valeur "switchOffOnBlack"  )
  • Dans la partie Construction mettre toutes les valeurs sur 0 sauf celle dans LEDs Left

Je les diminue à 0 car ça permet de ne pas avoir 36 Index dans le fichier de configuration lors de la génération et seulement 2. Même si nous allons les effacer, pour localiser des informations dans le fichier, c'est toujours mieux d'avoir quelques lignes qu'une centaine.

  • Diminuer le nombre de LEDs Left en le faisant correspondre aux nombres de dispositifs Hue que l'on utilisera donc 3.

 

 Onglet Process :

  • Si vous le souhaitez, vous pouvez descendre la valeur Update Freq. [Hz] de 200 à 100. Je la diminuerai pour ma part. ( En ayant fait des tests je trouve qu'avec 3 lampes il faudrait peut être passer cette valeur à 75 ms )

 

Onglet Grabber ( pour des cas particuliers ) :

 

Si vous avez un VideoGrabber et que vous voulez profiter du Hue avec la méthode de la prise péritel avec le Tuner TNT de votre TV, votre Box ou votre démodulateur satellite, ou encore en Multi-Sources HDMI,  il faudra activé la prise en charge du Videograbber donc :

  • Cocher la case Enabled qui se trouve sous la ligne GrabberV4L2 ( ne pas oublier de faire les réglages de Crop... voir mon tuto HyperCon ).
  • Vérifier que le Process Channel dans Internal Frame Grabber est régler sur 890 et que celui du GrabberV4L2 est à 900.

  

Onglet External :

 

L'option qui nous interesse dans cet onglet est Kodi Checker. l'activation de cette option permettra de mettre en action les ampoules Hue à des moments précis, grâce à un système de détection d’état de Kodi et de savoir dans quel état il se trouve :

  • En cours de lecture vidéo/photos/Audio ou en pause 
  • En veille
  • ...

Très pratique car elle va permettre d'activer les Hue en fonction de ce qui se passe à l’écran et en fonction de nos actions. Comme je dispose d'un Video Grabber, je vais utiliser cette fonction donc :

  • Activer la détection de Kodi en cochant juste en dessous la case Enabled
  • Decocher les cases Menu et Pause si besoin

Si Kodi est dans un état d'attente sur le Menu par exemple, qu'une autre source est allumée et qu'elle envoi du flux vidéo à traiter via le Video Grabber ou la camera, les Ampoules réagirons en fonction de ce flux. 

Au contraire, lorsque vous lancerez une vidéo sous Kodi ( ou si elle est en Pause ), Hypérion ne s'occupera pas de ce qui transite par le Vidéo Grabber car le Frame Grabber est prioritaire ( Priority Process à 890 ).

 

Dès lors que vous stopperai la vidéo, la transition de décodage des couleurs du Frame Grabber vers le Video Grabber se fera de manière automatique et transparente.

 

 

Onglet External ( optionnel mais obligatoire pour le forwarding) :

 

Il reste encore une manipulation à faire mais elle n'est pas obligatoire. Si vous ne comptez pas lancer plusieurs instances d'Hypérion vous pouvez sauter cette étape mais on ne sais jamais, vous pouvez en avoir besoin un jour.

 

Pour les autres souhaitant faire du Forward Hypérion il faudra changer les ports des serveurs Proto et Json afin de ne pas rentrer en conflit avec un autre instance d'Hyperion que l'on qualifiera de "Principale".

 

Voici les ports par défaut utilisé par Hyperion lorsque l'on génère un fichier de configuration :

  • 19444 pour le Json
  • 19445 pour le Proto

J'ai une méthode mnémotechnique pour savoir si le json est en 19444 ou en 194445 et vice versa, la voici :

  • Json compte 4 lettres. Il utilisera donc le port finissant par un 4, chiffre pair soit 19444
  • Même chose pour Proto, il compte 5 lettres...fini par un 5, chiffre impair donc 19445.

Nous allons donc définir 2 ports différents de 19444 et 19445 pour notre fichier. Le plus simple est de faire un +2 sur chaque port soit :

  • 19444 deviendra 19446
  • 19445 deviendra 19447

Question : Pourquoi n'ai je pas fait un +1 au lieu d'un +2 ???

 

La réponse est double et simple. Car j'aurai eu :

  • D'une part un chiffre impair, même si ça ne pose pas de problème techniquement mais la méthode mnémotechnique ne sert plus à rien.
  • D'autre part j'aurai eu un conflit de ports car le 19445 aurait déjà était utilisé par le Proto de l'instance principale  ( 19444 + 1 = 19445 )

Voici la config de mon onglet External :

 

Sauvegarde du fichier hyperion.hue.json et édition via Notepad++

 

Le fichier est prêt à être créer. Vous pouvez si vous le voulez : 

  • Cliquer sur Save pour sauvegarder un fichier .dat contenant toute votre config en vue d'un chargement (  Load ) ultérieur
  • Cliquer ensuite sur Create hyperion Configuration pour générer le fichier de configuration.
  • Entrer comme nom de fichier hyperion.hue.json et sauvegarder le sur le bureau pour éviter de le chercher partout.

Le fichier à était généré mais n'est pas fonctionnel. Il va falloir rajouter plusieurs informations et en changer quelques unes.

 

Commençons par :

  • Editer le fichier hyperion.hue.json avec Notepad++

Il manque une valeur dans le fichier à savoir lightIds. Elle servira à définir les numéros des éléments Hue qu’Hypérion devra gérer donc :

  • Rajouter sous la ligne "username" .. la ligne "lightIds"   : [1,2,3], car je souhaite utilisés mes Ampoules ayant pour ID 1,2 et 3 ( ne pas oublier la virgule après ]. Modifier aussi ces valeurs en fonction de ce que vous avez chez vous et des Ampoules que vous souhaitez utilisés ).

Pour Info : Si vous n'avez qu'une Lampe ou Ampoule, inutile de rajouter cette ligne, sa présence et son ID sera automatiquement détecté.

  • Rechercher ensuite le mot frequency_Hz
  • Changer le 10.0 en 3.3 car je possède 3 Ampoules ( 10 hz à diviser par le nombre de Hue soit pour moi 10 / 3 ).
  • Faire une nouvelle recherche avec le mot linear et remplacer celui-ci par le mot none.
  • Enfin descendre tout en bas du fichier et remplacer les Index 0,1 et 2, ci-dessous à gauche,

( Valeurs Index qu’Hypérion à généré )

 

{

"index" : 0,

"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },

"vscan" : { "minimum" : 0.6667, "maximum" : 1.0000 }

},

{

"index" : 1,

"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },

"vscan" : { "minimum" : 0.3333, "maximum" : 0.6667 }

},

{

"index" : 2,

"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },

"vscan" : { "minimum" : 0.0000, "maximum" : 0.3333 }

}

 

par celle que nous avons créer plus haut :

 

{

"index" : 0,

"hscan" : { "minimum" : 0.0000, "maximum" : 0.5000 },

"vscan" : { "minimum" : 0.0000, "maximum" : 1.0000 }

},

{

"index" : 1,

"hscan" : { "minimum" : 0.0000, "maximum" : 0.5000 },

"vscan" : { "minimum" : 0.0000, "maximum" : 0.6667 }

},

{

"index" : 2,

"hscan" : { "minimum" : 0.0000, "maximum" : 1.0000 },

"vscan" : { "minimum" : 0.0000, "maximum" : 1.0000 }

}


  • Sauvegarder les modifications que vous avez apportés à votre fichier.

 

Dernières interventions et Exécution de l'instance hyperion avec hyperion.hue.json

 

Ayant déjà montré à de nombreuses reprises comment installer Hypérion, je présume que l'avez déjà fait sur votre µPC. Nous allons passer directement aux dernières interventions, voir la copie et exécution de l'instance Hypérion avec le fichier hyperion.hue.json.

 

Pour cela nous allons utiliser 2 petits logiciels :

  • WinSCP pour la copie du fichier et modification du fichier autostart.sh
  • Putty pour tester l’exécution de l'instance hyperion

Commençons par copier le fichier de configuration en utilisant WinScp :

  • Ouvrir le logiciel WinSCP puis
  • Renseigner l'adresse IP, pour moi 192.168.1.250, le nom d'utilisateur pour OE/LE root et le mot de passe openelec ou libreelec ( nom d'utilisateur et mot de passe en fonction de votre distribution )
  • Cliquer pour finir sur le bouton Login pour établir la connexion.

Si tout se passe comme prévu, on devrait avoir une liste de dossiers sur la fenêtre de droite ( .cache, .config, .kodi.... ). Il faudra :

  • Dans la partie droite du logiciel entrer dans le dossier .config ( si vous voyez autostart.sh c'est bon signe )
  • Sur la partie gauche, choisir dans le menu déroulant l'icone Bureau ou Deskstop
  • Localiser le fichier hyperion.hue.json
  • Le faire glisser de la fenetre de gauche vers la fenêtre de droite
  • Valider la copie en cliquant sur Copy

Nous allons en profiter pour copier le fichier On_Off_Hue.sh que nous allons utiliser un peu plus tard donc :

  • Revenir dans le dossier /storage en double cliquant sur le dossier .. qui se trouve tout en haut de la liste
  • Comme pour hyperion.hue.json, déplacer le fichier On_Off_Hue.sh de le fenêtre de gauche vers celle de droite.

Le fichier est prêt à l'emploi et présent dans le dossier .config ou plus être plus précis /storage/.config/ .


L'instance est prête à être exécuté, en mode Manuel pour la tester puis un en mode Automatique si tout est Ok.

 

Exécution en mode Hue seul

 

Il va falloir éditer le fichier autostart.sh pour rajouter l'instance hyperiond au démarrage avec la gestion du fichier hyperion.hue.json.

 

Pour cela, toujours sous WinSCP : 

  • Double cliquer sur le fichier autostart.sh pour l’éditer
  • Faire un copier coller de /storage/hyperion/bin/hyperiond.sh /storage/.config/hyperion.config.json > /storage/logfiles.log 2>&1 & dans le fichier autostart.sh.
  • Ajouter un devant la ligne /storage... du haut pour éviter son exécution
  • Sur la 2nde ligne, modifier le hyperion.config.json en hyperion.hue.json

Pour Info : Je n'ai pas modifié hyperion.config.json en hyperion.hue.json sur la ligne déjà présente car il se peut que vous en ayez besoin un jour et que nous en aurons besoin plus tard, lors de l'exécution de l'instance hyperiond principale pour la gestion de notre Ambilight. Une désactivation suffit.

  • Cliquer sur la 1er icone de la barre d'icones pour sauvegarder les modifications et valider l’enregistrement en cliquant sur Yes.

L'instance hyperiond avec la gestion du hue s’exécutera automatiquement au démarrage. Mais pour l'heure on ne sais toujours pas si ça fonctionne.

 

Vous avez 2 choix :

  • Soit redémarrer le Raspberry, lancer une vidéo ( ou envoyer du flux vidéo vers la Videograbber / Caméra ) et voir ce qui se passe
  • Soit exécuter une commande pour tester la configuration directement sans attendre le redémarrage.

Je vais pour ma part préférer un lancement en direct pour voir si tout est conforme.

 

Commençons par :

  • Ouvrir le logiciel Putty puis :
  • Renseigner dans le champ Host l'adresse IP du Raspberry, pour moi 192.168.1.250
  • Cliquer sur Open pour établir la connexion
  • Une fois établi, une fenêtre vous invite à entrer un nom, entrer comme nom d'utilisateur root puis valider
  • De même, on demande un mot de passe, entrer le mot de passe openelec ou libreelec et valider ( toujours en fonction de la distrib ).

Vous êtes maintenant connecté en SSH, prêt pour exécuter la commande.

 

Avant de l’exécuter :

Nous en aurons besoin que ces lignes soit copier dans le prochain paragraphe. J'en profite que vous soyez connecté en SSH pour vous demander de les copier. 

  • copier coller la ligne chmod +x /storage/On_Off_Hue.sh && echo "alias OnOffHue='/storage/On_Off_Hue.sh'" >> /storage/.profile

Voici la commande que nous devons exécuter pour notre test :

  •  /storage/hyperion/bin/hyperiond.sh /storage/.config/hyperion.hue.json

Je n'ai pas ajouté la redirection > /storage/logfiles/logfiles.log 2>&1 & pour voir ce qui se passe quand j’exécute la commande. 

  • Faire un copier coller de cette ligne de commande /storage/hyperion/bin/hyperiond.sh /storage/.config/hyperion.hue.json dans la fenêtre et valider pour l’exécuter. ( Ctrl +c pour arrêter la commande )

Voici le résultat :

On voit bien toutes les informations de ma configuration, 3 LightIDs, le nom d'utilisateur, l'adresse IP, les ports de Json et Proto...

 

Si vous avez un message d'erreur lors de l’exécution, essayer de faire un :

  • mkdir -p /storage/logfiles/ ( pour créer au cas ou le dossier logfiles s'il n'existe pas car sinon hyperion ne se lance pas ) puis
  • Relancer la commande d’exécution de l’instance d’Hypérion. Si tout est Ok, couper l'instance en faisant un Ctrl + C puis

Si tout se passe comme prévu vos Ampoules effectue la séquence de démarrage Rouge Vert Bleu puis se positionne sur une couleur ( bleu pour moi ). Vous pouvez faire joujou avec la ColorWheel mais ne surtout pas oublier de changer le port par défaut qui à était changé en 19446.

 

Puis, pour finir, la commande :

  • reboot pour tester l’exécution automatique de l'instance.

Constatez si vous obtenez la même chose. Normalement oui sinon, revoir votre configuration dans le fichier autostart.sh.

 

Voyons maintenant 2 applications qui peuvent nous être utile afin d'optimiser la gestion de son installation.

 

Applications Connectbot et Hue Restore

 

Lorsque l'on utilise Hyperion avec des Hue sur un Raspberry, on doit se poser 2 questions :

  • Comment faire pour arrêter l'instance d'hyperion gérant les Hue et leur faire reprendre ainsi un fonctionnement normal c.a.d comme n'importe quelles ampoules ???
  • Comment se fait-il que mes ampoules affiche la dernière couleur qu'hyperion leur à transmis alors que celui-ci n'est plus actif et qu'elles auraient du normalement reprendre leur états d'origine d'avant exécution ???

Pour remédier à ces 2 problèmes nous allons utiliser ces 2 applications que sont Connectbot et Hue Restore  :

  • Connectbot, servira à exécuter des commandes automatiquement en ssh.
  • Kodi Restore servira à faire une sauvegarde d’états de ses Ampoules et ainsi pouvoir les restituer à tout moment.

Commençons par la 1ère à savoir Connectbot.

 

 

ConnectBot ou comment arrêter et relancer hyperion pour ses Hue

 

Connectbot sur Smartphone est ce qu'est Putty sur Windows, un client SSH. Il à la particularité de permettre une connexion sur son Raspberry et d’exécuter des commandes que l'on aura défini. 

 

Au lieu de créer 2 Widget, un pour l’arrêt de l'instance et un autre pour le relancer, j'ai créer un script, On_Off_Hue.sh ( que l'on à copié précédemment via WinScp ) permettant de faire les 2 à tour de rôle. Pour vous expliquer son fonctionnement :

  • Si il y a une exécution déjà en cours de l'instance hyperion avec hyperion.hue.json alors le processus sera tué
  • Si par contre aucun processus hyperion avec hyperion.hue.json n'est trouvé alors il l'exécutera.

Et cela indéfiniment donc vous pouvez arrêter et relancer l'instance hyperion tant que vous le voulez.

 

Commençons par :

  • Installer l'application Connectbot sur le smartphone 
  • L'ouvrir puis Appuyez sur le + pour créer un profile
  • Sous la ligne utilisateur@nom d'hote:port saisir root@AdresseIPduRaspberry soit pour moi root@192.168.1.250
  • Modifier le nom ( qui est identique à la ligne précédente normalement ) par OnOffHue
  • Descendre et activer l'option Fermer à la déconnexion 
  • Tout en bas dans les commandes à exécuter saisir ces 3 lignes ( la 3ème ligne est juste un espace )
  1. OnOffHue
  2. exit
  3. ( espace )
  • Puis appuyez sur le en haut à droite pour valider la création du profile SSH OnOffHue

Le profile OnOffHue est maintenant créer alors :

  • Retourner sur votre écran d’accueil puis
  • Rajouter le Widget Connectbot. Il va vous demander de sélectionner le profile utilisé, soit celui que nous avons créer à savoir OnOffHue .

Un nouveau Widget OnOffHue fera son apparition sur votre écran. Appuyons dessus. La connexion SSH va s'initialiser et il vous sera demander de la valider puis de taper votre mot de passe ( en fonction des distributions que vous auvez choisis ) openelec ou libreelec...

 

Dès la connexion établi, il y aura :

  • Une exécution de la commande OnOffHue ( qui exécutera notre script On_Off_Hue.sh ). OnOffHue est l'alias défini plus haut
  • Une déconnexion de la session SSH ( avec le exit en 2ème ligne ).

Pour Info : Vous pouvez aussi vous connecter en SSH avec putty et taper directement la commande OnOffHue. Ne vous souciez pas du message d'erreur du type bash: can't kill pid 1395: No such process lorsqu'il arrêtera l'instance. 

 

Rien ne vous empêche également de faire la même chose pour l'instance principale de votre Ambilight en créant un Widget Ambilight par exemple et en modifiant quelque peu les informations que nous venons de définir.

 

Sachez pour finir, que vous pouvez automatiser la connexion sans devoir saisir votre mot de passe en utilisant des clés privés, voir ici.

 

Hue Restore ou comment restaurer l’état de ses Hue

 

Nous venons de voir Connectbot qui est vraiment sympa pour arrêter et relancer les instances d'Hypérion. Parfois, lorsque que l'on arrêtera une instance hyperion ou bien même le logiciel ScreenBloom, les lumières ne rependrons pas leurs états d'origine.

 

Il faudra pour cela les "réinitialiser dans un état" que l'on aura au préalable sauvegardé et c'est la que Hue Restore entre en scène.

 

Dans un premier temps, nous devons configurer les états d'origine. Cela peut être :

  • Une couleur particulière pour chaque Ampoule
  • Une intensité plus ou moins forte pour chacune
  • Ou encore même de les configurer en position éteinte.

Avant d'utiliser Hue Restore, nous allons utiliser Hue App pour configurer nos ampoules donc :

  • Allumer les Ampoules ou Lampes que vous voulez configurer puis
  • Ouvrir l'application Hue App
  • Configurer l’état de toutes vos Ampoules puis
  • Quitter l'application.

Nous venons de configurer leurs états et il va falloir le sauvegarder pour le restituer plus tard et c'est au tour de Hue Restore de faire le travaille donc :

  • Ouvrir l'application Hue Restore puis
  • Vérifier que toutes vos Ampoules ou Lampes sont présentes et qu'elles sont contrôlables
  • Si tout est Ok, appuyer sur l'icone ayant la flèche pointé vers le bas pour récupérer leurs etats

La récupération est faites ( pas de confirmation visuel malheureusement ). Notez que vous auriez pu, avant la récupération des infos, faire le réglage des états dans Hue Restore mais il y'a plus d'options de couleurs et d'effets dans Hue App donc j'ai préféré passer par lui pour ça.

 

Si vous avez besoin de tout remettre dans un etat d'origine, il faudra :

  • Relancer l'application Hue Restore et
  • Appuyer sur l'icone avec la flèche pointant vers le haut pour transférer les informations.

Sachez pour finir, qu'il existe un Widget de Hue Restore avec ces 2 symboles. Malheureusement, il n'a pas l'air de vouloir s’insérer sur la page d’accueil de mon tel, pas moyen. A vous de tester si vous y arriver chez vous.

 

Voyons maintenant l'utilisation de son installation Ambilight en combinaison avec ses Hue.

 

Combiner ses Hue à son installation Ambilight déjà en place ( Forward Simple )

 

Si vous avez déjà mis en place un système Ambilight à base de Raspberry et d'Hypérion, vous avez dut générer un fichier de configuration hyperion.config.json via le logiciel HyperCon.

 

Plus haut nous avons vu la génération d'un second fichier portant le nom d'hyperion.hue.json. Il est tout à fait possible d’exécuter 2 voir 3 instances d'Hypérion sur le même µPC.

 

Sachez aussi qu'il est même envisageable d'avoir 2 Video Grabber sur le même Raspberry si vous le souhaitez, avec 2 instances d'Hypérion ayant chacune en charge son propre Video Grabber.

Mais la n'est pas la question. Nous sommes la pour combiner les Hue avec un Ambilight.

 

ll va falloir agir sur les 2 fichiers de configuration en :

  • Ajoutant à hyperion.config.json des options de Forward mais aussi faire des modifications sur certaines valeurs
  • Supprimant dans hyperion.hue.json les options de Video Grabber deja presente dans hyperion.config.json.

L’édition se fera via WinSCP car c'est la méthode la plus simple. Il est préférable de faire une copie de ses fichiers avant de faire toutes manipulations. Cela permettra de revenir en arrière si jamais tout part en cacahuète. /;-/)

 

 

Edition des fichiers autostart.sh, hyperion.hue.json et hyperion.config.json

 

Vous souvenez-vous du fichier autostart.sh ?? Celui-ci nécessite aussi une modification pour enlever le #, vous vous rappeler de ça ?

 

Bon tout d'abord :

  • Se connecter de nouveau si besoin avec WinScp sur le µPC
  • Entrer dans le dossier .config

 

Edition du fichier autostart.sh :

  • Double cliquer sur le fichier autostart.sh pour l’éditer
  • Enlever le # devant la ligne /storage/.../hyperiond.sh /storage/.config/hyperion.config.json > /.../hyperion.log 2>&1 &
  • Rajouter un sleep 10 entre les 2 lignes /storage.../hyperion.config.json.... et /storage/hyperion.jue.json...
  • Sauvegarder avec un Ctrl + S puis fermer la fenêtre ( ou cliquer sur la 1er icone en haut à gauche pour sauvegarder les modifications ).

 

Edition du fichier hyperion.hue.json  :

 

Comme nous allons faire du forwarding, il va falloir enlever des options de configuration dans le fichier hyperion.hue.json.

 

 Il ne peut y avoir 2 fois les mêmes informations de configuration du Vidéo Grabber alors :

  • Double cliquer sur le fichier hyperion.hue.json
  • Faire une recherche avec le mot v4l2
  • Descendre un peu, vous devez surement voir la ligne // V4L2 GRABBER CONFIG
  • Supprimer le tout, de // V4L2 GRABBER CONFIG jusqu'au symbole }, qui se trouve au dessus de la ligne // BLACKBORDER CONFIG ( rappelez vous de la valeur frequency_Hz car nous en aurons besoin dans le fichier hyperion.config.json )
  • Enregister le fichier.

Nous venons de faire les modifs sur les premiers fichiers. Il nous faut maintenant les faire sur le fichier hyperion.config.json gérant notre système Ambilight.

 

 

Edition du fichier hyperion.config.json  :

 

Alors :

  • Double cliquer sur le fichier hyperion.config.json
  • Faire une recherche avec les mot frame grabber
  • Changer la valeur "frequency_Hz" : 10.0, par celle que vous aviez dans hyperion.hue.json soit 3.3 pour 3 lampes.

Si vous n'avez plus les lignes FRAME GRABBER, les voici :

// FRAME GRABBER CONFIG

"framegrabber" : 

{

"width" : 64,

"height" : 64,

"frequency_Hz" : 10.0,

"priority" : 890

},

 

Viens l'heure du forward. Il faudra rajouter ces lignes dans le fichier :

 

"forwarder" :

{

  "proto" : [ "127.0.0.1:19446" ],

  "json"  : [ "127.0.0.1:19447" ]

},

 

Pour vous expliquer :

  • La 1ere instance d'hyperion ( hyperion.config.json ) fonctionne sur les ports 19444 et 19445
  • Il va faire du Forward toutes les informations à une seconde instance ( hyperion.hue.json ) qui fonctionne sur les ports 19446 et 19447
  • Comme les 2 instances sont exécutés sur la même machine, l'adresse de Forward est 127.0.0.1

C'est la raison pour laquelle aussi je vous avez demandé de changer les ports Json et Proto lors de la création du fichier pour le HUE.

 

Alors commençons :

  • Faire une nouvelle recherche avec la valeur 19445
  • En dessous de la ligne }, qui se trouve sous la ligne "port" : 19445 il va falloir copier les lignes de Forward dont je faisais référence.
  • Sauvegarder votre fichier.

 

 

Exécution des instances

 

Toutes les modifications sont faites. On va pouvoir tester l’exécution des 2 instances avant de redémarrer. Pour cela nous allons utiliser encore une fois Putty. Alors :

  • Ouvrir une 1ère fenêtre de connexion SSH
  • Copier Coller cette ligne killall hyperiond; /storage/hyperion/bin/hyperiond.sh /storage/.config/hyperion.config.json dans la fenetre et valider

L'instance se lance sans problème, c'est celle pour notre Ambilight.

 

On voit qu'elle tente même de se connecter "PROTOCONNECTION INFO: Connecting to Hyperion: 127.0.0.1:19446" et qu'elle est configuré pour Forward des informations :

  • HYPERION INFO: Json forward to 127.0.0.1:19447
  • HYPERION INFO: Proto forward to 127.0.0.1:19446

Exécutons maintenant celle pour le Hue :

  • Ouvrir une 2nde fenêtre de connexion SSH
  • Nous allons utiliser l'alias que nous avons créer lors du passage sur Connectbot donc Executer la commande OnOffHue.

Pour Info : Si vous n'avez pas créer d'alias pour la gestion avec l'application Connectbot, il vous faudra exécuter cette commande à la place de la précédente /storage/hyperion/bin/hyperiond.sh /storage/.config/hyperion.config.json

La dernière image réuni les 2 précédentes. On peux y voir qu'au moment ou j'ai exécuté la 2nde instance, une nouvelle ligne confirmant la connexion s'est ajouté à la fenêtre de la 1er instance.

 

Le Foward à était réalisé avec succès. Votre Ambilight et Hue peuvent désormais fonctionner ensemble. Reste plus qu'a tester tout ça en mode exécution automatique au redémarrage :

  • Faire un Ctrl + C dans l'une des fenêtre pour arrêter l'instance 
  • Exécuter la commande reboot pour redémarrer et voir ainsi si vos LEDs et vos Hue s'illuminent sans aucune intervention de votre part.

Comme je vous l'ai dit plus haut, vous pouvez tout aussi bien gérer votre Ambilight que votre Hue via Connectbot.

Rien en vous empêche de combiné les 2 exécutions d'instances non plus en automatique via le fichier autostart.sh, mais en manuel via l'execution du Widget Connectbot.

 

Il y a d'autres moyens de les exécuter mais ce tuto est déjà assez long que je vais m’arrêter la pour cette possibilité. Passons à la suite.

 

Remplacer Kodi Hue par Kodi Hyperion ou combiner les 2 ( Pas avec un RPI... )

 

Avant de voir notre dernière partie sur le triple Forward, nous allons voir ou revoir ces 2 outils pour faire de l'Ambilight et du Hue.

 

J'ai deja traité de Kodi Hyperion dans un précedent tuto et de Kodi Hue dans la 1er partie de celui-ci. Je ne vais donc pas rentrer dans les détails de leurs installations et de leurs configurations.

 

Par contre, nous allons voir qu'il est tout à fait possible de détourner le fonctionnement de Kodi Hyperion pour le faire fonctionner avec des Hue.

 

Nous allons également voir comment combiner les 2. Cependant, comme Kodi Hypérion ne fonctionne pas avec un Raspberry, la combinaison des 2 ne pourra se faire qu'a partir d'un dispositif compatible tournant pour la plupart sous Android ( Shield, Box ... ).

 

Je le répète, impossible à partir d'un Raspberry/Odroid... car celui-ci ne gère pas cette application en n'en a pas besoin.

 

 

En effet elle est tout bonnement inutile car c'est l'instance hyperion elle même qui fait office de client ( passage pas un client hyperion sous android car il n'est pas possible d'installer la version serveur directement ) donc cette extension ne servirai tout simplement à rien.

 

Je considère que vous les avez installés et qu'ils sont accessible dans Kodi. Si l'on reprend la configuration que j'ai mis en place au dessus :

  • L'instance hyperion pour l'Ambilight fonctionne sur les ports 19444 et 19445 et contrôle nos LEDs qui se trouve derrière la TV
  • L'instance hyperion pour les Hue fonctionne sur les ports 19446 et 19447 et contrôle les Hue.

 

Combinaison de Kodi Hue et Kodi Hyperion

 

Il est possible de combiner Kodi Hyperion et Kodi Hue. Nous n'allons pour cela pas avoir besoin de la 2nde instance car Kodi Hue ne passe pas par Hyperion mais par un accès direct au pont.

 

La configuration de Kodi Ambilight ne doit pas être changé car les ports, 19444 et 19445 sont ceux configuré par défaut dans HyperCon.

 

Voici les impressions écrans des 2 extensions :


Pour résumer, lorsque vous lirez une vidéo, l'information de changement de couleurs transitera :

  • De Kodi Hyperion vers l'instance hyperion exécuté avec le fichier hyperion.config.json ( gérant l'Ambilight ) puis aux LEDs
  • De Kodi Hue vers le Pont puis aux Lampes ou Ampoules.

La combinaison des 2 permet de profiter de tout son équipement lumineux.Cette technique sera utilisé dans l'hypothese ou vous avec un système Ambilight et des Hue.

 

Sachez qu'il est possible de détourner le fonctionnement de Kodi hyperion ( portant le nom d'Hyperion Ambilight en fait ) non pas pour gérer ses bandes de LEDs mais plutôt ses Ampoules Hue et cela en faisant un petit tour de Passe Passe. /;-))

 

 

Remplacer Kodi Ambilight par Kodi Hue pour la gestion des Hue

 

Petite question : Pourquoi passer par Kodi Hyperion plutôt que Kodi Hue ???

 

La réponse est multiple. Voici 3 arguments qui fera pencher la balance en sa faveur :

  • Paramétrage du délai de transmission de l'information donc moins de latence
  • Réglage des zones de détection pour chaque Hue au lieu d'en avoir qu'une seule pour Kodi Hue
  • Possibilité de profiter des effets Hyperion avec la ColorWheel...

Bref il est mieux en tout point. /;-/).

 

Dans la 1ère partie nous avons configuré un fichier de configuration hyperion.hue.json avec les ports 19446 et 19447.

 

Si vous regardé l'impression écran de droite qui se trouve juste au dessus, vous verrez que le port sur lequel est configuré Kodi Hyperion est 19445. Tout ce que nous avons à faire c'est :

  • Changer le 19445 par 19447 pour pointer non plus sur hyperion.config.json mais sur hyperion.hue.json.
  • D'Exécuter l'instance hyperion avec la gestion du fichier hyperion.hue.json via Connectbot ou avec Putty.

Lorsque vous lancerez vos vidéos, vos Hue changeront de couleurs en fonction des zones de détection que vous avez défini dans le fichier de configuration, pratique pour ceux qui ne veulent pas de grande zones comme les coins ou le centre de l'image.

A vous de tester les 2 et voir lequel vous plait le plus mais Kodi Hyperion est, selon moi, le meilleur choix si l'on veux faire du Hue seul avec Hypérion tournant sur un µPC.

 

 

Utiliser 2 Extensions Hyperion Ambilight en même temps, une pour l'Ambilight et l'autre pour les Hue

 

Sachez qu'il est possible de dupliquer l'extension Kodi Ambilight pour l’exécuter 2 fois sous Kodi et ainsi avoir une gestion 100% avec hyperion de son Ambilight et de ses Hue. Pour cela, il faut se rendre dans le dossiers addons qui se trouve :

  • Sous Windows dans C:\Users\VotreNomUtilisateur\AppData\Roaming\Kodi\addons\
  • Sous Openelec/Libreelec dans /storage/.kodi/addons

Puis :

  • Faire un copier/coller du dossier script.service.hyperion
  • Renommer la copie de ce dossier en script.service.hyperion.hue
  • Entrer dans ce dossier script.service.hyperion.hue
  • Editer le fichier addon.xml
  • Changer les valeurs addon id et name de la ligne <addon id="script.service.hyperion" name="Hyperion Ambilight" version=....
  • Par les valeurs script.service.hyperion.hue et Hyperion Hue
  • Sauvegarder les modifications
  • Redémarrer Kodi
  • Retourner dans Extensions ( Une nouvelle extension Hypérion Hue à fait son apparition )
  • La configurer avec le port Proto du fichier hyperion.hue.json soit 19447.

Il y aura alors une exécution de l'extension Hyperion Ambilight sur le port 19445 gérant l'Ambilight et l’exécution de cette même extension mais portant le nom Hyperion Hue sur le port 19447 gérant les Hue ( ou Hue Like si vous le voulez ) avec possibilité de gestion des zones de détection de couleurs contrairement à Kodi Hue.

A vous de tester si vous voulez en lancer 3 avec la gestion des Hue Like en plus, pourquoi pas mais le résultat ???

 

Nous arrivons presque au terme de notre tuto et il nous reste plus qu'une partie à voir, le mode Triple Forward en rajoutant des Hue Like.

 

Combiner ses Hue à son Ambilight et ses Hue Like ( Forward double )

 

J'ai retardé le plus possible le moment ou je devais faire l'acquisition de Philips Hue en trouvant des alternatives pour reproduire leurs fonctionnement car malheureusement leurs coûts était vraiment trop élevé.

 

Ayant vu des vidéos sur les Pixels du LightPack 2 et en ayant parcouru quelques sites parlant des Hue Like, ( Orbs ) j'ai réussi à en reproduire et ainsi me créer mes propres Pixels Like pour quelques €uros ( 5 --> 10€ pièce selon le contenu ).

 

Je vais donc les intégrer à mes équipements déjà présent. Ce qui me donne comme éléments :

  • Une TV de 19" avec une système Ambilight de 75 LEDs WS2812B
  • 3 Ampoules Hue avec un pont V2
  • 2 Hue Like

J'ai déjà abordé la configuration des Hue Like dans un tuto dédié mais également dans le Tuto Hue/Hue Like par Caméra. Je ne traiterai donc pas de la mise en place... et sauterai directement vers la procédure d'utilisation.

 

Imaginons que je reprenne la config précédentes avec :

  • Une instance hyperion avec hyperion.config.json
  • Une instance hyperion avec hyperion.hue.json
  • Forward des informations d'hyperion.config.json vers hyperion.hue.json

Et que maintenant je veux y ajouter :

  • Une 3eme instance hyperion avec le fichier de configuration hyperion.huelike.json gérant les 2 Hue Like
  • Que cette instance soit également exécuté en local sur le raspberry

Il va donc falloir répéter la même opération que l'on a realisé un peut plus haut sur les fichiers :

  • autostart.sh pour lui rajouter l’exécution de l'instance hyperiond....hyperion.huelike.json
  • hyperion.huelike.json pour supprimer les options du Video Grabber et pour changer le port Json en 19448 et Proto en 19449.

Maintenant que vous etes habitué, je ne vais pas vous dire quoi faire mais on ne sais jamais :

  • Se connecter avec WinSCP sur le Raspberry
  • Entrer dans le dossier .config 
  • Y transféré le fichier de configuration hyperion.huelike.json que vous avez du généré précédemment.

Le fichier est en place. Passons à l’édition des fichiers.

 

 

Edition du fichier autostart.sh :

 

Répétons l’opération que nous avons faites plus haut :

  • Double cliquer sur autostart.sh
  • Inserer la ligne sleep 10 en bas du fichier et juste en de la ligne /storage/.../hyperiond.sh .../hyperion.config.json...> /storage 2>&1 
  • Sauvergarder le fichier.

Nous venons de configurer l’exécution automatique des 3 instances Hypérion avec une pause de 10s entre chacune d'elles. Passons à l’édition du fichier hyperion.huelike.json.

 

 

Edition du fichier hyperion.huelike.json 

  • Double cliquer sur hyperion.huelike.json pour l'editer
  • Faire une recherche du mot v4l2 ou descendre jusqu’à la partie // V4L2 GRABBER CONFIG
  • Comme pour le fichier hyperion.hue.json, supprimer le bloc gérant le Video Grabber
  • Faire une nouvelle recherche avec le nombre 19444 ou descendre jusqu’à la ligne // JSON SERVER CONFIG
  • Changer la valeur 19444 en 19448 et la valeur 19445 en 19449
  • Sauvegarder le fichier.

L'instance fonctionnera sur des ports différents des 2 premiers pour ne pas rentrer en conflit avec ces dernières. Nous savons que nous utiliserons 19448 pour le Json et 19449 pour le Proto. Reportons les dans l'instance principale hyperion.config.json

 

 

Edition du fichier hyperion.huelike.json

  • Double cliquer sur hyperion.config.json
  • Faire une recherche avec le mot forwarder

Comme nous allons faire du forward local il faudra rajouter la ligne les valeurs 127.0.0.1:19448 et 127.0.0.1:19449

  • Supprimer la partie forwarder et faire un copier coller de ce qui se trouve ci-dessous :

"forwarder" :

         {

                "proto" : [ "127.0.0.1:19447","127.0.0.1:19449" ],

                "json" : [ "127.0.0.1:19446","127.0.0.1:19448" ]

 },

  • Sauvegarde le fichier.

Nous venons de faire les modifications sur les 3 fichiers et ils sont prêt à être exécutés.

 

Avant de passer à l’exécution, je vais être un peu hors sujet dans le prochain paraphe mais ça vous permettra de gérer le Forward d'une manière un peu plus malléable que précédemment.

 

Passage hors sujet du tuto pour vous montrez le fonctionnement un plus poussé du Forward /:-)).

 

J'aurai pu, si j'avais voulu, faire une redirection hyperion, pour la gestion de mes Hue Like, non pas en local mais en réseau vers mon RPI B2 ayant pour adresse IP 192.168.1.252.

 

Voici les valeurs Forward que j'aurai eu :

 

"forwarder" :

         {

                "proto" : [ "127.0.0.1:19447","192.168.1.252:19449" ],

                "json" : [ "127.0.0.1:19446","192.168.1.252:19448" ]

 },

 

Sachez que l'on peu allez plus loin en ayant une gestion, non pas de 1 mais de 2 Forward en réseau en utilisant par exemple :

  • Un Raspberry Pi Zero gérant un 1er système Ambilight ( exécution en local ) et ayant pour IP 192.168.1.250, Ports 19444/19445
  • Un Odroid C2 gérant les Hue Like ayant comme adresse IP 192.168.1.251, Ports 19448/19449
  • Un Raspberry pi B2 gérant les Hue et ayant pour IP 192.168.1.252, Ports 19446/19447

Voici les valeurs Forward que j'aurai dut utiliser dans l'instance principale ( celle tournant sur le Pi Zero en 192.168.1.250 ) :

 

"forwarder" :

         {

                "proto" : [ "192.168.1.251:19449","192.168.1.252:19447" ],

                "json" : [ "192.168.1.251:19448","192.168.1.252:19446" ]

 },

 

C'est bien beau d'avoir 2 forward en réseau mais vous n'avez pas tout vu.

 

Il est tout à fait possible d'aller encore plus loin en configurant 3 Forward en réseau en ajoutant, au 2 premières, une installation Ambilight utilisant par exemple un ¨¨RPI B3 ayant pour source le 1er Ambilight, pour IP 192.168.249 et comme ports 19450 et 19451.

( 2 TV avec leurs propres LEDs et leurs propres µPC mais avec la même source vidéo par exemple et avec un seul Hdmi2AV, videograbber...).

 

Voici le résumé de l'installation finale : 

  • Un Raspberry Pi B3 gérant un 2nd système Ambilight, pour source le Raspberry Zero et ayant pour IP 192.168.1.249, Ports 19450/19451
  • Un Raspberry Pi Zero gérant un 1er système Ambilight en local et ayant pour IP 192.168.1.250, Ports 1944/1945
  • Un Odroid C2 gérant les Hue Like ayant comme adresse IP 192.168.1.251, Ports 19448/19449
  • Un Raspberry pi B2 gérant les Hue et ayant pour IP 192.168.1.252, Ports 19446/19447

Et la partie Forward qui gère tout ça :

 

"forwarder" :

         {

                "proto" : [  "192.168.1.249:194","192.168.1.251:194","192.168.1.252:194" ],

                "json" : [ "192.168.1.249:194","192.168.1.251:194","192.168.1.252:194" ]

 

 },

 

Il n'y'a pas de limites mais pour s'y retrouver après @:-/( . Je devrai plutôt vous montrer comment exécuter vos instances hyperion au lieu de faire le malin /:-))

 

Exécution des 3 instances hyperion

 

Toutes les modifications sont faites et on va pouvoir exécuter nos 3 instances. Pour cela :

  • Se connecter une 1ère fois avec Putty
  • Exécuter la 1ère commande /storage/hyperion/bin/hyperiond.sh /storage/.config/hyperion.config.json ( pour l'Ambilight )
  • Une fois fait, ouvrir une 2nde fenêtre de connexion avec Putty
  • Exécuter la 2nde commande /storage/hyperion/bin/hyperiond.sh /storage/.config/hyperion.hue.json ( pour le Hue ). Et enfin
  • Ouvrir une 3ème fenêtre de connexion avec Putty et 
  • Exécuter la 3ème commande /storage/hyperion/bin/hyperiond.sh /storage/.config/hyperion.huelike.json ( pour le Hue Like ).

Sur la fenêtre ( celle en haut sur la dernière image )  ou l'on à exécuté la commande pour l'Ambilight ( hyperion.config.json ) on voit qu'il y a 2 connexions, celle de l'instance gérant le Hue et celle gérant le Hue Like.

 

Vous devriez voir à chaque exécutions de commande les lumières réagir et prendre une position d'attente. Ne reste plus qu'a tester le tout en lançant une vidéo.

 

Ça marche tant que ça peut,  je peux faire autrement mais ça m'arrange pas trop /:-((

 

Bon ça fonctionne mais ça prend énormément de ressource sur mon Pi Zéro lorsqu'il y a beaucoup de changement de couleurs le mettant énormément en souffrance le pauvre. Il faut dire aussi que je lui ai mis la pression avec ces 3 instances.

 

J'ai donc essayé de trouver une alternative que j'ai trouvé une mais c'est pas trop ce que je voulais, vous allez comprendre.

 

On a vu un peu plus haut Kodi Hue que l'on avait combiné entre autre à Kodi Ambilight. Ce que j'ai fait c'est :

  • Utiliser l'instance hyperion gérant l'Ambilight avec un Forward non pas vers l'instance Hue mais plutôt vers l'instance gérant le Hue Like
  • Utiliser l'extension Kodi Hue pour la gestion de mes Hue.

J'ai avec cette méthode eu de très bon résultat de réactivité et une baisse significative au niveau de la charge CPU. Par contre avec celle-ci on sera confrontés à 2 problèmes :

  • La non gestion des zones de détection de couleurs avec Kodi Hue car celui-ci ne permet pas de définir une zone pour chacun d'eux
  • Ce dernier ne fonctionne qu'avec Kodi donc pas de Multi-Sources possible.

Selon moi le Hue reste une bonne solution mais ne s'adapte pas à tout les cas de figure. Elle est très bien en complément d'un Ambilight mais lorsque vous commencez à rajouter des éléments, plus rien ne va.

 

Par exemple, lorsque les 3 instances était en fonction au lancement de la vidéo tout réagissait quasi en même temps puis les Hue ont commencé à décliner très rapidement puis se sont mis à ne plus changer de couleurs pour finir par ce message d'erreur dans la fenêtre avec l'instance Hue :

Peut être aurai-je du essayer avec une seul Ampoule ??? Bref tant pis.

 

Par contre, à la différence des Hue les Hue Like ont continués à fonctionner normalement. 

 

Pour ma part je préfère grandement mes Hue Like pour plusieurs raisons :

  • Ils réagissent bien mieux et bien plus rapidement que mes Hue
  • Même si j'en utilise plusieurs je n'ai pas constaté d'augmentation de la latence dans la transition des couleurs.
  • Ne nécessite pas de pont pour les utiliser.
  • ...

Les hue quant à eux m'ont laissé une bonne impression notamment en utilisation sous Windows avec ScreenBloom. Autre point positif :

  • Contrôlable via des Applications
  • Utilisable comme des Ampoules normal
  • Pratique pour les allumer/eteindre, se reveiller, creer des scenarios...

Chose que ne ferons jamais mes Pixels Like malheureusement. Nous arrivons au terme de notre tuto et il est temps de faire une conclusion.

 

Conclusion

 

On à vu au cours de ce tuto qu'il était possible de rajouter des équipements Hue ou Hue Like à son installation ou bien même les utiliser indépendamment toute installation.

 

De nombreux outils sont à notre disposition entre Kodi Hue, Kodi Ambilight ou même ScreenBloom selon ses besoins on aura le choix d'utiliser des Hue pour ses sessions vidéos.

 

Hypérion on l'a vu permet de faire de nombreuses choses et de mettre en place un système Ambilight personnalisé et cela pour toutes ses sources HDMI.

 

Le tout sera de pas abuser de la fonction Forward qui est malheureusement très gourmande en ressources systèmes. Le mieux selon moi est de faire soit de l'Ambilight avec du Hue soit avec du Hue Like mais faire les 2 est tout à fait possible c'est vrai mais les performances en deçà du Hue font qu'il est préférable, selon moi, de faire soit l'un soit l'autre.

 

Chacun des 2 à des points forts et des points faibles. A vous de voir quelle genre d'installation vous voulez réaliser de votre côté. 

 

Ceci était mon dernier tuto comme je vous l'ai dit en 1ère partie car je ne peux faire autrement vis à vis de ma situation. Je vous dit donc Adieu et merci aux nombreux lecteurs qui m'ont suivis et un très grand merci à ceux qui m'ont soutenus tout au long de cette aventure. /;-/).

 

Continuez à faire du Mod Ambilight !!!

Commentaires : 0 (Discussion fermée)
    Aucun commentaire pour le moment.