Page 1 sur 1

Problème avec comandArray

Publié : 13 nov. 2016, 16:12
par Arno-Strasbourg
Bonjour à tous,

Je suis novice en LUA, langage auquel je viens de me mettre, programmation Domoticz oblige...

J'ai pas du tout compris le 'truc' des commandArray. Mon problème est le suivant. Je veux mettre 2 capteurs à jour et ça marche pas.
Voici ce que j'ai fais :

Code : Tout sélectionner

commandArray['OpenURL']='192.168.0.2:8082/json.htm?type=command&param=udevice&idx='..kwsemaine..'&nvalue=0&svalue='..tostring(tonumber((THP - uservariables['HPS']) / 1000))
commandArray['OpenURL']='192.168.0.2:8082/json.htm?type=command&param=udevice&idx='..eurosemaine..'&nvalue=0&svalue='..tonumber(uservariables['HPTJ'] * tarifEDF)
Quand je mets la commande du bas en commentaire, celle du haut met à jour mon capteur correctement. Si je décommente ma ligne du bas, il n'y a plus qu'elle qui met son capteur à jour !!!??? :?

Alors j'ai modifié ces ligne par :

Code : Tout sélectionner

commandArray['UpdateDevice']=kwsemaine..'|0|'..tostring(tonumber((THP - uservariables['HPS']) / 1000))
commandArray['UpdateDevice']=eurosemaine..'|0|'..tonumber(uservariables['HPTS'] * tarifEDF)
Dingue !! Ça me fait le même coup qu'au dessus. Seule la ligne du bas met à jour son capteur. Si je la commente, celle du haut met à jour son capteur.
Je suspecte que ça vienne du commandArray. Mais comme je n'arrive pas à trouver d'explication complète sur cette commande, je ne vois pas ce qui cloche.

Quelqu'un peut-il m'orienter et m'expliquer comment ça fonctionne ?

Merci.

Re: Problème avec comandArray

Publié : 13 nov. 2016, 16:36
par thier
Tu ne peux pas faire deux commandarray de suite avec la syntaxe de base. Il faut que tu écrives sous la forme:
commandArray[1]={ ['OpenURL']='192.168.0.2:8082/json.htm?type=command&param=udevice&idx='..kwsemaine..'&nvalue=0&svalue='..tostring(tonumber((THP - uservariables['HPS']) / 1000))}
puis pour le second
commandArray[2]={ ['OpenURL']='192.168.0.2:8082/json.htm?type=command&param=udevice&idx='..eurosemaine..'&nvalue=0&svalue='..tonumber(uservariables['HPTJ'] * tarifEDF)}
En fait, tu enchaînes des commandArray[+1 à chaque fois]={ ton action }

Re: Problème avec comandArray

Publié : 13 nov. 2016, 20:58
par Arno-Strasbourg
Ok, merci. Effectivement ça fonctionne comme ça.
En fait, c'est comme un tableau avec différente lignes et on execute les lignes une après l'autre ?

Re: Problème avec comandArray

Publié : 13 nov. 2016, 21:06
par vil1driver