[LUA+Bash] Calcul de DJU

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
benbidouille
Messages : 102
Inscription : 11 déc. 2017, 11:48

Re: Calcul de DJU

Message par benbidouille »

Après 3 semaines d'observations, un petit snapshot de comparaison du cumul des DJU méthode Intégrale vs méthode Météo France
DJUvsDJU_MF.JPG
DJUvsDJU_MF.JPG (53.75 Kio) Consulté 8160 fois
Des variations de comptages quotidiennes de +/-2 DJU sont observées du fait des profils de variations de température non réguliers, sans oublier que la méthode intégrale peut reporter le comptage de jusque +0.99 DJU sur le jour suivant sans perte de précision alors que la méthode Météo France fait un calcul quotidien avec arrondi allant jusque +/- 0.5 DJU chaque jour.

Le cumul des DJU par les 2 méthodes est d'une comparabilité remarquable.

Pour autant la méthode Intégrale me parait beaucoup mieux adaptée pour le suivi quotidien / temps réel du ratio Consommation KWh de chauffage / DJU.
RPI3 + WDPiDrive + UPS Pico HV3.0B HAT + Teleinfo USB (6) + 1Wire GPIO + DS18B20 (15)+ Gateway MySensor NRF24, Sensors , Relais ... + Gateway Velux .... + Gestion Pompe à Chaleur + NRFDoctor .... tout en DIY
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Calcul de DJU

Message par papoo »

benbidouille a écrit :
Pour autant la méthode Intégrale me parait beaucoup mieux adaptée pour le suivi quotidien / temps réel du ratio Consommation KWh de chauffage / DJU.
elle est aussi beaucoup plus simple à mettre en oeuvre
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Calcul de DJU

Message par papoo »

salut
je viens de mettre au point un script lua en un seul fichier pour le calcul de DJU méthode COSTIC avec création automatique des devices et variables et j'aurais besoin d'un testeur avant de le diffuser savoir si cela fonctionne correctement sur une autre machine que la mienne.
si vous êtes volontaires dites le moi je vous fait un MP avec le script
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
oxygen
Messages : 2
Inscription : 27 déc. 2018, 11:36

Re: Calcul de DJU

Message par oxygen »

Hello :)

Je confirme que ton script semble bien marcher.
Je galère un peu avec le lua (n'étant pas très habitué à ce language particulier), mais ton implémentation fonctionne parfaitement bien, au moins pour l'instant.
Il ne reste "plus" qu'à valider le calcul sur quelques jours.

La source de température ext utilisée est le bon vieux Weather Open, n'ayant pas (encore) de sonde extérieure indépendante.
oxygen
Messages : 2
Inscription : 27 déc. 2018, 11:36

Re: Calcul de DJU

Message par oxygen »

Correctif, j'ai l'impression que la valeur négative n'est pas bien prise en compte.
2018-12-27 12:23:00.407 Status: LUA: == ========= Calcul Degrés jour Chauffage méthode COSTIC (v1.02) ========= ==
2018-12-27 12:23:00.438 Status: LUA: == --- --- --- Température Ext : 0.8 ==
2018-12-27 12:23:00.438 Status: LUA: == --- --- --- Tn : 0.7 ==
2018-12-27 12:23:00.438 Status: LUA: == --- --- --- Tx : 0.9 ==
2018-12-27 12:23:00.438 Status: LUA: == --- --- --- Tn_hold : 150 ==
2018-12-27 12:23:00.438 Status: LUA: == --- --- --- Température Extérieure inférieure au seuil de 18°c ==

En pratique, la Températeur Ext est de -0.8°C, il semble que la valeur ne soit pas bien relue par le script.

La conversion/analyse par le

Code : Tout sélectionner

tonumber(string.match(otherdevices_svalues[temp_ext], "%d+%.*%d*"))
fait sauter le "-" de la valeur négative.

Je pense qu'il faudrait plutôt utiliser:

Code : Tout sélectionner

temperature = tonumber(string.match(otherdevices_svalues[temp_ext], "%-?%d+%.*%d*"))
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Calcul de DJU

Message par papoo »

Merci, je modifie mon script
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Antori91

Re: Calcul de DJU

Message par Antori91 »

Bonjour Papoo,

Nous avons déjà eu une conversation il y a des mois sur la façon de calculer les degrés.jour. Ci-après un lien qui rappelle la façon mathématique : https://www.degreedays.net/introduction

Extract avec un exemple de relevé toutes les 30 mn >>>
A proper calculation would not make for particularly interesting reading, so I'll leave most of it out. But essentially you just have to add up the figures for each of the half-hour periods in the day (one half-hour period is 1/48 days):
(3 degrees * 1/48 days) + (3.1 degrees * 1/48 days) + ....... etc.
= 1.9 heating degree days on July 7th

Comme le rappelle https://fr.wikipedia.org/wiki/Degr%C3%A ... nifi%C3%A9 dans le paragraphe Évolution, les méthodes Costic ou autres ne se justifiaient que lorsque les stations météorologiques n'étaient équipées que d'un thermomètre à minimum et maximum
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Calcul de DJU

Message par papoo »

Bonjour Antori91,
je suis d'accord avec toi sur le fait que la méthode soit dépassée. Mais c'est encore la seule à être utilisée par les professionnels de l’énergie (contrats de type P1)
j'ai accès aux DJU COSTIC de ma ville, ce script me permet de les comparer. Ce n'est qu'une manière de les calculer.
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
calouis
Messages : 109
Inscription : 08 nov. 2015, 10:34
Localisation : 62

Re: Calcul de DJU

Message par calouis »

Bonjour Papoo
Je tente en vain depuis qq jours d'utiliser ton script v2.2 dju_methode_COSTIC.lua :
n'y a t-il pas une erreur à la ligne 87 : moy = (Txj*Tnj)/2 ? une addition au lieu d'une multiplication...
Mais en corrigeant, j'ai quand même une erreur :

Code : Tout sélectionner

2019-01-23 17:59:49.778 Status: dzVents: Info: Handling events for: "Module extérieur", value: "1.8;93;3"
2019-01-23 17:59:49.778 Status: dzVents: Info: DJU MéthodeCOSTIC v2.2: ------ Start internal script: dju_methode_COSTIC: Device: "Module extérieur (Opale)", Index: 1
2019-01-23 17:59:49.863 Status: dzVents: Debug: DJU MéthodeCOSTIC v2.2: --- --- --- Température Ext : 1.8 °C
2019-01-23 17:59:49.877 Status: dzVents: Info: DJU MéthodeCOSTIC v2.2: ------ Finished dju_methode_COSTIC
2019-01-23 18:02:00.246 Status: dzVents: Info: DJU MéthodeCOSTIC v2.2: ------ Start internal script: dju_methode_COSTIC:, trigger: at 18:02
2019-01-23 18:02:00.386 Status: dzVents: Debug: DJU MéthodeCOSTIC v2.2: Processing device-adapter for Module extérieur: Temperature+humidity device adapter
2019-01-23 18:02:00.387 Status: dzVents: Debug: DJU MéthodeCOSTIC v2.2: --- --- --- Température Ext : 1.8 °C
2019-01-23 18:02:00.389 Status: dzVents: Debug: DJU MéthodeCOSTIC v2.2: --- --- --- température maximale du jour : 4.6999998092651 °C
2019-01-23 18:02:00.389 Status: dzVents: Debug: DJU MéthodeCOSTIC v2.2: --- --- --- température minimale du jour : 1.6000000238419 °C
2019-01-23 18:02:00.389 Status: dzVents: Debug: DJU MéthodeCOSTIC v2.2: --- --- --- température moyenne du jour : 3.1499999165535 °C
2019-01-23 18:02:00.389 Status: dzVents: Debug: DJU MéthodeCOSTIC v2.2: --- --- --- Le Seuil de 18°C est supérieur à la température maximum atteinte lors des dernières 24 heures (4.6999998092651°C)
2019-01-23 18:02:00.389 Status: dzVents: Debug: DJU MéthodeCOSTIC v2.2: --- --- --- djc : 15
2019-01-23 18:02:00.390 Status: dzVents: Debug: DJU MéthodeCOSTIC v2.2: Processing device-adapter for DJU méthode COSTIC: Custom sensor device adapter
2019-01-23 18:02:00.390 Status: dzVents: Debug: DJU MéthodeCOSTIC v2.2: --- --- --- compteur avant mise à jour DJU méthode COSTIC : nil DJU
2019-01-23 18:02:00.390 Status: dzVents: Error (2.4.9): DJU MéthodeCOSTIC v2.2: An error occured when calling event handler dju_methode_COSTIC
2019-01-23 18:02:00.390 Status: dzVents: Error (2.4.9): DJU MéthodeCOSTIC v2.2: ...scripts/dzVents/generated_scripts/dju_methode_COSTIC.lua:105: attempt to perform arithmetic on a nil value
Ma ligne 105 : cpt_djc_index = tonumber(cpt_djc_index) + djc

Merci d'avance
_ Raspberry Pi3 Stretch + Domoticz V4.11214
_ dzVents Version: 2.4.28
_ Python 3.5.3
_ usbZwave
_ RFX433XL USB Version: Pro XL1/1035
_ GW Xiaomi
_ station meteo Oregon & Netatmo
_ LMS
_ Yeelight
_ Tradfri
_ Zigate plugin 4.11.012 + Version : 031d
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Calcul de DJU

Message par papoo »

Bonjour calouis
je viens de mettre à jour en v2.3 suite à tes remarques fortes à propos.
effectivement c'est une addition et non une multiplication.
la deuxieme erreur viens que je n'avais pas de condition pour tester si le compteur de dju est à zéro, cas que je n'ai pas chez moi ayant fait pas mal de test avant d'ajouter l’opération qui te générais cette erreur
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Répondre