Page 1 sur 1

[débutant] script yeelight

Publié : 26 juil. 2018, 14:22
par le belge
Bonjour à tous ,

je reprends un peu mon installation actuelle :

pour résumer:
trois interrupteurs double chacon
1 pour Mme
1 pour Moi
1 à l'entrée de la chambre

un ruban yeelight (tête de lit)=>bouton gauche interrupteur
un ventilateur de plafond =>bouton droit interrupteur
du coup nous n'avons plus de lampe en plafonnier uniquement le ruban en tête de lit

pour l'instant , on peut allumer ou éteindre les deux des 3 interrupteurs

le truc qui m’embête c'est Mme adore le rose du coup elle voulait avoir cette couleur sur le ruban , moi ça ne me plaît pas !

alors la question , est-ce qu'il serait possible :
d'avoir dans des plages horaires du blanc et le reste du temps du rose

je ne demande pas un script tout fait ... juste des infos pour la base du script ....

Merci à vous

[edit] voila ce que je viens de faire ...
par contre , le mieux pour gérer les différentes couleurs , c'est de suivre le tuto suivant : http://domo-attitude.fr/yeelight-domoticz-scene/

ou je crée une nouvelle scéne pour avoir le rose et le blanc ???

Code : Tout sélectionner

 
 
 
Seuil_Heure="21:30:30"
 
 
commandArray = {}
 if (devicechanged['inter chambre led'])then
     Heure_Actuelle=os.date("%X")
     print (Heure_Actuelle)
     if Heure_Actuelle > Seuil_Heure then
         print ("couleur Rose")
         commandArray['Scene:Led tête de lit']='On'
    end
 end
return commandArray

Re: [débutant] script yeelight

Publié : 26 juil. 2018, 14:31
par landaisbenj
le belge a écrit :par contre , le mieux pour gérer les différentes couleurs , c'est de suivre le tuto suivant : http://domo-attitude.fr/yeelight-domoticz-scene/

ou je crée une nouvelle scéne pour avoir le rose et le blanc ???
Je ne crois pas qu'il s'agisse d'une scene dans ce tuto. Normalement tu as un device avec la yeelight, et un interrupteur selecteur virtuel.

Donc, par deduction, cette partie de ton code:

Code : Tout sélectionner

[quote="le belge"]         commandArray['Scene:Led tête de lit']='On'[/quote]
Ne doit surement pas fonctionner (a moins qu'il ne s'agisse d'une scene que je ne connais pas).

Pour activer la lampe en rose, tu n'as qu'a le demander au device et non pas au virtuel.

Avant, peut tu me dire comment tu as fait pour que tes boutons allume les leds ?

Re: [débutant] script yeelight

Publié : 26 juil. 2018, 14:57
par le belge
ok ,ok ...
pour l'instant ça fonctionne et je passe par un viruel ...
par contre je n'ai que le rose

en faite j'ai créé un scénario en suivant les conseils de Mister Deennoo :
deennoo a écrit :
le belge a écrit :
lamouette a écrit :Salut,

Si tu as du Xiaomi chez toi, un smartlight strip, deux inter zigbee et hop :D
merci beaucoup , je pense que tu as trouvé la solution ...
par contre si j'ai bien compris , pas besoin de gateway , je me connecte à mon wifi directement ????

Mike
ah bah si les inter zigbee xiaomi on besoin de la passerelle : http://domo-attitude.fr/linter-double-x ... -domoticz/ e en plus il faut etre en beta (pas conseillé pour le WAF)


Voici ma configuration "tete de lit"
- Un ruban de led yeelight monté sur un cadre en liteau inferieur de 5cm a toute les cotes de la tete de lit (celui de l'article)
- Deux inters 433mhz Chacon : https://www.leroymerlin.fr/v3/p/produit ... 0wodbJcA2A
- Rflink ou RFxtrxe

L'idée :

L'Inter de droite coté MR allume ou eteind le groupe du ruban
L'inter de gauche coté MME allume ou eteind le ruban
L'inter de gauche coté Mr allume ou eteind le ventilateur
L'inter de Droite coté MME allume ou eteind le ventilateur

Pour le ruban :
il ce connecte directement en Wifi : oui
- Dans domoticz il faut crée un groupe (onglet scene) avec le ruban sa couleur et son intensitée)


Ensuite au choix, j'ai une solution hyper efficace : plutot que de regarder si on appuie sur On ou Off de chaque inter, on verifie juste si l'interchange d'etat, et l'etat de l'appareil a commander :

Pour le ventilateur :
Si interdroite coté monsieur change (on ou off on s'en fiche) alors Inverse l'etat du ventilateur
ce qui donne

Code : Tout sélectionner

if devicechanged['interdroitemr'] then
Commandarray['ventilateur']='Toggle'
end
Pour le ruban :

si inter gauche monsieur change d'état (on ou off on s'en fiche) et que ruban est different de On (un appareil rgb n'apparait pas en On dans les LUA) alors Inverse l'etat du groupe ruban de led

Code : Tout sélectionner

if devicechanged['intergauchemr'] and otherdevices['ruban']~='On' then --attention au ~  altgr + 2 puis espace pour le faire
Commandarray['groupe:ruban']='Off'
elseif devicechanged['intergauchemr'] and otherdevices['ruban']=='Off' then
Commandarray['groupe:ruban']='On'
end
Si tu veux garder le on/off de chaque inter :
devicechanged['intergauchemr']=='On' ou Off

Enfin ce qui est cool avec cet inter et le fait regarder l'etat de l'appareil a piloter c'est qu'il peut etre utiliser pour 4 appareils ou scenes/groupe differents

Voici le script que j'utilise pour une telecommande DIO a 3 lignes, elle est dedié quand on est dans le jardin :

Code : Tout sélectionner

commandArray = {}
--ligne 1
--On = eclairage terrasse
if devicechanged['$tel dio 1']=='On' then
    commandArray['Eclairage Terrasse']='Toggle'
        
--Off = store
elseif devicechanged['$tel dio 1']=='Off' and otherdevices['Etat Store'] == 'Off' then
    commandArray['Store Auto']='On'
    commandArray['Store Terrasse']='On'

elseif devicechanged['$tel dio 1']=='Off' and otherdevices['Etat Store'] == 'On' then
    commandArray['Store Auto']='Off'
    commandArray['Store Terrasse']='Off'
    
    
-- ligne 2 piscine
--On = filtration
   elseif devicechanged['$tel dio 2']=='On' then
    commandArray['Filtre Piscine']='Toggle'
    
   elseif devicechanged['$tel dio 2']=='Off' then
    commandArray['Lumiere Piscine']='Toggle'
   
   
--Ligne 3
-- On = Ouverture portail
elseif devicechanged['$tel dio 3']=='On' then
    commandArray['Ouverture Portail']='On'
    
--eclairage exterieur
-- Off
elseif (devicechanged['$tel dio 3']=='Off' or devicechanged['Inter porte terrasse']=='Switch 2') and otherdevices['Lum ext auto']=='On' then -- ici je glisse un inter xiaomi double bouton a batterie
    commandArray['Eclairage Terrasse']='On'
    commandArray['Lumiere Porche']='On'
    commandArray['Eclairage Exterieur']='On'
    commandArray['Lum ext auto']='Off'
    
  -- Off 
    elseif (devicechanged['$tel dio 3']=='Off' or devicechanged['Inter porte terrasse']=='Switch 2') and otherdevices['Lum ext auto']=='Off' then
   
    commandArray['Eclairage Terrasse']='Off'
    commandArray['Lumiere Porche']='Off'
    commandArray['Eclairage Exterieur']='Off'
    commandArray['Lum ext auto']='On'
    


end

return commandArray
Au boulot
d'ailleurs je pense que je vais tous reprendre à zéro !!!!

sinon inter double chacon (leroy merlin)

Re: [débutant] script yeelight

Publié : 26 juil. 2018, 16:28
par landaisbenj
Ah oui d'accord.

C'est encore une fois une des chances du lua, tu peux faire énormément de façon différente...

Tu peux créer une scène, ou un interrupteur sélecteur, ou travailler avec le device en lui même. Tout ça ne depend que de comment toi tu vois les choses. Par exemple moi je n'irai pas créer une scène pour une simple couleur. Je préférerai, gérer le device avec la couleur que je veux directement dans le code. Ou alors dans le cas de plusieur couleur les gérer sur un sélecteur (avec un code lua a part).

Le ruban à bien un état On. Mais il n'est pas le seul état. Un device RGB à trois état: On, Off, et le dernier qui prend plusieur forma qui correspond à un état allumé mais pas par defaut lol. Tu peux aussi considérer qu'il a deux etat: un Off et un non Off...

En tout les cas, il faut que tu sache ce que tu as, et ce que tu veux. Si j'ai bien compris tu as un device rgb, et tu veux (pour le moment) allumer en blanc, allumer en rose ou éteindre. Donc ça ne fait ici que trois état ça tombe pile poil sur ce que le device peut te fournir.

Du coup ton code est largement suffisant. Et tu peux surement retirer la scene. Par contre tu dois ajouter le blanc. (Encore une fois je ne sais pas comment tes boutons allume la led en blanc, j'espere que ce n'est pas avec une scene lol)

Ton code dit ca:
Si 'inter chambre led' change d'etat alors
je met l'heure en variable
si cette variable est superieur a 21h30 alors
j'active la scene rose (si j'ai bien compris l'utilité de la scene)
fin
fin
moi je dirais ca
Si 'inter chambre led' change d'etat alors
je met l'heure en variable
si le ruban egale a OFF et que cette variable est inferieur a 21h30 alors
j'allume en blanc -- (commandArray['ruban']=='On' )
sinon si le ruban egale a OFF et que cette variable est superieur a 21h30 alors
j'allume en rose -- (je l'ai de noté quelque part j'essaierai de la retrouver si tu ne la trouve pas)

sinon
j'eteins le ruban
fin
fin
Tu pourrais aussi pousser plus loin pour switcher quand tu veux entre le blanc et le rose sans notion d'horaire.

[EDIT] En fait je n'ai pas de lua pour la couleur. Il faut soit passer par le json soit par l'os et l'api yeelight