Page 12 sur 33
Re: Repartition Consommation HC / HP...
Publié : 15 janv. 2016, 10:15
par Seb13
Hello Seb,
Merde
Fait moi un script dans le répertoire /lua : script_device_test.lua
tu fais un print comme ligne de commande : print('Test script device LUA')
et regarde tes logs...
Moi j'ai :
2016-01-15 10:13:34.502 LUA: Test script device LUA
2016-01-15 10:13:34.502 Error: EventSystem: Lua script did not return a commandArray
2016-01-15 10:13:34.537 LUA: Test script device LUA
2016-01-15 10:13:34.537 Error: EventSystem: Lua script did not return a commandArray
2016-01-15 10:13:34.568 LUA: Test script device LUA
2016-01-15 10:13:34.568 Error: EventSystem: Lua script did not return a commandArray
2016-01-15 10:13:34.599 LUA: Test script device LUA
2016-01-15 10:13:34.599 Error: EventSystem: Lua script did not return a commandArray
2016-01-15 10:13:34.623 LUA: Test script device LUA
2016-01-15 10:13:34.623 Error: EventSystem: Lua script did not return a commandArray
2016-01-15 10:13:41.413 LUA: Test script device LUA
2016-01-15 10:13:41.414 Error: EventSystem: Lua script did not return a commandArray
Alors si tu n'as pas ça... c'est un pb qui n'a rien avoir avec ton script... il faut rechercher pourquoi les scripts Devices ne sont pas lancés !
Si tu as ce message... balance nous ton script, il doit avoir un pb.
Re: Repartition Consommation HC / HP...
Publié : 15 janv. 2016, 17:27
par neo_matfr
Bonjour
Excusez moi, mais je ne comprends pas bien ce qu'il faut mettre pour les valeurs suivantes malgré les explications:
idxCptHP : IDX du capteur virtuelle HP
idxCptHC : IDX du capteur virtuelle HC
LastValueCptElecGlobal : valeur du compteur cumulé pour calculer l'écart par rapport au dernier relevé
Si on vient de tout mettre en place et par rapport à vos captures j'aurais mis idxCptHP=0.0 de même pour idxCptHC et LastValueCptElecGlobal = 11.592
Pouvez vous me corriger.
Merci
Re: Repartition Consommation HC / HP...
Publié : 15 janv. 2016, 18:43
par seblang
bonsoir seb
alors oui j'ai bien l'erreur:
2016-01-15 18:34:40.371 Error: EventSystem: Lua script did not return a commandArray
mon script
Code : Tout sélectionner
-- Initialisation des variables locales
local capteurGlobal = uservariables['capteurglobal']
local capteurCptHP = uservariables['capteurcpthp']
local capteurCptHC = uservariables['capteurcpthc']
local idxCptHP = uservariables['idxcpthp']
local idxCptHC = uservariables['idxcpthc']
local flagHC = uservariables['flaghc']
local flagHP = uservariables['flaghp']
local lastValueCptElecGlobal = uservariables['lastvaluecptelecglobal']
-- Mode debug Oui / Non
local debug = uservariables['debug']
-- Fonction de mise à jour
function update(device, id, power, energy, index)
commandArray[index] = {['UpdateDevice'] = id .. "|0|" .. power .. ";" .. en$
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
local consoCumuleCible
local consoInstantCible
if (otherdevices[flagHC] == 'On') 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
return commandArray
seb
Re: Repartition Consommation HC / HP...
Publié : 15 janv. 2016, 21:59
par Seb13
Salut Seb,
et dans domoticz je vois que c'est "oui"
Passe le en "OUI"
Re: Repartition Consommation HC / HP...
Publié : 15 janv. 2016, 22:01
par Seb13
neo_matfr a écrit :Bonjour
Excusez moi, mais je ne comprends pas bien ce qu'il faut mettre pour les valeurs suivantes malgré les explications:
idxCptHP : IDX du capteur virtuelle HP
idxCptHC : IDX du capteur virtuelle HC
LastValueCptElecGlobal : valeur du compteur cumulé pour calculer l'écart par rapport au dernier relevé
Si on vient de tout mettre en place et par rapport à vos captures j'aurais mis idxCptHP=0.0 de même pour idxCptHC et LastValueCptElecGlobal = 11.592
Pouvez vous me corriger.
Merci
L'idx du dispositif que tu as créé via ton matériel virtuel.
Re: Repartition Consommation HC / HP...
Publié : 15 janv. 2016, 22:07
par neo_matfr
Ah ben oui ! merci j'ai corrigé

je croyais que c'etait index
et LastValueCptElecGlobal pour ta capture c'est bien l'index donc 11.592 ?
Merci
Re: Repartition Consommation HC / HP...
Publié : 15 janv. 2016, 22:26
par Seb13
neo_matfr a écrit :Ah ben oui ! merci j'ai corrigé

je croyais que c'etait index
et LastValueCptElecGlobal pour ta capture c'est bien l'index donc 11.592 ?
Merci
Tu dois mettre la valeur de ton compteur général... pas celui du voisin
Donc, si tu as d'indiquer 45 565 tu mets ça... ton compteur à toi.
Re: Repartition Consommation HC / HP...
Publié : 16 janv. 2016, 10:32
par neo_matfr
J'ai un petit souci:
Error: EventSystem: /opt/domoticz/scripts/lua/script_device_compteurHC-HP.lua:84: attempt to index field '?' (a nil value)
à mon avis c'est le switch "Compteur Electrique HP" qui ne lui plait pas.
Qu'ai je fais encore comme bêtise ?
Merci
Code : Tout sélectionner
2016-01-16 10:28:06.798 LUA: -- Calcul Compteurs HC / HP --
2016-01-16 10:28:06.798 LUA: CapteurGlobal = Conso1
2016-01-16 10:28:06.798 LUA: CapteurCptHP = Compteur Electrique HP
2016-01-16 10:28:06.798 LUA: CapteurCptHC = Compteur Electrique HC
2016-01-16 10:28:06.798 LUA: idxCptHP = 102
2016-01-16 10:28:06.799 LUA: idxCptHC = 101
2016-01-16 10:28:06.799 LUA: flagHP = EDF Heures Pleines
2016-01-16 10:28:06.799 LUA: flagHC = EDF Heures Creuses
2016-01-16 10:28:06.799 LUA: LastValueCptElecGlobal = 12.257
2016-01-16 10:28:06.799 LUA: Conso Instant = 418 / Conso Cumule = 2399930.75
2016-01-16 10:28:06.799 LUA: Delta conso = 2399918.493
2016-01-16 10:28:06.799 Error: EventSystem: /opt/domoticz/scripts/lua/script_device_compteurHC-HP.lua:84: attempt to index field '?' (a nil value)

Re: Repartition Consommation HC / HP...
Publié : 16 janv. 2016, 13:20
par Seb13
Salut,
Donne nous ta ligne 84 de ton code.

Re: Repartition Consommation HC / HP...
Publié : 16 janv. 2016, 15:35
par seblang
Hello Seb,
bon je progresse voial le script fonctionne :
2016-01-16 15:22:31.166 LUA: -- Calcul Compteurs HC / HP --
2016-01-16 15:22:31.166 LUA: CapteurGlobal = capteurglobal
2016-01-16 15:22:31.166 LUA: CapteurCptHP = capteurcpthp
2016-01-16 15:22:31.166 LUA: CapteurCptHC = capteurcpthc
2016-01-16 15:22:31.166 LUA: idxCptHP = 50
2016-01-16 15:22:31.166 LUA: idxCptHC = 51
2016-01-16 15:22:31.166 LUA: flagHP = EDF HP
2016-01-16 15:22:31.166 LUA: flagHC = EDF HC
2016-01-16 15:22:31.166 LUA: LastValueCptElecGlobal = 1361.479
2016-01-16 15:22:31.167 LUA: Conso Instant = 370 / Conso Cumule = 7508.262
2016-01-16 15:22:31.167 LUA: Delta conso = 6146.783
2016-01-16 15:22:31.167 LUA: Compteur cible = HP
2016-01-16 15:22:31.167 LUA: Valeur precedente = 0
2016-01-16 15:22:31.167 LUA: Valeur ajustee = 6146.783
2016-01-16 15:22:31.167 LUA: -- Fin Calcul Compteur HC / HP --
mais depuis qu"il tourne je ne sais pas pourquoi les switch HC HP sont tjr a off...........même si je les bascules l'un ou l'autre il revienne a OFF;
a croire que mon, blocky ne fonctione plus!