problem to use modules.lua function like getDeviceName( TTIDX)
Posted: Friday 28 December 2018 18:49
i tried to get my consumption from my solaredge API and want to display the "real-time" consumption in a virtual device
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 :
getDeviceName(TTIDX'), but get an error
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
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