Aujourd’hui on attaque un morceau un peu technique, que beaucoup attendent avec impatience, et que je vous avais promis il y a presque 1 an : Les effets pour les Ampoules Yeelight. Et bien oui notre Domoticz préféré, gère à moitié les ampoules Yeelight, ON/OFF, l’intensités, les couleurs, les plannings : OK, fastoche c’est inclus ! Mais il lui manque deux éléments importants : La gestion de la température du Blanc, pour ce faire une ambiance aux petits oignons, et quelques effets sympa comme la simulation d’aube, le crépuscule et le mode veilleuse, grâce à cet article vous les aurez ! (Les Damiens, Mathieux, Max, c’est pour vous ! ;-)) J’ai testé ce script avec : Une ampoule Yeelight RGBW Le ruban de Led Yeelight La lampe de chevet Mijia/ Yeelight v2 Certaines fonctions comme le Mode « Night » (veilleuse, aussi appeler Lune) fonctionne aussi avec : Les Plafonniers Yeelight et JIAOYUE La lampe de bureau Yeelight En gros presque tout le materiel Yeelight qui ce connecte en WIFI. Comme d’habitude, je n’ai rien inventé, j’ai juste pris le temps de lire, relire, testé, re-testé les commandes présentes dans l’API Yeelight  

La Commande

Pour commencer dans Domoticz, il vous faut créer un Dummy Selector avec différentes positions correspondantes aux différents noms de vos effets.    

Le Script

Puis direction les événements ou nous allons créer un script Device LUA qui va interagir avec notre matériel Yeelight   Nous allons y coller ce script :  
commandArray = {}
DomDevice = 'Yeelight Color Scenes';
IP = '11.22.33.44'; --Ici mettre l'adresse IP Fixe de votre Lampe/Ampoule
PORT = '55443'
 
if devicechanged[DomDevice]=='Off' then -- turn off
     runcommandoff = "sudo echo -ne '{\"id\":1,\"method\":\"set_power\", \"params\":[\"off\", \"smooth\", 500]}\\r\\n' | nc -w1 " ..IP.." " ..PORT.."";
     os.execute(runcommandoff);
     print(runcommandoff) 
     
     elseif devicechanged[DomDevice]=='Sunrise' then -- turn to sunrise from 0 to 100% on 15 minutes and keep bulb on
     runcommandsunrise = "sudo echo -ne '{\"id\":1,\"method\":\"set_scene\", \"params\":[\"cf\",3,1,\"50,1,16731136,1,360000,2,1700,10,540000,2,2700,100\"]}\\r\\n' | nc -w1 " ..IP.." " ..PORT.."";
     os.execute(runcommandsunrise);
     print(runcommandsunrise) 
     
    elseif devicechanged[DomDevice]=='SunSet' then -- turn to sunset from 100% to 0 on 15 minutes and turn bulb off
    runcommandsunset = "sudo echo -ne '{\"id\":1,\"method\":\"set_scene\", \"params\":[\"cf\",3,2,\"50,2,2700,10,180000,2,1700,5,420000,1,16731136,1\"]}\\r\\n' | nc -w1 " ..IP.." " ..PORT.."";
    os.execute(runcommandsunset);
    print(runcommandsunset) 
   
    elseif devicechanged[DomDevice]=='Veilleuse' then -- turn to Night Mode
    runcommandbaby = "sudo echo -ne '{\"id\":1,\"method\":\"set_power\", \"params\":[\"on\",\"smooth\", 500, 5]}\\r\\n' | nc -w1 " ..IP.." " ..PORT.."";
    os.execute(runcommandbaby);
    print(runcommandbaby)  --Ce pavé commande le mode veilleuse plus d'info page 12 de l'api yeelight
     
     
     
end
return commandArray
  Pour vous expliquer : Nous utilisons la commande LUA : os.execute, celle ci permet d’exécuer une commande directement depuis Domoticz comme ci vous étiez connecté en SSH, ensuite il n’y a plus qu’a lire l’api et la comprendre, enfin la traduire en LUA (soit mettre des \ devant les « )  

Pour aller plus vite

AAH bah oui mais avec ta technique l’ampoule s’allume tout de suite, elle est bien considérée comme allumée dans l’application Yeelight et Mi Home, mais elle ne l’est pas tout de suite dans Domoticz ! il aut attendre 5 minutes, du coup mon script qui va lier mon bouton a l’ampoule il ne marche pas très bien si je suis atteins d’une cliquitte Je ne vais pas vous mâcher tout le boulot non plus 😉 Par contre je vais vous aider : dans les scripts LUA de Domoticz il y a la commande :
commandArray['UpdateDevice'] = 'xx|yy|zz'
Ou :
  • xx = Le numéro IDX de votre matériel,
  • yy = Son état (1 ou 0)
  • zz = Sa Valeur si c’est un machin qui peut avoir une valeur ( Numéraire ou Littéraire) sinon 0
  Elle permet de mettre a jour l’état d’un appareil sans réellement changer son état, l’action est quasiment immédiate, je vous laisse chercher ou la mettre, promis c’est facile. Au cas ou il y a les commentaires pour avoir des corrections Enjoy !  

Laisser un commentaire