diff --git a/astro.config.mjs b/astro.config.mjs index 576793b0..95a93596 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -4,6 +4,7 @@ import svelte from "@astrojs/svelte"; import tailwind from "@astrojs/tailwind"; import node from "@astrojs/node"; import mdx from "@astrojs/mdx"; +import dsv from "@rollup/plugin-dsv" import { fileURLToPath } from "url"; @@ -28,7 +29,8 @@ export default defineConfig({ commonjsOptions: { transformMixedEsModules: false } - } + }, + plugins: [dsv()] }, adapter: node({ mode: "middleware" diff --git a/package.json b/package.json index f862e9c6..48a2af2c 100644 --- a/package.json +++ b/package.json @@ -1,86 +1,87 @@ -{ - "name": "online-energieausweis", - "version": "0.0.1", - "license": "GPL V3.0", - "type": "module", - "scripts": { - "dev": "bun astro dev", - "build": "bun astro build", - "preview": "bun astro preview", - "astro": "astro", - "test:e2e": "cypress run", - "test:unit": "bun test", - "format": "prettier --write .", - "build:production": "astro build && bun --bun server.ts", - "i18n:generate": "bunx astro-i18next generate", - "prisma:studio": "bunx prisma studio --schema=./node_modules/@ibcornelsen/database/prisma/schema.prisma" - }, - "private": true, - "dependencies": { - "@astrojs/mdx": "^3.1.9", - "@astrojs/node": "^8.3.4", - "@astrojs/svelte": "^2.2.0", - "@astrojs/tailwind": "^3.1.3", - "@ibcornelsen/api": "link:@ibcornelsen/api", - "@ibcornelsen/database": "link:@ibcornelsen/database", - "@ibcornelsen/ui": "^0.0.2", - "@mollie/api-client": "^3.7.0", - "@pdfme/common": "^5.1.7", - "@pdfme/generator": "^5.1.7", - "@pdfme/ui": "^5.1.7", - "@trpc/client": "^10.45.2", - "@trpc/server": "^10.45.2", - "astro": "^4.16.10", - "astro-i18next": "1.0.0-beta.21", - "body-scroll-lock": "^4.0.0-beta.0", - "buffer": "^6.0.3", - "bun": "^1.1.34", - "caniuse-lite": "^1.0.30001684", - "csvtojson": "^2.0.10", - "express": "^4.21.1", - "flag-icons": "^6.15.0", - "fontkit": "^2.0.4", - "i18next": "^23.16.5", - "i18next-fs-backend": "^2.3.2", - "i18next-http-backend": "^2.6.2", - "js-cookie": "^3.0.5", - "js-interpolate": "^1.0.1", - "katex": "^0.16.11", - "moment": "^2.30.1", - "moment-timezone": "^0.5.46", - "postcss-nested": "^7.0.2", - "radix-svelte-icons": "^1.0.0", - "sass": "^1.80.6", - "svelte": "^3.59.2", - "svelte-dialogs": "^1.2.2", - "svelte-preprocess": "^5.1.4", - "svelte-ripple-action": "^1.0.6", - "tailwindcss": "^3.4.14", - "trpc-openapi": "^1.2.0", - "uuid": "^9.0.1", - "zod": "^3.23.8" - }, - "devDependencies": { - "@faker-js/faker": "^8.4.1", - "@tailwindcss/typography": "^0.5.15", - "@types/body-scroll-lock": "^3.1.2", - "@types/express": "^5.0.0", - "@types/fontkit": "^2.0.7", - "@types/js-cookie": "^3.0.6", - "@types/uuid": "^9.0.8", - "@typescript-eslint/eslint-plugin": "^5.62.0", - "@typescript-eslint/parser": "^5.62.0", - "autoprefixer": "^10.4.20", - "bun-types": "^1.1.34", - "cypress": "^13.15.2", - "cypress-file-upload": "^5.0.8", - "daisyui": "^4.12.14", - "eslint": "~8.15.0", - "eslint-config-prettier": "8.1.0", - "postcss": "^8.4.49", - "postcss-import": "^16.1.0", - "postcss-nesting": "^13.0.1", - "prettier": "^2.8.8", - "typescript": "^4.9.5" - } -} +{ + "name": "online-energieausweis", + "version": "0.0.1", + "license": "GPL V3.0", + "type": "module", + "scripts": { + "dev": "bun astro dev", + "build": "bun astro build", + "preview": "bun astro preview", + "astro": "astro", + "test:e2e": "cypress run", + "test:unit": "bun test", + "format": "prettier --write .", + "build:production": "astro build && bun --bun server.ts", + "i18n:generate": "bunx astro-i18next generate", + "prisma:studio": "bunx prisma studio --schema=./node_modules/@ibcornelsen/database/prisma/schema.prisma" + }, + "private": true, + "dependencies": { + "@astrojs/mdx": "^3.1.9", + "@astrojs/node": "^8.3.4", + "@astrojs/svelte": "^2.2.0", + "@astrojs/tailwind": "^3.1.3", + "@ibcornelsen/api": "link:@ibcornelsen/api", + "@ibcornelsen/database": "link:@ibcornelsen/database", + "@ibcornelsen/ui": "^0.0.2", + "@mollie/api-client": "^3.7.0", + "@pdfme/common": "^5.1.7", + "@pdfme/generator": "^5.1.7", + "@pdfme/ui": "^5.1.7", + "@trpc/client": "^10.45.2", + "@trpc/server": "^10.45.2", + "astro": "^4.16.10", + "astro-i18next": "1.0.0-beta.21", + "body-scroll-lock": "^4.0.0-beta.0", + "buffer": "^6.0.3", + "bun": "^1.1.34", + "caniuse-lite": "^1.0.30001684", + "csvtojson": "^2.0.10", + "express": "^4.21.1", + "flag-icons": "^6.15.0", + "fontkit": "^2.0.4", + "i18next": "^23.16.5", + "i18next-fs-backend": "^2.3.2", + "i18next-http-backend": "^2.6.2", + "js-cookie": "^3.0.5", + "js-interpolate": "^1.0.1", + "katex": "^0.16.11", + "moment": "^2.30.1", + "moment-timezone": "^0.5.46", + "postcss-nested": "^7.0.2", + "radix-svelte-icons": "^1.0.0", + "sass": "^1.80.6", + "svelte": "^3.59.2", + "svelte-dialogs": "^1.2.2", + "svelte-preprocess": "^5.1.4", + "svelte-ripple-action": "^1.0.6", + "tailwindcss": "^3.4.14", + "trpc-openapi": "^1.2.0", + "uuid": "^9.0.1", + "zod": "^3.23.8" + }, + "devDependencies": { + "@faker-js/faker": "^8.4.1", + "@rollup/plugin-dsv": "^3.0.5", + "@tailwindcss/typography": "^0.5.15", + "@types/body-scroll-lock": "^3.1.2", + "@types/express": "^5.0.0", + "@types/fontkit": "^2.0.7", + "@types/js-cookie": "^3.0.6", + "@types/uuid": "^9.0.8", + "@typescript-eslint/eslint-plugin": "^5.62.0", + "@typescript-eslint/parser": "^5.62.0", + "autoprefixer": "^10.4.20", + "bun-types": "^1.1.34", + "cypress": "^13.15.2", + "cypress-file-upload": "^5.0.8", + "daisyui": "^4.12.14", + "eslint": "~8.15.0", + "eslint-config-prettier": "8.1.0", + "postcss": "^8.4.49", + "postcss-import": "^16.1.0", + "postcss-nesting": "^13.0.1", + "prettier": "^2.8.8", + "typescript": "^4.9.5" + } +} diff --git a/src/components/CheckoutItem.svelte b/src/components/CheckoutItem.svelte index fe544d8f..beb48d54 100644 --- a/src/components/CheckoutItem.svelte +++ b/src/components/CheckoutItem.svelte @@ -23,14 +23,14 @@
- - - + +
\ No newline at end of file diff --git a/src/components/Tabellen/A12BerechnungNutzenergiebedarf.svelte b/src/components/Tabellen/A12BerechnungNutzenergiebedarf.svelte new file mode 100644 index 00000000..e79da471 --- /dev/null +++ b/src/components/Tabellen/A12BerechnungNutzenergiebedarf.svelte @@ -0,0 +1,229 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Tabelle A.12 — Heizung – Berechnung des Nutzenergiebedarfs

+
+ Heizbedarf des Wohngebäudes +
min. Außen-
temperatur
θe,min [°C]
Innen-
temperatur
θi,h,soll [°C]
maximaler Wärmestrom
ges [W]
aus Tabelle A.6 (1)
-1220
Tage im Monat
dmth [d]
Bilanzinnen-
temperatur
θi,h [°C]
aus Tabelle 8 (EFH) bzw. 10 (MFH)
mittlere Außen-
temp.
θe,m [°C]
Mittlere Belastung
βe,m
aus Tabelle 9 bzw. 11 (2)
Ph,sink = Q̇ges · (θi,h - θe,min) / (θi,h,soll - θe,min) · βe,m [W] (3)Ph,source = Pi,ges
aus Tabelle A.11 (4)
γm = Ph,source / Ph,sink
(5) = (4) / (3)
ηm = f(γ) aus Tabelle 18
(6)
(7) = max[1 - (5) · (6);0]βm
(8) = (2) · (7)
th,m [h] (9)Qh,b [kWh] (10)
311,0
281,9
314,7
309,2
3114,1
3016,7
3119,0
3118,6
3014,3
319,4
304,1
310,9
Spalte 9:  (8) > 0,05 → (9) = dmth · 24     + (8) ≤ 0,05 → (9) = (8) / 0,05 · dmth · 24Summe
Spalte 10:  (10) = (3) · (7) · (9) / 1000
+
\ No newline at end of file diff --git a/src/components/Tabellen/A1AnlagenBeschreibung.svelte b/src/components/Tabellen/A1AnlagenBeschreibung.svelte new file mode 100644 index 00000000..a2052c70 --- /dev/null +++ b/src/components/Tabellen/A1AnlagenBeschreibung.svelte @@ -0,0 +1,75 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Tabelle A.1 – Anlage allgemein – Anlagenbeschreibung

+
Objekt:
AnlageÜbergabeVerteilungSpeicherungErzeugung
+
\ No newline at end of file diff --git a/src/components/Tabellen/A2Wintergarten.svelte b/src/components/Tabellen/A2Wintergarten.svelte new file mode 100644 index 00000000..b04a87ff --- /dev/null +++ b/src/components/Tabellen/A2Wintergarten.svelte @@ -0,0 +1,296 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Tabelle A.2 – Gebäude – Wintergarten

+
+ Solare Einstrahlung in den Wintergarten +
OrientierungGesamtfläche
Neigung[m²]
Bauteilfläche Aue [m²] (1)
Gesamtenergiedurchlassgrad gue (2)
Abm. Rahmenanteil FF,ue (3)0,90,90,90,9
Abm. Strahlungseinfluss Fw,ue (4)0,90,90,90,9
Abm. Verschattung Fs,ue (5)0,90,90,90,9
wirks. Gesamtenergiedurchlassgrad
+ geff,ue = gue · Fw,ue · Fs,ue
+ (6) = (2) · (4) · (5)
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Esol aus Tabelle 17 + QS,tr = Aue ⋅ FF,ue ⋅ geff,ue + ⋅ EsolΦS,u = ∑ QS,tr ⋅ 1000 (24 ⋅ dmth)
Tage im Monat
(7)
Esol
[kWh/m²]
(8)
QS,tr
[kWh]
(9) = (1) ⋅ (3) ⋅ (6) ⋅ (8)
Esol
[kWh/m²]
(10)
QS,tr
[kWh]
(11) = (1) ⋅ (3) ⋅ (6) ⋅ (10)
Esol
[kWh/m²]
(12)
QS,tr
[kWh]
(13) = (1) ⋅ (3) ⋅ (6) ⋅ (12)
Esol
[kWh/m²]
(14)
QS,tr
[kWh]
(15) = (1) ⋅ (3) ⋅ (6) ⋅ (14)
ΣQS,tr
[kWh]
(16) = (9) + (11) + (13) + (15)
ΦS,u
[W]
(17) = (16) ⋅ 1000 / [24] ⋅ (7)
31
28
31
30
31
30
31
31
30
31
30
31
Jahressumme
+
\ No newline at end of file diff --git a/src/components/Tabellen/A5Waermetransferkoeffizienten.svelte b/src/components/Tabellen/A5Waermetransferkoeffizienten.svelte new file mode 100644 index 00000000..b3d9f61c --- /dev/null +++ b/src/components/Tabellen/A5Waermetransferkoeffizienten.svelte @@ -0,0 +1,253 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Tabelle A.5 — Gebäude – Berechnung Wärmetransferkoeffizienten und maximaler Wärmeströme

+
+ Wärmesenken +
Objekt:
NettogrundflächeANGF [m²]θe,min [°C]−12
Lichte RaumhöhehG [m]θi,h,soll [°C]20
Volumen (Innenmaß)V = ANGF · hG [m³]Δθmax = θi,h,soll − θe,min32
Volumen (Außenmaß)Ve [m³]
Faktor (kleine Gebäude: 0,76 / große Gebäude: 0,8)n*
Volumen (Innenmaß)V = n* · Ve [m³]A/V-Verhätnis [1/m]
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BauteilFläche
Ai (m²)
Wärmedurchgangs-
koeffizient Ui
(W/m²·K)
HT,i*
= Ui · Ai
(W/K)
Fxi
aus Tabelle C.3/C.4
HT,i
= Ui · Ai · Fxi
(W/K)
maximaler Wärmestrom
T,i = HT,i · ΔΘmax
(W)
Außenwand
Fenster
Fenstertür
Haustür
Dach
Oberste Geschossdecke
Wand gegen Abseitenraum
Kellerdecke / Fußboden zum Erdreich
Summen
Gesamthüllfläche + A = ∑i Ai [m²]Wärmebrückenzuschlag
ΔUWB [W/m²K] + aus C.5
+ HT,WB = ΔUWB · A [W/K]
Berücksichtigung von Wärmebrücken
HT,ges = ∑ HTi + HT,WB [W/K]
Wärmetransferkoeffizient für Transmission
T = HT,ges · ΔΘmax [W]
maximaler Wärmestrom
+
\ No newline at end of file diff --git a/src/env.d.ts b/src/env.d.ts index 1e58cf75..943049f4 100644 --- a/src/env.d.ts +++ b/src/env.d.ts @@ -2,3 +2,7 @@ /// /// + +declare module "*.csv" { + export default <{ [key: string]: any }>Array; +} \ No newline at end of file diff --git a/src/lib/Berechnungen/BedarfsausweisWohnen/18599-Tabellenverfahren-Wohngebaeude-Symbole-Einheiten.pdf b/src/lib/Berechnungen/BedarfsausweisWohnen/18599-Tabellenverfahren-Wohngebaeude-Symbole-Einheiten.pdf new file mode 100644 index 00000000..0af371be Binary files /dev/null and b/src/lib/Berechnungen/BedarfsausweisWohnen/18599-Tabellenverfahren-Wohngebaeude-Symbole-Einheiten.pdf differ diff --git a/src/lib/Berechnungen/BedarfsausweisWohnen/18599-Tabellenverfahren-Wohngebaeude.pdf b/src/lib/Berechnungen/BedarfsausweisWohnen/18599-Tabellenverfahren-Wohngebaeude.pdf new file mode 100644 index 00000000..3704b391 Binary files /dev/null and b/src/lib/Berechnungen/BedarfsausweisWohnen/18599-Tabellenverfahren-Wohngebaeude.pdf differ diff --git a/src/lib/Berechnungen/BedarfsausweisWohnen/BerechnungNutzenergiebedarfHeizen.ts b/src/lib/Berechnungen/BedarfsausweisWohnen/BerechnungNutzenergiebedarfHeizen.ts new file mode 100644 index 00000000..077a2f82 --- /dev/null +++ b/src/lib/Berechnungen/BedarfsausweisWohnen/BerechnungNutzenergiebedarfHeizen.ts @@ -0,0 +1,113 @@ +import bilanzInnentemperaturEinfamilienhaus from "./tabellen/18599-12-T8-bilanz-innentemperatur-einfamilienhaus.csv"; +import bilanzInnentemperaturMehrfamilienhaus from "./tabellen/18599-12-T10-bilanz-innentemperatur-wohngebaeude-mehrfamilienhaus.csv"; +import mittlereMonatlicheAuslastungEinfamilienhaus from "./tabellen/18599-12-T9-mittlere-monatliche-aussentemperaturabhaengige-belastung-wohngebauede-einfamilienhaus.csv"; +import mittlereMonatlicheAuslastungMehrfamilienhaus from "./tabellen/18599-12-T9-mittlere-monatliche-aussentemperaturabhaengige-belastung-wohngebauede-mehrfamilienhaus.csv"; +import { BedarfsausweisWohnenClient } from "#components/Ausweis/types.js"; + +type BilanzInnenTemperatur = { + monat: string; + ohne_teilbeheizung: number; + "5": number; + "10": number; + "25": number; + "50": number; + "75": number; + "100": number; + "125": number; + "150": number; + zeitkonstante: number; +}; + +function berechnungWaermetransferkoeffizienten() {} + +function berechnungHuellflaeche(ausweis: BedarfsausweisWohnenClient) { + return ( + (ausweis.dachfenster_flaeche ?? 0) + + (ausweis.fenster_flaeche_1 ?? 0) + + (ausweis.fenster_flaeche_2 ?? 0) + + (ausweis.fensterflaeche_nw_no ?? 0) + + (ausweis.fensterflaeche_so_sw ?? 0) + + (ausweis.haustuer_flaeche ?? 0) + + (ausweis.dachflaeche ?? 0) + + (ausweis.aussenwand_flaeche ?? 0) + + // TODO: Ist das hier nötig? Kellerdecke zum unbeheizten Keller/Erdreich? + (ausweis.fussboden_flaeche ?? 0) + ); +} + +function getWaermebrueckenzuschlag(ausweis: BedarfsausweisWohnenClient) { + // Ohne Nachweis allgemein + return 0.1; + // Bei Außenbauteilen mit innenliegender Dämmschicht und einbindender Massivdecke + return 0.15; + // Mit Überprüfung und Einhaltung der Gleichwertigkeit nach DIN 4108 - Beiblatt 2: Alle Anschlüsse erfüllen die Merkmale und Kriterien nach Kategorie B + return 0.03; + // Mit Überprüfung und Einhaltung der Gleichwertigkeit nach DIN 4108 - Beiblatt 2: Alle anderen Fälle als in Zeile 3 genannt + return 0.05; +} + +function getSumOfWaermetransferkoeffizientTransmission( + ausweis: BedarfsausweisWohnenClient +) { + // Zur Berechnung von H_Ti aller einzelnen Gebäudeteile wird von den folgenden Wärmedurchgangskoeffizienten ausgegangen: + // Außenwand : 0.2 + // Fenster : 0.95 + // Haustür : 1.3 + // Dach : 0.13 + // Kellerdecke : 0.21 + + return ( + ((ausweis.dachfenster_flaeche ?? 0) * 0.95) + + ((ausweis.fenster_flaeche_1 ?? 0) * 0.95) + + ((ausweis.fenster_flaeche_2 ?? 0) * 0.95) + + ((ausweis.fensterflaeche_nw_no ?? 0) * 0.95) + + ((ausweis.fensterflaeche_so_sw ?? 0) * 0.95) + + ((ausweis.haustuer_flaeche ?? 0) * 1.3) + + ((ausweis.dachflaeche ?? 0) * 0.13) + + ((ausweis.aussenwand_flaeche ?? 0) * 0.2) + + // TODO: Ist das hier nötig? Kellerdecke zum unbeheizten Keller/Erdreich? + ((ausweis.fussboden_flaeche ?? 0) * 0.21) + ); +} + +export function berechnungNutzenergiebedarfHeizen( + ausweis: BedarfsausweisWohnenClient +) { + const mittlereAussentemperatur = [ + 1, 1.9, 4.7, 9.2, 14.1, 16.7, 19, 18.6, 14.3, 9.4, 4.1, 0.9, + ]; + const mindestAussenTemperatur = -12; + const temperaturInnenHeizungSollwert = 20; + + // A + const huellflaeche = berechnungHuellflaeche(ausweis); + + // DELTA_U_WB + const waermebrueckenzuschlag = getWaermebrueckenzuschlag(ausweis); + + // H_T,WB + const waermebrueckenTransferKoeffizient = + waermebrueckenzuschlag * huellflaeche; + + // H_T,ges + const waermeTransferKoeffizientTransmission = + getSumOfWaermetransferkoeffizientTransmission(ausweis) + waermebrueckenTransferKoeffizient; + + for (let i = 0; i < 12; i++) { + const tageImMonat = new Date(0, i, 0).getDate(); + const monatName = new Date(0, i, 0).toLocaleString("de-DE", { + month: "long", + }); + + // Gebäudeschwere wird in der Planung festgelegt. Wir verwenden eigentlich immer mittelschwer. + const bilanzInnenTemperatur = bilanzInnentemperaturEinfamilienhaus.find( + (row: BilanzInnenTemperatur) => row.monat === monatName && row.zeitkonstante == 90 + ); + } + + // const leistungHeizungWaermesenke = + // ((waermeleistungGesamt * + // (temperaturInnenHeizung - mindestAussenTemperatur)) / + // (temperaturInnenHeizungSollwert - mindestAussenTemperatur)) * + // mittlererExternerBelastungsgrad; +} diff --git a/src/lib/Berechnungen/BedarfsausweisWohnen/BerechnungWaermesenken.ts b/src/lib/Berechnungen/BedarfsausweisWohnen/BerechnungWaermesenken.ts new file mode 100644 index 00000000..af2d4bdf --- /dev/null +++ b/src/lib/Berechnungen/BedarfsausweisWohnen/BerechnungWaermesenken.ts @@ -0,0 +1,8 @@ +import type { VerbrauchsausweisWohnen } from "@ibcornelsen/database/client" + +export function BerechnungWaermesenken(ausweis: VerbrauchsausweisWohnen) { + // Außentemperatur nach Monat (Januar - Dezember) + const aussenTemperatur = [1, 1.9, 4.7, 9.2, 14.1, 16.7, 19, 18.6, 14.3, 9.5, 4.1, 0.9]; + + const bilanzInnenTemperatur = [] +} \ No newline at end of file diff --git a/src/lib/Berechnungen/BedarfsausweisWohnen/BerechnungWintergartenSolareEinstrahlung.ts b/src/lib/Berechnungen/BedarfsausweisWohnen/BerechnungWintergartenSolareEinstrahlung.ts new file mode 100644 index 00000000..e69de29b diff --git a/src/lib/Berechnungen/BedarfsausweisWohnen/tabellen/18599-12-T10-bilanz-innentemperatur-wohngebaeude-mehrfamilienhaus.csv b/src/lib/Berechnungen/BedarfsausweisWohnen/tabellen/18599-12-T10-bilanz-innentemperatur-wohngebaeude-mehrfamilienhaus.csv new file mode 100644 index 00000000..35f0e557 --- /dev/null +++ b/src/lib/Berechnungen/BedarfsausweisWohnen/tabellen/18599-12-T10-bilanz-innentemperatur-wohngebaeude-mehrfamilienhaus.csv @@ -0,0 +1,37 @@ +monat,ohne_teilbeheizung,5,10,25,50,75,100,125,150,zeitkonstante +Januar,19,41,19,37,19,33,19,24,19,16,19,12,19,10,19,09,19,08,50 +Februar,19,44,19,40,19,36,19,28,19,20,19,16,19,14,19,13,19,13,50 +März,19,53,19,49,19,46,19,39,19,32,19,29,19,27,19,27,19,26,50 +April,19,66,19,64,19,62,19,57,19,52,19,50,19,49,19,48,19,48,50 +Mai,19,82,19,80,19,79,19,76,19,74,19,73,19,72,19,72,19,72,50 +Juni,19,90,19,89,19,88,19,87,19,85,19,85,19,84,19,84,19,84,50 +Juli,19,97,19,97,19,96,19,96,19,96,19,95,19,95,19,95,19,95,50 +August,19,96,19,95,19,95,19,94,19,94,19,93,19,93,19,93,19,93,50 +September,19,82,19,81,19,80,19,77,19,75,19,74,19,73,19,73,19,73,50 +Oktober,19,67,19,65,19,63,19,58,19,53,19,51,19,50,19,50,19,49,50 +November,19,51,19,47,19,44,19,36,19,30,19,26,19,25,19,24,19,23,50 +Dezember,19,41,19,36,19,32,19,24,19,15,19,11,19,09,19,08,19,08,50 +Januar,19,50,19,45,19,41,19,33,19,24,19,20,19,18,19,17,19,17,90 +Februar,19,52,19,48,19,44,19,36,19,28,19,24,19,22,19,21,19,21,90 +März,19,60,19,56,19,53,19,46,19,39,19,36,19,34,19,33,19,33,90 +April,19,71,19,69,19,67,19,62,19,57,19,55,19,54,19,53,19,53,90 +Mai,19,84,19,83,19,82,19,79,19,77,19,75,19,75,19,74,19,74,90 +Juni,19,91,19,91,19,90,19,88,19,87,19,86,19,86,19,86,19,86,90 +Juli,19,97,19,97,19,97,19,96,19,96,19,96,19,96,19,96,19,96,90 +August,19,96,19,96,19,96,19,95,19,94,19,94,19,94,19,94,19,94,90 +September,19,85,19,84,19,82,19,80,19,77,19,76,19,76,19,75,19,75,90 +Oktober,19,72,19,70,19,68,19,63,19,58,19,56,19,55,19,54,19,54,90 +November,19,58,19,54,19,51,19,44,19,37,19,33,19,32,19,31,19,30,90 +Dezember,19,49,19,45,19,41,19,32,19,24,19,20,19,18,19,17,19,16,90 +Januar,19,57,19,53,19,49,19,40,19,32,19,28,19,26,19,25,19,24,130 +Februar,19,59,19,55,19,51,19,43,19,35,19,31,19,29,19,28,19,28,130 +März,19,66,19,62,19,59,19,52,19,45,19,42,19,40,19,39,19,39,130 +April,19,76,19,73,19,71,19,66,19,61,19,59,19,58,19,57,19,57,130 +Mai,19,87,19,85,19,84,19,81,19,79,19,78,19,77,19,77,19,76,130 +Juni,19,93,19,92,19,91,19,90,19,88,19,87,19,87,19,87,19,87,130 +Juli,19,98,19,98,19,97,19,97,19,96,19,96,19,96,19,96,19,96,130 +August,19,97,19,97,19,96,19,96,19,95,19,95,19,95,19,94,19,94,130 +September,19,87,19,86,19,85,19,82,19,80,19,78,19,78,19,77,19,77,130 +Oktober,19,76,19,74,19,72,19,67,19,62,19,60,19,59,19,58,19,58,130 +November,19,64,19,60,19,57,19,50,19,43,19,39,19,38,19,37,19,37,130 +Dezember,19,57,19,52,19,49,19,40,19,31,19,27,19,25,19,24,19,24,130 diff --git a/src/lib/Berechnungen/BedarfsausweisWohnen/tabellen/18599-12-T8-bilanz-innentemperatur-einfamilienhaus.csv b/src/lib/Berechnungen/BedarfsausweisWohnen/tabellen/18599-12-T8-bilanz-innentemperatur-einfamilienhaus.csv new file mode 100644 index 00000000..dd796d06 --- /dev/null +++ b/src/lib/Berechnungen/BedarfsausweisWohnen/tabellen/18599-12-T8-bilanz-innentemperatur-einfamilienhaus.csv @@ -0,0 +1,37 @@ +monat,ohne_teilbeheizung,5,10,25,50,75,100,125,150,zeitkonstante +Januar,18,83,18,71,18,61,18,38,18,16,18,05,17,99,17,97,17,95,50 +Februar,18,88,18,76,18,67,18,44,18,23,18,13,18,08,18,05,18,04,50 +März,19,05,18,95,18,87,18,68,18,50,18,42,18,37,18,35,18,34,50 +April,19,33,19,26,19,20,19,07,18,94,18,88,18,85,18,84,18,83,50 +Mai,19,63,19,60,19,56,19,49,19,42,19,39,19,37,19,36,19,36,50 +Juni,19,80,19,77,19,76,19,72,19,68,19,66,19,65,19,64,19,64,50 +Juli,19,94,19,93,19,93,19,91,19,90,19,90,19,89,19,89,19,89,50 +August,19,91,19,90,19,90,19,88,19,86,19,86,19,85,19,85,19,85,50 +September,19,65,19,61,19,58,19,51,19,44,19,41,19,39,19,39,19,38,50 +Oktober,19,35,19,28,19,23,19,10,18,97,18,91,18,88,18,87,18,86,50 +November,19,01,18,91,18,83,18,63,18,45,18,35,18,31,18,29,18,28,50 +Dezember,18,83,18,71,18,61,18,38,18,15,18,04,17,99,17,96,17,95,50 +Januar,18,99,18,87,18,77,18,54,18,31,18,20,18,15,18,12,18,11,90 +Februar,19,04,18,93,18,83,18,60,18,39,18,29,18,23,18,21,18,20,90 +März,19,19,19,09,19,01,18,82,18,64,18,55,18,51,18,49,18,48,90 +April,19,43,19,36,19,30,19,17,19,04,18,98,18,95,18,93,18,92,90 +Mai,19,69,19,65,19,62,19,55,19,48,19,44,19,42,19,42,19,41,90 +Juni,19,83,19,80,19,79,19,75,19,71,19,69,19,68,19,67,19,67,90 +Juli,19,95,19,94,19,94,19,92,19,91,19,91,19,90,19,90,19,90,90 +August,19,93,19,92,19,91,19,89,19,88,19,87,19,86,19,86,19,86,90 +September,19,70,19,66,19,63,19,56,19,49,19,46,19,44,19,44,19,43,90 +Oktober,19,44,19,38,19,32,19,19,19,07,19,01,18,98,18,96,18,95,90 +November,19,16,19,06,18,97,18,77,18,59,18,49,18,45,18,43,18,42,90 +Dezember,18,99,18,87,18,76,18,53,18,30,18,19,18,14,18,11,18,10,90 +Januar,19,14,19,02,18,92,18,68,18,45,18,34,18,29,18,26,18,25,130 +Februar,19,18,19,07,18,97,18,74,18,53,18,42,18,37,18,34,18,33,130 +März,19,31,19,21,19,13,18,94,18,75,18,67,18,62,18,60,18,59,130 +April,19,51,19,44,19,38,19,25,19,12,19,06,19,03,19,01,19,00,130 +Mai,19,73,19,70,19,66,19,59,19,52,19,49,19,47,19,46,19,46,130 +Juni,19,85,19,83,19,81,19,77,19,73,19,71,19,70,19,70,19,70,130 +Juli,19,95,19,95,19,94,19,93,19,92,19,91,19,91,19,91,19,91,130 +August,19,94,19,93,19,92,19,90,19,89,19,88,19,87,19,87,19,87,130 +September,19,74,19,71,19,68,19,60,19,54,19,50,19,49,19,48,19,47,130 +Oktober,19,53,19,46,19,40,19,27,19,15,19,08,19,05,19,04,19,03,130 +November,19,28,19,18,19,09,18,90,18,71,18,61,18,57,18,55,18,53,130 +Dezember,19,14,19,02,18,91,18,67,18,45,18,33,18,28,18,25,18,24,130 diff --git a/src/lib/Berechnungen/BedarfsausweisWohnen/tabellen/18599-12-T9-mittlere-monatliche-aussentemperaturabhaengige-belastung-wohngebauede-einfamilienhaus.csv b/src/lib/Berechnungen/BedarfsausweisWohnen/tabellen/18599-12-T9-mittlere-monatliche-aussentemperaturabhaengige-belastung-wohngebauede-einfamilienhaus.csv new file mode 100644 index 00000000..2b8b4248 --- /dev/null +++ b/src/lib/Berechnungen/BedarfsausweisWohnen/tabellen/18599-12-T9-mittlere-monatliche-aussentemperaturabhaengige-belastung-wohngebauede-einfamilienhaus.csv @@ -0,0 +1,37 @@ +monat,ohne_teilbeheizung,5,10,25,50,75,100,125,150,zeitkonstante +Januar,557,554,550,543,536,533,531,530,530,50 +Februar,531,527,524,517,510,507,506,505,504,50 +März,448,445,443,437,431,429,427,427,426,50 +April,317,314,313,308,305,303,302,301,301,50 +Mai,173,172,171,169,166,165,165,165,164,50 +Juni,97,96,96,94,93,92,92,92,92,50 +Juli,29,29,29,29,28,28,28,28,28,50 +August,41,41,41,40,39,39,39,39,39,50 +September,167,166,165,163,161,160,159,159,159,50 +Oktober,308,306,304,300,296,294,293,293,293,50 +November,466,463,460,454,448,445,444,443,443,50 +Dezember,560,557,553,546,539,536,534,533,533,50 +Januar,562,559,555,548,541,538,536,535,535,90 +Februar,536,532,529,522,515,512,510,510,509,90 +März,453,450,447,441,436,433,431,431,430,90 +April,320,318,316,311,307,306,305,304,304,90 +Mai,175,173,172,170,168,167,166,166,166,90 +Juni,98,97,96,95,94,93,93,93,93,90 +Juli,30,29,29,29,28,28,28,28,28,90 +August,41,41,41,40,40,40,39,39,39,90 +September,169,168,167,164,162,161,161,161,160,90 +Oktober,311,309,307,303,299,297,296,296,295,90 +November,471,467,465,459,453,450,448,448,447,90 +Dezember,565,562,558,551,544,540,539,538,537,90 +Januar,567,563,560,553,545,542,540,539,539,130 +Februar,540,537,533,526,520,516,515,514,513,130 +März,457,454,451,445,439,436,435,434,434,130 +April,322,320,318,314,310,308,307,307,306,130 +Mai,176,175,174,172,169,168,168,168,167,130 +Juni,98,98,97,96,95,94,94,94,94,130 +Juli,30,30,29,29,29,29,28,28,28,130 +August,42,41,41,41,40,40,40,40,40,130 +September,170,169,168,166,164,163,162,162,162,130 +Oktober,313,311,309,305,301,300,299,298,298,130 +November,474,471,469,462,456,454,452,451,451,130 +Dezember,570,566,563,555,548,545,543,542,542,130 diff --git a/src/lib/Berechnungen/BedarfsausweisWohnen/tabellen/18599-12-T9-mittlere-monatliche-aussentemperaturabhaengige-belastung-wohngebauede-mehrfamilienhaus.csv b/src/lib/Berechnungen/BedarfsausweisWohnen/tabellen/18599-12-T9-mittlere-monatliche-aussentemperaturabhaengige-belastung-wohngebauede-mehrfamilienhaus.csv new file mode 100644 index 00000000..932d9c0a --- /dev/null +++ b/src/lib/Berechnungen/BedarfsausweisWohnen/tabellen/18599-12-T9-mittlere-monatliche-aussentemperaturabhaengige-belastung-wohngebauede-mehrfamilienhaus.csv @@ -0,0 +1,37 @@ +monat,ohne_teilbeheizung,5,10,25,50,75,100,125,150,zeitkonstante +Januar,575,574,573,570,567,566,566,565,565,50 +Februar,548,547,546,543,541,539,539,538,538,50 +März,463,462,461,459,457,456,455,455,455,50 +April,327,326,326,324,323,322,321,321,321,50 +Mai,179,178,178,177,176,176,176,176,175,50 +Juni,100,100,99,99,99,98,98,98,98,50 +Juli,30,30,30,30,30,30,30,30,30,50 +August,42,42,42,42,42,42,42,42,42,50 +September,173,172,172,171,170,170,170,170,170,50 +Oktober,318,317,317,315,314,313,313,312,312,50 +November,481,480,479,477,475,474,473,473,473,50 +Dezember,578,577,576,573,570,569,569,568,568,50 +Januar,578,577,575,573,570,569,568,568,568,90 +Februar,551,549,548,546,543,542,541,541,541,90 +März,465,464,463,461,459,458,458,457,457,90 +April,329,328,327,326,324,323,323,323,323,90 +Mai,179,179,179,178,177,177,176,176,176,90 +Juni,100,100,100,99,99,99,99,99,99,90 +Juli,30,30,30,30,30,30,30,30,30,90 +August,43,42,42,42,42,42,42,42,42,90 +September,173,173,173,172,171,171,170,170,170,90 +Oktober,319,319,318,317,315,314,314,314,314,90 +November,484,483,482,479,477,476,476,475,475,90 +Dezember,581,580,578,576,573,572,571,571,571,90 +Januar,580,579,578,575,572,571,571,570,570,130 +Februar,553,552,550,548,545,544,543,543,543,130 +März,467,466,465,463,461,460,459,459,459,130 +April,330,329,328,327,325,325,324,324,324,130 +Mai,180,180,179,179,178,177,177,177,177,130 +Juni,101,101,100,100,99,99,99,99,99,130 +Juli,31,30,30,30,30,30,30,30,30,130 +August,43,43,43,42,42,42,42,42,42,130 +September,174,174,173,173,172,171,171,171,171,130 +Oktober,321,320,319,318,316,316,315,315,315,130 +November,486,485,484,481,479,478,477,477,477,130 +Dezember,583,582,581,578,575,574,574,573,573,130 diff --git a/src/lib/Berechnungen/BedarfsausweisWohnen/types.ts b/src/lib/Berechnungen/BedarfsausweisWohnen/types.ts new file mode 100644 index 00000000..e69de29b diff --git a/src/modules/EmbeddedLoginModule.svelte b/src/modules/EmbeddedLoginModule.svelte index fe36e2ba..deb85f1d 100644 --- a/src/modules/EmbeddedLoginModule.svelte +++ b/src/modules/EmbeddedLoginModule.svelte @@ -51,8 +51,8 @@ /> - diff --git a/src/modules/KaufabschlussModule.svelte b/src/modules/KaufabschlussModule.svelte index 9602f8b6..aecee1cc 100644 --- a/src/modules/KaufabschlussModule.svelte +++ b/src/modules/KaufabschlussModule.svelte @@ -361,16 +361,16 @@
Netto - {priceTotal * 0.81}€ + {Math.round(priceTotal * 0.81 * 100) / 100}€
19% MwSt - {priceTotal * 0.19}€ + {Math.round(priceTotal * 0.19 * 100) / 100}}€

Gesamt - {priceTotal}€ + {Math.round(priceTotal)}€

Mit dem Klick auf "Bestellung Bestätigen" akzeptieren sie unsere AGB und Datenschutzbestimmungen. Sie werden zu ihrem ausgewählten Bezahlprovider weitergeleitet, nach Bezahlung werden sie automatisch zu unserem Portal zurückgeleitet.

+
- - Speichern +
- +