my script isn't already optimized with json return value (i have to do that next) but my purpose is not on that part.
i'm using modules.lua with the some function but i get for all of them some error :
Code: Select all
-- maintenant que la valeur de consommation est disponible il faut mettre à jour la consommation virtuelle
debug = true -- true pour voir les logs dans la console log Dz ou false pour ne pas les voir
local devices = {}
-- tableau a renseigner {'dispositif', puissance, 'compteur'}
devices[1] = {'solaredge compteur conso', 900, 'consommation solaredge compteur conso'}
-- fin du tableau
commandArray = {}
for n,device in pairs(devices) do
-- domoticz.log(getDeviceName('11'), debugging) -- get an error message so i comment this line
TTIDX = '61' -- IDX of 'solaredge compteur conso' is 61
energy = round(tonumber(realconsumptionValue, dec)) -- realconsumptionValue est la valeur temps réel en retour de l'API , format text
domoticz.log(energy, debugging) -- juste pour m'assurer que la valeur est correctement prise
-- je suis passé par cette ordre domoticz parce que "commandArray['UpdateDevice'] = TTIDX ..'|0|'.. realconsumptionValue" ne fonctionne pas
url = domoticz.settings['Domoticz url'] ..
'/json.htm?type=command¶m=udevice&idx=' .. TTIDX .. '&nvalue=' .. realconsumptionValue .. '&svalue=' .. energy
domoticz.log('Setting temp using openURL ' .. url) -- log la commande pour m'assurer que c'est bon
domoticz.openURL(url)
-- commandArray['UpdateDevice'] = TTIDX ..'|0|'.. realconsumptionValue -- mise en commentaire me retourne une erreur
-- commandArray['UpdateDevice'] = otherdevices_idx[device[3]] .. '|0|' .. device[2] .. ';' .. energy -- Mise à jour du compteur (puissance instantanée) ne fonctionne pas non plus error
end
return commandArray
2018-12-28 18:24:01.488 Status: dzVents: Error (2.4.8): /volume1/@appstore/domoticz/var/scripts/lua/modules.lua:319: bad argument #1 to 'pairs' (table expected, got nil)
when i use commandArray['UpdateDevice'] = otherdevices_idx[device[3]] .. '|0|' .. device[2] .. ';' .. energy
error : attempt to index global 'otherdevices_idx' (a nil value)
i know i'm surely wrong somewhere !!!!
please help