LUA sur FIBARO HC2 : Déclencher des scènes avec les télécommandes AEON DSA22 "Keyfob" / ZW088 "KEYFOB GEN5", DSA03 "MINIMOTE" ou Z-Wave.me KFOB / KFOB2

Pour configurer le mode scènes sur une télécommande AEON DSA22 "Keyfob" / ZW088 "Keyfob Gen5" ou DSA03 "Minimote"  Voir ce tutoriel
Pour configurer la Z-Wave.me ZME KFOB, mettez les paramètres 1 et 2 à "0" et les 11 à 14 à "4" et n'oubliez pas de réveiller la télécommande. (plus d'informations dans ce tutoriel)

numéros de scènes envoyés 

Modèle Bouton Appui court Appui long Relâchement
après un
appui long
Double appui
AEOTEC DSA38 "Panic" 1  1  2    
AEOTEC DSA22 "Keyfob"/  ZW088 "Keyfob Gen5" et DSA03 "Minimote" 1  1  2    
2  3  4    
3  5  6    
4  7  8    
Z-Wave.me / ZME KFOB
(en mode boutons autonomes, 
voir la configuration)
1  11  13  15  12
2  31  33  35  32
3  21  23  25  22
4  41  43  45  42
Z-Wave.me / ZME KFOB2 
(en mode boutons autonomes, 
voir la configuration)
1 11 13 15 12
2 21 23 25 22
3 31 33 35 32
4 41 43 45 42

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 de la télécommande> sceneActivation 
%% globals 
--]]

local NumScene = fibaro:getValue(<ID de la télécommande>, "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 84

Appuyez sur les bouton 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 avec une Z-Wave.me KFOB

Il suffit de changer les numéros de scènes avec une autre télécommande.  

--[[ 
%% properties 
84 sceneActivation
%% 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 == 11) -- Si la touche appuyée génère le numéro de scène 11 (touche 1 appui court)
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 == 12) -- Si la touche appuyée génère le numéro de scène 12 (touche 1 double appui)
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

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.

Aller plus loin

Mis à jour le : 28/04/2016 à 12:17 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.