[LUA] Repartition Consommation HC / HP...
Re: Repartition Consommation HC / HP...
Bonjour à tous.
Depuis 3 ou 4 mois, je me lance à Domoticz, j'y connais très peu en programmation.
J'ai installé le script Lua HP-HC hier soir (deux jours dessus), et ce matin j'ai ce message qui ce répète
"Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_device_compteurHP-HC.lua: .../pi/domoticz/scripts/lua/script_device_compteurHP-HC.lua:1: unexpected symbol near '{".
De quoi ça peut venir.
Si quelqu'un avait la solution, d'avance merci!
Bon weekend.
Depuis 3 ou 4 mois, je me lance à Domoticz, j'y connais très peu en programmation.
J'ai installé le script Lua HP-HC hier soir (deux jours dessus), et ce matin j'ai ce message qui ce répète
"Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_device_compteurHP-HC.lua: .../pi/domoticz/scripts/lua/script_device_compteurHP-HC.lua:1: unexpected symbol near '{".
De quoi ça peut venir.
Si quelqu'un avait la solution, d'avance merci!
Bon weekend.
Re: Repartition Consommation HC / HP...
Salut.
Tous simplement que tu as une erreur de syntaxe dans ton script , la il te dit que tu as un soucis sur la ligne 1...
Envoyé de mon SM-A530F en utilisant Tapatalk
Tous simplement que tu as une erreur de syntaxe dans ton script , la il te dit que tu as un soucis sur la ligne 1...
Envoyé de mon SM-A530F en utilisant Tapatalk
Re: Repartition Consommation HC / HP...
Merci pour la réponse, ci-dessous de début de mon script:
Je ne vois pas! c'est mon premier script lua.
Bonne après-midi.
Code : Tout sélectionner
{\rtf-2\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fnil\fcharset0 Calibri;}}
{\*\generator Riched20 10.0.18362}\viewkind4\uc1
\pard\fi-142\li426\sa200\sl276\slmult1\f0\fs22\lang12 - script domoticz/scripts/lua/script_device_compteurHC-HP.lua\par
\par
-- Initialisation des variables locales\par
local capteurGlobal = uservariables['Compteur Electrique']\par
local capteurCptHP = uservariables['Heures Pleines']\par
local capteurCptHC = uservariables['Heures Creuses']\par
local idxCptHP = uservariables['619']\par
local idxCptHC = uservariables['620']\par
local flagHC = uservariables['621']\par
local flagHP = uservariables['621']\par
local lastValueCptElecGlobal = uservariables['7161.94']\par
\par
-- Mode debug Oui / Non\par
local debug = uservariables['debug']\par
\par
-- Fonction de mise \'e0 jour\par
function update(device, id, power, energy, index)\par
commandArray[index] = \{['UpdateDevice'] = id .. "|0|" .. power .. ";" .. energy\}\par
return\par
end\par
\par
commandArray = \{\} \par
\par
-- On prend en compte a chaque changement de valeur du compteur global\par
if (devicechanged[capteurGlobal]) then\par
if (debug == 'OUI') then\par
print('-- Calcul Compteurs HC / HP --')\par
print('CapteurGlobal = '..capteurGlobal)\par
print('CapteurCptHP = '..capteurCptHP)\par
print('CapteurCptHC = '..capteurCptHC)\par
print('idxCptHP = '..tostring(idxCptHP))\par
print('idxCptHC = '..tostring(idxCptHC))\par
print('flagHP = '..tostring(flagHP))\par
print('flagHC = '..tostring(flagHC))\par
print('LastValueCptElecGlobal = '..tostring(lastValueCptElecGlobal))\par
end \par
\par
-- Recuperation des valeurs du compteur global\par
local consoCumule\par
local consoInstant\par
consoInstant, consoCumule = otherdevices_svalues[capteurGlobal]:match("([^;]+);([^;]+)")\par
consoInstant = tonumber(consoInstant)\par
consoCumule = tonumber(consoCumule) \par
Bonne après-midi.
Re: Repartition Consommation HC / HP...
Slt ,
Enleve ça : {\rtf-2\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fnil\fcharset0 Calibri;}}
{\*\generator Riched20 10.0.18362}\viewkind4\uc1
\pard\fi-142\li426\sa200\sl276\slmult1\f0\fs22\lang12 - script domoticz/scripts/lua/script_device_compteurHC-HP.lua\par
\par
Et tous les \par
Envoyé de mon SM-A530F en utilisant Tapatalk
Enleve ça : {\rtf-2\ansi\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fnil\fcharset0 Calibri;}}
{\*\generator Riched20 10.0.18362}\viewkind4\uc1
\pard\fi-142\li426\sa200\sl276\slmult1\f0\fs22\lang12 - script domoticz/scripts/lua/script_device_compteurHC-HP.lua\par
\par
Et tous les \par
Envoyé de mon SM-A530F en utilisant Tapatalk
Re: Repartition Consommation HC / HP...
Bonjour,
Merci pour le tuyau d'hier. Je n'ai plus d'erreur présente dans les log.
Mais ce matin, je n'ai rien dans compteur HP et HC.
POURQUOI?
Je réfléchissais, dans le script, à quel moment, on indique d'aller chercher la consommation globale. Je ne vois pas ou mettre ID du compteur globale.
Bonne journée
Merci pour le tuyau d'hier. Je n'ai plus d'erreur présente dans les log.
Mais ce matin, je n'ai rien dans compteur HP et HC.
POURQUOI?
Je réfléchissais, dans le script, à quel moment, on indique d'aller chercher la consommation globale. Je ne vois pas ou mettre ID du compteur globale.
Bonne journée
Re: Repartition Consommation HC / HP...
Bonsoir,
Je suis bloqué, j'ai modifié mon script comme indiqué. Pas d'erreur en log mais rien qui s'affiche en HC ni en HP compteur global bien.
Je récupère les infos avec un "C180" et je suis en triphasé. Ci-joint mon script.
Et capture de mes variables:
Si quelqu'un pouvait m'aider! Bonne soirée.
Je suis bloqué, j'ai modifié mon script comme indiqué. Pas d'erreur en log mais rien qui s'affiche en HC ni en HP compteur global bien.
Je récupère les infos avec un "C180" et je suis en triphasé. Ci-joint mon script.
Code : Tout sélectionner
--Script_device_compteurHP-HC du 01-12-2019
-- Initialisation des variables locales
local capteurGlobal = uservariables['Compteur_Electrique']
local capteurCptHP = uservariables['Heures_Pleines']
local capteurCptHC = uservariables['Heures_Creuses']
local idxCptHP = uservariables['619']
local idxCptHC = uservariables['620']
local flagHC = uservariables['Bascule_HC']
--local flagHP = uservariables['621']
local lastValueCptElecGlobal = uservariables['4285.127']
-- Mode debug Oui / Non
local debug = uservariables['debug']
-- Fonction de mise a jour
function update(device, id, power, energy, index)
commandArray[index] = {['UpdateDevice'] = id .. "|0|" .. power .. ";" .. energy}
return
end
commandArray = {}
-- On prend en compte a chaque changement de valeur du compteur global
if (devicechanged[capteurGlobal]) then
if (debug == 'OUI') then
print('-- Calcul Compteurs HC / HP --')
print('CapteurGlobal = '..capteurGlobal)
print('CapteurCptHP = '..capteurCptHP)
print('CapteurCptHC = '..capteurCptHC)
print('idxCptHP = '..tostring(idxCptHP))
print('idxCptHC = '..tostring(idxCptHC))
print('flagHP = '..tostring(flagHP))
print('flagHC = '..tostring(flagHC))
print('LastValueCptElecGlobal = '..tostring(lastValueCptElecGlobal))
end
-- Recuperation des valeurs du compteur global
local consoCumule
local consoInstant
consoInstant, consoCumule = otherdevices_svalues[capteurGlobal]:match("([^;]+);([^;]+)")
consoInstant = tonumber(consoInstant)
consoCumule = tonumber(consoCumule)
if (debug == 'OUI') then
print('Conso Instant = '..tostring(consoInstant)..' / Conso Cumule = '..tostring(consoCumule)..' ')
end
-- Calcul de l'ecart avec le dernier envoi de donnees
lastValueCptElecGlobal = tonumber(lastValueCptElecGlobal)
local consoDelta = consoCumule - lastValueCptElecGlobal
if (debug == 'OUI') then
print('Delta conso = '..tostring(consoDelta))
end
local consoCumuleCible
local consoInstantCible
if (otherdevices[flagHC] == 'Off') then
-- Periode heures creuse
-- Recuperation des valeurs du compteur global
consoInstantCible, consoCumuleCible = otherdevices_svalues[capteurCptHC]:match("([^;]+);([^;]+)")
-- Seul le cumule du compteur nous interesse pour calculer la nouvelle valeur
consoCumuleCible = tonumber(consoCumuleCible)
if (debug == 'OUI') then
print('Compteur cible = HC')
print('Valeur precedente = '..tostring(consoCumuleCible))
print('Valeur ajustee = '..tostring(consoCumuleCible + consoDelta))
end
consoCumuleCible = consoCumuleCible + consoDelta
-- Mise à jour du compteur
update(capteurCptHC, idxCptHC, consoInstant, consoCumuleCible, 1)
-- Mise à 0 de la conso intantanee du compteur HP
consoInstantHP, consoCumuleHP = otherdevices_svalues[capteurCptHP]:match("([^;]+);([^;]+)")
consoInstantHP = 0
update(capteurCptHP, idxCptHP, consoInstantHP, consoCumuleHP, 2)
else
-- Periode heures pleines
-- Recuperation des valeurs du compteur global
consoInstantCible, consoCumuleCible = otherdevices_svalues[capteurCptHP]:match("([^;]+);([^;]+)")
-- Seul le cumule du compteur nous interesse pour calculer la nouvelle valeur
consoCumuleCible = tonumber(consoCumuleCible)
if (debug == 'OUI') then
print('Compteur cible = HP')
print('Valeur precedente = '..tostring(consoCumuleCible))
print('Valeur ajustee = '..tostring(consoCumuleCible + consoDelta))
end
consoCumuleCible = consoCumuleCible + consoDelta
-- Mise à jour du compteur
update(capteurCptHP, idxCptHP, consoInstant, consoCumuleCible, 3)
-- Mise à 0 de la conso intantanee du compteur HC
consoInstantHC, consoCumuleHC = otherdevices_svalues[capteurCptHC]:match("([^;]+);([^;]+)")
consoInstantHC = 0
update(capteurCptHC, idxCptHC, consoInstantHC, consoCumuleHC, 4)
end
-- Sauvegarde de la valeur du compteur global pour prochain calcul
commandArray['Variable:LastValueCptElecGlobal'] = tostring(consoCumule)
if (debug == 'OUI') then
print('-- Fin Calcul Compteur HC / HP --')
end
end
return commandArray
Si quelqu'un pouvait m'aider! Bonne soirée.
- Pièces jointes
-
- Capture.JPG (41.1 Kio) Consulté 4122 fois
Re: bibliothèque de fonctions pour scripts LUA
Bonsoir,
J'ai enfin une erreur, mais je ne sais pas a quoi elle fait référence et encore moins la réparer:
2019-12-04 18:54:51.718 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_device_compteurHP-HC.lua: .../pi/domoticz/scripts/lua/script_device_compteurHP-HC.lua:7: syntax error near 'locales'
Que faire?
Henri
J'ai enfin une erreur, mais je ne sais pas a quoi elle fait référence et encore moins la réparer:
2019-12-04 18:54:51.718 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_device_compteurHP-HC.lua: .../pi/domoticz/scripts/lua/script_device_compteurHP-HC.lua:7: syntax error near 'locales'
Que faire?
Henri
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Repartition Consommation HC / HP...
Tu dois traîner des ratés de copier/coller
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
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: bibliothèque de fonctions pour scripts LUA
Slt ..Moulins58 a écrit :Bonsoir,
J'ai enfin une erreur, mais je ne sais pas a quoi elle fait référence et encore moins la réparer:
2019-12-04 18:54:51.718 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_device_compteurHP-HC.lua: .../pi/domoticz/scripts/lua/script_device_compteurHP-HC.lua:7: syntax error near 'locales'
Que faire?
Henri
Renvoi ton script avec les corrections que tu as faites stp
Envoyé de mon SM-A530F en utilisant Tapatalk
Re: Repartition Consommation HC / HP...
Ci-joint le script ou j'en suis rendu.
Bonne soirée.
Henri
Code : Tout sélectionner
-- chargement des modules (http://easydomoticz.com/forum/viewtopic.php?f=17&t=3$
dofile('/home/pi/domoticz/scripts/lua/modules.lua')
local debug = true --true pour voir les logs dans la console log Dz ou false p$
-- Script_device_compteurHP-HC du 01-12-2019
-- Initialisation des variables locales
local capteurGlobal =uservariables['Compteur_Electrique']
local capteurCptHP =uservariables['Heures_Pleines']
local capteurCptHC =uservariables['Heures_Creuses']
local idxCptHP = uservariables['619']
local idxCptHC = uservariables['620']
local flagHC =uservariables['Bascule_HC']
--local flagHP = uservariables['621']
local lastValueCptElecGlobal = uservariables['4320.472']
-- Mode debug Oui / Non
local debug = uservariables['debug']
-- Fonction de mise a jour
function update(device, id, power, energy, index)
commandArray[index] = {['UpdateDevice'] = id .. "|0|" .. power .. ";" .. e$
return
end
commandArray = {}
-- On prend en compte a chaque changement de valeur du compteur global
if (devicechanged[capteurGlobal]) then
if (debug == 'OUI') then
print('-- Calcul Compteurs HC / HP --')
print('CapteurGlobal = '..capteurGlobal)
print('CapteurCptHP = '..capteurCptHP)
print('CapteurCptHC = '..capteurCptHC)
print('idxCptHP = '..tostring(idxCptHP))
print('idxCptHC = '..tostring(idxCptHC))
print('flagHP = '..tostring(flagHP))
print('flagHC = '..tostring(flagHC))
print('LastValueCptElecGlobal = '..tostring(lastValueCptElecGlobal))
end
-- Recuperation des valeurs du compteur global
local consoCumule
local consoInstant
consoInstant, consoCumule = otherdevices_svalues[capteurGlobal]:match("([^;$
consoInstant = tonumber(consoInstant)
consoCumule = tonumber(consoCumule)
if (debug == 'OUI') then
print('Conso Instant = '..tostring(consoInstant)..' / Conso Cumule = '.$
end
-- Calcul de l'ecart avec le dernier envoi de donnees
lastValueCptElecGlobal = tonumber(lastValueCptElecGlobal)
local consoDelta = consoCumule - lastValueCptElecGlobal
if (debug == 'OUI') then
print('Delta conso = '..tostring(consoDelta))
end
local consoCumuleCible
local consoInstantCible
if (otherdevices[flagHC] == 'Off') then
-- Periode heures creuse
-- Recuperation des valeurs du compteur global
consoInstantCible, consoCumuleCible = otherdevices_svalues[capteurCptHC$
-- Seul le cumule du compteur nous interesse pour calculer la nouvelle $
consoCumuleCible = tonumber(consoCumuleCible)
if (debug == 'OUI') then
print('Compteur cible = HC')
print('Valeur precedente = '..tostring(consoCumuleCible))
print('Valeur ajustee = '..tostring(consoCumuleCible + consoDelta))
end
consoCumuleCible = consoCumuleCible + consoDelta
-- Mise à jour du compteur
update(capteurCptHC, idxCptHC, consoInstant, consoCumuleCible, 1)
-- Mise à 0 de la conso intantanee du compteur HP
consoInstantHP, consoCumuleHP = otherdevices_svalues[capteurCptHP]:matc$
consoInstantHP = 0
update(capteurCptHP, idxCptHP, consoInstantHP, consoCumuleHP, 2)
else
-- Periode heures pleines
-- Recuperation des valeurs du compteur global
consoInstantCible, consoCumuleCible = otherdevices_svalues[capteurCptHP$
-- Seul le cumule du compteur nous interesse pour calculer la nouvelle $
consoCumuleCible = tonumber(consoCumuleCible)
if (debug == 'OUI') then
print('Compteur cible = HP')
print('Valeur precedente = '..tostring(consoCumuleCible))
print('Valeur ajustee = '..tostring(consoCumuleCible + consoDelta))
end
consoCumuleCible = consoCumuleCible + consoDelta
-- Mise à jour du compteur
update(capteurCptHP, idxCptHP, consoInstant, consoCumuleCible, 3)
-- Mise à 0 de la conso intantanee du compteur HC
consoInstantHC, consoCumuleHC = otherdevices_svalues[capteurCptHC]:matc$
consoInstantHC = 0
update(capteurCptHC, idxCptHC, consoInstantHC, consoCumuleHC, 4)
end
-- Sauvegarde de la valeur du compteur global pour prochain calcul
commandArray['Variable:LastValueCptElecGlobal'] = tostring(consoCumule)
if (debug == 'OUI') then
print('-- Fin Calcul Compteur HC / HP --')
end
end
print('LastValueCptElecGlobal = '..tostring(lastValueCptElecGlobal))
end
Henri