lecture de donnée a une heure précise
lecture de donnée a une heure précise
hello,
je voudrais calculer ma consommation électrique sur ma periode HC/HP, j'ai regarder dans les requetes JSON, il semble qu'il n'y ai rien qui permette de faire cela.
une idée de comment je pourrais faire cela, a part lancer des lectures au heure de changement de periode ?
merci par avance
je voudrais calculer ma consommation électrique sur ma periode HC/HP, j'ai regarder dans les requetes JSON, il semble qu'il n'y ai rien qui permette de faire cela.
une idée de comment je pourrais faire cela, a part lancer des lectures au heure de changement de periode ?
merci par avance
Re: lecture de donnée a une heure précise
DomoticZ donne des graphes avec la répartition HC/HP avec la possibilité d'export du graphique en Excel.
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
-
Flying Domotic
- Messages : 772
- Inscription : 10 mars 2020, 15:26
Re: lecture de donnée a une heure précise
Les données sont dans la base, dans la table Multimeter pour la période courante (en général les dernières 24h, réglable dans les options), et dans la table Multimeter_Calendar pour les valeurs par jour. C'est de là que les données sont extraites pour les graphes.
Quel est le besoin, de façon un peu plus détaillée ?
Quel est le besoin, de façon un peu plus détaillée ?
Re: lecture de donnée a une heure précise
je voudrais avoir ma consommation a 6h, 22h, et 0h, de manière a pouvoir calculer ma consommation electrique suivant les periode HC/HP
sinon je vais faire un scripte qui ce déclenchera a ces horaires...,
merci
sinon je vais faire un scripte qui ce déclenchera a ces horaires...,
merci
-
Flying Domotic
- Messages : 772
- Inscription : 10 mars 2020, 15:26
Re: lecture de donnée a une heure précise
Si je comprends bien, tu as une mesure de conso sans indication HP/HC, et tu veux pouvoir afficher la distinction entre les 2 tarifs ?
Si oui, est-ce que tu as un indicateur HP/HC dans un device Domoticz, ou tu veux simplement te baser sur l'heure (genre HC de 22h à 6h) ?
Donnes-moi les noms du/des devices Domoticz concernés chez toi, que j'adapte un de mes scripts.
Si oui, est-ce que tu as un indicateur HP/HC dans un device Domoticz, ou tu veux simplement te baser sur l'heure (genre HC de 22h à 6h) ?
Donnes-moi les noms du/des devices Domoticz concernés chez toi, que j'adapte un de mes scripts.
Re: lecture de donnée a une heure précise
oui, c'est tout a fait cela, j'ai pas de remonté d'info sur les HC/HP, je voudrais faire cela sur l'heure (tempo dans mon cas)
l'id de mon module est le 337
merci par avance
l'id de mon module est le 337
merci par avance
-
Flying Domotic
- Messages : 772
- Inscription : 10 mars 2020, 15:26
Re: lecture de donnée a une heure précise
Merci !
Quel est le nom associé au device 337 ?
D'autre part, est-ce qu'il y a un contact HP/HC connecté à Domoticz (sinon, on utilisera la tranche horaire 22h/6h) ?
Quel est le nom associé au device 337 ?
D'autre part, est-ce qu'il y a un contact HP/HC connecté à Domoticz (sinon, on utilisera la tranche horaire 22h/6h) ?
Re: lecture de donnée a une heure précise
il n'y a pas de contacteur HC/HP, 6h-22h
le nom associer est 'consomation_total'
merci
le nom associer est 'consomation_total'
merci
-
Flying Domotic
- Messages : 772
- Inscription : 10 mars 2020, 15:26
Re: lecture de donnée a une heure précise
Voilà le code à mettre dans la partie "Configuration" -> "Plus d'options" -> "Évènements", dans un nouveau script ("+" -> "Lua" -> "Device")
Il faut au préalable, créer un dispositif virtuel de type "P1 compteur intelligent (électrique)", et le nommer "Conso HP/HC globale". On peut lui donner n'importe quel nom en fait, il suffit de l'indiquer dans le second paramètre du script lord de l'appel de "dispatchEnergy".
Avec quelques modifs, on peut même se passer du cumul d'énergie si on a un dispositif qui n'envoie que la conso instantanée. On peut aussi gérer la partie réinjection, lorsqu'on a une production locale.
Il faut au préalable, créer un dispositif virtuel de type "P1 compteur intelligent (électrique)", et le nommer "Conso HP/HC globale". On peut lui donner n'importe quel nom en fait, il suffit de l'indiquer dans le second paramètre du script lord de l'appel de "dispatchEnergy".
Avec quelques modifs, on peut même se passer du cumul d'énergie si on a un dispositif qui n'envoie que la conso instantanée. On peut aussi gérer la partie réinjection, lorsqu'on a une production locale.
Code : Tout sélectionner
-- Gestion de la consommation standard (sans réinjection)
function dispatchEnergy(energyName, p1Name) -- Répartit les données d'énergie d'un dispositif sans HP/HC dans un dispositif bi-tarif
if (devicechanged[energyName]) then -- Est-ce que le dispositif d'origine a été modifié ?
lastP1 = otherdevices_svalues[p1Name] -- Récupérer les valeurs précédentes du dispositif bi-tarif
energyT1, energyT2, providedT1, providedT2, lastPower = lastP1:match("([^;]+);([^;]+);([^;]+);([^;]+);([^;]+)") -- Découper les données
energyT1 = tonumber(energyT1) -- Convertir l’énergie tarif 1 en numérique
energyT2 = tonumber(energyT2) -- Même chose avec T2
energyValues = otherdevices_svalues[energyName] -- Récupérer la puissance instantanée et l'énergie du dispositif d'origine
power, energy = energyValues:match("([^;]+);([^;]+)") -- Découper les données
energy = tonumber(energy) -- Convertir l'énergie en numérique
if (energy < (energyT1 + energyT2)) then -- Est-ce qu'on a eu un reset depuis la dernière passe ?Do we got a reset ?
energyT1 = 0 -- Oui, effacer les énergies 1 et 2
energyT2 = 0
end
time = os.date("*t") -- Récupérer date et heure courante
if (time.hour < 6 or time.hour >= 22) then -- Est-ce qu'on est dans l'intervalle du tarif 2 ?
energyT2 = energy - energyT1 -- Calculer l'énergie T2
else -- Sinon, on est en tarif 1
energyT1 = energy - energyT2 -- Calculer le T1
end
p1Id = otherdevices_idx[p1Name] -- Récupérer l'IDX du dispositif bi-tarif et le mettre à jour
commandArray['UpdateDevice'] = p1Id.."|0|"..tostring(energyT1)..";".. tostring(energyT2)..";0;0;"..tostring(power)..";0"
end
end
commandArray = {} -- Initialiser la table de retour
dispatchEnergy('consomation_total', 'Conso HP/HC globale') -- Dispositif d'origine, dispositif virtuel bi-tarif
return commandArray -- Retour de la table
--[[
Ce script convertit les données un dispositif de mesure de puissance instantanée/énergie totale standard (passé à dispatchEnergy en premier paramètre)
dans un dispositif virtuel bi-tarif (à créer préalablement avec un type "P1 compteur intelligent (électrique)").
A défaut d'indicateur de tarif, le tarif 2 est défini dans la période 22h - 6h, la période 1 en dehors.
Flying Domotic - Décembre 2023
--]]
Re: lecture de donnée a une heure précise
merci,
je test cela
je test cela