Berechnung Bedarfsausweis

This commit is contained in:
Moritz Utcke
2023-05-08 22:03:27 +04:00
parent 2c2c69f2d3
commit e2d742e069
19 changed files with 2587 additions and 1414 deletions

140
src/lib/Ausweis/Ausweis.ts Normal file
View File

@@ -0,0 +1,140 @@
import { Moment } from "moment";
import { BitChecker } from "../BitChecker";
export enum AusweisType {
VERBRAUCHSAUSWEIS,
VERBRAUCHSAUSWEIS_NICHT_WOHNGEBAEUDE,
BEDARFSAUSWEIS,
}
export type Ausweisart = "VA" | "BA" | "VANW";
export type Ausstellgrund =
| "Vermietung"
| "Neubau"
| "Verkauf"
| "Modernisierung"
| "Sonstiges";
export type Lueftungskonzept = "Fensterlüftung" | "Schachtlüftung" | "Lüftungsanlage ohne Wärmerückgewinnung" | "Lüftungsanlage mit Wärmerückgewinnung"
export interface Ausweis {
ausweisart: Ausweisart;
id: number;
user_id: number;
rechnung_adresse: number;
versand_adresse: number;
objekt_typ: string;
objekt_plz: string;
objekt_ort: string;
objekt_strasse: string;
objekt_gebaeudeteil: string;
objekt_saniert: boolean;
baujahr_gebaeude: number;
baujahr_anlage: number;
anzahl_einheiten: number;
erstellungsdatum: Date;
ausstellgrund: Ausstellgrund;
energieverbrauch_zeitraum: Moment;
energieverbrauch_1_heizquelle_1: number;
energieverbrauch_2_heizquelle_1: number;
energieverbrauch_3_heizquelle_1: number;
energieverbrauch_1_heizquelle_2: number;
energieverbrauch_2_heizquelle_2: number;
energieverbrauch_3_heizquelle_2: number;
energietraeger_einheit_heizquelle_1: string;
energietraeger_einheit_heizquelle_2: string;
energietraeger_1: string;
energietraeger_2: string;
anteil_warmwasser_1: number;
anteil_warmwasser_2: number;
uid: string;
wohnflaeche: number;
keller_beheizt: boolean;
dachgeschoss: string;
zusaetzliche_heizquelle: boolean;
warmwasser_enthalten: boolean;
lueftungskonzept: Lueftungskonzept;
wird_gekuehlt: boolean;
leerstand: number;
images: string[];
versorgungssysteme: boolean[];
fenster_dach: boolean[];
energiequelle_2_nutzung: boolean[];
daemmung: boolean[];
/**
* Bedarfsausweis spezifische Eigenschaften
*/
anzahl_vollgeschosse: number;
geschosshoehe: number;
anzahl_gauben: number;
breite_gauben: number;
masse_a: number;
masse_b: number;
masse_c: number;
masse_d: number;
masse_e: number;
masse_f: number;
fensterflaeche_so_sw: number;
fensterflaeche_nw_no: number;
aussenwandflaeche_unbeheizt: number;
dachflaeche: number;
dach_u_wert: number;
deckenflaeche: number;
decke_u_wert: number;
aussenwand_flaeche: number;
aussenwand_u_wert: number;
fussboden_flaeche: number;
fussboden_u_wert: number;
volumen: number;
dicht: boolean;
fenster_flaeche_1: number;
fenster_art_1: string;
fenster_flaeche_2: number;
fenster_art_2: string;
dachfenster_flaeche: number;
dachfenster_art: string;
haustuer_flaeche: number;
haustuer_art: string;
dach_bauart: string;
dach_daemmung: number;
decke_bauart: string;
decke_daemmung: number;
aussenwand_bauart: string;
aussenwand_daemmung: number;
boden_bauart: string;
boden_daemmung: number;
warmwasser_verteilung: string;
warmwasser_speicherung: string;
warmwasser_erzeugung: string;
heizung_zentral: boolean;
heizung_verteilung: string;
heizung_speicherung: string;
waerme_erzeugung_heizung: string;
anteil_zusatzheizung: number;
kollektor_flaeche: number;
// VANW
vanw_stromverbrauch_enthalten: number;
vanw_stromverbrauch_sonstige: string;
vanw_strom_1: number;
vanw_strom_2: number;
vanw_strom_3: number;
regnummer: string;
erledigt: boolean;
anrede: string;
name: string;
vorname: string;
email: string;
telefonnummer: string;
}

View File

@@ -0,0 +1,455 @@
import { Moment } from "moment";
import { getHeizwertfaktorClient } from "../server/Heizwertfaktor";
import moment from "moment";
import { BitChecker } from "../BitChecker";
import { getHeizungswerte } from "../Heizungswerte";
export enum AusweisType {
VERBRAUCHSAUSWEIS,
VERBRAUCHSAUSWEIS_NICHT_WOHNGEBAEUDE,
BEDARFSAUSWEIS,
}
export type Lueftungskonzept =
| "Fensterlüftung"
| "Schachtlüftung"
| "Lüftungsanlage ohne Wärmerückgewinnung"
| "Lüftungsanlage mit Wärmerückgewinnung";
export type Ausweisart = "VA" | "BA" | "VANW";
export type Ausstellgrund =
| "Vermietung"
| "Neubau"
| "Verkauf"
| "Modernisierung"
| "Sonstiges";
export class Bedarfsausweis {
public ausweisart: Ausweisart = "VA";
public id: number = 0;
public user_id: number = 0;
public rechnung_adresse: number = 0;
public versand_adresse: number = 0;
public objekt_typ: string = "";
public objekt_plz: string = "";
public objekt_ort: string = "";
public objekt_strasse: string = "";
public objekt_gebaeudeteil: string = "";
public objekt_saniert: boolean = false;
public baujahr_gebaeude: number = 0;
public baujahr_anlage: number = 0;
public anzahl_einheiten: number = 0;
public erstellungsdatum: Date = new Date();
public ausstellgrund: Ausstellgrund = "Vermietung";
public energieverbrauch_zeitraum: Moment = moment();
public energieverbrauch_1_heizquelle_1: number = 0;
public energieverbrauch_2_heizquelle_1: number = 0;
public energieverbrauch_3_heizquelle_1: number = 0;
public energieverbrauch_1_heizquelle_2: number = 0;
public energieverbrauch_2_heizquelle_2: number = 0;
public energieverbrauch_3_heizquelle_2: number = 0;
public energietraeger_einheit_heizquelle_1: string = "";
public energietraeger_einheit_heizquelle_2: string = "";
public energietraeger_1: string = "";
public energietraeger_2: string = "";
public anteil_warmwasser_1: number = 0;
public anteil_warmwasser_2: number = 0;
public uid: string = "";
public wohnflaeche: number = 0;
public keller_beheizt: boolean = false;
public dachgeschoss: string = "";
public zusaetzliche_heizquelle: boolean = false;
public warmwasser_enthalten: boolean = false;
public lueftungskonzept: Lueftungskonzept = "Fensterlüftung";
public wird_gekuehlt: boolean = false;
public leerstand: number = 0;
public images: string[] = [];
public versorgungssysteme: boolean[] = BitChecker(0);
public fenster_dach: boolean[] = BitChecker(0);
public energiequelle_2_nutzung: boolean[] = BitChecker(0);
public daemmung: boolean[] = BitChecker(0);
public get energetische_nutzfläche(): number {
if (this.geschosshoehe < 2.5 || this.geschosshoehe > 3) {
return (1 / this.geschosshoehe - 0.04) * this.volumen;
} else {
return 0.32 * this.volumen;
}
}
/**
* Bedarfsausweis spezifische Eigenschaften
*/
public anzahl_vollgeschosse: number = 0;
public geschosshoehe: number = 0;
public anzahl_gauben: number = 0;
public breite_gauben: number = 0;
public masse_a: number = 0;
public masse_b: number = 0;
public masse_c: number = 0;
public masse_d: number = 0;
public masse_e: number = 0;
public masse_f: number = 0;
public fensterflaeche_so_sw: number = 0;
public fensterflaeche_nw_no: number = 0;
public aussenwandflaeche_unbeheizt: number = 0;
public dachflaeche: number = 0;
public dach_u_wert: number = 0;
public deckenflaeche: number = 0;
public decke_u_wert: number = 0;
public aussenwand_flaeche: number = 0;
public aussenwand_u_wert: number = 0;
public fussboden_flaeche: number = 0;
public fussboden_u_wert: number = 0;
public volumen: number = 0;
public dicht: boolean = false;
public fenster_flaeche_1: number = 0;
public fenster_art_1: number = 0;
public fenster_flaeche_2: number = 0;
public fenster_art_2: number = 0;
public dachfenster_flaeche: number = 0;
public dachfenster_art: number = 0;
public haustuer_flaeche: number = 0;
public haustuer_art: number = 0;
public dach_bauart: string = "";
public dach_daemmung: number = 0;
public decke_bauart: string = "";
public decke_daemmung: number = 0;
public aussenwand_bauart: string = "";
public aussenwand_daemmung: number = 0;
public boden_bauart: string = "";
public boden_daemmung: number = 0;
public warmwasser_verteilung: string = "";
public warmwasser_speicherung: string = "";
public warmwasser_erzeugung: string = "";
public heizung_zentral: boolean = false;
public heizung_verteilung: string = "";
public heizung_speicherung: string = "";
public waerme_erzeugung_heizung: string = "";
public anteil_zusatzheizung: number = 0;
public kollektor_flaeche: number = 0;
// VANW
public vanw_stromverbrauch_enthalten: number = 0;
public vanw_stromverbrauch_sonstige: string = "";
public vanw_strom_1: number = 0;
public vanw_strom_2: number = 0;
public vanw_strom_3: number = 0;
public regnummer: string = "";
public erledigt: boolean = false;
public anrede: string = "";
public name: string = "";
public vorname: string = "";
public email: string = "";
public telefonnummer: string = "";
// Temporär
public tabellenwerte_aendern: boolean = false;
public constructor() {}
public static fromBase64(base64: string): Bedarfsausweis | null {
try {
const text = Buffer.from(base64, "base64");
const json = JSON.parse(text.toString());
return json;
} catch (e) {
return null;
}
}
public get primaer_energie_verbrauch(): Promise<number> {
return (async () => {
const Endenergieverbrauch = await this.end_energie_verbrauch;
const brennstoff_1 = getHeizwertfaktorClient(
this.energietraeger_1,
this.energietraeger_einheit_heizquelle_1
);
return Endenergieverbrauch * brennstoff_1.primärenergiefaktor;
})();
}
public get end_energie_verbrauch(): number {
let Uawd = 1 / (1 / this.dach_daemmung / 0.04);
let Uawa = 1 / (1 / this.aussenwand_daemmung / 0.04);
let Uawb = 1 / (1 / this.boden_daemmung / 0.04);
let Uawogd =1 / (1 / this.decke_daemmung / 0.04);
if (!this.tabellenwerte_aendern) {
this.dach_u_wert = Math.round(Uawd);
this.decke_u_wert = Math.round(Uawogd);
this.aussenwand_u_wert = Math.round(Uawa);
this.fussboden_u_wert = Math.round(Uawb);
}
if (this.dachgeschoss) {
var IOGdeckef = 0;
var dachgeschossf = 0.5;
var dachgeschossf2 = 1;
} else if (!this.dachgeschoss) {
var IOGdeckef = 0.8;
var dachgeschossf = 0;
var dachgeschossf2 = 0;
// TODO: Dachgeschoss braucht 3 optionen
} else {
var IOGdeckef = 1;
var dachgeschossf = 0;
var dachgeschossf2 = 0;
}
if (this.keller_beheizt) {
var keller_beheiztf = 1;
} else {
var keller_beheiztf = 0;
}
var gaubenfl =
this.breite_gauben * 2 * 0.3 + this.anzahl_gauben * 2 * 1.5;
var gaubenvol = this.breite_gauben * 1.5;
var Fawa = 1;
if (
this.objekt_typ === "Doppelhaushälfte" ||
this.objekt_typ === "Reihenendhaus"
) {
var Fawa = 0.7;
} else if (this.objekt_typ === "Reihenmittelhaus") {
var Fawa = 0.4;
}
// Außenwand
var awa1 =
((2 * this.masse_a +
2 * this.masse_b +
2 * this.masse_d +
2 * this.masse_e +
2 * this.masse_f) *
this.geschosshoehe *
this.anzahl_vollgeschosse +
2 * this.masse_a * this.geschosshoehe * dachgeschossf +
(2 * this.masse_a +
2 * this.masse_b +
2 * this.masse_d +
2 * this.masse_e +
2 * this.masse_f) *
2.2 *
keller_beheiztf) *
Fawa -
this.fenster_flaeche_1 -
this.fenster_flaeche_2 -
this.haustuer_flaeche +
gaubenfl;
if (!this.tabellenwerte_aendern) {
this.aussenwand_flaeche = awa1;
}
var awd1 =
((this.masse_a * this.masse_b +
this.masse_c * this.masse_d +
(+this.masse_f + +this.masse_c) * this.masse_e) *
1.2 -
this.dachfenster_flaeche) *
dachgeschossf2;
if (!this.tabellenwerte_aendern) {
this.dachflaeche = awd1;
}
var awogd1 =
(this.masse_a * this.masse_b +
this.masse_c * this.masse_d +
(+this.masse_f + +this.masse_c) * this.masse_e -
this.dachfenster_flaeche) *
IOGdeckef;
if (!this.tabellenwerte_aendern) {
this.deckenflaeche = awogd1;
}
var awb1 =
this.masse_a * this.masse_b +
this.masse_c * this.masse_d +
(+this.masse_f + +this.masse_c) * this.masse_e;
if (!this.tabellenwerte_aendern) {
this.fussboden_flaeche = awb1;
}
var behgv =
awb1 * this.geschosshoehe * this.anzahl_vollgeschosse +
awb1 * 2.2 * keller_beheiztf +
awb1 * this.geschosshoehe * dachgeschossf +
gaubenvol;
if (!this.tabellenwerte_aendern) {
this.volumen = behgv;
}
if (this.dicht) {
var Hv = 0.163 * behgv;
} else {
var Hv = 0.19 * behgv;
}
var AHF =
this.aussenwand_flaeche +
this.fussboden_flaeche +
this.dachflaeche +
this.deckenflaeche +
this.fenster_flaeche_2 +
this.haustuer_flaeche +
this.dachfenster_flaeche +
this.fenster_flaeche_1;
let AN = this.energetische_nutzfläche;
var Qi = 22 * AN;
// NOTE: Irgendwie sowas wie Gesamtwärmestrom der entweicht.
var Qs =
270 * this.fensterflaeche_so_sw * 0.567 * 0.75 +
100 * this.fensterflaeche_nw_no * 0.567 * 0.75 +
225 * this.dachfenster_flaeche * 0.567 * 0.75 +
155 *
(this.fenster_flaeche_2 +
this.dachfenster_flaeche +
this.fenster_flaeche_1 -
this.fensterflaeche_so_sw -
this.fensterflaeche_nw_no) *
0.567 *
0.75;
var Ht =
this.aussenwand_u_wert *
(this.aussenwand_flaeche - this.aussenwandflaeche_unbeheizt) +
this.aussenwand_u_wert * this.aussenwandflaeche_unbeheizt * 0.5 +
this.decke_u_wert * this.deckenflaeche * IOGdeckef +
this.fussboden_u_wert * this.fussboden_flaeche * 0.6 +
this.dach_u_wert * this.dachflaeche +
this.fenster_art_1 * this.fenster_flaeche_1 +
this.fenster_art_2 * this.fenster_flaeche_2 +
this.dachfenster_art * this.dachfenster_flaeche +
AHF * 0.05 +
this.haustuer_flaeche * this.haustuer_art;
var Qh = (66 * (Ht + Hv) - 0.95 * (Qs + Qi)) / AN;
var Solarsystem_WWbw = 0;
var Solarsystem_WWhb = 0;
if (AN < 500) {
if (this.versorgungssysteme[4]) {
var Solarsystem_WWbw = 11.3 - (3.3 / 350) * (AN - 150);
var Solarsystem_WWhb = 0.8 - (0.4 / 350) * (AN - 150);
}
if (this.kollektor_flaeche != 0) {
var Solarsystem_WWbw = (this.kollektor_flaeche * 280) / AN;
var Solarsystem_WWhb = 0.8 - (0.4 / 350) * (AN - 150);
}
} else if (AN > 500 && AN < 7000) {
if (this.versorgungssysteme[4]) {
var Solarsystem_WWbw = 8 - (2 / 2000) * (AN - 500);
var Solarsystem_WWhb = 0.4 - (0.1 / 2000) * (AN - 500);
}
if (this.kollektor_flaeche != 0) {
var Solarsystem_WWbw = (this.kollektor_flaeche * 280) / AN;
var Solarsystem_WWhb = 0.4 - (0.1 / 2000) * (AN - 500);
}
}
let hilfsenergiel = 0;
let wgewinnel = 0;
if (this.lueftungskonzept == "Lüftungsanlage mit Wärmerückgewinnung") {
hilfsenergiel = 0;
wgewinnel = 13.5;
}
if (this.lueftungskonzept == "Lüftungsanlage ohne Wärmerückgewinnung") {
if (this.baujahr_gebaeude < 1996) {
hilfsenergiel = 4;
wgewinnel = 3.5;
}
if (this.baujahr_gebaeude > 1996) {
hilfsenergiel = 2.6;
wgewinnel = 3.2;
}
}
let [
heizung_zentralwv,
verteilunghwv,
spheizungwv,
werzeugungheaz,
verteilungwwwv,
verteilungwwhg,
warmwasser_speicherungwv,
warmwasser_speicherunghg,
werzeugungwweaz,
verteilunghhb,
spheizunghb,
werzeugunghhb,
verteilungwwhb,
warmwasser_speicherunghb,
werzeugungwwhb,
BRSPrimärenergiefaktor,
BRSPrimärenergiefaktor1,
Coeffizienz,
] = getHeizungswerte(
this.energietraeger_1,
this.energietraeger_2,
AN,
this.warmwasser_verteilung,
this.warmwasser_speicherung,
this.warmwasser_erzeugung,
this.heizung_zentral,
this.heizung_verteilung,
this.heizung_speicherung,
this.waerme_erzeugung_heizung
);
var endenergieh =
(Qh + heizung_zentralwv + verteilunghwv + spheizungwv) *
werzeugungheaz -
wgewinnel;
var endenergiew =
(12 +
verteilungwwwv -
verteilungwwhg +
warmwasser_speicherungwv -
warmwasser_speicherunghg) *
werzeugungwweaz;
var hilfsenergie =
verteilunghhb +
spheizunghb +
werzeugunghhb +
verteilungwwhb +
warmwasser_speicherunghb +
werzeugungwwhb +
Solarsystem_WWhb +
hilfsenergiel;
var endenergiegesamt = endenergieh + endenergiew + hilfsenergie;
var primheizung =
endenergieh *
(1 - this.anteil_zusatzheizung) *
BRSPrimärenergiefaktor +
endenergieh * this.anteil_zusatzheizung * BRSPrimärenergiefaktor1;
var primaerenergiebedarf =
primheizung +
(endenergiew - Solarsystem_WWbw) * BRSPrimärenergiefaktor +
hilfsenergie * 1.8;
return endenergiegesamt;
}
}

View File

@@ -11,12 +11,7 @@ export enum AusweisType {
BEDARFSAUSWEIS,
}
export enum Lueftungskonzept {
"Fensterlüftung",
"Schachtlüftung",
"Lüftungsanlage ohne Wärmerückgewinnung",
"Lüftungsanlage mit Wärmerückgewinnung",
}
export type Lueftungskonzept = "Fensterlüftung" | "Schachtlüftung" | "Lüftungsanlage ohne Wärmerückgewinnung" | "Lüftungsanlage mit Wärmerückgewinnung"
export type Ausweisart = "VA" | "BA" | "VANW";
export type Ausstellgrund =
@@ -70,7 +65,7 @@ export class Verbrauchsausweis {
public dachgeschoss: string = "";
public zusaetzliche_heizquelle: boolean = false;
public warmwasser_enthalten: boolean = false;
public lueftungskonzept: Lueftungskonzept = Lueftungskonzept.Fensterlüftung;
public lueftungskonzept: Lueftungskonzept = "Fensterlüftung";
public wird_gekuehlt: boolean = false;
public leerstand: number = 0;
public images: string[] = [];

View File

@@ -0,0 +1,251 @@
import { Moment } from "moment";
import { getKlimafaktorenClient } from "../Klimafaktoren";
import { getHeizwertfaktorClient } from "../server/Heizwertfaktor";
import moment from "moment";
import { BitChecker } from "../BitChecker";
export enum AusweisType {
VERBRAUCHSAUSWEIS,
VERBRAUCHSAUSWEIS_NICHT_WOHNGEBAEUDE,
BEDARFSAUSWEIS,
}
export type Lueftungskonzept = "Fensterlüftung" | "Schachtlüftung" | "Lüftungsanlage ohne Wärmerückgewinnung" | "Lüftungsanlage mit Wärmerückgewinnung"
export type Ausweisart = "VA" | "BA" | "VANW";
export type Ausstellgrund =
| "Vermietung"
| "Neubau"
| "Verkauf"
| "Modernisierung"
| "Sonstiges";
export class VerbrauchsausweisGewerbe {
public ausweisart: Ausweisart = "VA";
public id: number = 0;
public user_id: number = 0;
public rechnung_adresse: number = 0;
public versand_adresse: number = 0;
public objekt_typ: string = "";
public objekt_plz: string = "";
public objekt_ort: string = "";
public objekt_strasse: string = "";
public objekt_gebaeudeteil: string = "";
public objekt_saniert: boolean = false;
public baujahr_gebaeude: number = 0;
public baujahr_anlage: number = 0;
public anzahl_einheiten: number = 0;
public erstellungsdatum: Date = new Date();
public ausstellgrund: Ausstellgrund = "Vermietung";
public energieverbrauch_zeitraum: Moment = moment();
public energieverbrauch_1_heizquelle_1: number = 0;
public energieverbrauch_2_heizquelle_1: number = 0;
public energieverbrauch_3_heizquelle_1: number = 0;
public energieverbrauch_1_heizquelle_2: number = 0;
public energieverbrauch_2_heizquelle_2: number = 0;
public energieverbrauch_3_heizquelle_2: number = 0;
public energietraeger_einheit_heizquelle_1: string = "";
public energietraeger_einheit_heizquelle_2: string = "";
public energietraeger_1: string = "";
public energietraeger_2: string = "";
public anteil_warmwasser_1: number = 0;
public anteil_warmwasser_2: number = 0;
public uid: string = "";
public wohnflaeche: number = 0;
public keller_beheizt: boolean = false;
public dachgeschoss: string = "";
public zusaetzliche_heizquelle: boolean = false;
public warmwasser_enthalten: boolean = false;
public lueftungskonzept: Lueftungskonzept = "Fensterlüftung";
public wird_gekuehlt: boolean = false;
public leerstand: number = 0;
public images: string[] = [];
public versorgungssysteme: boolean[] = BitChecker(0);
public fenster_dach: boolean[] = BitChecker(0);
public energiequelle_2_nutzung: boolean[] = BitChecker(0);
public daemmung: boolean[] = BitChecker(0);
public get energetische_nutzfläche(): number {
return this.wohnflaeche * (this.keller_beheizt ? 1.35 : 1.2);
};
/**
* Bedarfsausweis spezifische Eigenschaften
*/
public anzahl_vollgeschosse: number = 0;
public geschosshoehe: number = 0;
public anzahl_gauben: number = 0;
public breite_gauben: number = 0;
public masse_a: number = 0;
public masse_b: number = 0;
public masse_c: number = 0;
public masse_d: number = 0;
public masse_e: number = 0;
public masse_f: number = 0;
public fensterflaeche_so_sw: number = 0;
public fensterflaeche_nw_no: number = 0;
public aussenwandflaeche_unbeheizt: number = 0;
public dachflaeche: number = 0;
public dach_u_wert: number = 0;
public deckenflaeche: number = 0;
public decke_u_wert: number = 0;
public aussenwand_flaeche: number = 0;
public aussenwand_u_wert: number = 0;
public fussboden_flaeche: number = 0;
public fussboden_u_wert: number = 0;
public volumen: number = 0;
public dicht: boolean = false;
public fenster_flaeche_1: number = 0;
public fenster_art_1: string = "";
public fenster_flaeche_2: number = 0;
public fenster_art_2: string = "";
public dachfenster_flaeche: number = 0;
public dachfenster_art: string = "";
public haustuer_flaeche: number = 0;
public haustuer_art: string = "";
public dach_bauart: string = "";
public dach_daemmung: number = 0;
public decke_bauart: string = "";
public decke_daemmung: number = 0;
public aussenwand_bauart: string = "";
public aussenwand_daemmung: number = 0;
public boden_bauart: string = "";
public boden_daemmung: number = 0;
public warmwasser_verteilung: string = "";
public warmwasser_speicherung: string = "";
public warmwasser_erzeugung: string = "";
public heizung_zentral: boolean = false;
public heizung_verteilung: string = "";
public heizung_speicherung: string = "";
public waerme_erzeugung_heizung: string = "";
public anteil_zusatzheizung: number = 0;
public kollektor_flaeche: number = 0;
// VANW
public vanw_stromverbrauch_enthalten: number = 0;
public vanw_stromverbrauch_sonstige: string = "";
public vanw_strom_1: number = 0;
public vanw_strom_2: number = 0;
public vanw_strom_3: number = 0;
public regnummer: string = "";
public erledigt: boolean = false;
public anrede: string = "";
public name: string = "";
public vorname: string = "";
public email: string = "";
public telefonnummer: string = "";
public constructor() {}
public static fromBase64(base64: string): VerbrauchsausweisGewerbe | null {
try {
const text = Buffer.from(base64, "base64");
const json = JSON.parse(text.toString());
return json;
} catch (e) {
return null;
}
}
public get primaer_energie_verbrauch(): Promise<number> {
return (async () => {
const Endenergieverbrauch = await this.end_energie_verbrauch;
const brennstoff_1 = getHeizwertfaktorClient(this.energietraeger_1, this.energietraeger_einheit_heizquelle_1);
return Endenergieverbrauch * brennstoff_1.primärenergiefaktor;
})();
}
public get end_energie_verbrauch(): Promise<number> {
return (async () => {
const date = this.energieverbrauch_zeitraum;
const klimafaktoren = await getKlimafaktorenClient(
date,
this.objekt_plz
);
// Endenergieverbrauch
// Um den EEV auszurechnen, müssen die Verbräuche zu kWh konvertiert werden.
let brennstoff_1 = getHeizwertfaktorClient(this.energietraeger_1, this.energietraeger_einheit_heizquelle_1);
let brennstoff_2 = getHeizwertfaktorClient(this.energietraeger_2, this.energietraeger_einheit_heizquelle_2);
let verbrauch_1_kwh =
(this.energieverbrauch_1_heizquelle_1 * brennstoff_1.umrechnungsfaktor)
let verbrauch_2_kwh =
(this.energieverbrauch_2_heizquelle_1 * brennstoff_1.umrechnungsfaktor)
let verbrauch_3_kwh =
(this.energieverbrauch_3_heizquelle_1 * brennstoff_1.umrechnungsfaktor)
let verbrauch_4_kwh =
(this.energieverbrauch_1_heizquelle_2 * brennstoff_2.umrechnungsfaktor)
let verbrauch_5_kwh =
(this.energieverbrauch_2_heizquelle_2 * brennstoff_2.umrechnungsfaktor)
let verbrauch_6_kwh =
(this.energieverbrauch_3_heizquelle_2 * brennstoff_2.umrechnungsfaktor)
let warmwasserZuschlag = 0;
let leerstandsZuschlag = 0;
let kuehlungsZuschlag = 0;
if (this.anteil_warmwasser_1 == 0) {
warmwasserZuschlag = 20 * this.energetische_nutzfläche * 3;
}
if (this.leerstand > 0) {
let durchschnittsKlimafaktor =
klimafaktoren.reduce((a, b) => a + b, 0) / 3;
leerstandsZuschlag =
((verbrauch_1_kwh +
verbrauch_2_kwh +
verbrauch_3_kwh +
verbrauch_4_kwh +
verbrauch_5_kwh +
verbrauch_6_kwh) *
(this.leerstand / 100)) /
durchschnittsKlimafaktor;
}
if (this.energiequelle_2_nutzung[3]) {
kuehlungsZuschlag = 6 * this.energetische_nutzfläche * 3;
}
let anteil_heizung = 1 - this.anteil_warmwasser_1 / 100;
let anteil_warmwasser = this.anteil_warmwasser_1 / 100;
let Energieverbrauchskennwert =
(anteil_heizung *
(verbrauch_1_kwh + verbrauch_4_kwh) *
klimafaktoren[0] +
anteil_warmwasser * (verbrauch_1_kwh + verbrauch_4_kwh) +
anteil_heizung *
(verbrauch_2_kwh + verbrauch_5_kwh) *
klimafaktoren[1] +
anteil_warmwasser * (verbrauch_2_kwh + verbrauch_5_kwh) +
anteil_heizung *
(verbrauch_3_kwh + verbrauch_6_kwh) *
klimafaktoren[2] +
anteil_warmwasser * (verbrauch_3_kwh + verbrauch_6_kwh) +
warmwasserZuschlag +
leerstandsZuschlag +
kuehlungsZuschlag) /
3 /
this.energetische_nutzfläche;
return Energieverbrauchskennwert;
})();
}
}

741
src/lib/Heizungswerte.ts Normal file
View File

@@ -0,0 +1,741 @@
import fuelList from "~/components/Ausweis/fuelList";
export function getHeizungswerte(
energietraeger: string,
energietraeger2: string,
AN: number,
verteilungww: string,
warmwasser_speicherung: string,
werzeugungww: string,
heizung_zentral: boolean,
verteilungh: string,
spheizung: string,
werzeugungh: string
) {
let energietraegerfa = 1.1;
let energietraegerfa2 = 1.1;
let werzeugungwweaz = 1.31 - (0.08 / 350) * (AN - 150);
let werzeugungwwhb = 0.2 - (0.1 / 350) * (AN - 150);
let werzeugungheaz = 1.19 - (0.04 / 350) * (AN - 150);
let werzeugunghhb = 0.8 - (0.4 / 350) * (AN - 150);
if (
energietraeger == "Heizöl" ||
energietraeger == "Erdgas" ||
energietraeger == "Flüssiggas" ||
energietraeger == "Koks"
) {
energietraegerfa = 1.1;
} else if (
energietraeger == "Brennholz" ||
energietraeger == "Holz-Pellets" ||
energietraeger == "Holzhackschnitzel"
) {
energietraegerfa = 0.2;
} else if (energietraeger == "Strommix") {
energietraegerfa = 1.8;
} else if (
energietraeger == "Nahwärme KWK FB" ||
energietraeger == "Fernwärme KWK FB"
) {
energietraegerfa = 0.7;
} else if (
energietraeger == "Nahwärme KWK EB" ||
energietraeger == "Fernwärme KWK EB"
) {
energietraegerfa = 0;
} else if (
energietraeger == "Nahwärme HKW FB" ||
energietraeger == "Fernwärme HKW FB"
) {
energietraegerfa = 1.3;
} else if (
energietraeger == "Nahwärme HKW EB" ||
energietraeger == "Fernwärme HKW EB"
) {
energietraegerfa = 0.1;
} else if (energietraeger == "Braunkohle") {
energietraegerfa = 1.2;
}
if (
energietraeger2 == "Heizöl" ||
energietraeger2 == "Erdgas" ||
energietraeger2 == "Flüssiggas" ||
energietraeger2 == "Koks"
) {
energietraegerfa2 = 1.1;
} else if (
energietraeger2 == "Holz-Pellets" ||
energietraeger2 == "Holzhackschnitzel" ||
energietraeger2 == "Brennholz"
) {
energietraegerfa2 = 0.2;
} else if (energietraeger2 == "Strommix") {
energietraegerfa2 = 1.8;
} else if (energietraeger2 == "Braunkohle") {
energietraegerfa2 = 1.2;
}
let verteilungwwwv = 0;
let verteilungwwhg = 0;
let verteilungwwhb = 0;
let warmwasser_speicherungwv = 0;
let warmwasser_speicherunghg = 0;
let warmwasser_speicherunghb = 0;
let verteilunghwv = 0;
let verteilunghhb = 0;
let spheizungwv = 0;
let spheizunghb = 0;
let heizung_zentralwv = 0;
if (AN <= 500) {
if (verteilungww == "zvmzbis1978") {
verteilungwwwv = 68.6 - (21.2 / 350) * (AN - 150);
verteilungwwhg = 12.4 + (2.2 / 350) * (AN - 150);
verteilungwwhb = 1.4 - (0.6 / 350) * (AN - 150);
} else if (verteilungww == "zvmzngbis1978") {
verteilungwwwv = 41.9 - (6.5 / 350) * (AN - 150);
verteilungwwhg = 12.4 + (2.2 / 350) * (AN - 150);
verteilungwwhb = 1.4 - (0.6 / 350) * (AN - 150);
} else if (verteilungww == "zvmzvon1979bis1994") {
verteilungwwwv = 27.3 - (4.7 / 350) * (AN - 150);
verteilungwwhg = 8.2 + (1.1 / 350) * (AN - 150);
verteilungwwhb = 1.4 - (0.6 / 350) * (AN - 150);
} else if (verteilungww == "zvmzab1995") {
verteilungwwwv = 11.6 - (4 / 350) * (AN - 150);
verteilungwwhg = 1.7 + (0.2 / 350) * (AN - 150);
verteilungwwhb = 0.8 - (0.5 / 350) * (AN - 150);
} else if (verteilungww == "zvozbis1978") {
verteilungwwwv = 17 - (6.6 / 350) * (AN - 150);
verteilungwwhg = 3.5;
verteilungwwhb = 0;
} else if (verteilungww == "zvozngbis1978") {
verteilungwwwv = 12.6 - (3.8 / 350) * (AN - 150);
verteilungwwhg = 3.5;
verteilungwwhb = 0;
} else if (verteilungww == "zvozvon1979bis1994") {
verteilungwwwv = 10.8 - (2.5 / 350) * (AN - 150);
verteilungwwhg = 3.7;
verteilungwwhb = 0;
} else if (verteilungww == "zvozab1995") {
verteilungwwwv = 5.4 - (2 / 350) * (AN - 150);
verteilungwwhg = 1;
verteilungwwhb = 0;
} else if (verteilungww == "dzsbis1994") {
verteilungwwwv = 3.8;
verteilungwwhg = 2;
verteilungwwhb = 0;
} else if (verteilungww == "dzsab1995") {
verteilungwwwv = 1.5;
verteilungwwhg = 0.7;
verteilungwwhb = 0;
}
if (warmwasser_speicherung == "zwwsath") {
warmwasser_speicherungwv = 5.1 - (3.3 / 350) * (AN - 150);
warmwasser_speicherunghg = 0;
warmwasser_speicherunghb = 0.2;
} else if (warmwasser_speicherung == "zwwsith") {
warmwasser_speicherungwv = 4.2 - (2.8 / 350) * (AN - 150);
warmwasser_speicherunghg = 2.2 - (1.4 / 350) * (AN - 150);
warmwasser_speicherunghb = 0.2;
} else if (warmwasser_speicherung == "gasbs") {
warmwasser_speicherungwv = 18 - (6.1 / 350) * (AN - 150);
warmwasser_speicherunghg = 0;
warmwasser_speicherunghb = 0;
} else if (warmwasser_speicherung == "elks") {
warmwasser_speicherungwv = 1.5;
warmwasser_speicherunghg = 0.8;
warmwasser_speicherunghb = 0;
}
if (werzeugungww == "ktkesselbis1986") {
werzeugungwweaz = 2.05 - (0.41 / 350) * (AN - 150);
werzeugungwwhb = 0.1;
} else if (werzeugungww == "ktkesselvon1987bis1994") {
werzeugungwweaz = 1.9 - (0.33 / 350) * (AN - 150);
werzeugungwwhb = 0.2 - (0.1 / 350) * (AN - 150);
} else if (werzeugungww == "ktkesselab1995") {
werzeugungwweaz = 1.71 - (0.25 / 350) * (AN - 150);
werzeugungwwhb = 0.2 - (0.1 / 350) * (AN - 150);
} else if (werzeugungww == "ntkesselbis1986") {
werzeugungwweaz = 1.3 - (0.07 / 350) * (AN - 150);
werzeugungwwhb = 0.1;
} else if (werzeugungww == "ntkesselvon1987bis1994") {
werzeugungwweaz = 1.31 - (0.08 / 350) * (AN - 150);
werzeugungwwhb = 0.2 - (0.1 / 350) * (AN - 150);
} else if (werzeugungww == "ntkesselab1995") {
werzeugungwweaz = 1.19 - (0.04 / 350) * (AN - 150);
werzeugungwwhb = 0.2 - (0.1 / 350) * (AN - 150);
} else if (werzeugungww == "bwkesselbis1986") {
werzeugungwweaz = 1.24 - (0.07 / 350) * (AN - 150);
werzeugungwwhb = 0.1;
} else if (werzeugungww == "bwkesselvon1987bis1994") {
werzeugungwweaz = 1.25 - (0.08 / 350) * (AN - 150);
werzeugungwwhb = 0.2 - (0.1 / 350) * (AN - 150);
} else if (werzeugungww == "bwkesselab1995") {
werzeugungwweaz = 1.15 - (0.03 / 350) * (AN - 150);
werzeugungwwhb = 0.2 - (0.1 / 350) * (AN - 150);
} else if (werzeugungww == "bwkesselab1999") {
werzeugungwweaz = 1.13 - (0.03 / 350) * (AN - 150);
werzeugungwwhb = 0.2 - (0.1 / 350) * (AN - 150);
} else if (werzeugungww == "ewplhvon1979bis1994") {
werzeugungwweaz = 0.37;
werzeugungwwhb = 0;
} else if (werzeugungww == "ewplhab1995") {
werzeugungwweaz = 0.34;
werzeugungwwhb = 0;
} else if (werzeugungww == "ewpemvon1979bis1994") {
werzeugungwweaz = 0.32;
werzeugungwwhb = 0.3;
} else if (werzeugungww == "ewpemab1995") {
werzeugungwweaz = 0.27;
werzeugungwwhb = 0.3;
} else if (werzeugungww == "ewpgmvon1979bis1994") {
werzeugungwweaz = 0.26;
werzeugungwwhb = 0.5 - (0.1 / 350) * (AN - 150);
} else if (werzeugungww == "ewpgmab1995") {
werzeugungwweaz = 0.23;
werzeugungwwhb = 0.5 - (0.1 / 350) * (AN - 150);
} else if (werzeugungww == "fwugs") {
werzeugungwweaz = 1.14;
werzeugungwwhb = 0.4;
} else if (werzeugungww == "zes") {
werzeugungwweaz = 1;
werzeugungwwhb = 0;
} else if (werzeugungww == "gbs") {
werzeugungwweaz = 1.22;
werzeugungwwhb = 0;
} else if (werzeugungww == "thermebis1994") {
werzeugungwweaz = 1.32;
werzeugungwwhb = 0.2;
} else if (werzeugungww == "thermeab1995") {
werzeugungwweaz = 1.32;
werzeugungwwhb = 0.2;
} else if (werzeugungww == "bthermeab1995") {
werzeugungwweaz = 1.28;
werzeugungwwhb = 0.2;
} else if (werzeugungww == "dezelks") {
werzeugungwweaz = 1;
werzeugungwwhb = 0;
} else if (werzeugungww == "dezeldh") {
werzeugungwweaz = 1;
werzeugungwwhb = 0;
} else if (werzeugungww == "dezgasdhbis1994") {
werzeugungwweaz = 1.19;
werzeugungwwhb = 0;
} else if (werzeugungww == "dezgasdhab1995") {
werzeugungwweaz = 1.16;
werzeugungwwhb = 0;
}
if (heizung_zentral) {
heizung_zentralwv = 3.3;
} else if (!heizung_zentral) {
heizung_zentralwv = 0;
}
if (verteilungh == "zv7055bis1978") {
verteilunghwv = 75.1 - (31.6 / 350) * (AN - 150);
verteilunghhb = 2.3 - (1.3 / 350) * (AN - 150);
} else if (verteilungh == "zv7055ngbis1978") {
verteilunghwv = 40.9 - (12.7 / 350) * (AN - 150);
verteilunghhb = 2.3 - (1.3 / 350) * (AN - 150);
} else if (verteilungh == "zv7055von1979bis1994") {
verteilunghwv = 20.2 - (6.4 / 350) * (AN - 150);
verteilunghhb = 1.9 - (1.1 / 350) * (AN - 150);
} else if (verteilungh == "zv7055ab1995") {
verteilunghwv = 9.3 - (3.9 / 350) * (AN - 150);
verteilunghhb = 1.6 - (0.9 / 350) * (AN - 150);
} else if (verteilungh == "zv5545bis1978") {
verteilunghwv = 57.4 - (24.5 / 350) * (AN - 150);
verteilunghhb = 2.5 - (1.3 / 350) * (AN - 150);
} else if (verteilungh == "zv5545ngbis1978") {
verteilunghwv = 30.8 - (17.8 / 350) * (AN - 150);
verteilunghhb = 2.5 - (1.3 / 350) * (AN - 150);
} else if (verteilungh == "zv5545von1979bis1994") {
verteilunghwv = 15.3 - (5 / 350) * (AN - 150);
verteilunghhb = 2 - (1.1 / 350) * (AN - 150);
} else if (verteilungh == "zv5545ab1995") {
verteilunghwv = 9.3 - (5.4 / 350) * (AN - 150);
verteilunghhb = 1.7 - (0.9 / 350) * (AN - 150);
} else if (verteilungh == "wwvertbis1978") {
verteilunghwv = 8.4;
verteilunghhb = 3.41;
} else if (verteilungh == "wwvertvon1979bis1994") {
verteilunghwv = 5.4;
verteilunghhb = 2.73;
} else if (verteilungh == "wwvertab1995") {
verteilunghwv = 1.3;
verteilunghhb = 2.3;
} else if (verteilungh == "dezensys") {
verteilunghwv = 0;
verteilunghhb = 0;
}
if (spheizung == "elzs7055bis1994") {
spheizungwv = 3.2 - (1.9 / 350) * (AN - 150);
spheizunghb = 0.5 - (0.3 / 350) * (AN - 150);
} else if (spheizung == "elzs7055ab1995") {
spheizungwv = 2.5 - (1.5 / 350) * (AN - 150);
spheizunghb = 0.4 - (0.2 / 350) * (AN - 150);
} else if (spheizung == "puffs5545bis1994") {
spheizungwv = 2.5 - (1.5 / 350) * (AN - 150);
spheizunghb = 0.5 - (0.3 / 350) * (AN - 150);
} else if (spheizung == "puffs5545ab1995") {
spheizungwv = 1.9 - (1.2 / 350) * (AN - 150);
spheizunghb = 0.4 - (0.2 / 350) * (AN - 150);
} else if (spheizung == "puffshk7055bis1994") {
spheizungwv = 4.4 - (2.6 / 350) * (AN - 150);
spheizunghb = 0.5 - (0.3 / 350) * (AN - 150);
} else if (spheizung == "puffshk7055ab1995") {
spheizungwv = 3.4 - (2 / 350) * (AN - 150);
spheizunghb = 0.4 - (0.2 / 350) * (AN - 150);
}
if (werzeugungh == "ktkesselbis1986h") {
werzeugungheaz = 1.47 - (0.11 / 350) * (AN - 150);
werzeugunghhb = 1.2 - (0.7 / 350) * (AN - 150);
} else if (werzeugungh == "ktkesselvon1987bis1994h") {
werzeugungheaz = 1.34 - (0.08 / 350) * (AN - 150);
werzeugunghhb = 0.8 - (0.4 / 350) * (AN - 150);
} else if (werzeugungh == "ktkesselab1995h") {
werzeugungheaz = 1.33 - (0.1 / 350) * (AN - 150);
werzeugunghhb = 0.7 - (0.3 / 350) * (AN - 150);
} else if (werzeugungh == "ntkesselbis1986h") {
werzeugungheaz = 1.24 - (0.03 / 350) * (AN - 150);
werzeugunghhb = 1.2 - (0.3 / 350) * (AN - 150);
} else if (werzeugungh == "ntkesselvon1987bis1994h") {
werzeugungheaz = 1.19 - (0.04 / 350) * (AN - 150);
werzeugunghhb = 0.8 - (0.4 / 350) * (AN - 150);
} else if (werzeugungh == "ntkesselab1995h") {
werzeugungheaz = 1.14 - (0.03 / 350) * (AN - 150);
werzeugunghhb = 0.7 - (0.3 / 350) * (AN - 150);
} else if (werzeugungh == "bwkesselbis1986h") {
werzeugungheaz = 1.11 - (0.02 / 350) * (AN - 150);
werzeugunghhb = 1.2 - (0.7 / 350) * (AN - 150);
} else if (werzeugungh == "bwkesselvon1987bis1994h") {
werzeugungheaz = 1.09 - (0.03 / 350) * (AN - 150);
werzeugunghhb = 0.8 - (0.4 / 350) * (AN - 150);
} else if (werzeugungh == "bwkesselab1995h") {
werzeugungheaz = 1.07 - (0.02 / 350) * (AN - 150);
werzeugunghhb = 0.7 - (0.3 / 350) * (AN - 150);
} else if (werzeugungh == "bwkesselab1999h") {
werzeugungheaz = 0.99 - (0.01 / 350) * (AN - 150);
werzeugunghhb = 0.7 - (0.3 / 350) * (AN - 150);
} else if (werzeugungh == "fwugsh") {
werzeugungheaz = 1.02;
werzeugunghhb = 0;
} else if (werzeugungh == "ewplhvon1979bis1994h") {
werzeugungheaz = 0.41;
werzeugunghhb = 0;
} else if (werzeugungh == "ewplhab1995h") {
werzeugungheaz = 0.39;
werzeugunghhb = 0;
} else if (werzeugungh == "ewpemvon1979bis1994h") {
werzeugungheaz = 0.33;
werzeugunghhb = 1.2 - (0.2 / 350) * (AN - 150);
} else if (werzeugungh == "ewpemab1995h") {
werzeugungheaz = 0.27;
werzeugunghhb = 1.2 - (0.2 / 350) * (AN - 150);
} else if (werzeugungh == "ewpgmvon1979bis1994h") {
werzeugungheaz = 0.27;
werzeugunghhb = 1.9 - (0.2 / 350) * (AN - 150);
} else if (werzeugungh == "ewpgmab1995h") {
werzeugungheaz = 0.23;
werzeugunghhb = 1.9 - (0.2 / 350) * (AN - 150);
} else if (werzeugungh == "zesh") {
werzeugungheaz = 1.02;
werzeugunghhb = 0;
} else if (werzeugungh == "thermebis1994h") {
werzeugungheaz = 1.24;
werzeugunghhb = 1.2;
} else if (werzeugungh == "thermeab1995h") {
werzeugungheaz = 1.14;
werzeugunghhb = 1.5;
} else if (werzeugungh == "bthermeab1995h") {
werzeugungheaz = 1.07;
werzeugunghhb = 1.5;
} else if (werzeugungh == "oeleinzel") {
werzeugungheaz = 1.4;
werzeugunghhb = 0;
} else if (werzeugungh == "kheinzel") {
werzeugungheaz = 1.6;
werzeugunghhb = 0;
} else if (werzeugungh == "greinzel") {
werzeugungheaz = 1.47;
werzeugunghhb = 0;
} else if (werzeugungh == "elnseinzelbis1994") {
werzeugungheaz = 1.12;
werzeugunghhb = 0;
} else if (werzeugungh == "elnseinzelab1995") {
werzeugungheaz = 1.05;
werzeugunghhb = 0;
} else if (werzeugungh == "eldirekt") {
werzeugungheaz = 1.02;
werzeugunghhb = 0;
}
} else if (AN > 500 && AN <= 7000) {
if (verteilungww == "zvmzbis1978") {
verteilungwwwv = 47.4 - (8.5 / 2000) * (AN - 500);
verteilungwwhg = 14.6 + (1.3 / 2000) * (AN - 500);
verteilungwwhb = 0.8 - (0.2 / 2000) * (AN - 500);
} else if (verteilungww == "zvmzngbis1978") {
verteilungwwwv = 35.4 - (2.2 / 2000) * (AN - 500);
verteilungwwhg = 14.6 + (1.3 / 2000) * (AN - 500);
verteilungwwhb = 0.8 - (0.2 / 2000) * (AN - 500);
} else if (verteilungww == "zvmzvon1979bis1994") {
verteilungwwwv = 22.6 - (1.6 / 2000) * (AN - 500);
verteilungwwhg = 9.3 + (0.6 / 2000) * (AN - 500);
verteilungwwhb = 0.8 - (0.2 / 2000) * (AN - 500);
} else if (verteilungww == "zvmzab1995") {
verteilungwwwv = 7.6 - (1 / 2000) * (AN - 500);
verteilungwwhg = 1.9 + (0.3 / 2000) * (AN - 500);
verteilungwwhb = 0.3 - (0.2 / 2000) * (AN - 500);
} else if (verteilungww == "zvozbis1978") {
verteilungwwwv = 10.4 - (2.3 / 2000) * (AN - 500);
verteilungwwhg = 3.5;
verteilungwwhb = 0;
} else if (verteilungww == "zvozngbis1978") {
verteilungwwwv = 8.8 - (1.4 / 2000) * (AN - 500);
verteilungwwhg = 3.5;
verteilungwwhb = 0;
} else if (verteilungww == "zvozvon1979bis1994") {
verteilungwwwv = 8.3 - (0.8 / 2000) * (AN - 500);
verteilungwwhg = 3.7;
verteilungwwhb = 0;
} else if (verteilungww == "zvozab1995") {
verteilungwwwv = 3.4 - (0.6 / 2000) * (AN - 500);
verteilungwwhg = 1;
verteilungwwhb = 0;
} else if (verteilungww == "dzsbis1994") {
verteilungwwwv = 3.8;
verteilungwwhg = 2;
verteilungwwhb = 0;
} else if (verteilungww == "dzsab1995") {
verteilungwwwv = 1.5;
verteilungwwhg = 0.7;
verteilungwwhb = 0;
}
if (warmwasser_speicherung == "zwwsath") {
warmwasser_speicherungwv = 1.8 - (1.3 / 2000) * (AN - 500);
warmwasser_speicherunghg = 0;
warmwasser_speicherunghb = 0.2;
} else if (warmwasser_speicherung == "zwwsith") {
warmwasser_speicherungwv = 1.4 - (1 / 2000) * (AN - 500);
warmwasser_speicherunghg = 0.8 - (0.6 / 2000) * (AN - 500);
warmwasser_speicherunghb = 0.2 + (0.1 / 2000) * (AN - 500);
} else if (warmwasser_speicherung == "gasbs") {
warmwasser_speicherungwv = 11.9;
warmwasser_speicherunghg = 0;
warmwasser_speicherunghb = 0;
} else if (warmwasser_speicherung == "elks") {
warmwasser_speicherungwv = 1.5;
warmwasser_speicherunghg = 0.8;
warmwasser_speicherunghb = 0;
}
if (werzeugungww == "ktkesselbis1986") {
werzeugungwweaz = 1.64 - (0.31 / 2000) * (AN - 500);
werzeugungwwhb = 0.1;
} else if (werzeugungww == "ktkesselvon1987bis1994") {
werzeugungwweaz = 1.57 - (0.26 / 2000) * (AN - 500);
werzeugungwwhb = 0.1;
} else if (werzeugungww == "ktkesselab1995") {
werzeugungwweaz = 1.46 - (0.2 / 2000) * (AN - 500);
werzeugungwwhb = 0.1;
} else if (werzeugungww == "ntkesselbis1986") {
werzeugungwweaz = 1.23 - (0.05 / 2000) * (AN - 500);
werzeugungwwhb = 0.1;
} else if (werzeugungww == "ntkesselvon1987bis1994") {
werzeugungwweaz = 1.23 - (0.06 / 2000) * (AN - 500);
werzeugungwwhb = 0.1;
} else if (werzeugungww == "ntkesselab1995") {
werzeugungwweaz = 1.15 - (0.03 / 2000) * (AN - 500);
werzeugungwwhb = 0.1;
} else if (werzeugungww == "bwkesselbis1986") {
werzeugungwweaz = 1.17 - (0.04 / 2000) * (AN - 500);
werzeugungwwhb = 0.1;
} else if (werzeugungww == "bwkesselvon1987bis1994") {
werzeugungwweaz = 1.17 - (0.05 / 2000) * (AN - 500);
werzeugungwwhb = 0.1;
} else if (werzeugungww == "bwkesselab1995") {
werzeugungwweaz = 1.12 - (0.03 / 2000) * (AN - 500);
werzeugungwwhb = 0.1;
} else if (werzeugungww == "bwkesselab1999") {
werzeugungwweaz = 1.1 - (0.03 / 2000) * (AN - 500);
werzeugungwwhb = 0.1;
} else if (werzeugungww == "ewplhvon1979bis1994") {
werzeugungwweaz = 0.37;
werzeugungwwhb = 0;
} else if (werzeugungww == "ewplhab1995") {
werzeugungwweaz = 0.34;
werzeugungwwhb = 0;
} else if (werzeugungww == "ewpemvon1979bis1994") {
werzeugungwweaz = 0.32;
werzeugungwwhb = 0.3 - (0.1 / 2000) * (AN - 500);
} else if (werzeugungww == "ewpemab1995") {
werzeugungwweaz = 0.27;
werzeugungwwhb = 0.3 - (0.1 / 2000) * (AN - 500);
} else if (werzeugungww == "ewpgmvon1979bis1994") {
werzeugungwweaz = 0.26;
werzeugungwwhb = 0.4;
} else if (werzeugungww == "ewpgmab1995") {
werzeugungwweaz = 0.23;
werzeugungwwhb = 0.4;
} else if (werzeugungww == "fwugs") {
werzeugungwweaz = 1.14;
werzeugungwwhb = 0.4;
} else if (werzeugungww == "zes") {
werzeugungwweaz = 1;
werzeugungwwhb = 0;
} else if (werzeugungww == "gbs") {
werzeugungwweaz = 1.22;
werzeugungwwhb = 0;
} else if (werzeugungww == "thermebis1994") {
werzeugungwweaz = 1.32;
werzeugungwwhb = 0.2;
} else if (werzeugungww == "thermeab1995") {
werzeugungwweaz = 1.32;
werzeugungwwhb = 0.2;
} else if (werzeugungww == "bthermeab1995") {
werzeugungwweaz = 1.28;
werzeugungwwhb = 0.2;
} else if (werzeugungww == "dezelks") {
werzeugungwweaz = 1;
werzeugungwwhb = 0;
} else if (werzeugungww == "dezeldh") {
werzeugungwweaz = 1;
werzeugungwwhb = 0;
} else if (werzeugungww == "dezgasdhbis1994") {
werzeugungwweaz = 1.19;
werzeugungwwhb = 0;
} else if (werzeugungww == "dezgasdhab1995") {
werzeugungwweaz = 1.16;
werzeugungwwhb = 0;
}
if (heizung_zentral) {
heizung_zentralwv = 3.3;
} else if (!heizung_zentral) {
heizung_zentralwv = 0;
}
if (verteilungh == "zv7055bis1978") {
verteilunghwv = 43.5 - (10.8 / 2000) * (AN - 500);
verteilunghhb = 1 - (0.5 / 2000) * (AN - 500);
} else if (verteilungh == "zv7055ngbis1978") {
verteilunghwv = 28.2 - (4.3 / 2000) * (AN - 500);
verteilunghhb = 1 - (0.5 / 2000) * (AN - 500);
} else if (verteilungh == "zv7055von1979bis1994") {
verteilunghwv = 13.8 - (2.2 / 2000) * (AN - 500);
verteilunghhb = 0.8 - (0.4 / 2000) * (AN - 500);
} else if (verteilungh == "zv7055ab1995") {
verteilunghwv = 5.4 - (1.3 / 2000) * (AN - 500);
verteilunghhb = 0.7 - (0.4 / 2000) * (AN - 500);
} else if (verteilungh == "zv5545bis1978") {
verteilunghwv = 32.9 - (8.5 / 2000) * (AN - 500);
verteilunghhb = 1.2 - (0.5 / 2000) * (AN - 500);
} else if (verteilungh == "zv5545ngbis1978") {
verteilunghwv = 21 - (3.4 / 2000) * (AN - 500);
verteilunghhb = 1.2 - (0.5 / 2000) * (AN - 500);
} else if (verteilungh == "zv5545von1979bis1994") {
verteilunghwv = 10.3 - (1.8 / 2000) * (AN - 500);
verteilunghhb = 0.9 - (0.4 / 2000) * (AN - 500);
} else if (verteilungh == "zv5545ab1995") {
verteilunghwv = 3.9 - (1 / 2000) * (AN - 500);
verteilunghhb = 0.8 - (0.3 / 2000) * (AN - 500);
} else if (verteilungh == "wwvertbis1978") {
verteilunghwv = 8.4;
verteilunghhb = 3.41;
} else if (verteilungh == "wwvertvon1979bis1994") {
verteilunghwv = 5.4;
verteilunghhb = 2.73;
} else if (verteilungh == "wwvertab1995") {
verteilunghwv = 1.3;
verteilunghhb = 2.3;
} else if (verteilungh == "dezensys") {
verteilunghwv = 0;
verteilunghhb = 0;
}
if (spheizung == "elzs7055bis1994") {
spheizungwv = 1.3 - (0.9 / 2000) * (AN - 500);
spheizunghb = 0.2 - (0.1 / 2000) * (AN - 500);
} else if (spheizung == "elzs7055ab1995") {
spheizungwv = 1 - (0.7 / 2000) * (AN - 500);
spheizunghb = 0.2 - (0.1 / 2000) * (AN - 500);
} else if (spheizung == "puffs5545bis1994") {
spheizungwv = 1 - (0.7 / 2000) * (AN - 500);
spheizunghb = 0.2 - (0.1 / 2000) * (AN - 500);
} else if (spheizung == "puffs5545ab1995") {
spheizungwv = 0.7 - (0.5 / 2000) * (AN - 500);
spheizunghb = 0.2 - (0.1 / 2000) * (AN - 500);
} else if (spheizung == "puffshk7055bis1994") {
spheizungwv = 1.8 - (0.7 / 2000) * (AN - 500);
spheizunghb = 0.2 - (0.1 / 2000) * (AN - 500);
} else if (spheizung == "puffshk7055ab1995") {
spheizungwv = 1.4 - (0.6 / 2000) * (AN - 500);
spheizunghb = 0.2 - (0.1 / 2000) * (AN - 500);
}
if (werzeugungh == "ktkesselbis1986h") {
werzeugungheaz = 1.36 - (0.08 / 2000) * (AN - 500);
werzeugunghhb = 0.5 - (0.3 / 2000) * (AN - 500);
} else if (werzeugungh == "ktkesselvon1987bis1994h") {
werzeugungheaz = 1.26 - (0.07 / 2000) * (AN - 500);
werzeugunghhb = 0.4 - (0.2 / 2000) * (AN - 500);
} else if (werzeugungh == "ktkesselab1995h") {
werzeugungheaz = 1.23 - (0.07 / 2000) * (AN - 500);
werzeugunghhb = 0.4 - (0.2 / 2000) * (AN - 500);
} else if (werzeugungh == "ntkesselbis1986h") {
werzeugungheaz = 1.21 - (0.03 / 2000) * (AN - 500);
werzeugunghhb = 0.5 - (0.3 / 2000) * (AN - 500);
} else if (werzeugungh == "ntkesselvon1987bis1994h") {
werzeugungheaz = 1.15 - (0.02 / 2000) * (AN - 500);
werzeugunghhb = 0.4 - (0.2 / 2000) * (AN - 500);
} else if (werzeugungh == "ntkesselab1995h") {
werzeugungheaz = 1.11 - (0.02 / 2000) * (AN - 500);
werzeugunghhb = 0.4 - (0.2 / 2000) * (AN - 500);
} else if (werzeugungh == "bwkesselbis1986h") {
werzeugungheaz = 1.09 - (0.02 / 2000) * (AN - 500);
werzeugunghhb = 0.5 - (0.3 / 2000) * (AN - 500);
} else if (werzeugungh == "bwkesselvon1987bis1994h") {
werzeugungheaz = 1.06 - (0.02 / 2000) * (AN - 500);
werzeugunghhb = 0.4 - (0.2 / 2000) * (AN - 500);
} else if (werzeugungh == "bwkesselab1995h") {
werzeugungheaz = 1.05 - (0.01 / 2000) * (AN - 500);
werzeugunghhb = 0.4 - (0.2 / 2000) * (AN - 500);
} else if (werzeugungh == "bwkesselab1999h") {
werzeugungheaz = 0.98 - (0.01 / 2000) * (AN - 500);
werzeugunghhb = 0.4 - (0.2 / 2000) * (AN - 500);
} else if (werzeugungh == "fwugsh") {
werzeugungheaz = 1.02;
werzeugunghhb = 0;
} else if (werzeugungh == "ewplhvon1979bis1994h") {
werzeugungheaz = 0.41;
werzeugunghhb = 0;
} else if (werzeugungh == "ewplhab1995h") {
werzeugungheaz = 0.39;
werzeugunghhb = 0;
} else if (werzeugungh == "ewpemvon1979bis1994h") {
werzeugungheaz = 0.33;
werzeugunghhb = 1 - (0.1 / 2000) * (AN - 500);
} else if (werzeugungh == "ewpemab1995h") {
werzeugungheaz = 0.27;
werzeugunghhb = 1 - (0.1 / 2000) * (AN - 500);
} else if (werzeugungh == "ewpgmvon1979bis1994h") {
werzeugungheaz = 0.27;
werzeugunghhb = 1.7 - (0.2 / 2000) * (AN - 500);
} else if (werzeugungh == "ewpgmab1995h") {
werzeugungheaz = 0.23;
werzeugunghhb = 1.7 - (0.2 / 2000) * (AN - 500);
} else if (werzeugungh == "zesh") {
werzeugungheaz = 1.02;
werzeugunghhb = 0;
} else if (werzeugungh == "thermebis1994h") {
werzeugungheaz = 1.24;
werzeugunghhb = 1.2;
} else if (werzeugungh == "thermeab1995h") {
werzeugungheaz = 1.14;
werzeugunghhb = 1.5;
} else if (werzeugungh == "bthermeab1995h") {
werzeugungheaz = 1.07;
werzeugunghhb = 1.5;
} else if (werzeugungh == "oeleinzel") {
werzeugungheaz = 1.4;
werzeugunghhb = 0;
} else if (werzeugungh == "kheinzel") {
werzeugungheaz = 1.6;
werzeugunghhb = 0;
} else if (werzeugungh == "greinzel") {
werzeugungheaz = 1.47;
werzeugunghhb = 0;
} else if (werzeugungh == "elnseinzelbis1994") {
werzeugungheaz = 1.12;
werzeugunghhb = 0;
} else if (werzeugungh == "elnseinzelab1995") {
werzeugungheaz = 1.05;
werzeugunghhb = 0;
} else if (werzeugungh == "eldirekt") {
werzeugungheaz = 1.02;
werzeugunghhb = 0;
}
}
let result = fuelList.find(
(value) =>
value.energietraeger == energietraeger && value.einheit == "kWh"
);
let coe = 0;
if (result) {
coe = result.coe
}
return [
heizung_zentralwv,
verteilunghwv,
spheizungwv,
werzeugungheaz,
verteilungwwwv,
verteilungwwhg,
warmwasser_speicherungwv,
warmwasser_speicherunghg,
werzeugungwweaz,
verteilunghhb,
spheizunghb,
werzeugunghhb,
verteilungwwhb,
warmwasser_speicherunghb,
werzeugungwwhb,
energietraegerfa,
energietraegerfa2,
coe,
];
}