Page 1 sur 1
Uservriables Lua
Publié : 14 janv. 2015, 15:56
par Jihem
Bonjour
je fais à nouveau appel à votre savoir pour un problème de programmation en Lua.
Je dois mettre à jour une variable utilisateur "Told_CH1" de Domoticz dans un script:
Code : Tout sélectionner
tempold = tostring(Told_CH1)
commandArray['Variable:tempold'] = tostring(temp)
Or avec cette formule je mets à jour une variable "tempold" et pas "Told_CH1"
Quelle est la bonne syntaxe pour faire passer ma variable "Told_CH1"
j'espère avoir été clair
Merci d'avance
Re: Uservriables Lua
Publié : 14 janv. 2015, 18:25
par patrice
Toujours pas spécialiste en Lua
mais un
commandArray['Variable:Told_CH1'] = tostring(temp)
tout simple devrait rouler non ?
Re: Uservriables Lua
Publié : 14 janv. 2015, 19:49
par Jihem
Ben non hélas!
Car en fait je veux mettre à jour plusieurs variables à partir d'une table de températures.
temp_Séjour, temp_CH 1, temp_CH2...etc vers
told_Séjour, told_CH1..etc avec une variable
tempold qui prend successivement les valeurs précédentes.
Ça fonctionnent avec les interrupteurs:
me met bien à jour le switch "
Ctrl_Séjour"
mais
Code : Tout sélectionner
tempold = "told_Séjour"
commandArray['Variable:tempold'] = "25"
me met à jour une variable "
tempold" (je l'ai créé pour voir).
il doit y avoir une syntaxe pour que la commande prenne en compte la valeur
"told_Séjour" plutôt que le nom "
tempold".
Si je fais un
print(tempold) j'ai bien "
told_séjour" et il n'y a pas d'erreur dans les logs.
J'ai essayé plusieurs syntaxes
commandArray['Variable:"tempold"'], commandArray['Variable:..tempold'] sans succès.
Une idée?
Re: Uservriables Lua
Publié : 14 janv. 2015, 21:13
par patrice
Je passe ...
Re: Uservriables Lua
Publié : 15 janv. 2015, 08:05
par jackslayter
essaye de renommer ton script script_device_blabla.lua en script_variable_blabla.lua
Re: Uservriables Lua
Publié : 15 janv. 2015, 10:03
par Jihem
A priori Domoticz n'en veut pas, je ne vois plus le script dans les logs. Même après un restart.
Re: Uservriables Lua
Publié : 16 janv. 2015, 20:59
par Jihem
Bonsoir
au temps pour moi, j'avais oublié que le script était déclenché par "uservariablechanged".
Ceci dit je n'avance pas tellement car j'ai une erreur:
Code : Tout sélectionner
Error: /home/pi/domoticz/scripts/lua/script_variable_essai.lua:5: attempt to call global 'uservariablechanged' (a table value)
j'appelle pourtant bien une variable de ma liste de variable?????
Re: Uservriables Lua
Publié : 21 janv. 2015, 20:26
par hobbe
Jihem a écrit :Bonsoir
au temps pour moi, j'avais oublié que le script était déclenché par "uservariablechanged".
Ceci dit je n'avance pas tellement car j'ai une erreur:
Code : Tout sélectionner
Error: /home/pi/domoticz/scripts/lua/script_variable_essai.lua:5: attempt to call global 'uservariablechanged' (a table value)
j'appelle pourtant bien une variable de ma liste de variable?????
Je pense que tu confonds ta variable de code (tempold) et le variable Domoticz (Told_CH1, told_Séjour, etc.).
Je pense que tu peux concaténer le contenu de tempold avec "Variable:" pourobtenir le nom de la variable Domoticz.
Code : Tout sélectionner
tempold = "Told_CH1"
commandArray["Variable:" .. tempold] = tostring(temp)
tempold = "told_Séjour"
commandArray["Variable:" .. tempold] = "25"
La variable Told_CH1 de Domoticz sera positionnée à la valeur de temp.
La variable told_Séjour de Domoticz sera positionnée à la valeur 25.
Note: je n'ai pas essayé...