LUA sur HC2 : Déclencher des scènes avec les télécommandes Z-Wave.me KFOB, AEON DSA22 "Keyfob", DSA38 "Panic" ou DSA03 "Minimote"
2016 27 375 vues
Notre sélection pour ce tutoriel
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)
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
- Plus d'informations sur le LUA sur Home Center 2