@open3cl/engine 1.3.25 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,7 @@
1
1
  import enums from './enums.js';
2
2
  import { mois_liste, tv } from './utils.js';
3
3
  import tvs from './tv.js';
4
+ import { COEFF_EP_1_9, COEFF_EP_2_3 } from './conso.js';
4
5
 
5
6
  export class ProductionENR {
6
7
  #taplpi = {
@@ -19,7 +20,7 @@ export class ProductionENR {
19
20
  * @param productionElecEnr
20
21
  * @param Sh {string}
21
22
  */
22
- calculateEnr(productionElecEnr, conso, Sh, th, zc_id) {
23
+ calculateEnr(productionElecEnr, conso, Sh, th, zc_id, use_coeff_ch_elec_2_3) {
23
24
  const productionElectricite = {
24
25
  conso_elec_ac: 0,
25
26
  production_pv: 0,
@@ -44,7 +45,7 @@ export class ProductionENR {
44
45
  this.updateEfConso(productionElectricite, conso, Sh);
45
46
 
46
47
  // Mise à jour des consommations d'énergie primaire en minorant l'énergie consommée par l'énergie autoconsommée par le poste
47
- this.updateEPConso(productionElectricite, conso, Sh);
48
+ this.updateEPConso(productionElectricite, conso, Sh, use_coeff_ch_elec_2_3);
48
49
  }
49
50
 
50
51
  return {
@@ -179,26 +180,49 @@ export class ProductionENR {
179
180
  * Mise à jour des consommations ef en minorant l'énergie primaire consommée par l'énergie autoconsommée par chaque enveloppe
180
181
  * @param productionElectricite
181
182
  * @param conso {{ep_conso: Ep_conso}}
182
- * @param Sh
183
+ * @param Sh {number}
184
+ * @param use_coeff_ch_elec_2_3 {boolean} "true" pour ne pas utiliser le dernier coeff de chauffage électrique
183
185
  */
184
- updateEPConso(productionElectricite, conso, Sh) {
185
- conso.ep_conso.ep_conso_ecs -= 2.3 * productionElectricite.conso_elec_ac_ecs;
186
- conso.ep_conso.ep_conso_ch -= 2.3 * productionElectricite.conso_elec_ac_ch;
187
- conso.ep_conso.ep_conso_fr -= 2.3 * productionElectricite.conso_elec_ac_fr;
188
- conso.ep_conso.ep_conso_eclairage -= 2.3 * productionElectricite.conso_elec_ac_eclairage;
189
- conso.ep_conso.ep_conso_totale_auxiliaire -=
190
- 2.3 * productionElectricite.conso_elec_ac_auxiliaire;
191
-
192
- const conso_elec =
193
- productionElectricite.conso_elec_ac_ecs +
194
- productionElectricite.conso_elec_ac_ch +
195
- productionElectricite.conso_elec_ac_fr +
196
- productionElectricite.conso_elec_ac_eclairage +
197
- productionElectricite.conso_elec_ac_auxiliaire;
198
-
199
- conso.ep_conso.ep_conso_5_usages -= 2.3 * conso_elec;
200
-
201
- conso.ep_conso.ep_conso_5_usages_m2 = Math.floor(conso.ep_conso.ep_conso_5_usages / Sh);
186
+ updateEPConso(productionElectricite, conso, Sh, use_coeff_ch_elec_2_3) {
187
+ if (use_coeff_ch_elec_2_3) {
188
+ conso.ep_conso.ep_conso_ecs -= COEFF_EP_2_3 * productionElectricite.conso_elec_ac_ecs;
189
+ conso.ep_conso.ep_conso_ch -= COEFF_EP_2_3 * productionElectricite.conso_elec_ac_ch;
190
+ conso.ep_conso.ep_conso_fr -= COEFF_EP_2_3 * productionElectricite.conso_elec_ac_fr;
191
+ conso.ep_conso.ep_conso_eclairage -=
192
+ COEFF_EP_2_3 * productionElectricite.conso_elec_ac_eclairage;
193
+ conso.ep_conso.ep_conso_totale_auxiliaire -=
194
+ COEFF_EP_2_3 * productionElectricite.conso_elec_ac_auxiliaire;
195
+
196
+ const conso_elec =
197
+ productionElectricite.conso_elec_ac_ecs +
198
+ productionElectricite.conso_elec_ac_ch +
199
+ productionElectricite.conso_elec_ac_fr +
200
+ productionElectricite.conso_elec_ac_eclairage +
201
+ productionElectricite.conso_elec_ac_auxiliaire;
202
+
203
+ conso.ep_conso.ep_conso_5_usages -= COEFF_EP_2_3 * conso_elec;
204
+
205
+ conso.ep_conso.ep_conso_5_usages_m2 = Math.floor(conso.ep_conso.ep_conso_5_usages / Sh);
206
+ } else {
207
+ conso.ep_conso.ep_conso_ecs -= COEFF_EP_1_9 * productionElectricite.conso_elec_ac_ecs;
208
+ conso.ep_conso.ep_conso_ch -= COEFF_EP_1_9 * productionElectricite.conso_elec_ac_ch;
209
+ conso.ep_conso.ep_conso_fr -= COEFF_EP_1_9 * productionElectricite.conso_elec_ac_fr;
210
+ conso.ep_conso.ep_conso_eclairage -=
211
+ COEFF_EP_1_9 * productionElectricite.conso_elec_ac_eclairage;
212
+ conso.ep_conso.ep_conso_totale_auxiliaire -=
213
+ COEFF_EP_1_9 * productionElectricite.conso_elec_ac_auxiliaire;
214
+
215
+ const conso_elec =
216
+ productionElectricite.conso_elec_ac_ecs +
217
+ productionElectricite.conso_elec_ac_ch +
218
+ productionElectricite.conso_elec_ac_fr +
219
+ productionElectricite.conso_elec_ac_eclairage +
220
+ productionElectricite.conso_elec_ac_auxiliaire;
221
+
222
+ conso.ep_conso.ep_conso_5_usages -= COEFF_EP_1_9 * conso_elec;
223
+
224
+ conso.ep_conso.ep_conso_5_usages_m2 = Math.floor(conso.ep_conso.ep_conso_5_usages / Sh);
225
+ }
202
226
  }
203
227
 
204
228
  /**
package/README.md CHANGED
@@ -73,7 +73,8 @@ Vous devez d'abord installer [NodeJS](https://nodejs.org/en) en version 20 ou su
73
73
 
74
74
  ## Démonstration
75
75
 
76
- Il est possible d'analyser un dpe pour tester la lib Open3CL: [https://open3cl.github.io/engine](https://open3cl.github.io/engine/build/).
76
+ Il est possible d'analyser un dpe pour tester la lib
77
+ Open3CL: [https://open3cl.github.io/engine](https://open3cl.github.io/engine/build/).
77
78
  Un dpe au format XML peut être chargé, il sera envoyé à la lib Open3CL. Un visuel permet de voir les informations
78
79
  du dpe d'origine ainsi que du dpe en sortie de la lib ainsi qu'un différentiel.
79
80
 
@@ -182,6 +183,8 @@ Il existe actuellement 8 corpus (avec 10000 dpe analysés dans chaque corpus) :
182
183
  Par défaut, le corpus utilisé est présent ici : [test/corpus/corpus_dpe.csv](test/corpus/files/corpus_dpe.csv)
183
184
  - `npm run test:corpus -- dpes-folder-path=/home/user/dpes`. Chemin vers le dossier ou les DPE seront téléchargés. Si un
184
185
  fichier DPE est déjà présent dans ce dossier, il ne sera pas retéléchargé.
186
+ - `npm run test:corpus -- dpes-code=2592E1233185X`. Execution du corpus sur le dpe spécifié.
187
+ - Si le dpe n'est pas présent en local, il sera téléchargé sur le site de l'ADEME.
185
188
 
186
189
  ### Résultats corpus
187
190
 
@@ -190,78 +193,86 @@ Résultats des tests de corpus avec le mode de compatibilité activé.
190
193
  <details>
191
194
  <summary>Voir les versions précédents</summary>
192
195
 
193
- | Version librairie | corpus | Nb en dessous du taux d'erreur | Taux de réussite | Description | Détail des valeurs |
194
- | :------------------- | ------------------------------------- | ------------------------------ | ----------------------- | ------------------------------------------------- | ------------------ |
195
- | <ins>**1.2.3**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4489**<ins> | <ins>**45%**<ins> | | |
196
- | 1.2.3 | dpe_immeuble_chauffage_individuel.csv | 3257 | 32% | | |
197
- | 1.2.3 | dpe_immeuble_chauffage_collectif.csv | 5279 | 53% | | |
198
- | 1.2.3 | dpe_immeuble_chauffage_mixte.csv | 2728 | 27% | | |
199
- | <ins>**1.2.8**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**489**<ins> | <ins>**45%**<ins> | | |
200
- | 1.2.8 | dpe_immeuble_chauffage_individuel.csv | 5275 (+2018) | 53% (+21%) | | |
201
- | 1.2.8 | dpe_immeuble_chauffage_collectif.csv | 5747 (+468) | 57% (+4%) | | |
202
- | 1.2.8 | dpe_immeuble_chauffage_mixte.csv | 3142 (+414) | 31% (+4%) | | |
203
- | <ins>**1.3.1**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4508 (+19)**<ins> | <ins>**45%**<ins> | | |
204
- | 1.3.1 | dpe_immeuble_chauffage_individuel.csv | 5459 (+184) | 55% (+2%) | | |
205
- | 1.3.1 | dpe_immeuble_chauffage_collectif.csv | 5848 (+101) | 58% (+1%) | | |
206
- | 1.3.1 | dpe_immeuble_chauffage_mixte.csv | 4018 (+876) | 40% (+9%) | | |
207
- | <ins>**1.3.2**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4519 (+11)**<ins> | <ins>**45%**<ins> | | |
208
- | 1.3.2 | dpe_immeuble_chauffage_individuel.csv | 5476 (+17) | 55% | | |
209
- | 1.3.2 | dpe_immeuble_chauffage_collectif.csv | 5869 (+21) | 58% | | |
210
- | 1.3.2 | dpe_immeuble_chauffage_mixte.csv | 4040 (+22) | 40% | | |
211
- | <ins>**1.3.5**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4522 (+3)**<ins> | <ins>**45%**<ins> | | |
212
- | 1.3.5 | dpe_immeuble_chauffage_individuel.csv | 5488 (+12) | 55% | |
213
- | 1.3.5 | dpe_immeuble_chauffage_collectif.csv | 5869 | 58% | | |
214
- | 1.3.5 | dpe_immeuble_chauffage_mixte.csv | 4082 (+42) | 40% | | |
215
- | <ins>**1.3.6**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4522**<ins> | <ins>**45%**<ins> | | |
216
- | 1.3.6 | dpe_immeuble_chauffage_individuel.csv | 5650 (+162) | 56% | | |
217
- | 1.3.6 | dpe_immeuble_chauffage_collectif.csv | 5894 (+25) | 59% (+1%) | | |
218
- | 1.3.6 | dpe_immeuble_chauffage_mixte.csv | 4141 (+59) | 41% (+1%) | | |
219
- | <ins>**1.3.7**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4522**<ins> | <ins>**45%**<ins> | | |
220
- | 1.3.7 | dpe_immeuble_chauffage_individuel.csv | 6960 (+1310) | 69% (+13%) | | |
221
- | 1.3.7 | dpe_immeuble_chauffage_collectif.csv | 6106 (+212) | 61% (+2%) | | |
222
- | 1.3.7 | dpe_immeuble_chauffage_mixte.csv | 4730 (+589) | 47% (+6%) | | |
223
- | <ins>**1.3.8**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4522**<ins> | <ins>**45%**<ins> | | |
224
- | 1.3.8 | dpe_immeuble_chauffage_individuel.csv | 6965 (+5) | 69% | | |
225
- | 1.3.8 | dpe_immeuble_chauffage_collectif.csv | 6110 (+4) | 61% | | |
226
- | 1.3.8 | dpe_immeuble_chauffage_mixte.csv | 4735 (+5) | 47% | | |
227
- | <ins>**1.3.9**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4460**<ins> (-62) | <ins>**44% (-1%)**<ins> | Pertes liés au fix bug tribu zone 2hd valeur dh19 | |
228
- | 1.3.9 | dpe_immeuble_chauffage_individuel.csv | 6901 (-64) | 69% | Pertes liés au fix bug tribu zone 2hd valeur dh19 | |
229
- | 1.3.9 | dpe_immeuble_chauffage_collectif.csv | 6058 (-58) | 60% (-1%) | Pertes liés au fix bug tribu zone 2hd valeur dh19 | |
230
- | 1.3.9 | dpe_immeuble_chauffage_mixte.csv | 4728 (-7) | 47% | Pertes liés au fix bug tribu zone 2hd valeur dh19 | |
231
- | <ins>**1.3.11**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4468**<ins> (+8) | <ins>**44%**<ins> | | |
232
- | 1.3.11 | dpe_immeuble_chauffage_individuel.csv | 6901 | 69% | | |
233
- | 1.3.11 | dpe_immeuble_chauffage_collectif.csv | 6058 | 60% | | |
234
- | 1.3.11 | dpe_immeuble_chauffage_mixte.csv | 4727 (-1) | 47% | Dpes erronés sur le calcul volume ballon ecs | |
235
- | <ins>**1.3.12**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4467**<ins> (-1) | <ins>**44%**<ins> | Dpe erroné avec surface chauffée invalide | |
236
- | 1.3.12 | dpe_logement_individuel_2025.csv | 8429 | 84% | | |
237
- | 1.3.12 | dpe_immeuble_chauffage_individuel.csv | 6900 (-1) | 69% | Dpe erroné avec surface chauffée invalide | |
238
- | 1.3.12 | dpe_immeuble_chauffage_collectif.csv | 6058 | 60% | | |
239
- | 1.3.12 | dpe_immeuble_chauffage_mixte.csv | 4725 (-2) | 47% | Dpe erroné avec surface chauffée invalide | |
240
- | <ins>**1.3.15**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4481**<ins> (+14) | <ins>**45 (+1%)**<ins> | | |
241
- | 1.3.15 | dpe_logement_individuel_2025.csv | 8453 | 84% | | |
242
- | 1.3.15 | dpe_immeuble_chauffage_individuel.csv | 7106 (+205) | 71% (+2%) | | |
243
- | 1.3.15 | dpe_immeuble_chauffage_collectif.csv | 6083 (+25) | 61% (+1%) | | |
244
- | 1.3.15 | dpe_immeuble_chauffage_mixte.csv | 4751 (+24) | 47% | | |
196
+ | Version librairie | corpus | Nb en dessous du taux d'erreur | Taux de réussite | Description |
197
+ | :------------------- | -------------------------------------------------------- | ------------------------------ | ----------------------- | ------------------------------------------------- |
198
+ | <ins>**1.2.3**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4489**<ins> | <ins>**45%**<ins> | |
199
+ | 1.2.3 | dpe_immeuble_chauffage_individuel.csv | 3257 | 32% | |
200
+ | 1.2.3 | dpe_immeuble_chauffage_collectif.csv | 5279 | 53% | |
201
+ | 1.2.3 | dpe_immeuble_chauffage_mixte.csv | 2728 | 27% | |
202
+ | <ins>**1.2.8**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**489**<ins> | <ins>**45%**<ins> | |
203
+ | 1.2.8 | dpe_immeuble_chauffage_individuel.csv | 5275 (+2018) | 53% (+21%) | |
204
+ | 1.2.8 | dpe_immeuble_chauffage_collectif.csv | 5747 (+468) | 57% (+4%) | |
205
+ | 1.2.8 | dpe_immeuble_chauffage_mixte.csv | 3142 (+414) | 31% (+4%) | |
206
+ | <ins>**1.3.1**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4508 (+19)**<ins> | <ins>**45%**<ins> | |
207
+ | 1.3.1 | dpe_immeuble_chauffage_individuel.csv | 5459 (+184) | 55% (+2%) | |
208
+ | 1.3.1 | dpe_immeuble_chauffage_collectif.csv | 5848 (+101) | 58% (+1%) | |
209
+ | 1.3.1 | dpe_immeuble_chauffage_mixte.csv | 4018 (+876) | 40% (+9%) | |
210
+ | <ins>**1.3.2**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4519 (+11)**<ins> | <ins>**45%**<ins> | |
211
+ | 1.3.2 | dpe_immeuble_chauffage_individuel.csv | 5476 (+17) | 55% | |
212
+ | 1.3.2 | dpe_immeuble_chauffage_collectif.csv | 5869 (+21) | 58% | |
213
+ | 1.3.2 | dpe_immeuble_chauffage_mixte.csv | 4040 (+22) | 40% | |
214
+ | <ins>**1.3.5**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4522 (+3)**<ins> | <ins>**45%**<ins> | |
215
+ | 1.3.5 | dpe_immeuble_chauffage_individuel.csv | 5488 (+12) | 55% | |
216
+ | 1.3.5 | dpe_immeuble_chauffage_collectif.csv | 5869 | 58% | |
217
+ | 1.3.5 | dpe_immeuble_chauffage_mixte.csv | 4082 (+42) | 40% | |
218
+ | <ins>**1.3.6**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4522**<ins> | <ins>**45%**<ins> | |
219
+ | 1.3.6 | dpe_immeuble_chauffage_individuel.csv | 5650 (+162) | 56% | |
220
+ | 1.3.6 | dpe_immeuble_chauffage_collectif.csv | 5894 (+25) | 59% (+1%) | |
221
+ | 1.3.6 | dpe_immeuble_chauffage_mixte.csv | 4141 (+59) | 41% (+1%) | |
222
+ | <ins>**1.3.7**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4522**<ins> | <ins>**45%**<ins> | |
223
+ | 1.3.7 | dpe_immeuble_chauffage_individuel.csv | 6960 (+1310) | 69% (+13%) | |
224
+ | 1.3.7 | dpe_immeuble_chauffage_collectif.csv | 6106 (+212) | 61% (+2%) | |
225
+ | 1.3.7 | dpe_immeuble_chauffage_mixte.csv | 4730 (+589) | 47% (+6%) | |
226
+ | <ins>**1.3.8**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4522**<ins> | <ins>**45%**<ins> | |
227
+ | 1.3.8 | dpe_immeuble_chauffage_individuel.csv | 6965 (+5) | 69% | |
228
+ | 1.3.8 | dpe_immeuble_chauffage_collectif.csv | 6110 (+4) | 61% | |
229
+ | 1.3.8 | dpe_immeuble_chauffage_mixte.csv | 4735 (+5) | 47% | |
230
+ | <ins>**1.3.9**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4460**<ins> (-62) | <ins>**44% (-1%)**<ins> | Pertes liés au fix bug tribu zone 2hd valeur dh19 |
231
+ | 1.3.9 | dpe_immeuble_chauffage_individuel.csv | 6901 (-64) | 69% | Pertes liés au fix bug tribu zone 2hd valeur dh19 |
232
+ | 1.3.9 | dpe_immeuble_chauffage_collectif.csv | 6058 (-58) | 60% (-1%) | Pertes liés au fix bug tribu zone 2hd valeur dh19 |
233
+ | 1.3.9 | dpe_immeuble_chauffage_mixte.csv | 4728 (-7) | 47% | Pertes liés au fix bug tribu zone 2hd valeur dh19 |
234
+ | <ins>**1.3.11**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4468**<ins> (+8) | <ins>**44%**<ins> | |
235
+ | 1.3.11 | dpe_immeuble_chauffage_individuel.csv | 6901 | 69% | |
236
+ | 1.3.11 | dpe_immeuble_chauffage_collectif.csv | 6058 | 60% | |
237
+ | 1.3.11 | dpe_immeuble_chauffage_mixte.csv | 4727 (-1) | 47% | Dpes erronés sur le calcul volume ballon ecs |
238
+ | <ins>**1.3.12**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4467**<ins> (-1) | <ins>**44%**<ins> | Dpe erroné avec surface chauffée invalide |
239
+ | 1.3.12 | dpe_logement_individuel_2025.csv | 8429 | 84% | |
240
+ | 1.3.12 | dpe_immeuble_chauffage_individuel.csv | 6900 (-1) | 69% | Dpe erroné avec surface chauffée invalide |
241
+ | 1.3.12 | dpe_immeuble_chauffage_collectif.csv | 6058 | 60% | |
242
+ | 1.3.12 | dpe_immeuble_chauffage_mixte.csv | 4725 (-2) | 47% | Dpe erroné avec surface chauffée invalide |
243
+ | <ins>**1.3.15**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4481**<ins> (+14) | <ins>**45 (+1%)**<ins> | |
244
+ | 1.3.15 | dpe_logement_individuel_2025.csv | 8453 | 84% | |
245
+ | 1.3.15 | dpe_immeuble_chauffage_individuel.csv | 7106 (+205) | 71% (+2%) | |
246
+ | 1.3.15 | dpe_immeuble_chauffage_collectif.csv | 6083 (+25) | 61% (+1%) | |
247
+ | 1.3.15 | dpe_immeuble_chauffage_mixte.csv | 4751 (+24) | 47% | |
248
+ | <ins>**1.3.20**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4500**<ins> (+19) | <ins>**45%**<ins> | |
249
+ | 1.3.20 | dpe_logement_individuel_2025.csv | 8459 (+6) | 84% | |
250
+ | 1.3.20 | dpe_maison_individuelle_2025.csv | 8638 | 86% | |
251
+ | 1.3.20 | dpe_appartement_individuel_chauffage_individuel_2025.csv | 8561 | 86% | |
252
+ | 1.3.20 | dpe_immeuble_chauffage_individuel.csv | 7106 | 71% | |
253
+ | 1.3.20 | dpe_immeuble_chauffage_collectif.csv | 6083 | 61% | |
254
+ | 1.3.20 | dpe_immeuble_chauffage_mixte.csv | 4751 | 47% | |
245
255
 
246
256
  </details>
247
257
 
248
- | Version librairie | corpus | Nb en dessous du taux d'erreur | Taux de réussite | Description | Détail des valeurs |
249
- | :------------------- | -------------------------------------------------------- | ------------------------------ | ----------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
250
- | <ins>**1.3.20**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4500**<ins> (+19) | <ins>**45%**<ins> | | |
251
- | 1.3.20 | dpe_logement_individuel_2025.csv | 8459 (+6) | 84% | | |
252
- | 1.3.20 | dpe_maison_individuelle_2025.csv | 8638 | 86% | | |
253
- | 1.3.20 | dpe_appartement_individuel_chauffage_individuel_2025.csv | 8561 | 86% | | |
254
- | 1.3.20 | dpe_immeuble_chauffage_individuel.csv | 7106 | 71% | | |
255
- | 1.3.20 | dpe_immeuble_chauffage_collectif.csv | 6083 | 61% | | |
256
- | 1.3.20 | dpe_immeuble_chauffage_mixte.csv | 4751 | 47% | | |
257
- | <ins>**1.3.21**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4502**<ins> (+2) | <ins>**45%**<ins> | | <a href="https://open3cl.github.io/engine/reports/corpus?corpus_file=corpus_dpe.csv" target="_blank">Voir le détail</a> |
258
- | 1.3.21 | dpe_logement_individuel_2025.csv | 8504 (+45) | 85% (+1%) | | <a href="https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_logement_individuel_2025.csv" target="_blank">Voir le détail</a> |
259
- | 1.3.21 | dpe_maison_individuelle_2025.csv | 8652 (+14) | 86% | | <a href="https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_maison_individuelle_2025.csv" target="_blank">Voir le détail</a> |
260
- | 1.3.21 | dpe_appartement_individuel_chauffage_individuel_2025.csv | 8578 (+17) | 86% | | <a href="https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_appartement_individuel_chauffage_individuel_2025.csv" target="_blank">Voir le détail</a> |
261
- | 1.3.21 | dpe_appartement_individuel_chauffage_collectif_2025.csv | 6681 | 67% | | <a href="https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_appartement_individuel_chauffage_collectif_2025.csv" target="_blank">Voir le détail</a> |
262
- | 1.3.21 | dpe_immeuble_chauffage_individuel.csv | 7144 (+38) | 71% | | <a href="https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_individuel.csv" target="_blank">Voir le détail</a> |
263
- | 1.3.21 | dpe_immeuble_chauffage_collectif.csv | 6144 (+61) | 61% | | <a href="https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_collectif.csv" target="_blank">Voir le détail</a> |
264
- | 1.3.21 | dpe_immeuble_chauffage_mixte.csv | 4760 (+9) | 47% | | <a href="https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_mixte.csv" target="_blank">Voir le détail</a> |
258
+ | Version librairie | corpus | Nb en dessous du taux d'erreur | Taux de réussite | Description |
259
+ | :------------------- | -------------------------------------------------------- | ------------------------------ | ----------------- | ----------------------------- |
260
+ | <ins>**1.3.21**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4502**<ins> (+2) | <ins>**45%**<ins> | |
261
+ | 1.3.21 | dpe_logement_individuel_2025.csv | 8504 (+45) | 85% (+1%) | |
262
+ | 1.3.21 | dpe_maison_individuelle_2025.csv | 8652 (+14) | 86% | |
263
+ | 1.3.21 | dpe_appartement_individuel_chauffage_individuel_2025.csv | 8578 (+17) | 86% | |
264
+ | 1.3.21 | dpe_appartement_individuel_chauffage_collectif_2025.csv | 6681 | 67% | |
265
+ | 1.3.21 | dpe_immeuble_chauffage_individuel.csv | 7144 (+38) | 71% | |
266
+ | 1.3.21 | dpe_immeuble_chauffage_collectif.csv | 6144 (+61) | 61% | |
267
+ | 1.3.21 | dpe_immeuble_chauffage_mixte.csv | 4760 (+9) | 47% | |
268
+ | <ins>**1.3.25**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4515**<ins> (+2) | <ins>**45%**<ins> | |
269
+ | 1.3.25 | dpe_logement_individuel_2025.csv | 8512 (+8) | 85% | |
270
+ | 1.3.25 | dpe_maison_individuelle_2025.csv | 8674 (+22) | 87% (+1%) | |
271
+ | 1.3.25 | dpe_appartement_individuel_chauffage_individuel_2025.csv | 8581 (+3) | 86% | |
272
+ | 1.3.25 | dpe_appartement_individuel_chauffage_collectif_2025.csv | 6680 (-1) | 67% | Dpe erronés enlevés du corpus |
273
+ | 1.3.25 | dpe_immeuble_chauffage_individuel.csv | 7142 (-2) | 71% | Dpe erronés enlevés du corpus |
274
+ | 1.3.25 | dpe_immeuble_chauffage_collectif.csv | 6144 | 61% | |
275
+ | 1.3.25 | dpe_immeuble_chauffage_mixte.csv | 4758 (-2) | 47% | Dpe erronés enlevés du corpus |
265
276
 
266
277
  ## Roadmap
267
278
 
package/conso.js CHANGED
@@ -3,16 +3,36 @@ import calc_conso_eclairage from './16_conso_eclairage.js';
3
3
  import tvs from './tv.js';
4
4
  import { tv } from './utils.js';
5
5
 
6
- const coef_ep = {
7
- 'électricité ch': 2.3,
8
- 'électricité ecs': 2.3,
9
- 'électricité fr': 2.3,
10
- 'électricité éclairage': 2.3,
11
- 'électricité auxiliaire': 2.3
6
+ export const COEFF_EP_2_3 = 2.3;
7
+ export const COEFF_EP_1_9 = 1.9;
8
+
9
+ /**
10
+ * Coeff de chauffage 1.9 au 01/01/2026
11
+ * @link {https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000052134589}
12
+ */
13
+ export const coef_ep = {
14
+ 'électricité ch': COEFF_EP_1_9,
15
+ 'électricité ecs': COEFF_EP_1_9,
16
+ 'électricité fr': COEFF_EP_1_9,
17
+ 'électricité éclairage': COEFF_EP_1_9,
18
+ 'électricité auxiliaire': COEFF_EP_1_9
12
19
  };
13
20
 
14
- // 31 mars 2021
15
- // https://www.legifrance.gouv.fr/download/pdf?id=doxMrRr0wbfJVvtWjfDP4gHzzERt1iX0PtobthCE6A0=
21
+ /**
22
+ * Coeff de chauffage 2.3 avant le 01/01/2026
23
+ */
24
+ export const coef_ep_2_3 = {
25
+ 'électricité ch': COEFF_EP_2_3,
26
+ 'électricité ecs': COEFF_EP_2_3,
27
+ 'électricité fr': COEFF_EP_2_3,
28
+ 'électricité éclairage': COEFF_EP_2_3,
29
+ 'électricité auxiliaire': COEFF_EP_2_3
30
+ };
31
+
32
+ /**
33
+ * Au 31 mars 2021
34
+ * @link {https://www.legifrance.gouv.fr/download/pdf?id=doxMrRr0wbfJVvtWjfDP4gHzzERt1iX0PtobthCE6A0=}
35
+ */
16
36
  const coef_ges = {
17
37
  'bois – bûches': 0.03,
18
38
  'bois – granulés (pellets) ou briquettes': 0.03,
@@ -32,8 +52,11 @@ const coef_ges = {
32
52
  'électricité auxiliaire': 0.064
33
53
  };
34
54
 
35
- // annexe 7
36
- // https://www.legifrance.gouv.fr/download/file/doxMrRr0wbfJVvtWjfDP4qE7zNsiFZL-4wqNyqoY-CA=/JOE_TEXTE
55
+ /**
56
+ * Annexe 7
57
+ * @link {https://www.legifrance.gouv.fr/download/file/doxMrRr0wbfJVvtWjfDP4qE7zNsiFZL-4wqNyqoY-CA=/JOE_TEXTE}
58
+ * @link {https://www.legifrance.gouv.fr/download/pdf?id=7hpbVyq228foxHzNM7WleDImAyXlPNb9zULelSY01V8=}
59
+ */
37
60
  const coef_cout = {
38
61
  'fioul domestique': 0.09142,
39
62
  'réseau de chauffage urbain': 0.0787,
@@ -44,7 +67,6 @@ const coef_cout = {
44
67
  'bois – bûches': 0.03201,
45
68
  'bois – plaquettes forestières': 0.03201,
46
69
  'bois – plaquettes d’industrie': 0.03201,
47
- // https://www.legifrance.gouv.fr/download/pdf?id=7hpbVyq228foxHzNM7WleDImAyXlPNb9zULelSY01V8=
48
70
  'gaz naturel': cout_gaz_naturel,
49
71
  "électricité d'origine renouvelable utilisée dans le bâtiment": cout_electricite,
50
72
  'électricité ch': cout_electricite,
@@ -161,7 +183,8 @@ export default function calc_conso(
161
183
  fr,
162
184
  prorataECS,
163
185
  prorataChauffage,
164
- dateDpe
186
+ dateDpe,
187
+ coeffEp
165
188
  ) {
166
189
  const gen_ch = ch.reduce((acc, ch) => {
167
190
  const generateur_chauffage = ch.generateur_chauffage_collection.generateur_chauffage;
@@ -217,7 +240,7 @@ export default function calc_conso(
217
240
  gen_ecs,
218
241
  fr,
219
242
  'ep_conso',
220
- coef_ep,
243
+ coeffEp,
221
244
  prorataECS,
222
245
  prorataChauffage
223
246
  ),
package/engine.js CHANGED
@@ -7,7 +7,12 @@ import calc_besoin_ch from './9_besoin_ch.js';
7
7
  import calc_chauffage, { tauxChargeForGenerator } from './9_chauffage.js';
8
8
  import calc_confort_ete from './2021_04_13_confort_ete.js';
9
9
  import calc_qualite_isolation from './2021_04_13_qualite_isolation.js';
10
- import calc_conso, { classe_bilan_dpe, classe_emission_ges } from './conso.js';
10
+ import calc_conso, {
11
+ classe_bilan_dpe,
12
+ classe_emission_ges,
13
+ coef_ep,
14
+ coef_ep_2_3
15
+ } from './conso.js';
11
16
  import {
12
17
  add_references,
13
18
  bug_for_bug_compat,
@@ -20,7 +25,7 @@ import { Inertie } from './7_inertie.js';
20
25
  import getFicheTechnique from './ficheTechnique.js';
21
26
  import { ProductionENR } from './16.2_production_enr.js';
22
27
 
23
- const LIB_VERSION = '1.3.25';
28
+ const LIB_VERSION = '1.4.0';
24
29
 
25
30
  function calc_th(map_id) {
26
31
  const map = enums.methode_application_dpe_log[map_id];
@@ -38,6 +43,10 @@ export function getVersion() {
38
43
  return LIB_VERSION;
39
44
  }
40
45
 
46
+ /**
47
+ * @param dpe {FullDpe}
48
+ * @return {FullDpe}
49
+ */
41
50
  export function calcul_3cl(dpe) {
42
51
  sanitize_dpe(dpe);
43
52
  const modele = enums.modele_dpe[dpe.administratif.enum_modele_dpe_id];
@@ -507,7 +516,8 @@ export function calcul_3cl(dpe) {
507
516
  clim,
508
517
  prorataECS,
509
518
  prorataChauffage,
510
- dateDpe
519
+ dateDpe,
520
+ coef_ep
511
521
  );
512
522
 
513
523
  const production_electricite = productionENR.calculateEnr(
@@ -515,9 +525,26 @@ export function calcul_3cl(dpe) {
515
525
  conso,
516
526
  Sh,
517
527
  th,
518
- zc_id
528
+ zc_id,
529
+ false
519
530
  );
520
531
 
532
+ const conso2_3 = calc_conso(
533
+ Sh,
534
+ zc_id,
535
+ ca_id,
536
+ vt_list,
537
+ instal_ch,
538
+ ecs,
539
+ clim,
540
+ prorataECS,
541
+ prorataChauffage,
542
+ dateDpe,
543
+ coef_ep_2_3
544
+ );
545
+
546
+ productionENR.calculateEnr(dpe.logement.production_elec_enr, conso2_3, Sh, th, zc_id, true);
547
+
521
548
  // get all baie_vitree orientations
522
549
  const ph_list = env.plancher_haut_collection.plancher_haut || [];
523
550
  logement.sortie = {
@@ -529,8 +556,17 @@ export function calcul_3cl(dpe) {
529
556
  ...conso
530
557
  };
531
558
 
532
- const conso_coeff_1_9 = get_conso_coeff_1_9_2026(dpe);
533
- logement.sortie.ep_conso = { ...logement.sortie.ep_conso, ...conso_coeff_1_9 };
559
+ logement.sortie.ep_conso = {
560
+ ...logement.sortie.ep_conso,
561
+ coeff_2_3_classe_bilan_dpe: conso2_3.ep_conso.classe_bilan_dpe,
562
+ coeff_2_3_ep_conso_5_usages: conso2_3.ep_conso.ep_conso_5_usages,
563
+ coeff_2_3_ep_conso_5_usages_m2: conso2_3.ep_conso.ep_conso_5_usages_m2
564
+ };
565
+
566
+ logement.sortie.ep_conso.classe_bilan_dpe_2026 = logement.sortie.ep_conso.classe_bilan_dpe;
567
+ logement.sortie.ep_conso.ep_conso_5_usages_2026 = logement.sortie.ep_conso.ep_conso_5_usages;
568
+ logement.sortie.ep_conso.ep_conso_5_usages_2026_m2 =
569
+ logement.sortie.ep_conso.ep_conso_5_usages_m2;
534
570
 
535
571
  return dpe;
536
572
  }
@@ -568,14 +604,14 @@ export function get_classe_ges_dpe(dpe) {
568
604
  * {@link https://www.ecologie.gouv.fr/actualites/evolutions-du-calcul-du-dpe-reponses-vos-questions#:~:text=Les%20DPE%20r%C3%A9alis%C3%A9s%20avant%20le,%2DAudit%20de%20l'Ademe.}
569
605
  *
570
606
  * @param dpe {FullDpe}
571
- * @returns {{ep_conso_5_usages_2026: number; ep_conso_5_usages_2026_m2: number; classe_bilan_dpe_2026: string}}
607
+ * @returns {{ep_conso_5_usages: number; ep_conso_5_usages_m2: number; classe_bilan_dpe: string}}
572
608
  */
573
609
  export function get_conso_coeff_1_9_2026(dpe) {
574
610
  const zc_id = dpe.logement.meteo.enum_zone_climatique_id;
575
611
  const ca_id = dpe.logement.meteo.enum_classe_altitude_id;
576
612
  const th = calc_th(dpe.logement.caracteristique_generale.enum_methode_application_dpe_log_id);
577
613
 
578
- const ep_conso_5_usages_2026 =
614
+ const ep_conso_5_usages =
579
615
  (0.9 / 1.3) *
580
616
  (Number(dpe.logement.sortie.ep_conso.ep_conso_5_usages) -
581
617
  Number(dpe.logement.sortie.ef_conso.conso_5_usages)) +
@@ -587,8 +623,8 @@ export function get_conso_coeff_1_9_2026(dpe) {
587
623
  else if (th === 'immeuble')
588
624
  Sh = Number(dpe.logement.caracteristique_generale.surface_habitable_immeuble);
589
625
 
590
- const ep_conso_5_usages_2026_m2 = Math.floor(ep_conso_5_usages_2026 / Sh);
591
- const classe_bilan_dpe_2026 = classe_bilan_dpe(ep_conso_5_usages_2026_m2, zc_id, ca_id, Sh);
626
+ const ep_conso_5_usages_m2 = Math.floor(ep_conso_5_usages / Sh);
627
+ const classe_dpe = classe_bilan_dpe(ep_conso_5_usages_m2, zc_id, ca_id, Sh);
592
628
 
593
- return { classe_bilan_dpe_2026, ep_conso_5_usages_2026_m2, ep_conso_5_usages_2026 };
629
+ return { classe_bilan_dpe: classe_dpe, ep_conso_5_usages_m2, ep_conso_5_usages };
594
630
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open3cl/engine",
3
- "version": "1.3.25",
3
+ "version": "1.4.0",
4
4
  "description": "Open Source 3CL-DPE engine",
5
5
  "main": "index.js",
6
6
  "directories": {