Bonjour à tous,
Je me permet de poster ici une manière d'envoyer des programmes persos à son module. Par avance désolé si cela a déjà été posté ou si ce n'est pas le bon endroit...
Donc si vous désirez lancer des progammes personnalisés, depuis des scènes ou modules virtuels, la fonction semble bugguée : celle-ci: fibaro:call(179, "startProgram", "8") avec 179 l'identifiant du FG-RGB et 8 le programme perso à lancer).
Je vous propose une solution de contournement qui fonctionne bien :
1. Créer une variable globale avec le nom RGBW_Program (par exemple)
2. Créer un module virtuel.
3. Ajouter un bouton dans le module.
4. Saisir le code LUA ci-dessous dans ce bouton. L'identifiant du program RGBW a lancer est récupéré depuis la lavariable, car ce bouton est utilisé par des scènes ou autre.
Remplacer deviceID=179 par l'identifiant de votre module FGRGB.
local HC2 = Net.FHttp("ADDR_IP_HC2", 80);
HC2:setBasicAuthentication("VOTRE_LOGIN", "VOTRE_PASSWORD");
local pId = fibaro:getGlobalValue("RGBW_Program");
local response ,status, errorCode = HC2:GET("/api/callAction?deviceID=179&name=startProgram&arg1=" .. pId);
fibaro:debug(response);
Mais, comment connaître l'identifiant de ses programmes persos ?
Dans un navigateur, exécuter la requête suivante : http://ADDR_IP_HC2/api/devices?id=179 (remplacer id=179 par l'identifiant de votre module FGRGB)
Chercher la ligne, elle contient dans l'ordre les programmes que l'on peut retrouver dans l'interface d'édition du FGRGB.
Chez moi, cela donne ça : "programsSortOrder": "1,2,3,4,5,186,187",
Mes programmes persos sont donc 186 et 187.
A l'utilisation, dans une scène ou un module virtuel, voilà ce que ça donne :
fibaro:setGlobal("RGBW_Program", "186")
fibaro:call(180,"pressButton",1);
180 étant l'identifant du module virtuel que l'on vient de créer, 1 étant le premier bouton de ce module virtuel.
Le tour est joué !