LUA sur FIBARO HC2 : Déclencher des scènes avec les boutons S1/S2 reliés aux micro-modules FIBARO FGD-211, FGD-212, FGRM-222 et FGR-222.   

Pour activer le mode "déclenchement de scènes" sur les micromodules Fibaro...
  1. Dimmer FGD-211 en version 2.1 et supérieures : réglez le paramètre 41 à la valeur 1 ("Activation de scènes" --> fonctionnalité activée).
  2. Dimmer FGD-212 : réglez le paramètre 28 à la valeur 1 ("Activation de scènes" --> fonctionnalité activée).
  3. Roller Shutter 2 FGR(M)-222, réglez le paramètre le 50 ("Activation de scènes / Associations" --> "Activation de scènes").
Cette fonction n'est pour le moment pas gérée par les autres modules.

Les numéros de scènes envoyés sont normalement les suivants : 

 

    Param 19 = 0 (FGD-211 uniquement) Param 19 = 1 
(FGD-211 uniquement)
Type de bouton N° de bouton Clic Tenir
appuyé
Relâchement
après un
appui long
Double clic Triple
clic
OFF
vers
ON
ON
vers
OFF
Interupteurs monostables ou pour volets 1  16 12 13 14 15    
2  26 22 23 24 25    
 Interrupteur bistable 1 16 12 13 14 15 10 11
2 26 22 23 24 25 20 21  

il est possible de le vérifier via ce script : 

(Si vous ne maitrisez pas le language de script très puissant qu'est le LUA, nous vous conseillons tout d'abord de lire le tutoriel "Introduction à la programmation en LUA sur Home Center 2").

 

--[[ 
%% properties 
<ID du micro-module> sceneActivation 
%% globals 
--]]

local NumScene = fibaro:getValue(<ID du micro-module>, "sceneActivation") 
fibaro:debug("Numéro de scène: " ..NumScene)

 

Exemple de script LUA permettant de récupérer les N° de scènes sur Home Center 2
Exemple avec une télécommande dont le Device ID est le 84

Pas besoin de cliquer sur Démarrer, si vous cliquez le script vous donnera un numéro de scène à 0.   Appuyez sur les bouton S1 et/ou S2 en testant les appuis courts, longs, simples et doubles, les numéros de scènes devraient s'afficher dans la fenêtre de déboguage.   Il ne reste plus qu'à créer uns script capable d'effectuer des actions en fonction du bouton appuyé ... rien de plus simple !  

Exemple

(il suffit de changer le numéro d'identifiant du micro-module avec le vôtre).  

--[[ 
%% properties 
84 sceneActivation -- L'envoi d'une scène par le module avec ID 84 (notre micro-module) déclenche l'exécution du script
%% globals 
--]]

local NumScene = tonumber(fibaro:getValue(84, "sceneActivation")) -- On récupère la scène activée, on convertit le texte en nombre (via la commande tonumber) et on la stocke dans la variable "NumScene" pour l'utiliser dans la suite du script

if (NumScene == 16) -- Si la touche appuyée génère le numéro de scène 16 (appui court sur S1)
then
fibaro:debug("Bouton 1 appuyé (court):")

-- Nous allons inverser l'état d'un variateur de lumière dont l'ID est 85
if ((tonumber(fibaro:getValue(85, 'value'))) == 0) -- On récupère l'état du variateur 85 et s'il est éteint ...
then -- alors
fibaro:call(85,'turnOn') -- on allume
fibaro:debug("Allumage de la lampe")
else -- sinon
fibaro:call(85,'turnOff') -- on éteint
fibaro:debug("Extinction de la lampe")
end

elseif (NumScene == 14) -- Si la touche appuyée génère le numéro de scène 14 (double clic sur S1)
then -- alors
fibaro:debug("Bouton 1 appuyé (double-clic): exécution de la scène HC2 numéro 10") 
fibaro:startScene(10) -- Ici on appelle une autre scène (qui peut avoir été crée en mode bloc) depuis cette scène
end

    

Plus simplement, si vous souhaitez juste déclencher des scènes via les boutons, vous pouvez utiliser une version simplifiée de ce script :  

--[[ 
%% properties 
84 sceneActivation -- n'oubliez pas de changer l'identifiant "deviceID"
%% globals 
--]]

local NumScene = tonumber(fibaro:getValue(84, "sceneActivation")) -- n'oubliez pas de changer l'identifiant "deviceID"

if (NumScene == 14)
then
fibaro:startScene(10)
end

elseif (NumScene == 15) 
then 
fibaro:startScene(15)
elseif (NumScene == 16) 
then  
fibaro:startScene(24)
end

 

Mettez autant de "elseif" --> "then" que de scènes à commander avec votre micro-module.   Il ne vous reste plus qu'à adapter votre script en fonction de vos besoins, la puissance du LUA étant sans limite, avec un peu de patiente vous pourrez faire tout ce que vous voulez !


Mis à jour le : 02/06/2016 à 22:12 Auteur : Jérôme Massiaux, technicien domotique-store.fr



Les nouvelles questions sont affichées en même temps que la réponse du technicien. Nous répondons généralement en moins d'une journée ouvrée, néanmoins, certaines questions peuvent nécessiter des tests ou recherches complémentaires et augmenter ce délai. Nous nous réservons le droit de ne pas publier ni répondre aux questions de service après-vente concernant un produit n'ayant pas été acheté sur notre boutique.