Page 2 sur 2
Re: erreur de script Lua
Publié : 19 déc. 2019, 18:32
par damolc
cette fois si j ai bien suivi ta procédure et effectivement quand tu supprime les deux 00 sur les valeurs , ça fonctionne parfaitement
Merci d avoir trouver le problème
j ai chercher comment réussir a supprimer les deux 00 avec mon script mais j ai pas réussi a trouver
peux tu, encore m aider ?
Re: erreur de script Lua
Publié : 19 déc. 2019, 18:51
par denis_brasseur
On peux commencer par le début : comment est généré le fichier data.json ?
Je pense comprendre qu'il s'agit des données issues d'un compteur Linky.
Re: erreur de script Lua
Publié : 19 déc. 2019, 19:29
par damolc
oui effectivement les données sont extraites d' un Eco compteur legrand
j ai réalisé déjà un script pour extraire les données mais il ne me convient pas mais il fonctionne :
Code : Tout sélectionner
local url = 'http://192.168.1.46/data.json' -- url locale de votre écocompteur legrand
htidx = otherdevices_idx['Linky'] -- Idx P1 Compteur intellogent (électrique)
hcidx = otherdevices_idx['HC'] -- Idx Compteur
hpidx = otherdevices_idx['HP'] -- Idx Compteur
local function removeZeros(Id)
while true do
if Id:sub(1,1) == '0' then
Id = Id:sub(2)
else
break
end
end
return Id
end
----------------------------------------------
-- Fin de la partie configuration --
----------------------------------------------
commandArray={}
--import des fontions pour lire le JSON
json = (loadfile "/home/pi/domoticz/scripts/lua/JSON.lua")() -- For Linux
--recuperation des mesure HP et HC sur data.json
local config=assert(io.popen("curl '"..url.."'"))
local location = removeZeros(config:read('*all'))
local trouve = string.find(location,'"conso_hp"')
local consoHP = removeZeros(string.sub(location,trouve+14,trouve +23))
local trouve = string.find(location,'"conso_hc"')
local consoHC = removeZeros(string.sub(location,trouve+14,trouve +23))
config:close()
if Debug == "YES" then
print(trouve)
print(location)
print(consoHP)
print(consoHC)
end
--import des valeurs dans les Idx
commandArray[htidx] = { ['UpdateDevice'] = htidx ..'|0|'.. consoHP .. ";" .. consoHC .. ";" .. "0" .. ";" .. "0" .. ";" .. "0" .. ";" .. "0" }
commandArray[hpidx] = { ['UpdateDevice'] = hpidx ..'|0|'.. consoHP }
commandArray[hcidx] = { ['UpdateDevice'] = hcidx ..'|0|'.. consoHC }
return commandArray
le problème c est que si tu te trompes d un chiffre dans " string.sub" , tu plantes Domoticz
donc je préférerai mettre un ligne un script qui choisi les nombres sans risque de plantage
Dans Ecocompteur legrand il y a l eau et le gaz qui peuvent être récupéré , avec une autre adresse HTPP : mon script avec string.match fonctionne très bien et je souhaiterais faire de même pour l Electricité
Re: erreur de script Lua
Publié : 26 déc. 2019, 16:40
par ker49
Bonjour à tous,
Moi aussi je rencontre un problème de script que je n'arrive toujours pas à résoudre malgré mes différentes recherches ici ou ailleurs
dans mon script, el ligne 4 il y a une erreur indiquée dans le log tel que:
Error: /home/pi/domoticz/scripts/lua/script_time_chauffage.lua:4: ‘)’ expected near ‘&’
j'ai ajouté supprimé une parenthèse mais malgré plusieurs tentatvies je n'arrive pas à contourner ce problème !
Voici la 4ème ligne de mon script
Code : Tout sélectionner
if ((t1 >= uservariables["Chauff-Central-Temp-Deb-Cal1-d-info"] and uservariables["Chauff-Central-Temp-Fin-Cal1-d-info"] >= t1) or (t1 >= uservariables["Chauff-Central-Temp-Deb-Cal2-d-info"] and uservariables["Chauff-Central-Temp-Fin-Cal2-d-info"] >= t1)) then
merci par avance pour vos retours
Bonne soirée et à bientôt ...
Re: erreur de script Lua
Publié : 26 déc. 2019, 18:13
par vil1driver
Re: erreur de script Lua
Publié : 26 déc. 2019, 18:43
par ker49
bonjour et merci mais comme je l'ai indiqué j'ai fait quelques recherches avant de poster ma question
Cette balise si je comprends bien correspond à supérieur ou égal mais je ne comprends pas l'erreur remontée dans le log ? ? ?
Re: erreur de script Lua
Publié : 26 déc. 2019, 19:33
par vil1driver
Si tu as compris que
Devrait être
La suite est plutôt implicite non ?
Re: erreur de script Lua
Publié : 27 déc. 2019, 01:07
par lmet
Salut,
Écris tes scripts dans "Réglages" => "Plus d'options" => "Événements" tu auras moins de soucis avec la syntaxe.
Re: erreur de script Lua
Publié : 27 déc. 2019, 19:00
par ker49
re bonjour et merci
en fait, j'ai trouvé "mon" erreur
Je pouvais chercher longtemps car le problème de ) était à la ligne suivante !
Encore merci et bon WE