Problème avec comandArray

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
Arno-Strasbourg
Messages : 46
Inscription : 11 oct. 2016, 23:30

Problème avec comandArray

Message 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.
@rn0.

DMZ + Xibo sur Raspberry Pi pour le bureau
DMZ + Custom Page sur W7 pour la maison récemment transféré sur
DS216se Synology - DSM 6.1.1-15101 Update 1 / Domoticz 3.0.7376-7 / Mosquitto 1.4.9-5
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: Problème avec comandArray

Message 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 }
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
Arno-Strasbourg
Messages : 46
Inscription : 11 oct. 2016, 23:30

Re: Problème avec comandArray

Message 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 ?
@rn0.

DMZ + Xibo sur Raspberry Pi pour le bureau
DMZ + Custom Page sur W7 pour la maison récemment transféré sur
DS216se Synology - DSM 6.1.1-15101 Update 1 / Domoticz 3.0.7376-7 / Mosquitto 1.4.9-5
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Problème avec comandArray

Message par vil1driver »

MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Répondre