Aller au contenu

Messages recommandés

Posté(e)

Bonjour,
 
Je cherche en lua a déclencher une action par défaut (un then) si aucunes des conditions des elseif précédent n'est rempli.
Le but est de changer l'icône d'un module virtuel de gestion de mes volets roulants : ces volets Bubendorf sont piloter par une IPX400. J'ai donc  dans ma HC2 4 variables correspondant à  l'état de mes 4 groupes de volets (ouvert, fermé, persienne).

 

Le dernier elseif que je dois ajouter donc donc être sans condition non ? 
Que dois-je mettre ? ou avez vous une autre condition pour afficher un icône si aucun des 3 conditions précédentes n'est valide ?

 

Merci de votre aide.

Arnaud
 

-- Changements automatique de l'icône du module
if (( fibaro:getGlobalValue("VRChambresEnfants") == "Fermé" ) 
    and (fibaro:getGlobalValue("VRChambreParents") == "Fermé" ) 
    and (fibaro:getGlobalValue("VRSalon") == "Fermé" ) 
    and ( fibaro:getGlobalValue("VRSejour") == "Fermé" ))
then 
fibaro:debug("tout est fermé")
fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 1015)
elseif (( fibaro:getGlobalValue("VRChambresEnfants") == "Ouvert" ) 
   		and ( fibaro:getGlobalValue("VRChambreParents") == "Ouvert" ) 
   		and (fibaro:getGlobalValue("VRSalon") == "Ouvert" ) 
   		and ( fibaro:getGlobalValue("VRSejour") == "Ouvert" ))
then 
fibaro:debug("tout est ouvert")
fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 1012)

elseif (( fibaro:getGlobalValue("VRChambresEnfants") == "Persienne" ) 
   		and ( fibaro:getGlobalValue("VRChambreParents") == "Persienne" ) 
    	and (fibaro:getGlobalValue("VRSalon") == "Persienne" ) 
    	and ( fibaro:getGlobalValue("VRSejour") == "Persienne" ))
then 
fibaro:debug("tout est en persienne")
fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 1014)
end 
Posté(e)

Peut être que j'ai mal compris mais c'est probablement "else" que tu cherches

Envoyé de mon SM-G901F en utilisant Tapatalk

Posté(e)

ah oui je pense que c'est ce qu'il cherche ;-)

 

comme ceci

-- Changements automatique de l'icône du module
if (( fibaro:getGlobalValue("VRChambresEnfants") == "Fermé" )
    and (fibaro:getGlobalValue("VRChambreParents") == "Fermé" )
    and (fibaro:getGlobalValue("VRSalon") == "Fermé" )
    and ( fibaro:getGlobalValue("VRSejour") == "Fermé" ))
then
fibaro:debug("tout est fermé")
fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 1015)
elseif (( fibaro:getGlobalValue("VRChambresEnfants") == "Ouvert" )
           and ( fibaro:getGlobalValue("VRChambreParents") == "Ouvert" )
           and (fibaro:getGlobalValue("VRSalon") == "Ouvert" )
           and ( fibaro:getGlobalValue("VRSejour") == "Ouvert" ))
then
fibaro:debug("tout est ouvert")
fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 1012)
 
elseif (( fibaro:getGlobalValue("VRChambresEnfants") == "Persienne" )
           and ( fibaro:getGlobalValue("VRChambreParents") == "Persienne" )
        and (fibaro:getGlobalValue("VRSalon") == "Persienne" )
        and ( fibaro:getGlobalValue("VRSejour") == "Persienne" ))
then
fibaro:debug("tout est en persienne")
fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 1014)
else
fibaro:debug("Aucune condition remplie")
fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", iconedefaut)
end
Posté(e)

Bonjour 

 

Merci de vos réponses. C'est bien ça, juste un else simple. Je n'avais jamais vu d'exemple combinant des elseif et un else.

 

Ca marche maintenant.

 

Merci.

Arnaud

 

×
×
  • Créer...