Page 1 sur 1

Pb synthaxe script LUA Dimmer

Publié : 23 janv. 2016, 16:08
par oldchap
Bonjour
Je voudrais lier le choix d'un mode de chauffage sur un switch "Fil_Pilote" (basé sur un sensor du device dummy "Sélecteur fil pilote") à l'action en pourcentage d'un switch ZWAVE QUBINO.
En gros traduire H.Gel (qui est à 10% du switch "Fil_Pilote") en une action de 15% sur le switch dimmer "Commande_QUBINO" qui commande un "fil pilote ZWAVE".
Voir ce que j'ai fait là :
https://docs.google.com/document/d/1qn ... _TCI/edit

Le problème est que le switch Dimmer ne bouge pas lorsque j'agis, malgré mon script !!

Voici le script en LUA (je démarre !)

Code : Tout sélectionner

commandArray = {}
-- loop through all the changed devices
for deviceName,deviceValue in pairs(devicechanged) do
   print ("L'évènement basé sur un device provient de '"..deviceName.."', dont la valeur est '"..tostring(deviceValue).."'");
   if (deviceName=='Fil_pilote') then
        if deviceValue == "Level 0" then
            print("Plancher chauffant sur Off")
            commandArray['Commande_Qubino']='Set Level 0'
        elseif deviceValue == "Level 10" then
            print("Plancher chauffant sur Hors Gel")
            commandArray['Commande_Qubino']='Set Level 15'            
        end
   end
end
return commandArray
Le les logs associés sont ici :

Code : Tout sélectionner

 2016-01-23 15:57:38.269 User: oldchap initiated a switch command
2016-01-23 15:57:38.282 LUA: L'évènement basé sur un device provient de 'Fil_pilote', dont la valeur est 'H.Gel'
2016-01-23 15:57:38.270 (Selecteur_fil_pilote) Light/Switch (Fil_pilote)
2016-01-23 15:57:40.260 User: oldchap initiated a switch command
2016-01-23 15:57:40.273 LUA: L'évènement basé sur un device provient de 'Fil_pilote', dont la valeur est 'Off'
2016-01-23 15:57:40.262 (Selecteur_fil_pilote) Light/Switch (Fil_pilote) 

Re: Pb synthaxe script LUA Dimmer

Publié : 23 janv. 2016, 17:05
par patrice
Bonjour
Ne sont pas les dimmer qui ne vont que de 0 a 14 (15?)
Fais un script lua dans lequel tu mets un

Slider = tonumber(otherdevices_svalues["lenomdetonslider"])
print Slider

et joue avec ton slider pour voir les valeurs renvoyées

Re: Pb synthaxe script LUA Dimmer

Publié : 23 janv. 2016, 17:29
par oldchap
Merci de m'aider ... j'approche du but !
J'arrive maintenant à piloter le slider avec mon switch, en effet il retournait des valeurs H.Gel, -3.5° etc et non des pourcentages !
Mon problème maintenant c'est que mon script entraîne 2 actions de print puisque lorsque je change"Fil_pilote" (normal), ça change aussi "Commande_Qubino" et donc c'est pris en compte comme un devicechanged aussi !!

Voici le script réécrit :

Code : Tout sélectionner

commandArray = {}
for deviceName,deviceValue in pairs(devicechanged) do
   print ("L'évènement basé sur un device provient de '"..deviceName.."', dont la valeur est '"..tostring(deviceValue).."'");
   if (deviceName=='Fil_pilote') then
        if deviceValue == 'Off' then
            print("Plancher chauffant sur Off")
            commandArray['Commande_Qubino']='Set Level 5'
        elseif deviceValue == 'H.Gel' then
            print("Plancher chauffant sur Hors Gel")
            commandArray['Commande_Qubino']='Set Level 15'            
          elseif deviceValue == '-3.5°' then
            print("Plancher chauffant sur Eco")
            commandArray['Commande_Qubino']='Set Level 25'            
          elseif deviceValue == '-2°' then
            print("Plancher chauffant sur Confort -2°")
            commandArray['Commande_Qubino']='Set Level 35'            
          elseif deviceValue == '-1°' then
            print("Plancher chauffant sur Confort -1°")
            commandArray['Commande_Qubino']='Set Level 45'
          elseif deviceValue == 'On' then
            print("Plancher chauffant sur Confort")
            commandArray['Commande_Qubino']='Set Level 95 '            
        end
   end
end

return commandArray

Re: Pb synthaxe script LUA Dimmer

Publié : 23 janv. 2016, 18:04
par vil1driver
Salut,

Pas testé sans mais j'ai toujours mis des () avec print

Si ce n'est pas ça le problème, essai en dehors de l'éditeur intégré.. Pour voir..

Sinon tu l'embêtes peut être avec ta boucle for .. Un simple if devicechanged['fil pilote'] then..