@open3cl/engine 1.3.4 → 1.3.6
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 +10 -5
- package/9_besoin_ch.js +70 -17
- package/9_conso_ch.js +2 -2
- package/README.md +22 -26
- package/conso.js +24 -5
- package/core/conf/infrastructure/application.config.js +1 -1
- package/core/file/infrastructure/adapter/file.store.js +7 -3
- package/engine.js +6 -2
- package/enums.js +11 -1
- package/package.json +2 -1
- package/tv/18.2_sollicitations_ext.ods +0 -0
- package/tv.js +90927 -78582
package/14_generateur_ecs.js
CHANGED
|
@@ -81,20 +81,25 @@ export function calc_Qdw_j(instal_ecs, becs_j) {
|
|
|
81
81
|
|
|
82
82
|
const type_installation = requestInput(de, du, 'type_installation');
|
|
83
83
|
|
|
84
|
-
const Qdw_ind_vc = calc_Qdw_ind_j(becs_j);
|
|
84
|
+
const Qdw_ind_vc = calc_Qdw_ind_j(instal_ecs, becs_j);
|
|
85
85
|
const Qdw_coll_vc = calc_Qdw_col_j(instal_ecs, becs_j, type_installation);
|
|
86
86
|
|
|
87
|
-
return
|
|
87
|
+
return Qdw_ind_vc + Qdw_coll_vc;
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
// 15.2.3
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
/**
|
|
92
|
+
* @param instal_ecs {InstallationEcsItem}
|
|
93
|
+
* @param becs_j {number}
|
|
94
|
+
*/
|
|
95
|
+
export function calc_Qdw_ind_j(instal_ecs, becs_j) {
|
|
96
|
+
const Rat_ecs = instal_ecs.generateur_ecs_collection.generateur_ecs.length > 1 ? 0.5 : 1;
|
|
97
|
+
return 0.1 * Rat_ecs * becs_j;
|
|
93
98
|
}
|
|
94
99
|
|
|
95
100
|
export function calc_Qdw_col_j(instal_ecs, becs_j, type_installation) {
|
|
96
101
|
if (type_installation.includes('installation collective')) {
|
|
97
|
-
return
|
|
102
|
+
return 0.112 * becs_j;
|
|
98
103
|
}
|
|
99
104
|
return 0;
|
|
100
105
|
}
|
package/9_besoin_ch.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import enums from './enums.js';
|
|
2
2
|
import tvs from './tv.js';
|
|
3
|
-
import { calc_Qdw_j } from './14_generateur_ecs.js';
|
|
4
3
|
import { calc_besoin_ecs_j } from './11_besoin_ecs.js';
|
|
5
4
|
import { calc_Qrec_gen_j } from './9_generateur_ch.js';
|
|
6
5
|
import { calc_ai_j, calc_as_j } from './6.1_apport_gratuit.js';
|
|
@@ -18,7 +17,9 @@ export default function calc_besoin_ch(
|
|
|
18
17
|
instal_ecs,
|
|
19
18
|
instal_ch,
|
|
20
19
|
bv,
|
|
21
|
-
ets
|
|
20
|
+
ets,
|
|
21
|
+
th,
|
|
22
|
+
nbLogements
|
|
22
23
|
) {
|
|
23
24
|
const ca = enums.classe_altitude[ca_id];
|
|
24
25
|
const zc = enums.zone_climatique[zc_id];
|
|
@@ -48,10 +49,8 @@ export default function calc_besoin_ch(
|
|
|
48
49
|
* 11.4 Plusieurs systèmes d’ECS (limité à 2 systèmes différents par logement)
|
|
49
50
|
* Les besoins en ECS pour chaque générateur sont / 2
|
|
50
51
|
*/
|
|
51
|
-
const prorataEcs = instal_ecs.length > 1 ?
|
|
52
|
+
const prorataEcs = instal_ecs.length > 1 ? 1 / instal_ecs.length : 1;
|
|
52
53
|
|
|
53
|
-
let Qdw_total_ecs = 0;
|
|
54
|
-
let Qdw_total_ecs_dep = 0;
|
|
55
54
|
let Qgw_total_ecs = 0;
|
|
56
55
|
instal_ecs.forEach((instal_ecs) => {
|
|
57
56
|
let Qgw;
|
|
@@ -78,15 +77,16 @@ export default function calc_besoin_ch(
|
|
|
78
77
|
Qgw_total_ecs += (0.48 * Qgw * (instal_ecs.donnee_entree.rdim || 1)) / 8760;
|
|
79
78
|
});
|
|
80
79
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
80
|
+
const { Qrec, Qrec_dep, sumNref19, sumNref21 } = calc_qrec(
|
|
81
|
+
instal_ecs,
|
|
82
|
+
nadeq,
|
|
83
|
+
prorataEcs,
|
|
84
|
+
ilpa,
|
|
85
|
+
ca,
|
|
86
|
+
zc,
|
|
87
|
+
th,
|
|
88
|
+
nbLogements
|
|
89
|
+
);
|
|
90
90
|
|
|
91
91
|
/**
|
|
92
92
|
* Création de la liste des générateurs de chauffage pour lesquels il y a une récupération d'énergie
|
|
@@ -144,8 +144,8 @@ export default function calc_besoin_ch(
|
|
|
144
144
|
pertes_generateur_ch_recup += gen_recup;
|
|
145
145
|
pertes_generateur_ch_recup_depensier += gen_recup_dep;
|
|
146
146
|
|
|
147
|
-
const pertes_distribution_ecs_recup_j =
|
|
148
|
-
const pertes_distribution_ecs_recup_j_dep =
|
|
147
|
+
const pertes_distribution_ecs_recup_j = (Qrec * nref19) / sumNref19;
|
|
148
|
+
const pertes_distribution_ecs_recup_j_dep = (Qrec_dep * nref21) / sumNref21;
|
|
149
149
|
pertes_distribution_ecs_recup += pertes_distribution_ecs_recup_j;
|
|
150
150
|
pertes_distribution_ecs_recup_depensier += pertes_distribution_ecs_recup_j_dep;
|
|
151
151
|
|
|
@@ -153,6 +153,7 @@ export default function calc_besoin_ch(
|
|
|
153
153
|
pertes_stockage_ecs_recup += pertes_stockage_ecs_recup_j;
|
|
154
154
|
const pertes_stockage_ecs_recup_j_dep = nref21 * Qgw_total_ecs;
|
|
155
155
|
|
|
156
|
+
// Normalement en wh
|
|
156
157
|
besoin_ch_mois[mois] = bvj * dh19j;
|
|
157
158
|
besoin_ch_mois_dep[mois] = bvj_dep * dh21j;
|
|
158
159
|
besoin_ch_mois[mois] -=
|
|
@@ -160,8 +161,9 @@ export default function calc_besoin_ch(
|
|
|
160
161
|
besoin_ch_mois_dep[mois] -=
|
|
161
162
|
pertes_distribution_ecs_recup_j_dep + pertes_stockage_ecs_recup_j_dep + gen_recup_dep;
|
|
162
163
|
besoin_ch_mois[mois] = Math.max(besoin_ch_mois[mois], 0);
|
|
163
|
-
besoin_ch += besoin_ch_mois[mois] / 1000;
|
|
164
164
|
|
|
165
|
+
// Besoin de chauffage final en kwh
|
|
166
|
+
besoin_ch += besoin_ch_mois[mois] / 1000;
|
|
165
167
|
besoin_ch_depensier += besoin_ch_mois_dep[mois] / 1000;
|
|
166
168
|
}
|
|
167
169
|
|
|
@@ -182,6 +184,57 @@ export default function calc_besoin_ch(
|
|
|
182
184
|
};
|
|
183
185
|
}
|
|
184
186
|
|
|
187
|
+
function calc_qrec(instal_ecs, nadeq, prorataEcs, ilpa, ca, zc, th, nbLogements) {
|
|
188
|
+
const Nref21 = tvs.nref21[ilpa];
|
|
189
|
+
const Nref19 = tvs.nref19[ilpa];
|
|
190
|
+
|
|
191
|
+
let sumNref19 = 0;
|
|
192
|
+
let sumNref21 = 0;
|
|
193
|
+
|
|
194
|
+
for (const mois of mois_liste) {
|
|
195
|
+
const nref19 = Nref19[ca][mois][zc];
|
|
196
|
+
const nref21 = Nref21[ca][mois][zc];
|
|
197
|
+
sumNref19 += nref19;
|
|
198
|
+
sumNref21 += nref21;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
let Qrec = 0;
|
|
202
|
+
let Qrec_dep = 0;
|
|
203
|
+
let total_becs_rdim = 0;
|
|
204
|
+
let total_becs_dep_rdim = 0;
|
|
205
|
+
instal_ecs.forEach((ecs) => {
|
|
206
|
+
let becs_int = 0;
|
|
207
|
+
let becs_dep_int = 0;
|
|
208
|
+
const isInstallationSimple = ecs.donnee_entree.enum_type_installation_id === '1';
|
|
209
|
+
const Tau = isInstallationSimple ? 0.1 : 0.212;
|
|
210
|
+
if (th === 'immeuble' && ecs.donnee_entree.rdim > 1) {
|
|
211
|
+
prorataEcs = ecs.donnee_entree.rdim / nbLogements;
|
|
212
|
+
}
|
|
213
|
+
for (const mois of mois_liste) {
|
|
214
|
+
// en kwh
|
|
215
|
+
becs_int += calc_besoin_ecs_j(ca, mois, zc, nadeq, false) * prorataEcs;
|
|
216
|
+
|
|
217
|
+
// en kwh
|
|
218
|
+
becs_dep_int += calc_besoin_ecs_j(ca, mois, zc, nadeq, true) * prorataEcs;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
if (th !== 'immeuble') {
|
|
222
|
+
Qrec += ((0.48 * sumNref19 * Tau * becs_int) / 8760) * 1000;
|
|
223
|
+
Qrec_dep += ((0.48 * sumNref21 * Tau * becs_dep_int) / 8760) * 1000;
|
|
224
|
+
} else {
|
|
225
|
+
total_becs_rdim += Tau * becs_int * 1000;
|
|
226
|
+
total_becs_dep_rdim += Tau * becs_dep_int * 1000;
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
|
|
230
|
+
if (th === 'immeuble') {
|
|
231
|
+
Qrec = ((0.48 * sumNref19) / 8760) * total_becs_rdim;
|
|
232
|
+
Qrec_dep = ((0.48 * sumNref21) / 8760) * total_becs_dep_rdim;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
return { Qrec, Qrec_dep, sumNref19, sumNref21 };
|
|
236
|
+
}
|
|
237
|
+
|
|
185
238
|
function calc_Fj(GV, asj, aij, dhj, inertie) {
|
|
186
239
|
if (dhj === 0) return 0;
|
|
187
240
|
|
package/9_conso_ch.js
CHANGED
|
@@ -38,8 +38,8 @@ function coef_ch(Fch) {
|
|
|
38
38
|
1: 0.25 * (1 - Fch)
|
|
39
39
|
},
|
|
40
40
|
'installation de chauffage avec chaudière en relève de pac': {
|
|
41
|
-
0:
|
|
42
|
-
1:
|
|
41
|
+
0: 0.8,
|
|
42
|
+
1: 0.2
|
|
43
43
|
},
|
|
44
44
|
'installation de chauffage avec chaudière en relève de pac avec insert ou poêle bois en appoint':
|
|
45
45
|
{
|
package/README.md
CHANGED
|
@@ -167,32 +167,28 @@ deperdition_mur,
|
|
|
167
167
|
|
|
168
168
|
Résultats des tests de corpus avec le mode de compatibilité activé.
|
|
169
169
|
|
|
170
|
-
| Version librairie
|
|
171
|
-
|
|
|
172
|
-
| 1.2.3
|
|
173
|
-
| 1.2.3
|
|
174
|
-
| 1.2.3
|
|
175
|
-
| 1.2.3
|
|
176
|
-
|
|
|
177
|
-
| 1.2.8
|
|
178
|
-
| 1.2.8
|
|
179
|
-
| 1.2.8
|
|
180
|
-
| 1.
|
|
181
|
-
|
|
|
182
|
-
| 1.3.1
|
|
183
|
-
| 1.3.1
|
|
184
|
-
| 1.3.
|
|
185
|
-
| 1.3.
|
|
186
|
-
|
|
|
187
|
-
| 1.3.2
|
|
188
|
-
| 1.3.
|
|
189
|
-
| 1.3.
|
|
190
|
-
| 1.3.
|
|
191
|
-
|
|
|
192
|
-
| 1.3.3 | corpus_dpe.csv | 5% | 9980 | 4522 (+3) | 45% | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=corpus_dpe.csv) |
|
|
193
|
-
| 1.3.3 | dpe_immeuble_chauffage_individuel.csv | 5% | 9998 | 5488 (+12) | 55% | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_individuel.csv) |
|
|
194
|
-
| 1.3.3 | dpe_immeuble_chauffage_collectif.csv | 5% | 10000 | 5869 | 58% | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_collectif.csv) |
|
|
195
|
-
| 1.3.3 | dpe_immeuble_chauffage_mixte.csv | 5% | 10000 | 4082 (+42) | 40% | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_mixte.csv) |
|
|
170
|
+
| Version librairie | corpus | Nb en dessous du taux d'erreur | Taux de réussite | Détail des valeurs |
|
|
171
|
+
| :------------------ | ------------------------------------- | ------------------------------ | ----------------- | ------------------------------------------------------------------------------------------------------------------- |
|
|
172
|
+
| <ins>**1.2.3**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4489**<ins> | <ins>**45%**<ins> | |
|
|
173
|
+
| 1.2.3 | dpe_immeuble_chauffage_individuel.csv | 3257 | 32% | |
|
|
174
|
+
| 1.2.3 | dpe_immeuble_chauffage_collectif.csv | 5279 | 53% | |
|
|
175
|
+
| 1.2.3 | dpe_immeuble_chauffage_mixte.csv | 2728 | 27% | |
|
|
176
|
+
| <ins>**1.2.8**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**489**<ins> | <ins>**45%**<ins> | |
|
|
177
|
+
| 1.2.8 | dpe_immeuble_chauffage_individuel.csv | 5275 (+2018) | 53% (+21%) | |
|
|
178
|
+
| 1.2.8 | dpe_immeuble_chauffage_collectif.csv | 5747 (+468) | 57% (+4%) | |
|
|
179
|
+
| 1.2.8 | dpe_immeuble_chauffage_mixte.csv | 3142 (+414) | 31% (+4%) | |
|
|
180
|
+
| <ins>**1.3.1**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4508 (+19)**<ins> | <ins>**45%**<ins> | |
|
|
181
|
+
| 1.3.1 | dpe_immeuble_chauffage_individuel.csv | 5459 (+184) | 55% (+2%) | |
|
|
182
|
+
| 1.3.1 | dpe_immeuble_chauffage_collectif.csv | 5848 (+101) | 58% (+1%) | |
|
|
183
|
+
| 1.3.1 | dpe_immeuble_chauffage_mixte.csv | 4018 (+876) | 40% (+9%) | |
|
|
184
|
+
| <ins>**1.3.2**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4519 (+11)**<ins> | <ins>**45%**<ins> | |
|
|
185
|
+
| 1.3.2 | dpe_immeuble_chauffage_individuel.csv | 5476 (+17) | 55% | |
|
|
186
|
+
| 1.3.2 | dpe_immeuble_chauffage_collectif.csv | 5869 (+21) | 58% | |
|
|
187
|
+
| 1.3.2 | dpe_immeuble_chauffage_mixte.csv | 4040 (+22) | 40% | |
|
|
188
|
+
| <ins>**1.3.5**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4522 (+3)**<ins> | <ins>**45%**<ins> | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=corpus_dpe.csv) |
|
|
189
|
+
| 1.3.5 | dpe_immeuble_chauffage_individuel.csv | 5488 (+12) | 55% | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_individuel.csv) |
|
|
190
|
+
| 1.3.5 | dpe_immeuble_chauffage_collectif.csv | 5869 | 58% | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_collectif.csv) |
|
|
191
|
+
| 1.3.5 | dpe_immeuble_chauffage_mixte.csv | 4082 (+42) | 40% | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_mixte.csv) |
|
|
196
192
|
|
|
197
193
|
## Roadmap
|
|
198
194
|
|
package/conso.js
CHANGED
|
@@ -103,11 +103,29 @@ function getConso(coef, type_energie, conso) {
|
|
|
103
103
|
* Récupération du coefficient d'émission GES pour le générateur
|
|
104
104
|
* @param gen_ch {GenerateurChauffageItem||GenerateurEcsItem}
|
|
105
105
|
* @param suffix {'ch'|'ecs'}
|
|
106
|
+
* @param dateDpe {string} date d'établissement du DPE
|
|
106
107
|
* @returns {number}
|
|
107
108
|
*/
|
|
108
|
-
function getGesCoeffForGenerateur(gen_ch, suffix) {
|
|
109
|
+
function getGesCoeffForGenerateur(gen_ch, suffix, dateDpe) {
|
|
109
110
|
const typeEnergie = getTypeEnergie(gen_ch.donnee_entree, suffix);
|
|
110
111
|
|
|
112
|
+
let anneeDpe;
|
|
113
|
+
try {
|
|
114
|
+
if (gen_ch.donnee_entree.date_arrete_reseau_chaleur) {
|
|
115
|
+
anneeDpe = new Date(gen_ch.donnee_entree.date_arrete_reseau_chaleur).getFullYear() - 1;
|
|
116
|
+
} else {
|
|
117
|
+
anneeDpe = new Date(dateDpe).getFullYear() - 1;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (anneeDpe < 2024) {
|
|
121
|
+
anneeDpe = 2022;
|
|
122
|
+
}
|
|
123
|
+
} catch (e) {
|
|
124
|
+
anneeDpe = 2022;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
const key_reseau_chaleur = `reseau_chaleur_${anneeDpe}`;
|
|
128
|
+
|
|
111
129
|
/**
|
|
112
130
|
* Cas spécifique des réseaux de chaleur urbain qui ont des coefficients différents en fonction de réseau de distribution
|
|
113
131
|
*/
|
|
@@ -115,7 +133,7 @@ function getGesCoeffForGenerateur(gen_ch, suffix) {
|
|
|
115
133
|
const identifiant_reseau = gen_ch.donnee_entree.identifiant_reseau_chaleur;
|
|
116
134
|
|
|
117
135
|
if (identifiant_reseau) {
|
|
118
|
-
const row = tv(
|
|
136
|
+
const row = tv(key_reseau_chaleur, { identifiant_reseau });
|
|
119
137
|
|
|
120
138
|
if (row) {
|
|
121
139
|
return row.contenu_co2_acv;
|
|
@@ -142,7 +160,8 @@ export default function calc_conso(
|
|
|
142
160
|
ecs,
|
|
143
161
|
fr,
|
|
144
162
|
prorataECS,
|
|
145
|
-
prorataChauffage
|
|
163
|
+
prorataChauffage,
|
|
164
|
+
dateDpe
|
|
146
165
|
) {
|
|
147
166
|
const gen_ch = ch.reduce((acc, ch) => {
|
|
148
167
|
const generateur_chauffage = ch.generateur_chauffage_collection.generateur_chauffage;
|
|
@@ -158,7 +177,7 @@ export default function calc_conso(
|
|
|
158
177
|
ch.donnee_entree.enum_methode_calcul_conso_id;
|
|
159
178
|
value.donnee_entree.enum_type_installation_id = ch.donnee_entree.enum_type_installation_id;
|
|
160
179
|
(value.donnee_utilisateur = value.donnee_utilisateur || {}).coeffEmissionGes =
|
|
161
|
-
getGesCoeffForGenerateur(value, 'ch');
|
|
180
|
+
getGesCoeffForGenerateur(value, 'ch', dateDpe);
|
|
162
181
|
});
|
|
163
182
|
return acc.concat(generateur_chauffage);
|
|
164
183
|
}, []);
|
|
@@ -171,7 +190,7 @@ export default function calc_conso(
|
|
|
171
190
|
value.donnee_entree.cle_repartition_ecs =
|
|
172
191
|
(ecs.donnee_entree.cle_repartition_ecs || 1) * (ecs.donnee_entree.rdim || 1);
|
|
173
192
|
(value.donnee_utilisateur = value.donnee_utilisateur || {}).coeffEmissionGes =
|
|
174
|
-
getGesCoeffForGenerateur(value, 'ecs');
|
|
193
|
+
getGesCoeffForGenerateur(value, 'ecs', dateDpe);
|
|
175
194
|
});
|
|
176
195
|
}
|
|
177
196
|
return acc.concat(generateur_ecs);
|
|
@@ -26,9 +26,13 @@ export class FileStore {
|
|
|
26
26
|
resolve(data);
|
|
27
27
|
}
|
|
28
28
|
});
|
|
29
|
-
})
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
})
|
|
30
|
+
.then((fileContent) =>
|
|
31
|
+
this.#excelWorkBookToJson(XLSX.read(fileContent, { type: 'buffer', raw: false }))
|
|
32
|
+
)
|
|
33
|
+
.catch((error) => {
|
|
34
|
+
console.error(`Could not parse file: ${filePath}, reason: ${error.message}`);
|
|
35
|
+
});
|
|
32
36
|
}
|
|
33
37
|
|
|
34
38
|
/**
|
package/engine.js
CHANGED
|
@@ -35,6 +35,7 @@ const productionENR = new ProductionENR();
|
|
|
35
35
|
export function calcul_3cl(dpe) {
|
|
36
36
|
sanitize_dpe(dpe);
|
|
37
37
|
const modele = enums.modele_dpe[dpe.administratif.enum_modele_dpe_id];
|
|
38
|
+
const dateDpe = dpe.administratif.date_etablissement_dpe;
|
|
38
39
|
if (modele !== 'dpe 3cl 2021 méthode logement') {
|
|
39
40
|
console.error('Moteur dpe non implémenté pour le modèle: ' + modele);
|
|
40
41
|
return null;
|
|
@@ -428,7 +429,9 @@ export function calcul_3cl(dpe) {
|
|
|
428
429
|
ecs,
|
|
429
430
|
instal_ch,
|
|
430
431
|
bv_list,
|
|
431
|
-
ets
|
|
432
|
+
ets,
|
|
433
|
+
th,
|
|
434
|
+
dpe.logement.caracteristique_generale.nombre_appartement
|
|
432
435
|
);
|
|
433
436
|
apport_et_besoin = { ...apport_et_besoin, ...besoin_ch };
|
|
434
437
|
|
|
@@ -500,7 +503,8 @@ export function calcul_3cl(dpe) {
|
|
|
500
503
|
ecs,
|
|
501
504
|
clim,
|
|
502
505
|
prorataECS,
|
|
503
|
-
prorataChauffage
|
|
506
|
+
prorataChauffage,
|
|
507
|
+
dateDpe
|
|
504
508
|
);
|
|
505
509
|
|
|
506
510
|
const production_electricite = productionENR.calculateEnr(
|
package/enums.js
CHANGED
|
@@ -7,7 +7,8 @@ const enums = {
|
|
|
7
7
|
"2.1": "version de fin de validation incluant les contrôles de cohérences",
|
|
8
8
|
"2.2": "version de préparation de compatibilité audit/dpe",
|
|
9
9
|
"2.3": "version corrective de janvier 2023",
|
|
10
|
-
"2.4": "version correspondant à l'arrêté des seuils pour les petites surfaces"
|
|
10
|
+
"2.4": "version correspondant à l'arrêté des seuils pour les petites surfaces",
|
|
11
|
+
"2.5": "version correspondant à l'obligation de saisie du numéro fiscal de local"
|
|
11
12
|
},
|
|
12
13
|
"modele_dpe": {
|
|
13
14
|
"1": "dpe 3cl 2021 méthode logement",
|
|
@@ -49,6 +50,15 @@ const enums = {
|
|
|
49
50
|
"31": "locaux d'entreprise (bureaux)",
|
|
50
51
|
"32": "autres tertiaires non erp"
|
|
51
52
|
},
|
|
53
|
+
"consentement_formulaire": {
|
|
54
|
+
"0": "absence de consentement",
|
|
55
|
+
"1": "consentement fourni",
|
|
56
|
+
"2": "consentement non requis"
|
|
57
|
+
},
|
|
58
|
+
"commanditaire": {
|
|
59
|
+
"1": "propriétaire",
|
|
60
|
+
"2": "non propriétaire"
|
|
61
|
+
},
|
|
52
62
|
"categorie_erp": {
|
|
53
63
|
"1": "1ère catégorie",
|
|
54
64
|
"2": "2ème catégorie",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open3cl/engine",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.6",
|
|
4
4
|
"description": "Open Source 3CL-DPE engine",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"directories": {
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"test:corpus:ch-col": "node test/corpus/run_corpus_checks.js --corpus-file-path=test/corpus/dpe_immeuble_chauffage_collectif.csv",
|
|
20
20
|
"test:corpus:ch-mix": "node test/corpus/run_corpus_checks.js --corpus-file-path=test/corpus/dpe_immeuble_chauffage_mixte.csv",
|
|
21
21
|
"test:corpus:all": "npm run test:corpus && npm run test:corpus:ch-ind && npm run test:corpus:ch-col && npm run test:corpus:ch-mix",
|
|
22
|
+
"test:corpus:all+database": "npm run test:corpus:all && node test/corpus/corpus_database.js",
|
|
22
23
|
"qa:lint": "eslint .",
|
|
23
24
|
"qa:lint:fix": "npm run qa:lint -- --fix",
|
|
24
25
|
"qa:duplication": "jscpd",
|
|
Binary file
|