statistique consomation electrique
statistique consomation electrique
Bonjour,
Savez vous si un script existe qui permet de faire le cumul journalier de la consommation électrique avec le calcul du coût, pour ceux qui connaisse un peux jeedom, je cherche un équivalent au plugin "consommation" .
s'il n'existe pas, existe t il un script python exemple qui contient la récupération des données dans la BDD pour ensuite les retravailler correctement.
Savez vous si un script existe qui permet de faire le cumul journalier de la consommation électrique avec le calcul du coût, pour ceux qui connaisse un peux jeedom, je cherche un équivalent au plugin "consommation" .
s'il n'existe pas, existe t il un script python exemple qui contient la récupération des données dans la BDD pour ensuite les retravailler correctement.
-
jackslayter
- Messages : 1040
- Inscription : 30 sept. 2014, 14:40
- Localisation : Isère (38)
Re: statistique consomation electrique
il y a ça
viewtopic.php?f=17&t=365
viewtopic.php?f=17&t=365
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: statistique consomation electrique
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: statistique consomation electrique
En lua tout est possible. Je fais ce type de calcul journalier et hebdomadaire.
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
Re: statistique consomation electrique
Super , cela m'intéresse beaucoup, et ton script tu peux lui affecté une notification ???thier a écrit :En lua tout est possible. Je fais ce type de calcul journalier et hebdomadaire.
Il peux fonctionne sur de la production solaire ?
Re: statistique consomation electrique
Pour la production solaire, je ne sais pas. Pour la notification c'est possible. Je ne connais pas ton niveau en lua mais je t'explique le principe car mon script n'est pas un script clé en main.
Pour chaque radiateur il faut créer un compteur électrique virtuel.
Un script_time:
1) met à jour les compteurs si radiateur allumé ou pas.
2) met à jour un compteur virtuel de consommation totale regroupant la consommation de tous les convecteurs de la maison.
3) parse ce compteur pour récupérer la consommation totale.
4) calcul le cout total du chauffage journalier.
5) calcul le cout total du chauffage mensuel.
Pour chaque radiateur il faut créer un compteur électrique virtuel.
Un script_time:
1) met à jour les compteurs si radiateur allumé ou pas.
2) met à jour un compteur virtuel de consommation totale regroupant la consommation de tous les convecteurs de la maison.
3) parse ce compteur pour récupérer la consommation totale.
4) calcul le cout total du chauffage journalier.
5) calcul le cout total du chauffage mensuel.
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
Re: statistique consomation electrique
Bonjour,thier a écrit : 18 sept. 2019, 19:32 Pour la production solaire, je ne sais pas. Pour la notification c'est possible. Je ne connais pas ton niveau en lua mais je t'explique le principe car mon script n'est pas un script clé en main.
Pour chaque radiateur il faut créer un compteur électrique virtuel.
Un script_time:
1) met à jour les compteurs si radiateur allumé ou pas.
2) met à jour un compteur virtuel de consommation totale regroupant la consommation de tous les convecteurs de la maison.
3) parse ce compteur pour récupérer la consommation totale.
4) calcul le cout total du chauffage journalier.
5) calcul le cout total du chauffage mensuel.
Pour ce qui est de lua je suis une quiche (lorraine) mais je fais un peut de python donc cela devrais allez je pense.
je débute sur domoticz, donc certaine notion m’échappe encore, mais je creuse pour me mettre a niveau.
je pense que ton script soit adaptable à ce que je cherche à faire.
Re: statistique consomation electrique
Voici les deux scripts qu'il faudra adapter. J'ai essayer de mettre des commentaires pour expliquer son déroulement.
Le premier de type time, qui gère les compteurs et les coûts pour 6 radiateurs. Déjà tu devras adapter la ligne 62 pour que le script se lance.
Le second, en bash qui te permet de parser le compteur total voir ligne 166. Si tu ne le mets pas dans /home/pi/domoticz/scripts/sh/ il faut adapter la ligne 166.
Tu dois renseigner IpDomoticz:PortDomoticz, IdxCompteurVirtuelConsoTotaleChauffage et IdxVirtuelTextConsoTotaleJour en fonction de ton cas
Pour finir, quand tu maîtriseras Lua, tu verras que le premier script peux être simplifié (plusieur fois mêmes lignes de code qui se répètent = Faire une boucle avec un tableau d'entrée)
Le premier de type time, qui gère les compteurs et les coûts pour 6 radiateurs. Déjà tu devras adapter la ligne 62 pour que le script se lance.
Code : Tout sélectionner
--[[
Script_time_calcul_chauffage.lua
- Gestion des mises à jour des compteurs virtuels de chauffage quand un radiateur est allumé.
. Nécessite la création des variables ip domoticz (chaine ip:port), aujourdhui2 (Chaine), Costhier (Décimal), evolution cout mensuel chauffage (Décimale), mois en cours1 (Chaine). Elle doivent être renseignées à la création.
- Nécessite la création de virtuel text conso totale chauffage journalier, coût du chauffage.
- Nécessite la création de custom sensor de type general cout chauffage mensuel, cout chauffage journalier
- Gestion d'un compteur virtuel chauffage total avec calcul du cout total du chauffage.
- Gestion de la journée en cours et de la journée d'hier.
--]]
------------------------------------------------------------------------------------------------------------------------
--Edition des variables-------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
dofile('/home/pi/domoticz/scripts/lua/modules.lua')
local ip_domoticz = uservariables["ip domoticz"]
-- radiateur salon------------------------------------------------------------------------------------------------------
local puissance1 = 1500 -- puissance du chauffage salon en watt
local conso1 = 'conso chauffage salon' -- nom du compteur virtuel de consommation électrique (type= instant + counter)
local conso_id1 = 129 -- idx du compteur virtuel de consommation électrique
-- radiateur cuisine------------------------------------------------------------------------------------------------------
local puissance2 = 2000 -- puissance du chauffage cuisine en watt
local conso2 = 'conso chauffage cuisine' -- nom du compteur virtuel de consommation électrique (type= instant + counter)
local conso_id2 = 130 -- idx du compteur virtuel de consommation électrique
-- radiateur sdb------------------------------------------------------------------------------------------------------
local puissance3 = 2000 -- puissance du chauffage sdb en watt
local conso3 = 'conso chauffage sdb' -- nom du compteur virtuel de consommation électrique (type= instant + counter)
local conso_id3 = 131 -- idx du compteur virtuel de consommation électrique
-- radiateur parent------------------------------------------------------------------------------------------------------
local puissance4 = 1500 -- puissance du chauffage parents en watt
local conso4 = 'conso chauffage parents' -- nom du compteur virtuel de consommation électrique (type= instant + counter)
local conso_id4 = 221 -- idx du compteur virtuel de consommation électrique
-- radiateur 1------------------------------------------------------------------------------------------------------
local puissance5 = 1000 -- puissance du chauffage 1 en watt
local conso5 = 'conso chauffage 1' -- nom du compteur virtuel de consommation électrique (type= instant + counter)
local conso_id5 = 222 -- idx du compteur virtuel de consommation électrique
-- radiateur 2------------------------------------------------------------------------------------------------------
local puissance6 = 1500 -- puissance du chauffage 2 en watt
local conso6 = 'conso chauffage 2' -- nom du compteur virtuel de consommation électrique (type= instant + counter)
local conso_id6 = 234 -- idx du compteur virtuel de consommation électrique
--compteur totale chauffage------------------------------------------------------------------------------------------------------
local jour = os.date("%A") --récupération du jour. Gére l'affichagedes valeurs d'hier au changement de jour.
local mois = os.date("%B") --récupération du mois.
local puissance10 = 6500 -- puissance totale des radiateurs chauffage en watt
local conso10 = 'conso totale chauffage' -- nom du compteur virtuel de consommation électrique (type= instant + counter)
local conso_id10 = 132 -- idx du compteur virtuel de consommation total électrique
local prixdukw = 0.1567 --prix du kw ttc prix edf de base 26/02/2016
local conso_id11 = 438 -- idx du compteur virtuel de consommation total électrique d'hier
local mode_chauffage = 'chauffage' -- Nom de l'interrupteur qui gére le mode de marche du chauffage général
local marche_forcee_sdb = 'marche forcee chauffage sdb' --nom du bp qui gere la marche forcée de la salle de bains
------------------------------------------------------------------------------------------------------------------------
--fin des variables------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
commandArray = {}
------------------------------------------------------------------------------------------------------------------------------------
if (otherdevices[mode_chauffage] ~= 'Off' or otherdevices[marche_forcee_sdb] == 'On') then
--print('mois: '..moisencours)
-----------------------------------------------------------------------------------------------------
-- radiateur salon.-------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
if (otherdevices['radiateur salon'] == 'On') then
--print('test ')
npower1, energy1 = string.match(otherdevices_svalues[conso1], "(%d+%.*%d*);(%d+%.*%d*)") -- envoie de la conso dans le compteur virtuel d'énergie
energy1 = tonumber(energy1) + (puissance1 / 60)
npower1 = tonumber(npower1)
commandArray[#commandArray + 1]={['UpdateDevice'] = conso_id1 .. '|0|' .. puissance1 .. ';' .. energy1} -- mise a jour du compteur virtuel
elseif (otherdevices['radiateur salon'] == 'Off' ) then
npower1, energy1 = string.match(otherdevices_svalues[conso1], "(%d+%.*%d*);(%d+%.*%d*)") -- envoie de la conso dans le compteur virtuel d'énergie
energy1 = tonumber(energy1)
npower1 = tonumber(npower1)
-- print('test1')
commandArray[#commandArray + 1]={['UpdateDevice'] = conso_id1 .. '|0|' .. 0 .. ';' .. energy1} -- mise a jour du compteur virtuel
end
-----------------------------------------------------------------------------------------------------
-- radiateur cuisine.----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
if (otherdevices['radiateur cuisine'] == 'On') then
npower2, energy2 = string.match(otherdevices_svalues[conso2], "(%d+%.*%d*);(%d+%.*%d*)") -- envoie de la conso dans le compteur virtuel d'énergie
energy2 = tonumber(energy2) + (puissance2 / 60)
npower2 = tonumber(npower2)
commandArray[#commandArray + 1]={['UpdateDevice'] = conso_id2 .. '|0|' .. puissance2 .. ';' .. energy2} -- mise a jour du compteur virtuel
elseif (otherdevices['radiateur cuisine'] == 'Off') then
npower2, energy2 = string.match(otherdevices_svalues[conso2], "(%d+%.*%d*);(%d+%.*%d*)") -- envoie de la conso dans le compteur virtuel d'énergie
energy2 = tonumber(energy2)
npower2 = tonumber(npower2)
commandArray[#commandArray + 1]={['UpdateDevice'] = conso_id2 .. '|0|' .. 0 .. ';' .. energy2} -- mise a jour du compteur virtuel
end
-----------------------------------------------------------------------------------------------------
-- radiateur sdb.----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
if (otherdevices['radiateur sdb'] == 'On') then
npower3, energy3 = string.match(otherdevices_svalues[conso3], "(%d+%.*%d*);(%d+%.*%d*)") -- envoie de la conso dans le compteur virtuel d'énergie
energy3 = tonumber(energy3) + (puissance3 / 60)
npower3 = tonumber(npower3)
commandArray[#commandArray + 1]={['UpdateDevice'] = conso_id3 .. '|0|' .. puissance3 .. ';' .. energy3} -- mise a jour du compteur virtuel
elseif (otherdevices['radiateur sdb'] == 'Off') then
npower3, energy3 = string.match(otherdevices_svalues[conso3], "(%d+%.*%d*);(%d+%.*%d*)") -- envoie de la conso dans le compteur virtuel d'énergie
energy3 = tonumber(energy3)
npower3 = tonumber(npower3)
commandArray[#commandArray + 1]={['UpdateDevice'] = conso_id3 .. '|0|' .. 0 .. ';' .. energy3} -- mise a jour du compteur virtuel
end
-----------------------------------------------------------------------------------------------------
-- radiateur parents.----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
if (otherdevices['radiateur parents'] == 'On') then
npower4, energy4 = string.match(otherdevices_svalues[conso4], "(%d+%.*%d*);(%d+%.*%d*)") -- envoie de la conso dans le compteur virtuel d'énergie
energy4 = tonumber(energy4) + (puissance4 / 60)
npower4 = tonumber(npower4)
commandArray[#commandArray + 1]={['UpdateDevice'] = conso_id4 .. '|0|' .. puissance4 .. ';' .. energy4} -- mise a jour du compteur virtuel
elseif (otherdevices['radiateur parents'] == 'Off') then
npower4, energy4 = string.match(otherdevices_svalues[conso4], "(%d+%.*%d*);(%d+%.*%d*)") -- envoie de la conso dans le compteur virtuel d'énergie
energy4 = tonumber(energy4)
npower4 = tonumber(npower4)
commandArray[#commandArray + 1]={['UpdateDevice'] = conso_id4 .. '|0|' .. 0 .. ';' .. energy4} -- mise a jour du compteur virtuel
end
-----------------------------------------------------------------------------------------------------
-- radiateur 1.----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
if (otherdevices['radiateur 1'] == 'On') then
npower5, energy5 = string.match(otherdevices_svalues[conso5], "(%d+%.*%d*);(%d+%.*%d*)") -- envoie de la conso dans le compteur virtuel d'énergie
energy5 = tonumber(energy5) + (puissance5 / 60)
npower5 = tonumber(npower5)
commandArray[#commandArray + 1]={['UpdateDevice'] = conso_id5 .. '|0|' .. puissance5 .. ';' .. energy5} -- mise a jour du compteur virtuel
elseif (otherdevices['radiateur 1'] == 'Off') then
npower5, energy5 = string.match(otherdevices_svalues[conso5], "(%d+%.*%d*);(%d+%.*%d*)") -- envoie de la conso dans le compteur virtuel d'énergie
energy5 = tonumber(energy5)
npower5 = tonumber(npower5)
commandArray[#commandArray + 1]={['UpdateDevice'] = conso_id5 .. '|0|' .. 0 .. ';' .. energy5} -- mise a jour du compteur virtuel
end
-----------------------------------------------------------------------------------------------------
-- radiateur 2.----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
if (otherdevices['radiateur 2'] == 'On') then
npower6, energy6 = string.match(otherdevices_svalues[conso6], "(%d+%.*%d*);(%d+%.*%d*)") -- envoie de la conso dans le compteur virtuel d'énergie
energy6 = tonumber(energy6) + (puissance6 / 60)
npower6 = tonumber(npower6)
commandArray[#commandArray + 1]={['UpdateDevice'] = conso_id6 .. '|0|' .. puissance6 .. ';' .. energy6} -- mise a jour du compteur virtuel
elseif (otherdevices['radiateur 2'] == 'Off') then
npower6, energy6 = string.match(otherdevices_svalues[conso6], "(%d+%.*%d*);(%d+%.*%d*)") -- envoie de la conso dans le compteur virtuel d'énergie
energy6 = tonumber(energy6)
npower6 = tonumber(npower6)
commandArray[#commandArray + 1]={['UpdateDevice'] = conso_id6 .. '|0|' .. 0 .. ';' .. energy6} -- mise a jour du compteur virtuel
end
-----------------------------------------------------------------------------------------------------
--compteur total-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
----gestion des informations à afficher si au moins l'un des radiateurs est allumé-------------------------------------
if ((otherdevices['radiateur salon'] == 'On' or otherdevices['radiateur cuisine'] == 'On' or otherdevices['radiateur sdb'] == 'On' or otherdevices['radiateur parents'] == 'On' or otherdevices['radiateur 1'] == 'On' or otherdevices['radiateur 2'] == 'On') and jour == uservariables["aujourdhui2"] ) then
npower7, energy7 = string.match(otherdevices_svalues[conso10], "(%d+%.*%d*);(%d+%.*%d*)") -- envoie de la conso dans le compteur virtuel d'énergie
energy7 = tonumber(energy1) + tonumber(energy2) + tonumber(energy3) + tonumber(energy4) + tonumber(energy5) + tonumber(energy6)
npower7 = tonumber(npower1) + tonumber(npower2) + tonumber(npower3) + tonumber(npower4) + tonumber(npower5) + tonumber(npower6)
commandArray[#commandArray + 1]={['UpdateDevice'] = conso_id10 .. '|0|' .. npower7 .. ';' .. energy7} -- mise a jour du compteur virtuel
-----calcul du cout total du chauffage------------------------------------------------------------------------
costtotal1 = arrondir ((energy7 * prixdukw /1000),2)
-----calcul du cout journalier de chauffage-----------------------------------------------------------------------------------------------------
os.execute('bash /home/pi/domoticz/scripts/sh/parsecompteurchauffageglobal2.sh &') --met à jour le virtuel text de consommation quotidienne. & evite d'attendre le script sinon defaut 10 secondes
resultat1 = tonumber(string.sub(otherdevices_svalues['conso totale chauffage journalier'],1,6)) --recupere la valeur dans virtuel text de la conso quotidienne et garde 6 premiers caracteres
--print('resultat1 conso quotidienne: '..resultat1)
costjour1 = arrondir ((resultat1 * prixdukw),2) --arrondi a deux chiffres
--print('cout1 chauffage jour : '..costjour1)
costhier1 = uservariables['Costhier'] --valeur de costhier quand l'heure n'est pas l'heure de la raz
commandArray[#commandArray + 1]={['UpdateDevice'] = '135|1|Total: '..costtotal1..' € - Hier: '..costhier1..' € - Aujourdhui: '..costjour1..' €'} -- renseigne le virtuel text calcul du coût du chauffage
-----calcul du cout mensuel du chauffage
if (jour == uservariables["aujourdhui2"]) then --évite erreur aléatoire de calcul au changement de jour ou le cout d'hier est compté 2 fois
commandArray[#commandArray + 1]={['UpdateDevice'] = '882|1|'..costjour1} -- renseigne le custom sensor du coût journalier du chauffage pour pouvoir avoir son archivage
coutmoisencours = costjour1 + tostring(uservariables["evolution cout mensuel chauffage"])
--print('coutmoisencours: '..coutmoisencours)
commandArray[#commandArray + 1]={['UpdateDevice'] = '883|1|'..coutmoisencours} -- renseigne le custom sensor du coût mensuel du chauffage pour pouvoir avoir son archivage
end
----gestion des informations à afficher si les radiateurs sont éteints---------------------------------------------------
elseif ((otherdevices['radiateur salon'] == 'Off' and otherdevices['radiateur cuisine'] == 'Off' and otherdevices['radiateur sdb'] == 'Off' and otherdevices['radiateur parents'] == 'Off' and otherdevices['radiateur 1'] == 'Off' and otherdevices['radiateur 2'] == 'Off' ) and jour == uservariables["aujourdhui2"] ) then
npower8, energy8 = string.match(otherdevices_svalues[conso10], "(%d+%.*%d*);(%d+%.*%d*)") -- envoie de la conso dans le compteur virtuel d'énergie
energy8 = tonumber(energy1) + tonumber(energy2) + tonumber(energy3) + tonumber(energy4) + tonumber(energy5) + tonumber(energy6)
npower8 = 0
commandArray[#commandArray + 1]={['UpdateDevice'] = conso_id10 .. '|0|' .. npower8 .. ';' .. energy8} -- mise a jour du compteur virtuel
end
-----------------------------------------------------------------------------------------------------
--compteur total-> décalage des valeurs vers hier pour avoir les valeurs n -1 affichées-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
if (jour ~= uservariables["aujourdhui2"]) then --c'est l'heure de la remise à zéro détectée par la différence de jour. La conso du jour devient la conso d'hier
os.execute('bash /home/pi/domoticz/scripts/sh/parsecompteurchauffageglobal2.sh &') --met à jour le virtuel text de consommation quotidienne. & evite d'attendre le script sinon defaut 10 secondes
resultat1 = tonumber(string.sub(otherdevices_svalues['conso totale chauffage journalier'],1,6)) --recupere la valeur dans virtuel text de la conso quotidienne et garde 6 premiers caracteres
--print('resultat1 conso quotidienne: '..resultat1)
costjour1 = arrondir ((resultat1 * prixdukw),2) --arrondi a deux chiffres
miseajourevolcoutmensuelchauffage = costjour1 + tostring(uservariables["evolution cout mensuel chauffage"])
commandArray[#commandArray + 1]={['Variable:evolution cout mensuel chauffage']= tostring(miseajourevolcoutmensuelchauffage)}
-----conservation du cout total depuis la mise en service du chauffage
npower9, energy9 = string.match(otherdevices_svalues[conso10], "(%d+%.*%d*);(%d+%.*%d*)") -- envoie de la conso dans le compteur virtuel d'énergie
energy9 = tonumber(energy1) + tonumber(energy2) + tonumber(energy3) + tonumber(energy4) + tonumber(energy5) + tonumber(energy6)
npower9 = tonumber(npower1) + tonumber(npower2) + tonumber(npower3) + tonumber(npower4) + tonumber(npower5) + tonumber(npower6)
commandArray[#commandArray + 1]={['UpdateDevice'] = conso_id10 .. '|0|' .. npower9 .. ';' .. energy9} -- mise a jour du compteur virtuel
print('energy12 :'..energy9)
print('npower12 :'..npower9)
----mise à jour du compteur virtuel de la consommation d'hier avec la valeur de la consommation totale du jour
consohier2 = otherdevices_svalues['conso totale chauffage journalier'] --récupère la consommation totale du jour
energyhier2 = 0
commandArray[#commandArray + 1]={['UpdateDevice'] = conso_id11 .. '|1|' .. consohier2 .. '; 0'} -- mise a jour du compteur virtuel de la consommation d'hier
--print('conso hier2 :'..consohier2)
-----calcul du cout total du chauffage----------------------------------------------------------------------------
costtotal2 = arrondir ((energy9 * prixdukw /1000),2)
--print('costtotal2 :'..costtotal2)
-----calcul du cout journalier et de la consommation du jour pour les décaler à hier--------------------------------------------------------
resultat2 = tonumber(string.sub(otherdevices_svalues['conso totale chauffage journalier'],1,6)) --recupere la valeur dans virtuel text de la conso quotidienne et garde les 6 premiers caracteres
--print('resultat2 :'..resultat2)
costjour2 = arrondir ((resultat2 * prixdukw),2) --arrondi à deux chiffres
--print('costjour2 ' ..costjour2)
commandArray[#commandArray + 1]={['Variable:Costhier'] = tostring(costjour2)} -- mise à jour de la variable utilisateur Costhier en stockant la variable Costjour = coût du jour avant la remise à zéro de costjour à minuit
costhier2 = costjour2
costjour3 = 0
print('costhier2 : ' ..costhier2)
--print('costjour ' ..costjour3)
--print('costtotal ' ..costtotal2)
commandArray[#commandArray + 1]={['UpdateDevice'] = '135|1|Total: '..costtotal2..' € - Hier: '..costhier2..' € - Aujourdhui: '..costjour3..' €'} -- renseigne le virtuel text calcul du coût du chauffage
commandArray[#commandArray + 1]={['UpdateDevice'] = '882|1|Total: '..costjour3} -- met le custom sensor du coût journalier à zéro du chauffage pour pouvoir avoir son archivage
--mise à jour de la variable "aujourdhui2"
commandArray[#commandArray + 1]={['Variable:aujourdhui2']= jour}
---remise à zéro du cout mensuel du chauffage au changement de mois
elseif (mois ~= uservariables["mois en cours1"]) then --c'est le changement de mois. La conso mensuel est remise à zéro
commandArray[#commandArray + 1]={['Variable:evolution cout mensuel chauffage'] = '0'}
commandArray[#commandArray + 1]={['Variable:mois en cours1'] = mois}
end
end
return commandArrayTu dois renseigner IpDomoticz:PortDomoticz, IdxCompteurVirtuelConsoTotaleChauffage et IdxVirtuelTextConsoTotaleJour en fonction de ton cas
Code : Tout sélectionner
#!/bin/bash
#récupère la consommation quotidienne dans le compteur virtuel 'conso totale chauffage'
result=$(curl -s "http://IpDomoticz:PortDomoticz/json.htm?type=devices&rid=IdxCompteurVirtuelConsoTotaleChauffage"| jq -r .result[].CounterToday)
echo $result
#met le résultat dans le virtuel text 'conso totale jour'
curl -s 'http://IpDomoticz:PortDomoticz/json.htm?type=command¶m=udevice&idx=IdxVirtuelTextConsoTotaleJour&nvalue=0&svalue='$result''
Dernière modification par thier le 19 sept. 2019, 18:14, modifié 1 fois.
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
Re: statistique consomation electrique
super merci, il me reste plus qu'a adapter tes scripts a mon besoin et les mettre au bon emplacements.