@open3cl/engine 1.4.3 → 1.4.5
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.
- package/14_generateur_ecs.js +18 -4
- package/README.md +35 -11
- package/engine.js +9 -3
- package/package.json +2 -1
package/14_generateur_ecs.js
CHANGED
|
@@ -190,8 +190,22 @@ function rg_accumulateur_gaz(di, besoin_ecs) {
|
|
|
190
190
|
);
|
|
191
191
|
}
|
|
192
192
|
|
|
193
|
-
function rgrsReseauUrbain(de) {
|
|
194
|
-
|
|
193
|
+
function rgrsReseauUrbain(de, ecs_de) {
|
|
194
|
+
/**
|
|
195
|
+
* Le rendement de génération d'un réseau de chaleur dépend de son caractère isolé ou non.
|
|
196
|
+
* D'après la spécification 3CL-DPE, le type de RCU est porté par enum_type_generateur_ecs_id :
|
|
197
|
+
* - 72 : "Réseau de chaleur non isolé" -> 0.75
|
|
198
|
+
* - 73 : "Réseau de chaleur isolé" -> 0.9
|
|
199
|
+
*/
|
|
200
|
+
if (de.enum_type_generateur_ecs_id === '73') {
|
|
201
|
+
return 0.9;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Pour les autres générateurs assimilés à un réseau de chaleur (ex : installation
|
|
205
|
+
* collective multi-bâtiment modélisée comme un réseau de chaleur), on retombe sur
|
|
206
|
+
* l'indicateur reseau_distribution_isole de l'installation ECS s'il est renseigné.
|
|
207
|
+
*/
|
|
208
|
+
if (ecs_de && ecs_de.reseau_distribution_isole === 1) {
|
|
195
209
|
return 0.9;
|
|
196
210
|
}
|
|
197
211
|
return 0.75;
|
|
@@ -295,8 +309,8 @@ export default function calc_gen_ecs(dpe, gen_ecs, ecs_di, ecs_de, GV, ca_id, zc
|
|
|
295
309
|
}
|
|
296
310
|
}
|
|
297
311
|
|
|
298
|
-
di.rendement_generation_stockage = rgrsReseauUrbain(ecs_de);
|
|
299
|
-
di.rendement_generation_stockage_depensier = rgrsReseauUrbain(ecs_de);
|
|
312
|
+
di.rendement_generation_stockage = rgrsReseauUrbain(de, ecs_de);
|
|
313
|
+
di.rendement_generation_stockage_depensier = rgrsReseauUrbain(de, ecs_de);
|
|
300
314
|
|
|
301
315
|
Iecs = 1 / di.rendement_generation_stockage;
|
|
302
316
|
Iecs_dep = 1 / di.rendement_generation_stockage_depensier;
|
package/README.md
CHANGED
|
@@ -136,7 +136,12 @@ const result = calcul_3cl_xml('<xml><dpe><numero_dpe>2113E1018248X</numero_dpe><
|
|
|
136
136
|
| ADEME_API_CLIENT_SECRET | Client secret pour l'api de l'ademe |
|
|
137
137
|
| MAX_WORKER_THREADS | Nombre de threads maximum pour les tests de corpus, par défaut: os.availableParallelism \* 1.5 |
|
|
138
138
|
| WORKER_THREADS_CHUNKS | Nombre de dpe à analyser par thread, par défaut: 200 |
|
|
139
|
-
|
|
|
139
|
+
| DOWNLOAD_DPE_WAIT | Temps d'attente en ms entre chaque dpe à télécharge, par défaut: 1s |
|
|
140
|
+
| SCW_ACCESS_KEY | Client id pour l'api scaleway |
|
|
141
|
+
| SCW_SECRET_KEY | Client secret pour l'api scaleway |
|
|
142
|
+
| S3_REGION | Region du bucket S3 dans lequel sont sauvegardés les DPE |
|
|
143
|
+
| S3_ENDPOINT | Url du endpoint du bucket S3 dans lequel sont sauvegardés les DPE |
|
|
144
|
+
| DOWNLOAD_DPE_WAIT | Temps d'attente en ms entre chaque dpe à télécharge, par défaut: 1s |
|
|
140
145
|
|
|
141
146
|
Attention aux quotas sur l'api:
|
|
142
147
|
|
|
@@ -189,7 +194,8 @@ Il existe actuellement 9 corpus (avec 10000 dpe analysés dans chaque corpus) :
|
|
|
189
194
|
- `dpe_immeuble_chauffage_collectif.csv`: Corpus avec uniquement des dpe immeuble pour des logements avec chauffage
|
|
190
195
|
collectif
|
|
191
196
|
- `dpe_immeuble_chauffage_mixte.csv`: Corpus avec uniquement des dpe immeuble pour des logements avec chauffage mixte
|
|
192
|
-
- `dpe_individuel_a_partir_dpe_immeuble_2026.csv`: Corpus avec uniquement des dpe individuels réalisés à partir du dpe
|
|
197
|
+
- `dpe_individuel_a_partir_dpe_immeuble_2026.csv`: Corpus avec uniquement des dpe individuels réalisés à partir du dpe
|
|
198
|
+
immeuble en 2026
|
|
193
199
|
|
|
194
200
|
### Comment lancer les corpus ?
|
|
195
201
|
|
|
@@ -292,20 +298,38 @@ Résultats des tests de corpus avec le mode de compatibilité activé.
|
|
|
292
298
|
| 1.4.0 | dpe_immeuble_chauffage_individuel.csv | 7142 | 71% | Maj coeff electricité (janvier 2026) |
|
|
293
299
|
| 1.4.0 | dpe_immeuble_chauffage_collectif.csv | 6144 | 61% | Maj coeff electricité (janvier 2026) |
|
|
294
300
|
| 1.4.0 | dpe_immeuble_chauffage_mixte.csv | 4758 | 47% | Maj coeff electricité (janvier 2026) |
|
|
301
|
+
| <ins>**1.4.2**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4515**<ins> | <ins>**45%**<ins> | |
|
|
302
|
+
| 1.4.2 | dpe_logement_individuel_2025.csv | 8512 | 85% | |
|
|
303
|
+
| 1.4.2 | dpe_maison_individuelle_2025.csv | 8674 | 87% | |
|
|
304
|
+
| 1.4.2 | dpe_appartement_individuel_chauffage_individuel_2025.csv | 8581 | 86% | |
|
|
305
|
+
| 1.4.2 | dpe_appartement_individuel_chauffage_collectif_2025.csv | 6680 | 67% | |
|
|
306
|
+
| 1.4.2 | dpe_immeuble_chauffage_individuel.csv | 7143 | 71% | |
|
|
307
|
+
| 1.4.2 | dpe_immeuble_chauffage_collectif.csv | 6144 | 61% | |
|
|
308
|
+
| 1.4.2 | dpe_immeuble_chauffage_mixte.csv | 4758 | 47% | |
|
|
309
|
+
| 1.4.2 | dpe_individuel_a_partir_dpe_immeuble_2026.csv | 2757 | 27% | |
|
|
310
|
+
| <ins>**1.4.3**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4556**<ins> | <ins>**45%**<ins> | |
|
|
311
|
+
| 1.4.3 | dpe_logement_individuel_2025.csv | 8716 | 87% | |
|
|
312
|
+
| 1.4.3 | dpe_maison_individuelle_2025.csv | 8715 | 87% | |
|
|
313
|
+
| 1.4.3 | dpe_appartement_individuel_chauffage_individuel_2025.csv | 9070 | 91% | |
|
|
314
|
+
| 1.4.3 | dpe_appartement_individuel_chauffage_collectif_2025.csv | 6804 | 68% | |
|
|
315
|
+
| 1.4.3 | dpe_immeuble_chauffage_individuel.csv | 7320 | 73% | |
|
|
316
|
+
| 1.4.3 | dpe_immeuble_chauffage_collectif.csv | 6149 | 61% | |
|
|
317
|
+
| 1.4.3 | dpe_immeuble_chauffage_mixte.csv | 4805 | 48% | |
|
|
318
|
+
| 1.4.3 | dpe_individuel_a_partir_dpe_immeuble_2026.csv | 2755 | 27% | |
|
|
295
319
|
|
|
296
320
|
</details>
|
|
297
321
|
|
|
298
322
|
| Version librairie | corpus | Nb en dessous du taux d'erreur | Taux de réussite | Description |
|
|
299
323
|
| :------------------ | -------------------------------------------------------- | ------------------------------ | ----------------- | ----------- |
|
|
300
|
-
| <ins>**1.4.
|
|
301
|
-
| 1.4.
|
|
302
|
-
| 1.4.
|
|
303
|
-
| 1.4.
|
|
304
|
-
| 1.4.
|
|
305
|
-
| 1.4.
|
|
306
|
-
| 1.4.
|
|
307
|
-
| 1.4.
|
|
308
|
-
| 1.4.
|
|
324
|
+
| <ins>**1.4.4**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4560 (+4)**<ins> | <ins>**45%**<ins> | |
|
|
325
|
+
| 1.4.4 | dpe_logement_individuel_2025.csv | 8719 (+3) | 87% (+2%) | |
|
|
326
|
+
| 1.4.4 | dpe_maison_individuelle_2025.csv | 8715 | 87% | |
|
|
327
|
+
| 1.4.4 | dpe_appartement_individuel_chauffage_individuel_2025.csv | 9070 | 91% | |
|
|
328
|
+
| 1.4.4 | dpe_appartement_individuel_chauffage_collectif_2025.csv | 6803 (-1) | 68% | |
|
|
329
|
+
| 1.4.4 | dpe_immeuble_chauffage_individuel.csv | 7320 | 73% | |
|
|
330
|
+
| 1.4.4 | dpe_immeuble_chauffage_collectif.csv | 6149 | 61% | |
|
|
331
|
+
| 1.4.4 | dpe_immeuble_chauffage_mixte.csv | 4805 | 48% | |
|
|
332
|
+
| 1.4.4 | dpe_individuel_a_partir_dpe_immeuble_2026.csv | 2755 | 27% | |
|
|
309
333
|
|
|
310
334
|
## Roadmap
|
|
311
335
|
|
package/engine.js
CHANGED
|
@@ -28,7 +28,7 @@ import getFicheTechnique from './ficheTechnique.js';
|
|
|
28
28
|
import { ProductionENR } from './16.2_production_enr.js';
|
|
29
29
|
import DpeSanitizerService from './dpe-sanitizer.service.js';
|
|
30
30
|
|
|
31
|
-
const LIB_VERSION = '1.4.
|
|
31
|
+
const LIB_VERSION = '1.4.5';
|
|
32
32
|
|
|
33
33
|
const dpeSanitizerService = new DpeSanitizerService();
|
|
34
34
|
|
|
@@ -271,9 +271,15 @@ export function calcul_3cl(inputDpe, options) {
|
|
|
271
271
|
* Inertie ID
|
|
272
272
|
* 1 - Très lourde
|
|
273
273
|
* 2 - Lourde
|
|
274
|
+
* 3 - Moyenne
|
|
275
|
+
* 4 - Légère
|
|
276
|
+
*
|
|
277
|
+
* Cf. issue #149 : l'utilisation de la variable batiment_materiaux_anciens
|
|
278
|
+
* n'est plus conditionnée par la classe d'inertie ni par le type de logement
|
|
279
|
+
* (maison ou appartement). On considère le bâtiment comme à inertie lourde
|
|
280
|
+
* dès lors que la variable batiment_materiaux_anciens vaut 1.
|
|
274
281
|
*/
|
|
275
|
-
const ilpa =
|
|
276
|
-
logement.meteo.batiment_materiaux_anciens === 1 && ['1', '2'].includes(inertie_id) ? '1' : '0';
|
|
282
|
+
const ilpa = logement.meteo.batiment_materiaux_anciens === 1 ? '1' : '0';
|
|
277
283
|
|
|
278
284
|
const ecs = logement.installation_ecs_collection.installation_ecs || [];
|
|
279
285
|
const Nb_lgt = cg.nombre_appartement || 1;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open3cl/engine",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.5",
|
|
4
4
|
"description": "Open Source 3CL-DPE engine",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"directories": {
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
"winston": "3.13.0"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
+
"@aws-sdk/client-s3": "^3.1013.0",
|
|
49
50
|
"@commitlint/cli": "^19.2.1",
|
|
50
51
|
"@commitlint/config-conventional": "^19.1.0",
|
|
51
52
|
"@commitlint/cz-commitlint": "^19.2.0",
|