Ecocompteur LEGRAND ancien modèle - lecture du fichier data.json
Publié : 06 juin 2023, 11:31
Bonjour,
Suite à un déménagement, j'ai migré ma domoticz de Pi3 à W10 avec mise à jour dans la dernière version de domoticz (2023.1)
Depuis, je rencontre des difficultés avec la lecture des données de mon écocompteur.
Mon fichier http://x.x.x.x/data.json contient :
Mon script de test LUA contient :
Le script me renvoie : 44: attempt to concatenate a nil value (local 'trouve')
Question : quelle est mon erreur.
Merci d'avance pour votre aide
Suite à un déménagement, j'ai migré ma domoticz de Pi3 à W10 avec mise à jour dans la dernière version de domoticz (2023.1)
Depuis, je rencontre des difficultés avec la lecture des données de mon écocompteur.
Mon fichier http://x.x.x.x/data.json contient :
Code : Tout sélectionner
{
"option_tarifaire" : 2,
"tarif_courant" : 8,
"isousc" : 60,
"conso_base" : 0,
"conso_hc" : 0,
"conso_hp" : 0,
"conso_hc_b" : 027395368,
"conso_hp_b" : 027777980,
"conso_hc_w" : 000000000,
"conso_hp_w" : 000000000,
"conso_hc_r" : 000000000,
........Code : Tout sélectionner
local url = 'http://x.x.x.x/data.json'
commandArray={}
json = (loadfile "C:/Program Files (x86)/Domoticz/scripts/lua/JSON.lua")()
local config=assert(io.popen("curl '"..url.."'"))
local location = config:read('*all')
config:close()
local jsonLocation = json:decode(location)
--lecture du résultat de data.json - je cherche à lire la valeur 027395368 (ou la valeur actualisée)
local trouve = string.find(location,'conso_hc_b')
print ("ok"..trouve)
local data1=jsonLocation.conso_hc_b
commandArray[1]={['OpenURL']='192.168.2.37/json.htm?type=command¶m=udevice&idx=8&nvalue='..data1}
return commandArrayQuestion : quelle est mon erreur.
Merci d'avance pour votre aide