Instance Ambilight

Bonjour à tous,

J’ai installé un système ambilight, sur un raspberry Pi2 avec Libreelec et Hyperion V2.0 alpha9
les Led sont pilotées par un arduino en USB sur le Raspberry en protocole Adalight, pour le faire fonctionner il à fallu que je créer une instance car sur l’instance native elles ne fonctionnait pas.
le système ambilight fonctionne correctement, par contre le plugin ne permet pas de « prendre la main » dessus, seulement sur l’instance native de Hyperion. Il y a t-il un moyen pour envoyer les commandes aux secondes instances?
Merci d’avance pour vos lumières…

Hello!
Je relance le sujet, je suis dans la même recherche…
@FullMetal, as tu trouvé la solution?

Bonjour, je me suis retrouvé avec le même problème que vous.
Je me suis permis de modifier le plugin, mais je ne sais pas comment faire parvenir mes changements au dev.

Si vous n’avez pas peur de toucher au code, il y a 2 fichiers .php dans les sous répertoires plugin/ambilight qu’il faudra modifier

Ajouter dans la configuration du plugin l’instance :
Modifier le fichier hyperion2.php et ajouter le bloc suivant en dessous du block avec le {{port}}

<div class="form-group">
    <label class="col-sm-3 control-label">{{Instance}}</label>
    <div class="col-sm-3">
      <input type="text" class="eqLogicAttr configuration form-control" data-l1key="configuration" data-l2key="instance" placeholder="Instance"/>
    </div>
  </div>

ajout du call switch instance :
modifier la function execute du fichier hyperion2.class.php comme ceci :

 public function execute($_options = array()) {
 $eqLogic = $this->getEqLogic();

                $data = array();
                $socket = socket_create(AF_INET, SOCK_STREAM, 0);
                socket_connect($socket, $eqLogic->getConfiguration('ip'), $eqLogic->getConfiguration('port', 19444));
                $data['command'] = 'instance';
                $data['subcommand'] = 'switchTo';
                $data['instance'] = intval($eqLogic->getConfiguration('instance', 19444));
                $value = json_encode($data) . "\n";
                $socket = socket_create(AF_INET, SOCK_STREAM, 0);
                socket_connect($socket, $eqLogic->getConfiguration('ip'), $eqLogic->getConfiguration('port', 19444));
                $result = socket_write($socket, $value, strlen($value));
                $data = array();
  if ($this->getLogicalId() == 'clear') {
...

Vous devez supprimer votre ambilight et le recréer
La valeur de l’instance est un chiffre de 0 à 99. 0 étant l’instance initiale
Et voilà , le tour est joué, vous pouvez à présent créer plusieurs instance.

Fabrice