Les Carnets de Byfeel domotique , Objets connectés , DIY , Programmation, Nouvelles Technologies ….

Une action différente à chaque Clic …

Le but de cet article , est d’expliquer comment on peut attribuer des actions différentes à chaque appuie sur la même touche d’une télécommande sous Jeedom.

Par exemple comment informer  à chaque appuie « On » de ma télécommande de changer la couleur de la lumière du salon ?

En règle générale sous jeedom , un clic est égale à une action  ou une série d’actions, par exemple lorsque je clic sur le bouton « On » de ma télécommande cela envoie par exemple le code 20 à jeedom , et il suffit que dans mon scénario je lui dise pour chaque code = 20 tu allume la lumière du salon et tu changes la lumière en bleue.

J’aimerai qu’a chaque appuie sur la commande « On » , on boucle sur une couleur différente.

Pour cela on va passer par l’instruction Code , dans les scénario Jeedom.

Au préalable , on crée deux variables :

  • Variable cpt , qui servira de compteur entre chaque clic
  • variable Color , qui contiendra le code de la couleur à appliquer.

 

 

 

Le script en détail :

// Initialisation variable Couleur 
$Couleur = array("#5bff38", "#1e11ff", "#ff1a13","#fffc11","#ff9513","#1e11ff","#fffcfe");
// on récupère la valeur de la variable CPT en cours
$cpt=$scenario->getData("Cpt");
// on affecte la couleur en fonction de la valeur CPT
$scenario->setData("Color", $Couleur[$cpt]);
// on boucle tant que l'on a pas parcouru l'intégralité du tableau
if (($cpt+1) < count($Couleur)) {
$cpt++;
}
else $cpt=0;
// on sauvegarde la variable CPT en cours
$scenario->setData("Cpt", $cpt);

Il suffit ensuite d’ajouter les actions nécessaires , dans la suite du scénario .Par exemple :

  • Allumer la lumière
  • Mettre la bonne couleur
  • régler l’intensité.