erreur de script Lua

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 <\>.
damolc
Messages : 240
Inscription : 24 juil. 2016, 22:08

erreur de script Lua

Message par damolc »

bonjour
je tente d ecrire un script Lua avec une erreur que je n arrive pas a corriger :

Code : Tout sélectionner

----------------------------------------------
------          Configuration          ------
----------------------------------------------


local C1 = "HC"
local C2 = "HP"
local RAZ = 'RAZ'
--local C3 = "Linky"

----------------------------------------------
--       Fin de la partie configuration       --
----------------------------------------------

commandArray={}

json = (loadfile "/home/pi/domoticz/scripts/lua/JSON.lua")() -- For Linux

local config=assert(io.popen('curl "http://192.168.1.46/data.json"'))
local location = config:read('*all')
config:close()
local jsonLocation = json:decode(location)

local conso_hc=jsonLocation.conso_hc  
local conso_hp=jsonLocation.conso_hp    
print(conso_hc)
print(conso_hp)

p1 = string.match(otherdevices_svalues[C1], "(%d+%.*%d*)")
p1 = tonumber(conso_hc)
commandArray[1] = { ['UpdateDevice']= 87 .. '|0|' .. p1 }
 
p2 = string.match(otherdevices_svalues[C2], "(%d+%.*%d*)")
p2 = tonumber(conso_hp)
commandArray[2] = { ['UpdateDevice']= 88 .. '|0|' .. p2 }

commandArray[3] = { ['UpdateDevice']= 89 ..'|0|'.. p2 .. ";" .. p1 .. ";" .. "0" .. ";" .. "0" .. ";" .. "0" .. ";" .. "0" }
print('**************** compteur ************')
print(p1)
print(p2)

print('****************')
return commandArray
mon log d erreur :

Code : Tout sélectionner

2019-12-17 20:54:00.507 Error: EventSystem: in linky test2: /home/pi/domoticz/scripts/lua/JSON.lua:1009: /home/pi/domoticz/scripts/lua/JSON.lua:660: expected comma or '}' at char 112 of:
2019-12-17 20:54:00.507 {
2019-12-17 20:54:00.507 "option_tarifaire" : 1,
2019-12-17 20:54:00.507 "tarif_courant" : 2,
2019-12-17 20:54:00.507 "isousc" : 30,
2019-12-17 20:54:00.507
2019-12-17 20:54:00.507 "conso_base" : 0,
2019-12-17 20:54:00.507 "conso_hc" : 001228559,
2019-12-17 20:54:00.507 "conso_hp" : 003887776,
2019-12-17 20:54:00.507 "conso_hc_b" : 0,
2019-12-17 20:54:00.507 "conso_hp_b" : 0,
2019-12-17 20:54:00.507 "conso_hc_w" : 0,
2019-12-17 20:54:00.507 "conso_hp_w" : 0,
2019-12-17 20:54:00.507 "conso_hc_r" : 0,
2019-12-17 20:54:00.507 "conso_hp_r" : 0,
2019-12-17 20:54:00.507
2019-12-17 20:54:00.507 "type_imp_0" : 1,
2019-12-17 20:54:00.507 "type_imp_1" : 1,
2019-12-17 20:54:00.507 "type_imp_2" : 0,
2019-12-17 20:54:00.507 "type_imp_3" : 1,
2019-12-17 20:54:00.507 "type_imp_4" : 1,
2019-12-17 20:54:00.507 "type_imp_5" : 1,
2019-12-17 20:54:00.507
2019-12-17 20:54:00.507 "label_entree1" : "Lumieres 1 ",
2019-12-17 20:54:00.507 "label_entree2" : "Lumieres 2 ",
2019-12-17 20:54:00.507 "label_entree3" : "Lumieres 3 ",
2019-12-17 20:54:00.507 "label_entree4" : "Prises de Courant",
2019-12-17 20:54:00.507 "label_entree5" : "Prises de Courant",
2019-12-17 20:54:00.507
2019-12-17 20:54:00.507 "label_entree_imp0" : "Eau",
2019-12-17 20:54:00.507 "label_entree_imp1" : "Gaz",
2019-12-17 20:54:00.507 "label_entree_imp2" : "Gaz",
2019-12-17 20:54:00.507 "label_entree_imp3" : "Eau",
2019-12-17 20:54:00.507 "label_entree_imp4" : "Eau",
2019-12-17 20:54:00.507 "label_entree_imp5" : "Eau",
2019-12-17 20:54:00.507
2019-12-17 20:54:00.507 "entree_imp0_disabled" : 0,
2019-12-17 20:54:00.507 "entree_imp1_disabled" : 0,
2019-12-17 20:54:00.507 "entree_imp2_disabled" : 1,
2019-12-17 20:54:00.507 "entree_imp3_disabled" : 1,
2019-12-17 20:54:00.507 "entree_imp4_disabled" : 1,
2019-12-17 20:54:00.507 "entree_imp5_disabled" : 1
2019-12-17 20:54:00.507 }
Pourriez vous m aider a trouver le probleme dans le script?
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

Re: erreur de script Lua

Message par denis_brasseur »

Peut être peux tu nous monter ton data.json ?
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
damolc
Messages : 240
Inscription : 24 juil. 2016, 22:08

Re: erreur de script Lua

Message par damolc »

Le voilà :

Code : Tout sélectionner

{
	"option_tarifaire" : 1,
	"tarif_courant" : 2,
	"isousc" : 30,
	
	"conso_base" : 0,
	"conso_hc"   : 001228559,
	"conso_hp"   : 003887646,
	"conso_hc_b" : 0,
	"conso_hp_b" : 0,
	"conso_hc_w" : 0,
	"conso_hp_w" : 0,
	"conso_hc_r" : 0,
	"conso_hp_r" : 0,
	
	"type_imp_0" : 1,
	"type_imp_1" : 1,
	"type_imp_2" : 0,
	"type_imp_3" : 1,
	"type_imp_4" : 1,
	"type_imp_5" : 1,

	"label_entree1" : "Lumieres 1          ",
	"label_entree2" : "Lumieres 2          ",
	"label_entree3" : "Lumieres 3          ",
	"label_entree4" : "Prises de Courant",
	"label_entree5" : "Prises de Courant",
	
	"label_entree_imp0" : "Eau",
	"label_entree_imp1" : "Gaz",
	"label_entree_imp2" : "Gaz",
	"label_entree_imp3" : "Eau",
	"label_entree_imp4" : "Eau",
	"label_entree_imp5" : "Eau",
	
	"entree_imp0_disabled" : 0,
	"entree_imp1_disabled" : 0,
	"entree_imp2_disabled" : 1,
	"entree_imp3_disabled" : 1,
	"entree_imp4_disabled" : 1,
	"entree_imp5_disabled" : 1
}
Merci de bien vouloir m aider
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: erreur de script Lua

Message par vil1driver »

Ce chiffre est invalide 001228559
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
damolc
Messages : 240
Inscription : 24 juil. 2016, 22:08

Re: erreur de script Lua

Message par damolc »

Ok
Et il faut faire quoi pour le rendre valide?
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: erreur de script Lua

Message par vil1driver »

001228559 --> 1228559
003887646 --> 3887646
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
damolc
Messages : 240
Inscription : 24 juil. 2016, 22:08

Re: erreur de script Lua

Message par damolc »

;) Je me douté que c était les zéros
Mais comment faire pour les supprimer ?
Que faut-il modifier dans le script ?
:?:
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: erreur de script Lua

Message par vil1driver »

Commence par télécharger data.json, le corriger (édition manuelle), faire lire ce fichier par le script et valider que l'erreur disparaît
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
damolc
Messages : 240
Inscription : 24 juil. 2016, 22:08

Re: erreur de script Lua

Message par damolc »

j ai suivi ta manip avec ou sans les 00 et j ai comme message d erreur : 2019-12-18 21:36:00.244 Error: EventSystem: in linky test2: [string " ..."]:27: attempt to index a nil value (local 'jsonLocation')
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: erreur de script Lua

Message par vil1driver »

Dépose data.json dans le dossier
/home/pi/domoticz/www/
Et dans ton script tu pourras y accéder par

Code : Tout sélectionner

local config=assert(io.popen('curl "http://domoticz_ip:port/data.json"')) 
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