Forum eedomus
http://forum.eedomus.fr/

Contrôler Lightberry à partir de l'eedomus
http://forum.eedomus.fr/viewtopic.php?f=50&t=1740
Page 1 sur 2  Suivant »
Auteur:  influman [ 19 Mai 2014 22:08 ]
Sujet du message:  Contrôler Lightberry à partir de l'eedomus

Bonjour à tous,

Pour ceux qui ont un Lightberry (Ambilight sur Raspberry) contrôlé par Hyperion, il vous est possible de piloter les led à partir de requêtes http.

Les pré-requis donc :
- Un raspberry avec un lightberry, piloté par Hyperion : voir l'article de Maison et Domotique sur le sujet.
- L'accès autorisé en SSH sur votre raspberry
- le script php suivant en ayant au préalable saisi vos paramètres perso : ip, user/mdp ssh
- et donc la libssh2 de php sur le serveur qui l'héberge


Code : Tout sélectionner
<?php
function ssh($host, $login, $mdp, $command)
{
    if (!function_exists("ssh2_connect")) die("function ssh2_connect doesn't exist");
    if(!($con = ssh2_connect($host, 22))){
        echo "échec connexion\n";
    } else {
        if(!ssh2_auth_password($con, $login, $mdp)) {
            echo "échec authentification\n";
        } else {
            // execute a command
            if (!($stream = ssh2_exec($con, $command ))) {
                echo "échec de l'exécution de la commande\n";
            } else {
                // collect returning data from command
                stream_set_blocking($stream, true);
                $data = "";
                while ($buf = fread($stream,4096)) {
                    $data .= $buf;
                }
                fclose($stream);
                return $data;
            }
        }
    }
}

$ip = "192.168.0.xx";
$login = "root";
$mdp = "openelec";

$command = "sh /storage/hyperion/bin/hyperion-remote.sh -p 50";

$effet = $_GET['effet'];
$duree = $_GET['duree'];

if ($duree > 0) {
   $duree = $duree * 1000;
} else {
   $duree = 5000;
}

switch($effet)
{
case 'kr':
   $param = "-e \"Knight rider\"";
   break;
case 'bmb':
   $param = "-e \"Blue mood blobs\"";
   break;
case 'gmb':
   $param = "-e \"Green mood blobs\"";
   break;
case 'rmb':
   $param = "-e \"Red mood blobs\"";
   break;
case 'rm':
   $param = "-e \"Rainbow mood\"";
   break;
case 'rsf':
   $param = "-e \"Rainbow swirl fast\"";
   break;
case 'rs':
   $param = "-e \"Rainbow swirl\"";
   break;
case 'sb':
   $param = "-e \"Strobe blue\"";
   break;
case 'sw':
   $param = "-e \"Strobe white\"";
   break;
case 's':
   $param = "-e \"Snake\"";
   break;
case 'g':
   $param = "-c green";
   break;
case 'b':
   $param = "-c blue";
   break;
case 'o':
   $param = "-c orange";
   break;
case 'r':
   $param = "-c red";
   break;
case 'W':
   $param = "-c white";
   break;
default:
   $param = "-x";
   break;
}

if ($effet == 'stop') {
        $param = " -c black";
} else {
   $command .= " -d ".$duree." ";
}

$command .= $param;
$ret = ssh($ip, $login, $mdp, $command);
echo '<pre>' . $ret . '</pre>';
?>


Et il ne vous reste qu'à créer un actionneur http sous eedomus qui lance le script.
Vous pouvez créer une valeur par effet, par exemple :
Alarme activée : http://IP/hyperion.php?effet=kr, et votre TV joue le radar rouge de K2000.
Alarme désactivée : http://IP/hyperion.php?effet=gmb
Le portail s'ouvre : http://IP/hyperion.php?effet=sb

Le script exécute via SSH l'applicaton hyperion-remote et envoie l'effet choisi en paramètre. Le Lightberry joue l'effet 5 secondes puis revient à l'état précédent le cas échéant.

Amusez-vous bien.

Edit 1 : j'ai rajouté le paramètre de durée (en seconde) et l'effet Snake.
Pour avoir un serpent rouge qui fait le tour de la TV : http://IP/hyperion.php?effet=s&duree=10

Edit 2 : possibilité d’arrêter le lightberry avant ou pendant un film : hyperion.php?effet=stop, cela positionne les led à black pour une durée illimitée. Pour revenir à la normale, hyperion.php, sans argument, ou n'importe quel effet temporisé.
Auteur:  Nico33 [ 20 Mai 2014 17:04 ]
Sujet du message:  Re: Contrôler Lightberry à partir de l'eedomus

Super !
Merci pour le partage.
Je n'utilise pas encore Hyperion mais c'est prévu sur la télé de la salle de jeu des enfants.
J'ai déjà tout le matos mais il me manque ... du temps ! pffff
Auteur:  Rocketlud [ 24 Mai 2014 07:44 ]
Sujet du message:  Re: Contrôler Lightberry à partir de l'eedomus

Là, c'est la goutte d'eau ;) Je le commande;) LOL merci Influman :mrgreen: :mrgreen:

++ et bon week à tous
Ludo
Auteur:  influman [ 24 Mai 2014 13:34 ]
Sujet du message:  Re: Contrôler Lightberry à partir de l'eedomus

Notez que ceux qui sont motivés et qui ont des connaissances en python, peuvent s'amuser à créer eux-mêmes des effets : https://github.com/tvdzwan/hyperion/wik ... evelopment

Je vais tenter d'en faire un de mon coté...c'est pas gagné.
Auteur:  Rocketlud [ 24 Mai 2014 13:56 ]
Sujet du message:  Re: Contrôler Lightberry à partir de l'eedomus

influman a écrit:Notez que ceux qui sont motivés et qui ont des connaissances en python, peuvent s'amuser à créer eux-mêmes des effets : https://github.com/tvdzwan/hyperion/wik ... evelopment

Je vais tenter d'en faire un de mon coté...c'est pas gagné.



Ss moi, j'essayerais même pas:) LOL :mrgreen:
Auteur:  Nico33 [ 25 Mai 2014 15:05 ]
Sujet du message:  Re: Contrôler Lightberry à partir de l'eedomus

Je ne suis pas un pro en programmation mais le python est un langage accessible. J'ai réussi à faire quelques programmes qui tournent sur mon Raspberry.
En partant d'exemples, ça aide bcp.
Alors Ludo, faut pas s'avouer vaincu comme ça. ;)
Auteur:  Rocketlud [ 25 Mai 2014 18:06 ]
Sujet du message:  Re: Contrôler Lightberry à partir de l'eedomus

Nico33 a écrit:Je ne suis pas un pro en programmation mais le python est un langage accessible. J'ai réussi à faire quelques programmes qui tournent sur mon Raspberry.
En partant d'exemples, ça aide bcp.
Alors Ludo, faut pas s'avouer vaincu comme ça. ;)


MDR, Tu as raison Nico, Merci de me motiver;) :mrgreen:

Heureusement que les copains de domotique sont là ;)
Auteur:  influman [ 25 Mai 2014 21:12 ]
Sujet du message:  Re: Contrôler Lightberry à partir de l'eedomus

le problème n'est pas le python, c'est plutôt la manière dont sont gérés les LED via la librairie Hyperion...et du coup la programmation devient trop touchy pour moi :)
Auteur:  Rocketlud [ 25 Mai 2014 21:17 ]
Sujet du message:  Re: Contrôler Lightberry à partir de l'eedomus

influman a écrit:le problème n'est pas le python, c'est plutôt la manière dont sont gérés les LED via la librairie Hyperion...et du coup la programmation devient trop touchy pour moi :)


Ou là, trop costaud pour toi, je lâche l'affaire;) MDR

++ les gars
Auteur:  ASECADOMOTIQUE54 [ 27 Août 2014 18:04 ]
Sujet du message:  Re: Contrôler Lightberry à partir de l'eedomus

génial je viens à l'instant d'installer hyperion et déjà mis en place ton script influman et c'est top!
Pour les effets, il y en a qui ce sont lancé dans l'aventure et qui ont enrichit la chose?
Auteur:  influman [ 01 Oct 2014 17:11 ]
Sujet du message:  Re: Contrôler Lightberry à partir de l'eedomus

j'ai rajouté le "stop"
Auteur:  ASECADOMOTIQUE54 [ 02 Oct 2014 18:46 ]
Sujet du message:  Re: Contrôler Lightberry à partir de l'eedomus

ok merci a toi influman ;) , sinon je viens de voir un plugin dans sarah pour controler le lightberry pour ceux que ça intéresse
Auteur:  Dedelastuce [ 25 Oct 2014 22:18 ]
Sujet du message:  Re: Contrôler Lightberry à partir de l'eedomus

Bonjour
Ayant déjà installé hyperion & hyperion remote, je souhaite désormais tout piloter via l eedomus. Dans les prérequis il est indiqué libssh sur serveur. Ca veut dire quoi concrètement? l'eedomus gère les script desormais non, peut on s en passer?
Merci
Auteur:  influman [ 26 Oct 2014 14:40 ]
Sujet du message:  Re: Contrôler Lightberry à partir de l'eedomus

Le script n'est pas sur l'eedomus pour moi mais sur un nas syno. Pas certain qu'on puisse faire du ssh avec le serveur PHP de l'eedomus...
Auteur:  Dedelastuce [ 27 Oct 2014 01:14 ]
Sujet du message:  Re: Contrôler Lightberry à partir de l'eedomus

Ok merci
J'ai également un nas chez moi le DNS320, sais tu ou je dois mettre le script?
Merci d'avance
Auteur:  influman [ 27 Oct 2014 09:35 ]
Sujet du message:  Re: Contrôler Lightberry à partir de l'eedomus

Dedelastuce a écrit:Ok merci
J'ai également un nas chez moi le DNS320, sais tu ou je dois mettre le script?
Merci d'avance


pas si trivial sur ce genre de NAS...
il n'y a à ma connaissance pas de serveur web activable facilement (faut bidouiller)
Auteur:  Dedelastuce [ 27 Oct 2014 11:36 ]
Sujet du message:  Re: Contrôler Lightberry à partir de l'eedomus

Merci pour ta réponse. Mon serveur est deja bidouillé (debian squeeze). Si j ai bien compris il faut que j installe un serveur php dessus? N y a t il pas plus simple? (Installer sur un raspberry / dans l eedomus)
Merci
Auteur:  influman [ 27 Oct 2014 14:35 ]
Sujet du message:  Re: Contrôler Lightberry à partir de l'eedomus

oui tu peux faire un serveur web+php sur ton raspberry.
Auteur:  Dedelastuce [ 27 Oct 2014 18:35 ]
Sujet du message:  Re: Contrôler Lightberry à partir de l'eedomus

Ok cool. Sur une distribution raspbmc?
Auteur:  influman [ 27 Oct 2014 21:15 ]
Sujet du message:  Re: Contrôler Lightberry à partir de l'eedomus

là va falloir chercher sur google...on sort un peu du domaine eedomus et de mes compétences techniques :)
Page 1 sur 2 Le fuseau horaire est UTC+1 heure