Verbrauchsausweis Wohnen Berechnung Test

This commit is contained in:
Moritz Utcke
2024-03-10 18:19:44 +07:00
parent 538fc7eb01
commit 02e108140a
2 changed files with 56 additions and 4 deletions

View File

@@ -1,6 +1,7 @@
import { VerbrauchsausweisWohnenClient } from "#components/Ausweis/types";
import { getKlimafaktoren } from "#lib/Klimafaktoren";
import { getHeizwertfaktor } from "#lib/server/Heizwertfaktor";
import { Enums } from "@ibcornelsen/database/client";
import moment from "moment";
export function energetischeNutzflaecheVerbrauchsausweisWohnen_2016(
@@ -11,14 +12,15 @@ export function energetischeNutzflaecheVerbrauchsausweisWohnen_2016(
}
let faktorKeller = 1.2;
if (ausweis.keller_beheizt && (ausweis.gebaeude_aufnahme_allgemein.einheiten || 1) <= 2) {
// Falls das Gebäude einen Keller besitzt der Beheizt ist erhöhen wir die Nutzfläche um 15%
if (ausweis.gebaeude_aufnahme_allgemein.keller == Enums.Heizungsstatus.BEHEIZT && (ausweis.gebaeude_aufnahme_allgemein.einheiten || 1) <= 2) {
faktorKeller = 1.35;
}
if ((ausweis.gebaeude_aufnahme_allgemein.nutzflaeche || 0) > 0) {
return ausweis.gebaeude_aufnahme_allgemein.nutzflaeche || 0;
return ausweis.gebaeude_aufnahme_allgemein.nutzflaeche || 0;
} else {
return (ausweis.gebaeude_aufnahme_allgemein.flaeche || 1) * faktorKeller;
return (ausweis.gebaeude_aufnahme_allgemein.flaeche || 1) * faktorKeller;
}
}
@@ -129,6 +131,10 @@ export async function endEnergieVerbrauchVerbrauchsausweis_2016(
let energieVerbrauchHeizung_1 = energieVerbrauchGesamt_1;
let energieVerbrauchHeizung_2 = energieVerbrauchGesamt_2;
// TODO: Im aktuellen Skript vom Live System kommt hier etwas anderes raus,
// vielleicht ist da etwas kaputt? Da scheint es so, als wäre
// warmwasser_enthalten immer true...
// NOTE: Das hier müsste die richtige Version sein...
if (ausweis.warmwasser_enthalten) {
energieVerbrauchHeizung_1 -= energieVerbrauchWarmwasser_1;
energieVerbrauchHeizung_2 -= energieVerbrauchWarmwasser_2;
@@ -285,7 +291,7 @@ export async function endEnergieVerbrauchVerbrauchsausweis_2016(
(ausweis.verbrauch_6 || 0) * brennstoff_2.umrechnungsfaktor
),
energetische_nutzfläche: Math.round(energetischeNutzflaeche),
energetischeNutzflaeche: energetischeNutzflaeche,
leerstand: leerstand,
leerstandsZuschlagHeizung: Math.round(leerstandsZuschlagHeizung),
leerstandsZuschlagWarmwasser: Math.round(leerstandsZuschlagWarmwasser),
@@ -331,6 +337,9 @@ export async function endEnergieVerbrauchVerbrauchsausweis_2016(
primaerEnergieVerbrauchKuehlungsZuschlag
),
primaerfaktorww,
primaerfaktorww_1,
co2Emissionen_1: co2Emissionen_1,
co2Emissionen_2: co2Emissionen_2,

View File

@@ -0,0 +1,43 @@
import { test, describe } from "bun:test";
import { endEnergieVerbrauchVerbrauchsausweis_2016 } from "#lib/Berechnungen/VerbrauchsausweisWohnen/VerbrauchsausweisWohnen_2016";
import { VerbrauchsausweisWohnenClient } from "#components/Ausweis/types";
describe('Energieverbrauch', async () => {
const ausweis: VerbrauchsausweisWohnenClient = {
gebaeude_aufnahme_allgemein: {
baujahr_heizung: [1989],
baujahr_gebaeude: [1981],
einheiten: 2,
saniert: true,
adresse: "Curslacker Deich 170",
plz: "21039",
ort: "Hamburg",
nutzflaeche: 0,
keller: "NICHT_VORHANDEN",
dachgeschoss: "UNBEHEIZT",
flaeche: 152,
baujahr_klima: [],
gebaeude_stammdaten: {
adresse: "Curslacker Deich 170",
plz: "21039",
ort: "Hamburg"
},
brennstoff_1: "Erdgas H",
gebaeudetyp: "Einfamilienhaus",
gebaeudeteil: "Gesamtgebäude",
lueftung: "Fensterlüftung",
kuehlung: "NICHT_VORHANDEN"
},
verbrauch_1: 16000,
verbrauch_2: 15000,
verbrauch_3: 15500,
einheit_1: "kWh",
warmwasser_enthalten: false,
}
const berechnungen = await endEnergieVerbrauchVerbrauchsausweis_2016(ausweis);
test("Endenergieverbrauch", async () => {
console.log(berechnungen)
})
})