[LUA] Repartition Consommation HC / HP...
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Repartition Consommation HC / HP...
Nom de la variable:
CONSO_LAST
Type de variable:
Chaîne
Valeur de la variable:
HP;0
Ne fais pas de modifications dans le code pour le moment s'il te plaît
CONSO_LAST
Type de variable:
Chaîne
Valeur de la variable:
HP;0
Ne fais pas de modifications dans le code pour le moment s'il te plaî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
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: Repartition Consommation HC / HP...
Oui sa va mieux comme ça
mais il a du mal avec l'heure il fait les changement en décaler fin hp 09:14 il change a 09:16
mais il a du mal avec l'heure il fait les changement en décaler fin hp 09:14 il change a 09:16
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Repartition Consommation HC / HP...
Ah ça c'est normal, on ne va rien pouvoir y faire. C'est dépendant de la mise à jour de ton capteur qui envoie les infos tous les x temps, ce ne sera jamais vraiment synchro avec les heures de changement de cycle.
Mais c'est pas bien méchant.
Donc la t'es avec le script sans modification c'est ça ?
Mais c'est pas bien méchant.
Donc la t'es avec le script sans modification c'est ça ?
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: Repartition Consommation HC / HP...
Salut, oui merci, aucune motif faite tout fonctionne je referai une instal de domoticz pour voir je trouve que l'heure saccade, elle reste figé passe de 19h50 à 19h59 par exemple
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Repartition Consommation HC / HP...
Comme je le disais il faudra travailler encore un peu dessus, les HC vont certainement avoir un soucis de comptage en fin de journée.
C'était un premier jet sans trop de perfectionnement. Mais probablement plus simple à comprendre ainsi.
Pour ton histoire d'heures, je ne comprends pas trop. Un problème de rafraîchissement de l'interface de Domoticz ?
C'était un premier jet sans trop de perfectionnement. Mais probablement plus simple à comprendre ainsi.
Pour ton histoire d'heures, je ne comprends pas trop. Un problème de rafraîchissement de l'interface de Domoticz ?
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: Repartition Consommation HC / HP...
oui je sais pas l'heure ne défile pas, bloque peux être ma clef usb qui déconne, je vais le faire sur une autre ou sur disque dur je sais pas encore
Re: [LUA] Repartition Consommation HC / HP...
Hello à tous!
Je déterre ce topic car je vais changer (demain) mon abonnement pour passer en heure pleines et en heures creuses.
J'ai réussi à faire les 2 compteurs virtuels, j'ai mon OWL qui communique (pas de télétransmission),à priori tout va bien. Mais je me demande comment Domoticz fait les calculs avec les couts T1 et T2 (et est ce qu'il le fait vraiment?).
Car au final, le capteur virtuel HP devrait utiliser T1, et celui HC devrait utiliser T2 pour les rapports.
Et je suis preneur du graph que tu as partagé @vil1driver (ca dépends peut etre de la version de Domoticz), car je n'ai que 3 graphes séparés (un pour chaque device virtuel HP/HC et un autre pour mon OWL)...
Je déterre ce topic car je vais changer (demain) mon abonnement pour passer en heure pleines et en heures creuses.
J'ai réussi à faire les 2 compteurs virtuels, j'ai mon OWL qui communique (pas de télétransmission),à priori tout va bien. Mais je me demande comment Domoticz fait les calculs avec les couts T1 et T2 (et est ce qu'il le fait vraiment?).
Car au final, le capteur virtuel HP devrait utiliser T1, et celui HC devrait utiliser T2 pour les rapports.
Et je suis preneur du graph que tu as partagé @vil1driver (ca dépends peut etre de la version de Domoticz), car je n'ai que 3 graphes séparés (un pour chaque device virtuel HP/HC et un autre pour mon OWL)...
LUA - Compteur heure pleine/creuse
Bonjour,
J'ai un compteur qui fonctionne en wifi et j'ai créé un compteur virtuel pour les heures pleine et creuse.
Sur la base de ce topic : lien forum
Voici le script LUA en question :
Aucun souci je retrouve bien, les heures creuses et pleines:
Le problème, j'ai ajouté un capteur Zigbee.
Côté zigbee tout fonctionne correctement.
J'ai donc dupliqué le code précédent en changeant le IDX.
Et là, magie, ça ne fonctionne pas :
Et bizarrement, par contre le total (2.448kWh) est correct.. C'est l'affichage qui pose problème.
Je ne comprends pas pourquoi je n'ai que des points ponctuellement...
Si quelqu'un a une idée, je vous remercie.
J'ai un compteur qui fonctionne en wifi et j'ai créé un compteur virtuel pour les heures pleine et creuse.
Sur la base de ce topic : lien forum
Voici le script LUA en question :
Code : Tout sélectionner
function log(p_message)
-- print("[HPHC] " .. p_message)
end
function getdevname4idx(deviceIDX)
for i, v in pairs(otherdevices_idx) do
if v == deviceIDX then
return i
end
end
return 0
end
commandArray = {}
DEBUG = false
local nomCompteurPrincipal = getdevname4idx(79)
local idxCompteurIntelligent = 81
local nomCompteurIntelligent = getdevname4idx(idxCompteurIntelligent)--HPHC
local nomHeureCreuse = getdevname4idx(82) -- Switch Heures Creuses
for deviceName,deviceValue in pairs(devicechanged) do
if (deviceName==nomCompteurPrincipal) then
-- On récupère la valeur du compteur unique => consEnergy
ConsPower, consEnergy = string.match(otherdevices_svalues[nomCompteurPrincipal], "(%d+%.*%d*);(%d+%.*%d*)")
log(ConsPower.."-"..consEnergy)
--on somme les compteurs HP et HC => EnergyImport
--http://www.domoticz.com/wiki/Upload_energy_data_to_PVoutput
EnergyImportLow, EnergyImportHigh, EnergyExportLow, EnergyExportHigh, PowerImport, PowerExport = otherdevices_svalues[nomCompteurIntelligent]:match("([^;]+);([^;]+);([^;]+);([^;]+);([^;]+);([^;]+)")
-- For the first time, the value are not initilize in the smart counter, we set 0 by default.
if(EnergyImportLow == nil)then
EnergyImportLow =0
EnergyImportHigh =0
EnergyExportLow = 0
EnergyExportHigh =0
PowerImport = 0
PowerExport = 0
end
-- Lors du changement de pile du compteur unique, consEnergy a été réinitialisé, faussant complémtement les valeurs de EnergyImportLow/EnergyImportHigh
if((EnergyImportLow+0) < 0 or (EnergyImportHigh+0) < 0) then
EnergyImportLow =0
EnergyImportHigh =0
log(" ----- Reinit de EnergyImportLow/EnergyImportHigh");
end
EnergyImport = EnergyImportLow + EnergyImportHigh
EnergyExport = EnergyExportLow + EnergyExportHigh
log(" ----- PowerImport = " .. PowerImport .. " W");
log(" ----- EnergyImportLow = " .. EnergyImportLow .. " Wh");
log(" ----- EnergyImportHigh = " .. EnergyImportHigh .. " Wh");
log(" ----- EnergyImport = " .. EnergyImport .. " Wh");
log(" ----- PowerExport = " .. PowerExport .. " W");
log(" ----- EnergyExportLow = " .. EnergyExportLow .. " Wh");
log(" ----- EnergyExportHigh = " .. EnergyExportHigh .. " Wh");
log(" ----- EnergyExport = " .. EnergyExport .. " Wh");
--On calcule le delta avec le compteur actuel
delta = consEnergy - EnergyImport
--On ajoute le delta sur le bon tarif
if (otherdevices[nomHeureCreuse] == 'Off') then
EnergyImportLow = EnergyImportLow + delta
else
EnergyImportHigh = EnergyImportHigh + delta
end
--On modifie le compteur intelligent
commandArray['UpdateDevice'] = idxCompteurIntelligent.."|0|"..EnergyImportLow..";"..EnergyImportHigh..";0;0;"..ConsPower..";0"
end
end
return commandArrayLe problème, j'ai ajouté un capteur Zigbee.
Côté zigbee tout fonctionne correctement.
J'ai donc dupliqué le code précédent en changeant le IDX.
Code : Tout sélectionner
function log(p_message)
--print("[HPHC] " .. p_message)
end
function getdevname4idx(deviceIDX)
for i, v in pairs(otherdevices_idx) do
if v == deviceIDX then
return i
end
end
return 0
end
commandArray = {}
DEBUG = false
local nomCompteurPrincipal = getdevname4idx(162)
local idxCompteurIntelligent = 167
local nomCompteurIntelligent = getdevname4idx(idxCompteurIntelligent)--HPHC
local nomHeureCreuse = getdevname4idx(82) -- Switch Heures Creuses
for deviceName,deviceValue in pairs(devicechanged) do
if (deviceName==nomCompteurPrincipal) then
-- On récupère la valeur du compteur unique => consEnergy
ConsPower, consEnergy = string.match(otherdevices_svalues[nomCompteurPrincipal], "(%d+%.*%d*);(%d+%.*%d*)")
log(ConsPower.."-"..consEnergy)
--on somme les compteurs HP et HC => EnergyImport
--http://www.domoticz.com/wiki/Upload_energy_data_to_PVoutput
EnergyImportLow, EnergyImportHigh, EnergyExportLow, EnergyExportHigh, PowerImport, PowerExport = otherdevices_svalues[nomCompteurIntelligent]:match("([^;]+);([^;]+);([^;]+);([^;]+);([^;]+);([^;]+)")
-- For the first time, the value are not initilize in the smart counter, we set 0 by default.
if(EnergyImportLow == nil)then
EnergyImportLow =0
EnergyImportHigh =0
EnergyExportLow = 0
EnergyExportHigh =0
PowerImport = 0
PowerExport = 0
end
-- Lors du changement de pile du compteur unique, consEnergy a été réinitialisé, faussant complémtement les valeurs de EnergyImportLow/EnergyImportHigh
if((EnergyImportLow+0) < 0 or (EnergyImportHigh+0) < 0) then
EnergyImportLow =0
EnergyImportHigh =0
log(" ----- Reinit de EnergyImportLow/EnergyImportHigh");
end
EnergyImport = EnergyImportLow + EnergyImportHigh
EnergyExport = EnergyExportLow + EnergyExportHigh
log(" ----- PowerImport = " .. PowerImport .. " W");
log(" ----- EnergyImportLow = " .. EnergyImportLow .. " Wh");
log(" ----- EnergyImportHigh = " .. EnergyImportHigh .. " Wh");
log(" ----- EnergyImport = " .. EnergyImport .. " Wh");
log(" ----- PowerExport = " .. PowerExport .. " W");
log(" ----- EnergyExportLow = " .. EnergyExportLow .. " Wh");
log(" ----- EnergyExportHigh = " .. EnergyExportHigh .. " Wh");
log(" ----- EnergyExport = " .. EnergyExport .. " Wh");
--On calcule le delta avec le compteur actuel
delta = consEnergy - EnergyImport
--On ajoute le delta sur le bon tarif
if (otherdevices[nomHeureCreuse] == 'Off') then
EnergyImportLow = EnergyImportLow + delta
else
EnergyImportHigh = EnergyImportHigh + delta
end
--On modifie le compteur intelligent
commandArray['UpdateDevice'] = idxCompteurIntelligent.."|0|"..EnergyImportLow..";"..EnergyImportHigh..";0;0;"..ConsPower..";0"
end
end
return commandArrayEt là, magie, ça ne fonctionne pas :
Et bizarrement, par contre le total (2.448kWh) est correct.. C'est l'affichage qui pose problème.
Je ne comprends pas pourquoi je n'ai que des points ponctuellement...
Si quelqu'un a une idée, je vous remercie.
Re: [LUA] Repartition Consommation HC / HP...
Je viens de déplacer ton message dans le sujet traitant du script.
Tes scripts ont bien le même trigger ?
Tes scripts ont bien le même trigger ?
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: [LUA] Repartition Consommation HC / HP...
Merci.
Oui ils triggent tous les deux sur "Device".
Oui ils triggent tous les deux sur "Device".