Aller au contenu

Shad

Recommended Posts

Phil,

 

Les problèmes de performance et donc d'optimisation sont différents d'un langage à  l'autre, tout va dépendre principalement du compilateur ;)  et ce qui est vrai pour LUA 5.1 ne le sera peut-être pas avec LUA 6.xx

 

Dans le cas présent difficile de dire si le "elseif" est pénalisant car trop peu de condition à  évaluer et tant qu'il n'y aura pas de "switch ... case" c'est la meilleure solution pour la lisibilité du code.

 

Tant qu'a faire pour la lisibilité  je modifierais ceci

local salon = 94;
local chambre = 62;
local Minimotesalon  = fibaro:getValue(salon, "sceneActivation")
local Minimotechambre  = fibaro:getValue(chambre, "sceneActivation")

:)

Lien vers le commentaire
Partager sur d’autres sites

  • 1 year later...

Bon il faut que je me rende à  l'évidence, je fais un gros blocage sur le language de programmation. Cela n'a jamais été ma spécialité, mais je ne chope pas sa logique, y a t'il un truc pour les nuls.

cela fait trois mois que j'essaye de faire fonctionné ma minimote en vain

je veux juste faire des scene type salon ciné...

mais comprend pas et arrive pas........

 

 

Lien vers le commentaire
Partager sur d’autres sites

  • 4 months later...

Pour reprendre le code un peu plus haut du sujet, j'ai ce code (4 minimotes en une scène):

--[[
%% properties
184 sceneActivation
245 sceneActivation
248 sceneActivation
255 sceneActivation
%% globals
--]]


-- Id des MINIMOTES
local TelcoMarie = 184;
local TelcoMael = 245;
local TelcoParents = 248;
local TelcoEntree = 255;
-- Id des LUMIERES des chambres
local LightMarie = 138;
local LightMael = 143;
local LightParents = 130;
local LightEntree = 34;
-- Id des VD HUE
local VdHueMarie = 240;
local VdHueMael = 246;
local VdHueParents = 249;
local VdHueEntree = 256;
-- Etat des LUMIERES
local EtatLightMarie = fibaro:getValue(LightMarie, "value");
local EtatLightMael = fibaro:getValue(LightMael, "value");
local EtatLightParents = fibaro:getValue(LightParents, "value");
local EtatLightEntree = fibaro:getValue(LightEntree, "value");

-- Id des SCENES
local NumSceneMarie = fibaro:getValue(TelcoMarie, "sceneActivation")
local NumSceneMael = fibaro:getValue(TelcoMael, "sceneActivation")
local NumSceneParents = fibaro:getValue(TelcoParents, "sceneActivation")
local NumSceneEntree = fibaro:getValue(TelcoEntree, "sceneActivation")


-- Choix de la télécommande MINIMOTE MARIE
local startSource = fibaro:getSourceTrigger();
if (startSource['type']=='property') then
  if (startSource['deviceID']==tostring(TelcoMarie)) then
    fibaro:debug("Numéro telco Chambre Marie: " ..NumSceneMarie)

---------------------------------------
-- DEBUT CODE MINIMOTE CHAMBRE MARIE --
---------------------------------------
  if (tonumber(NumSceneMarie) == 1) then
      local IntensiteMarie= 50
         -- si égal à  0 (lumière éteinte) alors on allume
      if (EtatLightMarie == "0") then
          fibaro:call(LightMarie, "turnOn")
          fibaro:debug("On Allume la lumière de Marie!")
          
      else
          -- dans le cas contraire (lumière allumée) on éteint
          fibaro:call(LightMarie, "turnOff")
          fibaro:debug("On éteint la lumière de Marie")
          fibaro:debug("Minimote Marie bouton 2 appuyé")
      end
 
  elseif (tonumber(NumSceneMarie) == 2) then
 
         -- si égal à  50  
      if  IntensiteMarie == 50 then
          fibaro:call(VdHueMarie, "setSlider", "3", "50")
          fibaro:debug("On allume à  50% la lumière de Marie!")
      else
        -- dans le cas contraire 25
          fibaro:call(VdHueMarie, "setSlider", "3", "25")
          fibaro:debug("On allume à  25% la lumière de Marie")
          fibaro:debug("Minimote Marie bouton 2 appuyé")
      end
            
 
  elseif (tonumber(NumSceneMarie) == 3) then
  fibaro:call(VdHueMarie, "pressButton", "12") -- rouge
  fibaro:debug("Minimote Marie bouton 3 appuyé")
    
  elseif (tonumber(NumSceneMarie) == 4) then
  fibaro:call(VdHueMarie, "pressButton", "13") -- orange
  fibaro:debug("Minimote Marie bouton 4 appuyé")
 
  elseif (tonumber(NumSceneMarie) == 5) then
  fibaro:call(VdHueMarie, "pressButton", "16") -- ciel
  fibaro:debug("Minimote Marie bouton 5 appuyé")
 
  elseif (tonumber(NumSceneMarie) == 6) then
  fibaro:call(VdHueMarie, "pressButton", "17") -- bleu
  fibaro:debug("Minimote Marie bouton 6 appuyé")
 
  elseif (tonumber(NumSceneMarie) == 7) then
  fibaro:call(VdHueMarie, "pressButton", "18") -- violet
  fibaro:debug("Minimote Marie bouton 7 appuyé")
 
  elseif (tonumber(NumSceneMarie) == 8) then
  fibaro:call(VdHueMarie, "pressButton", "19") -- rose
  fibaro:debug("Minimote Marie bouton 8 appuyé")
 
 end
---------------------------------------
-- FIN CODE MINIMOTE CHAMBRE MARIE --
---------------------------------------


-- Choix de la télécommande MINIMOTE MAEL
  elseif (startSource['deviceID']==tostring(TelcoMael)) then
    fibaro:debug("Numéro telco Chambre Maà«l: " ..NumSceneMael)



---------------------------------------
-- DEBUT CODE MINIMOTE CHAMBRE MAEL --
---------------------------------------

if (tonumber(NumSceneMael) == 1) then

local IntensiteMael = 50

      -- si égal à  0 (lumière éteinte) alors on allume
      if (EtatLightMael == "0") then
          fibaro:call(LightMael, "turnOn")
          fibaro:debug("On Allume la lumière de Maà«l!")
          
      else
      -- dans le cas contraire (lumière allumée) on éteint
          fibaro:call(LightMael, "turnOff")
          fibaro:debug("On éteint la lumière de Maà«l")
          fibaro:debug("Minimote Maà«l bouton 1 appuyé")
      end
    
elseif (tonumber(NumSceneMael) == 2) then
 
          -- si égal à  50  
      if  IntensiteMael == 50 then
          fibaro:call(VdHueMael, "setSlider", "3", "50")
          fibaro:debug("On allume à  50% la lumière de Maà«l!")
          fibaro:debug("Minimote Maà«l bouton 2 appuyé")
      else
          -- dans le cas contraire 25
          fibaro:call(VdHueMael, "setSlider", "3", "25")
          fibaro:debug("On allume à  25% la lumière de Maà«l")
          fibaro:debug("Minimote Maà«l bouton 2 appuyé")
       end
    
elseif (tonumber(NumSceneMael) == 3) then
  fibaro:call(VdHueMael, "pressButton", "12") -- rouge
  fibaro:debug("Minimote Maà«l bouton 3 appuyé")
    
elseif (tonumber(NumSceneMael) == 4) then
  fibaro:call(VdHueMael, "pressButton", "13") -- orange
  fibaro:debug("Minimote Maà«l bouton 4 appuyé")
 
elseif (tonumber(NumSceneMael) == 5) then
  fibaro:call(VdHueMael, "pressButton", "16") -- ciel
  fibaro:debug("Minimote Maà«l bouton 5 appuyé")
 
elseif (tonumber(NumSceneMael) == 6) then
  fibaro:call(VdHueMael, "pressButton", "17") -- bleu
  fibaro:debug("Minimote Maà«l bouton 6 appuyé")
 
elseif (tonumber(NumSceneMael) == 7) then
  fibaro:call(VdHueMael, "pressButton", "18") -- violet
  fibaro:debug("Minimote Maà«l bouton 7 appuyé")
 
elseif (tonumber(NumSceneMael) == 8) then
  fibaro:call(VdHueMael, "pressButton", "19") -- rose
  fibaro:debug("Minimote Maà«l bouton 8 appuyé")
 
end
---------------------------------------
-- FIN CODE MINIMOTE CHAMBRE MAEL --
---------------------------------------

-- Choix de la télécommande MINIMOTE PARENTS
  elseif (startSource['deviceID']==tostring(TelcoParents)) then
    fibaro:debug("Numéro telco Chambre Parents: " ..NumSceneParents)


---------------------------------------------
-- DEBUT CODE MINIMOTE CHAMBRE DES PARENTS --
---------------------------------------------

if (tonumber(NumSceneParents) == 1) then

local IntensiteParents = 50

          -- si égal à  0 (lumière éteinte) alors on allume
      if (EtatLightParents == "0") then
          fibaro:call(LightParents, "turnOn")
          fibaro:debug("On Allume la lumière de la chambre des Parents!")
          fibaro:debug("Minimote Parents bouton 1 appuyé")
      else
          -- dans le cas contraire (lumière allumée) on éteint
          fibaro:call(LightParents, "turnOff")
          fibaro:debug("On éteint la lumière de la chambre des parents")
          fibaro:debug("Minimote Parents bouton 1 appuyé")
      end
    
elseif (tonumber(NumSceneParents) == 2) then
 
  -- si égal à  50  
      if IntensiteParents == 50 then
          fibaro:call(VdHueParents, "setSlider", "3", "50")
          fibaro:debug("On allume à  50% la lumière de la chambre des parents!")
          fibaro:debug("Minimote Parents bouton 2 appuyé")
      else
      -- dans le cas contraire 25
          fibaro:call(VdHueParents, "setSlider", "3", "25")
          fibaro:debug("On allume à  25% la lumière de la chambre des parents")
          fibaro:debug("Minimote Parents bouton 2 appuyé")
      end
 
elseif (tonumber(NumSceneParents) == 3) then
  fibaro:call(VdHueParents, "pressButton", "12") -- rouge
  fibaro:debug("Minimote Maà«l bouton 3 appuyé")
    
elseif (tonumber(NumSceneParents) == 4) then
  fibaro:call(VdHueParents, "pressButton", "13") -- orange
  fibaro:debug("Minimote Parents bouton 4 appuyé")
 
elseif (tonumber(NumSceneParents) == 5) then
  fibaro:call(VdHueParents, "pressButton", "16") -- ciel
  fibaro:debug("Minimote Parents bouton 5 appuyé")
 
elseif (tonumber(NumSceneParents) == 6) then
  fibaro:call(VdHueParents, "pressButton", "17") -- bleu
  fibaro:debug("Minimote Parents bouton 6 appuyé")
 
elseif (tonumber(NumSceneParents) == 7) then
  fibaro:call(VdHueParents, "pressButton", "18") -- violet
  fibaro:debug("Minimote Parents bouton 7 appuyé")
 
elseif (tonumber(NumSceneParents) == 8) then
  fibaro:call(VdHueParents, "pressButton", "19") -- rose
  fibaro:debug("Minimote Parents bouton 8 appuyé")
 
end

-------------------------------------------
-- FIN CODE MINIMOTE CHAMBRE DES PARENTS --
-------------------------------------------


-- Choix de la télécommande MINIMOTE ENTREE    
  elseif (startSource['deviceID']==tostring(TelcoEntree)) then
    fibaro:debug("Numéro telco Entree: " ..NumSceneEntree)

--------------------------------
-- DEBUT CODE MINIMOTE ENTREE --
--------------------------------

local VoletsTous = {16, 18, 20, 22, 24, 26};
local VoletsRDC = {22, 24, 26};
local VoletsJardin = {18, 20, 22, 24, 26}; --tous sauf chambre parents
local LumieresToutes = {32, 28, 237, 138, 143, 130, 34, 194, 19, 36};
local LumieresRDC = {32, 28, 34};
local VoletMarie = 18;
local VoletMael = 20;
local LumiereMarie = 138;
local LumiereMael = 143;
local VdMarie = 240;
local VdMael = 246;

if (tonumber(NumSceneEntree) == 1) then
       for i = 1, #LumieresToutes do
       fibaro:call(LumieresToutes[i], "turnOff")
       fibaro:debug("On éteint toutes les lumières de la maison")
       fibaro:debug("MiniMote Entree: bouton 1 appuyé")
       end
    
elseif (tonumber(NumSceneEntree) == 2) then
       for j = 1, #VoletsTous do
       fibaro:call(VoletsTous[j], "turnOff")
       fibaro:debug("On ferme tous les volets")
       fibaro:debug("MiniMote Entree: bouton 2 appuyé")
       end
 
elseif (tonumber(NumSceneEntree) == 3) then
       fibaro:debug("MiniMote button 3 appuyé: DEBUT ALERTE")
       fibaro:call(LumiereMarie, "turnOn")
       fibaro:call(LumiereMael, "turnOn")
       fibaro:call(VoletMarie, "close")
       fibaro:call(VoletMael, "close")       
       fibaro:sleep(2000)
       fibaro:call(VdMarie, "pressButton", "12")
       fibaro:call(VdMael, "pressButton", "12")
       fibaro:call(VdMarie, "pressButton", "8")  
       fibaro:call(VdMael, "pressButton", "8")
       fibaro:sleep(29000)
       fibaro:call(LumiereMarie, "turnOff")
       fibaro:call(LumiereMael, "turnOff")
       fibaro:debug("MiniMote Entree: bouton 3 - FIN ALERTE ")
 
elseif (tonumber(NumSceneEntree) == 4) then
       fibaro:call(LumiereMarie, "turnOff")
       fibaro:call(LumiereMael, "turnOff")
       fibaro:debug("MiniMote Entree: bouton 4 appuyé: lumières enfants éteintes")
 

elseif (tonumber(NumSceneEntree) == 5) then
       for m = 1, #VoletsRDC do
       fibaro:call(VoletsRDC[m], "close") --fermeture volets RDC
       fibaro:debug("MiniMote Entree: bouton 5 appuyé: FERMETURE volets RDC")
       end

elseif (tonumber(NumSceneEntree) == 6) then
       for n = 1, #VoletsRDC do
       fibaro:call(VoletsRDC[n], "stop")
       fibaro:debug("MiniMote Entree: bouton 6 appuyé: STOP fermeture")
       end

elseif (tonumber(NumSceneEntree) == 7) then
       for o = 1, #VoletsRDC do
       fibaro:call(VoletsRDC[o], "open")
       fibaro:debug("MiniMote Entree: bouton 7 appuyé: OUVERURE volets RDC")
       end

elseif (tonumber(NumSceneEntree) == 8) then
       for p = 1, #VoletsRDC do
       fibaro:call(VoletsRDC[p], "stop")
       fibaro:debug("MiniMote Entree: bouton 8 appuyé: STOP ouverture")
       end
 

end

------------------------------
-- FIN CODE MINIMOTE ENTREE --
------------------------------


  end
end








Au départ, j'ai une scène par Minimote. Chaque scène marche sans soucis.

J'ai repris le code : une scène au lieu de 4 ...

Les 3 minimotes 'chambres' pilotent chacune une ampoule Hue. Ainsi, un VD Hue par minimote.

Pour la quatrième minimote, elle a une scène distincte.

 

En testant ce soir: aucune erreur dans le DEBUG, ni d'action ???

 

Qui aurait une idée ? Merci de vos retours ;)

Lien vers le commentaire
Partager sur d’autres sites

  • 3 weeks later...

Je me pose des questions sur les lignes 34 à37.

Dans la mesure ou une seule telco est actionnée, que revoient les autres ?

Ne faut-il pas mettre chacne de ses lignes dans le bloc concerné ?

if (startSource['deviceID']==tostring(TelcoMarie)) then
local NumSceneMarie = fibaro:getValue(TelcoMarie, "sceneActivation);
Mon sentiment est que le système reste en attente d'une action sur les telcos.
Lien vers le commentaire
Partager sur d’autres sites

suivant ton premier conseil (debug ligne 39 et print ligne 43):

 

[ERROR] line 39: attempt to concatenate global 'sceneActivation' (a nil value)

 

 

Et si je passe la ligne 39 en commentaire:

[ERROR] line 43: attempt to concatenate local 'startSource' (a table value)

Lien vers le commentaire
Partager sur d’autres sites

Tes scènes fonctionnait séparé en V4?

Parceque avec la v4 maintenant j'ai des tostring qui me dérange.

 

Essaye d'enlever ces tostring, car depuis la V4 il y a plein d'endroit ou il faut plus en mettre.

 

Edit: je dis une connerie.

Déjà  ces locals sont mal placé, car n'importe quel télécommande tu utlises, la HC2 va tous charger.

Mais les par rapport à  leur télécommande.

  • -- Etat des LUMIERES
  • local EtatLightMarie = fibaro:getValue(LightMarie, "value");
  • local EtatLightMael = fibaro:getValue(LightMael, "value");
  • local EtatLightParents = fibaro:getValue(LightParents, "value");
  • local EtatLightEntree = fibaro:getValue(LightEntree, "value");
  •  
  • -- Id des SCENES
  • local NumSceneMarie = fibaro:getValue(TelcoMarie, "sceneActivation")
  • local NumSceneMael = fibaro:getValue(TelcoMael, "sceneActivation")
  • local NumSceneParents = fibaro:getValue(TelcoParents, "sceneActivation")
  • local NumSceneEntree = fibaro:getValue(TelcoEntree, "sceneActivation")
Lien vers le commentaire
Partager sur d’autres sites

Avec ce nouveau code:

--[[
%% properties
184 sceneActivation
245 sceneActivation
248 sceneActivation
255 sceneActivation
%% globals
--]]

-- Id des MINIMOTES
local TelcoMarie = 184;
local TelcoMael = 245;
local TelcoParents = 248;
local TelcoEntree = 255;
-- Id des LUMIERES des chambres
local LightMarie = 138;
local LightMael = 143;
local LightParents = 130;
local LightEntree = 34;
-- Id des VD HUE
local VdHueMarie = 240;
local VdHueMael = 246;
local VdHueParents = 249;
local VdHueEntree = 256;


--fibaro:debug("scène lancée:" ..sceneActivation)
-- Choix de la télécommande MINIMOTE
local startSource = fibaro:getSourceTrigger();
if (startSource['type']=='property') then
   print('Valeur startSource:' ..startSource["type"])
  if     (startSource['deviceID']==tostring(TelcoMarie)) then
         fibaro:debug("Numéro telco Chambre Marie: " ..NumSceneMarie)
  elseif (startSource['deviceID']==tostring(TelcoMael)) then
         fibaro:debug("Numéro telco Chambre Maà«l: " ..NumSceneMael)
  elseif (startSource['deviceID']==tostring(TelcoParents)) then
          fibaro:debug("Numéro telco Chambre Parents: " ..NumSceneParents) 
  elseif (startSource['deviceID']==tostring(TelcoEntree)) then
         fibaro:debug("Numéro telco Entree: " ..NumSceneEntree) 
   end 
  end  
    
    
---------------------------------------
-- DEBUT CODE MINIMOTE CHAMBRE MARIE --
---------------------------------------
local EtatLightMarie = fibaro:getValue(LightMarie, "value");
local NumSceneMarie = fibaro:getValue(TelcoMarie, "sceneActivation")
    
    if (tonumber(NumSceneMarie) == 1) then
      local IntensiteMarie= 50
         -- si égal à  0 (lumière éteinte) alors on allume 
      if (EtatLightMarie == "0") then
          fibaro:call(LightMarie, "turnOn") 
          fibaro:debug("On Allume la lumière de Marie!")
          
      else
          -- dans le cas contraire (lumière allumée) on éteint
          fibaro:call(LightMarie, "turnOff")
          fibaro:debug("On éteint la lumière de Marie")
          fibaro:debug("Minimote Marie bouton 2 appuyé")
      end
  
  elseif (tonumber(NumSceneMarie) == 2) then
  
         -- si égal à  50  
      if  IntensiteMarie == 50 then
          fibaro:call(VdHueMarie, "setSlider", "3", "50") 
          fibaro:debug("On allume à  50% la lumière de Marie!")
      else
        -- dans le cas contraire 25
          fibaro:call(VdHueMarie, "setSlider", "3", "25") 
          fibaro:debug("On allume à  25% la lumière de Marie")
          fibaro:debug("Minimote Marie bouton 2 appuyé")
	  end
            
  
  elseif (tonumber(NumSceneMarie) == 3) then
  fibaro:call(VdHueMarie, "pressButton", "12") -- rouge
  fibaro:debug("Minimote Marie bouton 3 appuyé")
    
  elseif (tonumber(NumSceneMarie) == 4) then
  fibaro:call(VdHueMarie, "pressButton", "13") -- orange
  fibaro:debug("Minimote Marie bouton 4 appuyé")
  
  elseif (tonumber(NumSceneMarie) == 5) then
  fibaro:call(VdHueMarie, "pressButton", "16") -- ciel
  fibaro:debug("Minimote Marie bouton 5 appuyé")
  
  elseif (tonumber(NumSceneMarie) == 6) then
  fibaro:call(VdHueMarie, "pressButton", "17") -- bleu
  fibaro:debug("Minimote Marie bouton 6 appuyé")
  
  elseif (tonumber(NumSceneMarie) == 7) then
  fibaro:call(VdHueMarie, "pressButton", "18") -- violet
  fibaro:debug("Minimote Marie bouton 7 appuyé")
  
  elseif (tonumber(NumSceneMarie) == 8) then
  fibaro:call(VdHueMarie, "pressButton", "19") -- rose
  fibaro:debug("Minimote Marie bouton 8 appuyé")
 
 end
---------------------------------------
-- FIN CODE MINIMOTE CHAMBRE MARIE --
---------------------------------------


---------------------------------------
-- DEBUT CODE MINIMOTE CHAMBRE MAEL --
---------------------------------------
local EtatLightMael = fibaro:getValue(LightMael, "value");
local NumSceneMael = fibaro:getValue(TelcoMael, "sceneActivation")
    
if (tonumber(NumSceneMael) == 1) then

local IntensiteMael = 50

      -- si égal à  0 (lumière éteinte) alors on allume 
      if (EtatLightMael == "0") then
          fibaro:call(LightMael, "turnOn") 
          fibaro:debug("On Allume la lumière de Maà«l!")
          
      else
      -- dans le cas contraire (lumière allumée) on éteint
          fibaro:call(LightMael, "turnOff")
          fibaro:debug("On éteint la lumière de Maà«l")
		  fibaro:debug("Minimote Maà«l bouton 1 appuyé")
      end
    
elseif (tonumber(NumSceneMael) == 2) then
  
          -- si égal à  50  
      if  IntensiteMael == 50 then
          fibaro:call(VdHueMael, "setSlider", "3", "50") 
          fibaro:debug("On allume à  50% la lumière de Maà«l!")
          fibaro:debug("Minimote Maà«l bouton 2 appuyé")
      else
          -- dans le cas contraire 25
          fibaro:call(VdHueMael, "setSlider", "3", "25") 
          fibaro:debug("On allume à  25% la lumière de Maà«l")
          fibaro:debug("Minimote Maà«l bouton 2 appuyé")
       end
    
elseif (tonumber(NumSceneMael) == 3) then
  fibaro:call(VdHueMael, "pressButton", "12") -- rouge
  fibaro:debug("Minimote Maà«l bouton 3 appuyé")
    
elseif (tonumber(NumSceneMael) == 4) then
  fibaro:call(VdHueMael, "pressButton", "13") -- orange
  fibaro:debug("Minimote Maà«l bouton 4 appuyé")
  
elseif (tonumber(NumSceneMael) == 5) then
  fibaro:call(VdHueMael, "pressButton", "16") -- ciel
  fibaro:debug("Minimote Maà«l bouton 5 appuyé")
  
elseif (tonumber(NumSceneMael) == 6) then
  fibaro:call(VdHueMael, "pressButton", "17") -- bleu
  fibaro:debug("Minimote Maà«l bouton 6 appuyé")
  
elseif (tonumber(NumSceneMael) == 7) then
  fibaro:call(VdHueMael, "pressButton", "18") -- violet
  fibaro:debug("Minimote Maà«l bouton 7 appuyé")
  
elseif (tonumber(NumSceneMael) == 8) then
  fibaro:call(VdHueMael, "pressButton", "19") -- rose
  fibaro:debug("Minimote Maà«l bouton 8 appuyé")
 
end
---------------------------------------
-- FIN CODE MINIMOTE CHAMBRE MAEL --
---------------------------------------
local EtatLightParents = fibaro:getValue(LightParents, "value");
local NumSceneParents = fibaro:getValue(TelcoParents, "sceneActivation")


---------------------------------------------
-- DEBUT CODE MINIMOTE CHAMBRE DES PARENTS --
---------------------------------------------

if (tonumber(NumSceneParents) == 1) then

local IntensiteParents = 50

          -- si égal à  0 (lumière éteinte) alors on allume 
      if (EtatLightParents == "0") then
          fibaro:call(LightParents, "turnOn") 
          fibaro:debug("On Allume la lumière de la chambre des Parents!")
		  fibaro:debug("Minimote Parents bouton 1 appuyé")
      else
          -- dans le cas contraire (lumière allumée) on éteint
          fibaro:call(LightParents, "turnOff")
          fibaro:debug("On éteint la lumière de la chambre des parents")
		  fibaro:debug("Minimote Parents bouton 1 appuyé")
      end
    
elseif (tonumber(NumSceneParents) == 2) then
  
  -- si égal à  50  
      if IntensiteParents == 50 then
          fibaro:call(VdHueParents, "setSlider", "3", "50") 
          fibaro:debug("On allume à  50% la lumière de la chambre des parents!")
          fibaro:debug("Minimote Parents bouton 2 appuyé")
      else
      -- dans le cas contraire 25
          fibaro:call(VdHueParents, "setSlider", "3", "25") 
          fibaro:debug("On allume à  25% la lumière de la chambre des parents")
		  fibaro:debug("Minimote Parents bouton 2 appuyé")
      end
  
elseif (tonumber(NumSceneParents) == 3) then
  fibaro:call(VdHueParents, "pressButton", "12") -- rouge
  fibaro:debug("Minimote Maà«l bouton 3 appuyé")
    
elseif (tonumber(NumSceneParents) == 4) then
  fibaro:call(VdHueParents, "pressButton", "13") -- orange
  fibaro:debug("Minimote Parents bouton 4 appuyé")
  
elseif (tonumber(NumSceneParents) == 5) then
  fibaro:call(VdHueParents, "pressButton", "16") -- ciel
  fibaro:debug("Minimote Parents bouton 5 appuyé")
  
elseif (tonumber(NumSceneParents) == 6) then
  fibaro:call(VdHueParents, "pressButton", "17") -- bleu
  fibaro:debug("Minimote Parents bouton 6 appuyé")
  
elseif (tonumber(NumSceneParents) == 7) then
  fibaro:call(VdHueParents, "pressButton", "18") -- violet
  fibaro:debug("Minimote Parents bouton 7 appuyé")
  
elseif (tonumber(NumSceneParents) == 8) then
  fibaro:call(VdHueParents, "pressButton", "19") -- rose
  fibaro:debug("Minimote Parents bouton 8 appuyé")
 
end

-------------------------------------------
-- FIN CODE MINIMOTE CHAMBRE DES PARENTS --
-------------------------------------------



--------------------------------
-- DEBUT CODE MINIMOTE ENTREE --
--------------------------------
local EtatLightEntree = fibaro:getValue(LightEntree, "value");
local NumSceneEntree = fibaro:getValue(TelcoEntree, "sceneActivation")

    
local VoletsTous = {16, 18, 20, 22, 24, 26};
local VoletsRDC = {22, 24, 26};
local VoletsJardin = {18, 20, 22, 24, 26}; --tous sauf chambre parents 
local LumieresToutes = {32, 28, 237, 138, 143, 130, 34, 194, 19, 36};
local LumieresRDC = {32, 28, 34};
local VoletMarie = 18;
local VoletMael = 20;
local LumiereMarie = 138;
local LumiereMael = 143;
local VdMarie = 240;
local VdMael = 246;

if (tonumber(NumSceneEntree) == 1) then
       for i = 1, #LumieresToutes do
       fibaro:call(LumieresToutes[i], "turnOff")
       fibaro:debug("On éteint toutes les lumières de la maison")
       fibaro:debug("MiniMote Entree: bouton 1 appuyé")
       end
    
elseif (tonumber(NumSceneEntree) == 2) then
       for j = 1, #VoletsTous do
       fibaro:call(VoletsTous[j], "turnOff")
       fibaro:debug("On ferme tous les volets")
       fibaro:debug("MiniMote Entree: bouton 2 appuyé")
       end
  
elseif (tonumber(NumSceneEntree) == 3) then 
       fibaro:debug("MiniMote button 3 appuyé: DEBUT ALERTE")
       fibaro:call(LumiereMarie, "turnOn")
       fibaro:call(LumiereMael, "turnOn")
       fibaro:call(VoletMarie, "close")
       fibaro:call(VoletMael, "close")	   
	   fibaro:sleep(2000)
	   fibaro:call(VdMarie, "pressButton", "12")
       fibaro:call(VdMael, "pressButton", "12")
       fibaro:call(VdMarie, "pressButton", "8")  
       fibaro:call(VdMael, "pressButton", "8")
       fibaro:sleep(29000)
       fibaro:call(LumiereMarie, "turnOff")
       fibaro:call(LumiereMael, "turnOff")
       fibaro:debug("MiniMote Entree: bouton 3 - FIN ALERTE ")
  
elseif (tonumber(NumSceneEntree) == 4) then
       fibaro:call(LumiereMarie, "turnOff")
       fibaro:call(LumiereMael, "turnOff")
       fibaro:debug("MiniMote Entree: bouton 4 appuyé: lumières enfants éteintes")
  

elseif (tonumber(NumSceneEntree) == 5) then
       for m = 1, #VoletsRDC do
       fibaro:call(VoletsRDC[m], "close") --fermeture volets RDC
       fibaro:debug("MiniMote Entree: bouton 5 appuyé: FERMETURE volets RDC")
       end

elseif (tonumber(NumSceneEntree) == 6) then
       for n = 1, #VoletsRDC do
       fibaro:call(VoletsRDC[n], "stop")
       fibaro:debug("MiniMote Entree: bouton 6 appuyé: STOP fermeture")
       end

elseif (tonumber(NumSceneEntree) == 7) then
       for o = 1, #VoletsRDC do
       fibaro:call(VoletsRDC[o], "open")
       fibaro:debug("MiniMote Entree: bouton 7 appuyé: OUVERURE volets RDC")
       end

elseif (tonumber(NumSceneEntree) == 8) then
       for p = 1, #VoletsRDC do
       fibaro:call(VoletsRDC[p], "stop")
       fibaro:debug("MiniMote Entree: bouton 8 appuyé: STOP ouverture")
       end
  

end

------------------------------
-- FIN CODE MINIMOTE ENTREE --
------------------------------

En appuyant sur le bouton 1 de la minimote 'parents' (n°3):

[DEBUG]: Valeur startSource: property        
[DEBUG]: On allume la lumière de Marie
[DEBUG]: On allume la lumière de Maà«l
[DEBUG]: On allume la lumière des parents
[DEBUG]: Minimote Parents bouton 1 appuyé
[DEBUG]: Minimote Entree: bouton 4 appuyé: lumières enfants éteintes

Lignes DEBUG 2, 5 et 6 ok ...les 1, 3 et 4 ???

 

Une idée ?

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...