Merge branch 'UMBE' into dev-moritz

This commit is contained in:
Moritz Utcke
2025-01-06 10:12:34 +07:00
36 changed files with 2335 additions and 351 deletions

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Ebene_1" data-name="Ebene 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 143.6 163.3">
<defs>
<style>
.cls-1 {
fill: #fff;
}
.cls-2 {
fill: #dae6f7;
}
</style>
</defs>
<path class="cls-1" d="M18.1,143.8H3.7V62.5h14.4v81.2h0v.1Z"/>
<path class="cls-1" d="M84.8,127.2c0,4.8-1.3,8.7-3.8,11.7-2.7,3.1-6.4,4.7-11.1,4.7h-36.5v-14.4h3.6v-52.4h-3.6v-14.4h36.5c4.7,0,8.4,1.6,11.1,4.7,2.5,3,3.8,6.9,3.8,11.7v11c0,6-1.8,10.3-5.4,13,3.6,3,5.4,7.4,5.4,13.2v11.2h0ZM70.5,91.2v-9.3c0-3.2-1.7-4.8-5.1-4.8h-13.9v19h14.1c3.3,0,4.9-1.6,4.9-4.8h0v-.1ZM70.5,124.6v-9.2c0-1.4-.5-2.6-1.4-3.5s-2.1-1.4-3.5-1.4h-14.1v19h13.9c3.4,0,5.1-1.6,5.1-4.8h0v-.1Z"/>
<path class="cls-1" d="M18.1,76.9v-14.4h3.7v14.4h-3.7Z"/>
<path class="cls-1" d="M0,76.9v-14.4h3.7v14.4H0Z"/>
<path class="cls-1" d="M18.1,143.8v-14.4h3.7v14.4h-3.7Z"/>
<path class="cls-1" d="M0,143.8v-14.4h3.7v14.4H0Z"/>
<path class="cls-2" d="M125,129.4h-11.8c-3.6,0-5.3-1.6-5.3-4.9v-43.1c0-3.3,1.8-4.9,5.3-4.9h11.8c3.6,0,5.4,1.9,5.4,5.7h13.1c0-7.4,0-12.7-2.7-15.7s-6.4-4.5-11.1-4.5h-21.1c-5.1,0-8.9,1.7-11.6,5.1-2.3,2.9-3.5,6.6-3.5,11.2v49.1c0,4.6,1.2,8.3,3.5,11.2,2.7,3.4,6.5,5.1,11.6,5.1h21.1c4.7,0,8.4-1.5,11.1-4.5,2.7-3,2.7-8.3,2.7-15.7h-13.1c0,3.8-1.8,5.7-5.4,5.7v.2h0Z"/>
<polygon class="cls-1" points="90.9 13.6 71.8 0 52.7 13.6 0 51.6 19.2 51.6 71.8 13.6 124.4 51.6 143.5 51.6 90.9 13.6"/>
<path class="cls-1" d="M.2,163.3v-9.3h143.4v9.3H.2Z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -6,23 +6,26 @@
<!-- Später weitermachen / Hilfe anfordern --> <!-- Später weitermachen / Hilfe anfordern -->
<div
class="w-full mt-5 grid gap-x-4 gap-y-2 px-4
grid-cols-1
xs:grid-cols-2 <div class="grid grid-cols-[1fr_min-content_min-content_min-content] grid-rows-[min_content_1fr] gap-x-2 self-start justify-self-end mt-8">
"
> <div></div>
<div class="md:justify-self-start">
<button class="invisible button" on:click={automatischAusfüllen} type="button"
>Automatisch Ausfüllen
</button>
<Hilfe />
<button class="button" type="button" on:click={spaeterWeitermachen} <button class="button" type="button" on:click={spaeterWeitermachen}
>Später Weitermachen >Später Weitermachen
</button> </button>
</div> </div>
<div class="md:justify-self-end"><Hilfe /></div>
</div>
<div class="mt-2 px-4">
<button class="button" on:click={automatischAusfüllen} type="button"
>Automatisch Ausfüllen
</button>
</div>

View File

@@ -0,0 +1,37 @@
<script lang="ts">
import AusweisWeiter from "#modules/VerbrauchsausweisWohnen/AusweisWeiter.svelte";
import Hilfe from "#components/Ausweis/Hilfe.svelte";
export let ausweis;
export let images;
export let user;
export let gebaeude;
export let gebaeude_aufnahme_allgemein;
export let spaeterWeitermachen;
</script>
<div class="grid grid-cols-[1fr_min-content_min-content_min-content] grid-rows-[min_content_1fr] gap-x-2 self-start justify-self-end mt-8">
<div></div>
<Hilfe />
<button class="button" type="button" on:click={spaeterWeitermachen}
>Später Weitermachen
</button>
<div class="">
<AusweisWeiter
bind:ausweis
bind:images
bind:user
bind:gebaeude
bind:gebaeude_aufnahme_allgemein
></AusweisWeiter>
</div>
</div>

View File

@@ -10,7 +10,7 @@
<div class="grid grid-cols-2 gap-x-6 mt-6"> <div class="grid grid-cols-2 gap-x-6 mt-6">
<div class="box card mb-0"> <div id="getWidth" class="box card mb-0">
<p class="font-bold mb-2"> <p class="font-bold mb-2">

View File

@@ -1,15 +1,24 @@
<script lang="ts"> <script lang="ts">
import { PRICES } from "#lib/constants";
let showHelp: boolean = false; let showHelp: boolean = false;
</script> </script>
<div> <div>
<button class="button" type="button" on:click={() => (showHelp = !showHelp)} <button class="button" type="button" on:click={() => (showHelp = !showHelp)}
>Hilfe anfordern</button >Hilfe anfordern</button>
> </div>
{#if showHelp} {#if showHelp}
<div> <div class="col-start-1 row-start-2 col-span-4 mt-4">
<div>
<div class="bereich-box grid relative
grid-cols-1 gap-x-4 gap-y-4
"
>
<div class="pr-12">
Gerne helfen wir Ihnen wenn Sie nicht weiterkommen oder Fragen Gerne helfen wir Ihnen wenn Sie nicht weiterkommen oder Fragen
haben. Kurze Fragen zum Formular oder der Ausweisart werden haben. Kurze Fragen zum Formular oder der Ausweisart werden
kostenfrei telefonisch unter <a href="tel:+4940209339850" kostenfrei telefonisch unter <a href="tel:+4940209339850"
@@ -20,41 +29,61 @@
Auswahl und klicken auf weiter: Auswahl und klicken auf weiter:
</div> </div>
<div class="flex flex-row justify-between mx-4 my-2"> <hr class="m-0">
<div class="form-group col-md-7">
Verbrauchsausweis online inkl. ausführlicher telefonischer <div class="grid grid-cols-[30px_490px_200px_1fr] items-center">
Beratung für 60 € inkl. MwSt.
</div>
<div class="form-group col-md-5">
<input <input
type="radio" type="radio"
class="IGanlass" class=" accent-secondary w-[20px] h-[20px]"
id="Produkttb1" id="Produkttb1"
value="ptb" value="ptb"
name="Produkt" name="Produkt"
/> />
<div class="justify-self-stretch">
Verbrauchsausweis online inkl. ausführlicher telefonischer Beratung
</div> </div>
<div class="text-right">
<b>{PRICES.VerbrauchsausweisWohnen[1]}</b> inkl. MwSt.
</div> </div>
<div class="flex flex-row justify-between mx-4 my-2">
<div class="form-group col-md-7">
Verbrauchsausweis offline für 180 € inkl. MwSt. (Sie
schicken uns 3 Verbrauchsabrechnungen zu)
</div> </div>
<div class="form-group col-md-5">
<div class="grid grid-cols-[30px_490px_200px_1fr] items-center">
<input <input
type="radio" type="radio"
class="IGanlass" class=" accent-secondary w-[20px] h-[20px]"
id="Produktof1" id="Produktof1"
value="pof" value="pof"
name="Produkt" name="Produkt"
/> />
<div>
Verbrauchsausweis offline (Sie schicken uns 3 Verbrauchsabrechnungen zu)
</div> </div>
<div class="text-right">
<b>{PRICES.VerbrauchsausweisWohnen[2]}</b> inkl. MwSt.
</div>
</div>
<hr class="m-0">
<button class="button">jetzt Hilfe bestellen</button>
<button class="button absolute top-2 right-2 w-[30px] h-[30px] text-sm p-0" type="button" on:click={() => (showHelp = !showHelp)}>X</button>
</div> </div>
<div style="text-align:right;">
<button>Weiter</button>
</div>
</div> </div>
{/if} {/if}
</div>

View File

@@ -78,9 +78,8 @@
})(); })();
} }
</script> </script>
<div class="self-center relative">
<img id="skalaImage" class="w-full" src="/images/formular/SKALA-910.png" alt="Energieeffizienz Skala" />
<img class="" src="/images/formular/SKALA-910.png" alt="Energieeffizienz Skala" />
<ThickArrowDown <ThickArrowDown
size={28} size={28}
class="fill-base-content absolute top-0 transition-left duration-1000 ease-in-out" class="fill-base-content absolute top-0 transition-left duration-1000 ease-in-out"
@@ -103,4 +102,4 @@
100 100
)}%)" )}%)"
/> />
</div>

View File

@@ -3,33 +3,39 @@
</script> </script>
<div class="progress-section">
<div class="w-full bg-gray-100 absolute h-3 rounded-lg"> <div class="grid grid-cols-3 self-start">
<div class="col-span-3 relative">
<div class="w-[calc(100%-5rem)] ml-[2.5rem] absolute mt-[0.5rem] bg-gray-200 h-3 rounded-lg">
<div class="bg-green-600 left-0 h-3 absolute" style={`width: ${progress}%;`}></div> <div class="bg-green-600 left-0 h-3 absolute" style={`width: ${progress}%;`}></div>
</div> </div>
<span>1</span>
<span>2</span> </div>
<span>3</span>
<div class="phase justify-self-start">
<div class="point">1</div>
<div class="">Gebäudedaten</div>
</div>
<div class="phase">
<div class="point">2</div>
<div class="">Prüfung</div>
</div>
<div class="phase justify-self-end">
<div class="point">3</div>
<div class="">Kaufabschluss</div>
</div> </div>
<div class="flex flex-row justify-between">
<div>Gebäudedaten</div>
<div>Prüfung</div>
<div>Kaufabschluss</div>
</div> </div>
<style>
.progress-section { <style lang="postcss">
@apply relative items-center flex flex-row justify-between px-0; .phase{@apply grid grid-cols-1 items-center justify-items-center z-10;
.point{@apply rounded-full w-8 h-8 text-white font-bold bg-secondary text-center pt-1 ring-white ring-4;}
} }
.progress-section span {
@apply rounded-full bg-green-600 items-center relative flex h-8 w-8 justify-center text-white font-semibold;
}
p {
padding: 0 !important;
@apply p-0;
}
</style> </style>

View File

@@ -148,7 +148,10 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
</div> </div>
<div class="help-label"> <div class="help-label">
<HelpLabel>TEXT FEHLT</HelpLabel> <HelpLabel>Sie haben die Möglichkeit neben der Hauptheizung die <b>Verbräuche weiterer Heizquellen</b>
(z.B. Einzelöfen, Kamin, Nachtspeicher, Wärmepumpe, zweiter Heizkessel etc.) einzugeben.
Dazu setzen Sie den Haken bei zusätzlicher Heizquelle. Eine weiterer Bereich zur Eingabe der
Verbräuche öffnet sich dann.</HelpLabel>
</div> </div>
</div> </div>
@@ -185,7 +188,10 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
</select> </select>
<div class="help-label"> <div class="help-label">
<HelpLabel>TEXT FEHLT</HelpLabel> <HelpLabel>Bitte geben Sie hier den <b>Startmonat der ersten Verbruachsperiode</b> ein. Es sind nur Monate auswählbar,
die im zulässigen Zeitraum (Endzeitpunkt von Jahr 3 darf nicht älter als 18 Monate sein) liegen. Wählen Sie ein
aktuellerses Jahr um alle Monate zu sehen.
</HelpLabel>
</div> </div>
</div> </div>
@@ -211,7 +217,8 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
</select> </select>
<div class="help-label"> <div class="help-label">
<HelpLabel>TEXT FEHLT</HelpLabel> <HelpLabel>Bitte geben Sie das <b>Startjahr der ersten Verbruachsperiode</b> ein. Weitere Zeitangaben müssen nichht
gemacht werden, da alle 3 Verbrauchsjahre zusammenhängend sein sollen.</HelpLabel>
</div> </div>
</div> </div>
</div> </div>
@@ -236,33 +243,16 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
<div class="help-label"> <div class="help-label">
<HelpLabel> <HelpLabel>
<b>Heizöl:</b> Flüssiger Brennstoff; Heizöl wird aus schwer <b>Heizöl:</b> Flüssiger fossiler Brennstoff.<br/>
entflammbaren Anteilen des Erdöls hergestellt.<br /><br /> <b>Erdgas:</b> Gasförmiger fossiler Brennstoff.<br/>
<b>Erdgas H, Erdgas L:</b> Brennbares Naturgas das in <b>Flüssiggas:</b> Wie Erdgas fossiler Brennstoff - im Flüssiggastank gelagert<br/>
unterirdischen Lagerstätten vorkommt. Erdgas H hat im <b>Braunkohle:</b> Fester fossiler Brennstoff<br/>
Vergleich zu Erdgas L einen leicht höheren Methangehalt, und <b>Holz-Pellets:</b> Stäbchenförmige Pellets - erneuerbarer (nachwachsender) Brennstoff<br/>
daher einen etwas besseren Brennwert.<br /><br /> <b>Holzhackschnitzel:</b>Wie Holz-Pellets<br/>
<b>Flüssiggas:</b> Meist Propan, Butan und deren Gemische, <b>Fernwärme, Nahwärme:</b> kommunales Wärmenetz - <strong>erfragen Sie
die bei Raumtemperatur unter vergleichsweise geringem Druck den Primärenergiefaktor bei Ihrem Energieversorger</strong> (meistens mit regenartivem Anteil)<br/>
flüssig bleiben.<br /><br /> <b>Strommix:</b> Meist bei Wärmepumpe oder Nachtspeicher.<br/>
<b>Braunkohle:</b> Durch Druck und Luftabschluss von <b>Koks:</b> stark kohlenstoffhaltiger fossiler Brennstoff.<br/>
organischen Substanzen entstandenes, bräunlich-schwarzes
Sedimentgestein.<br /><br />
<b>Holz-Pellets:</b> Stäbchenförmige Pellets die vollständig
oder überwiegend aus Holz oder Sägenebenprodukten
hergestellt werden.<br /><br />
<b>Holzhackschnitzel:</b> Mit schneidenden Werkzeugen
zerkleinertes Holz.<br /><br />
<b>Nahwärme, Fernwärme:</b> Versorgung von thermischer
Energie über wärmegedämmte Rohrsysteme. Die Wärme wird dabei
örtlich von Heizwerken produziert oder besteht aus
Prozesswärme von BHKW's. Im Unterschied zu Fernwärme wird
Nahwärme in kleineren Einheiten dezentral realisiert.<br
/><br />
<b>Strommix:</b> Heizen mit Strom (Nachtspeicher).<br /><br
/>
<b>Koks:</b> Stark kohlenstoffhaltiger Brennstoff.<br /><br
/>
</HelpLabel> </HelpLabel>
</div> </div>
</div> </div>
@@ -285,10 +275,9 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
<div class="help-label"> <div class="help-label">
<HelpLabel> <HelpLabel>
Bitte geben Sie die Einheit ein. Erdgas wird meist auf der Bitte geben Sie die Einheit ein. Die Liste passt sich entsprechend des ausgeählten Brennstoffes an.
Abrechnung in kWh ausgewiesen. Heizöl liegt meistens in Erdgas wird meist auf der Abrechnung in kWh ausgewiesen. Heizöl liegt meistens in
Litern vor. Pellets oder Brennholz in SRm Litern vor. Pellets oder Brennholz in kg.
(Schüttraummetern).
</HelpLabel> </HelpLabel>
</div> </div>
</div> </div>
@@ -407,7 +396,8 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
</div> </div>
<div class="help-label"> <div class="help-label">
<HelpLabel>TEXT FEHLT</HelpLabel> <HelpLabel>Hier sind die <b>Verbräuche einer zusätzlichen Heizquelle</b>
(z.B. Einzelöfen, Kamin, Nachtspeicher, Wärmepumpe, zweiter Heizkessel etc.) einzugeben</HelpLabel>
</div> </div>
</div> </div>
@@ -435,34 +425,16 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
<div class="help-label"> <div class="help-label">
<HelpLabel> <HelpLabel>
<b>Heizöl:</b> Flüssiger Brennstoff; Heizöl wird aus <b>Heizöl:</b> Flüssiger fossiler Brennstoff.<br/>
schwer entflammbaren Anteilen des Erdöls hergestellt.<br <b>Erdgas:</b> Gasförmiger fossiler Brennstoff.<br/>
/><br /> <b>Flüssiggas:</b> Wie Erdgas fossiler Brennstoff - im Flüssiggastank gelagert<br/>
<b>Erdgas H, Erdgas L:</b> Brennbares Naturgas das in <b>Braunkohle:</b> Fester fossiler Brennstoff<br/>
unterirdischen Lagerstätten vorkommt. Erdgas H hat im <b>Holz-Pellets:</b> Stäbchenförmige Pellets - erneuerbarer (nachwachsender) Brennstoff<br/>
Vergleich zu Erdgas L einen leicht höheren Methangehalt, <b>Holzhackschnitzel:</b>Wie Holz-Pellets<br/>
und daher einen etwas besseren Brennwert.<br /><br /> <b>Fernwärme, Nahwärme:</b> kommunales Wärmenetz - <strong>erfragen Sie
<b>Flüssiggas:</b> Meist Propan, Butan und deren den Primärenergiefaktor bei Ihrem Energieversorger</strong> (meistens mit regenartivem Anteil)<br/>
Gemische, die bei Raumtemperatur unter vergleichsweise <b>Strommix:</b> Meist bei Wärmepumpe oder Nachtspeicher.<br/>
geringem Druck flüssig bleiben.<br /><br /> <b>Koks:</b> stark kohlenstoffhaltiger fossiler Brennstoff.<br/>
<b>Braunkohle:</b> Durch Druck und Luftabschluss von
organischen Substanzen entstandenes, bräunlich-schwarzes
Sedimentgestein.<br /><br />
<b>Holz-Pellets:</b> Stäbchenförmige Pellets die
vollständig oder überwiegend aus Holz oder
Sägenebenprodukten hergestellt werden.<br /><br />
<b>Holzhackschnitzel:</b> Mit schneidenden Werkzeugen
zerkleinertes Holz.<br /><br />
<b>Nahwärme, Fernwärme:</b> Versorgung von thermischer
Energie über wärmegedämmte Rohrsysteme. Die Wärme wird
dabei örtlich von Heizwerken produziert oder besteht aus
Prozesswärme von BHKW's. Im Unterschied zu Fernwärme
wird Nahwärme in kleineren Einheiten dezentral
realisiert.<br /><br />
<b>Strommix:</b> Heizen mit Strom (Nachtspeicher).<br
/><br />
<b>Koks:</b> Stark kohlenstoffhaltiger Brennstoff.<br
/><br />
</HelpLabel> </HelpLabel>
</div> </div>
</div> </div>
@@ -487,10 +459,9 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
<div class="help-label"> <div class="help-label">
<HelpLabel> <HelpLabel>
Bitte geben Sie die Einheit ein. Erdgas wird meist auf Bitte geben Sie die Einheit ein. Die Liste passt sich entsprechend des ausgeählten Brennstoffes an.
der Abrechnung in kWh ausgewiesen. Heizöl liegt meistens Erdgas wird meist auf der Abrechnung in kWh ausgewiesen. Heizöl liegt meistens in
in Litern vor. Pellets oder Brennholz in SRm Litern vor. Pellets oder Brennholz in kg.
(Schüttraummetern).
</HelpLabel> </HelpLabel>
</div> </div>
</div> </div>

View File

@@ -0,0 +1,270 @@
<script lang="ts">
import { BedarfsausweisWohnenClient, GebaeudeAufnahmeClient } from "#components/Ausweis/types.js";
export let ausweis: BedarfsausweisWohnenClient;
export let gebaeude_aufnahme: GebaeudeAufnahmeClient;
import { BerechnungMonatlicherBelastungsgradT9 } from "#lib/Berechnungen/BedarfsausweisWohnen/BerechnungMonatlicherBelastungsgradT9.js";
let interpolatedValuesZeitkonstante90: any
$: {
const result = BerechnungMonatlicherBelastungsgradT9(ausweis, gebaeude_aufnahme)
interpolatedValuesZeitkonstante90 = result.interpolatedValuesZeitkonstante90
}
</script>
<div class="overflow-x-auto mt-16">
<table class="table-auto border-collapse border border-gray-300 w-full text-left">
<thead>
<tr class="bg-gray-200 text-left">
<th colspan="12" class="border border-gray-300 p-2">
<h2>Tabelle A.12 — Heizung Berechnung des Nutzenergiebedarfs</h2>
</th>
</tr>
<tr class="bg-gray-200 text-left">
<th colspan="12" class="border border-gray-300 p-2 text-xl">
Heizbedarf des Wohngebäudes
</th>
</tr>
<tr class="text-center h-10">
<th colspan="1" class="border border-gray-300 p-2">min. Außen-<br>temperatur<br>&#952;<sub>e,min</sub> [°C]</th>
<th colspan="1" class="border border-gray-300 p-2">Innen-<br>temperatur<br>&#952;<sub>i,h,soll</sub> [°C]</th>
<th colspan="2" class="border border-gray-300 p-2">maximaler Wärmestrom<br><sub>ges</sub> [W]<br>aus Tabelle A.6 (1)</th>
<th colspan="8" class="border border-gray-300 p-2"></th>
</tr>
<tr class="text-center h-10">
<th colspan="1" class="border border-gray-300 p-2 bg-gray-100">-12</th>
<th colspan="1" class="border border-gray-300 p-2 bg-gray-100">20</th>
<th colspan="2" class="border border-gray-300 p-2 bg-yellow-100"></th>
<th colspan="8" class="border border-gray-300 p-2"></th>
</tr>
<tr>
<th class="border border-gray-300 px-2 py-1">Tage im Monat<br>d<sub>mth</sub> [d]</th>
<th class="border border-gray-300 px-2 py-1">Bilanzinnen-<br>temperatur<br>&#952;<sub>i,h</sub> [°C]<br>aus Tabelle 8 (EFH) bzw. 10 (MFH)</th>
<th class="border border-gray-300 px-2 py-1">mittlere Außen-<br>temp.<br>&#952;<sub>e,m</sub> [°C]</th>
<th class="border border-gray-300 px-2 py-1">Mittlere Belastung<br>&#946;<sub>e,m</sub><br>aus Tabelle 9 bzw. 11 (2)</th>
<th class="border border-gray-300 px-2 py-1">P<sub>h,sink</sub> = Q̇<sub>ges</sub> · (&#952;<sub>i,h</sub> - &#952;<sub>e,min</sub>) / (&#952;<sub>i,h,soll</sub> - &#952;<sub>e,min</sub>) · &#946;<sub>e,m</sub> [W] (3)</th>
<th class="border border-gray-300 px-2 py-1">P<sub>h,source</sub> = P<sub>i,ges</sub><br>aus Tabelle A.11 (4)</th>
<th class="border border-gray-300 px-2 py-1">&#947;<sub>m</sub> = P<sub>h,source</sub> / P<sub>h,sink</sub><br>(5) = (4) / (3)</th>
<th class="border border-gray-300 px-2 py-1">&#951;<sub>m</sub> = f(γ) aus Tabelle 18<br>(6)</th>
<th class="border border-gray-300 px-2 py-1">(7) = max[1 - (5) · (6);0]</th>
<th class="border border-gray-300 px-2 py-1">&#946;<sub>m</sub><br>(8) = (2) · (7)</th>
<th class="border border-gray-300 px-2 py-1">t<sub>h,m</sub> [h] (9)</th>
<th class="border border-gray-300 px-2 py-1">Q<sub>h,b</sub> [kWh] (10)</th>
</tr>
</thead>
<tbody>
<tr>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">31</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">1,0</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100">
{Math.round(interpolatedValuesZeitkonstante90[0].interpolatedValue*1000)/1000}
</td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
</tr>
<tr>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">28</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">1,9</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100">
{Math.round(interpolatedValuesZeitkonstante90[1].interpolatedValue*1000)/1000}
</td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
</tr>
<tr>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">31</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">4,7</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100">
{Math.round(interpolatedValuesZeitkonstante90[2].interpolatedValue*1000)/1000}
</td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
</tr>
<tr>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">30</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">9,2</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100">
{Math.round(interpolatedValuesZeitkonstante90[3].interpolatedValue*1000)/1000}
</td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
</tr>
<tr>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">31</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">14,1</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100">
{Math.round(interpolatedValuesZeitkonstante90[4].interpolatedValue*1000)/1000}
</td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
</tr>
<tr>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">30</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">16,7</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100">
{Math.round(interpolatedValuesZeitkonstante90[5].interpolatedValue*1000)/1000}
</td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
</tr>
<tr>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">31</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">19,0</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100">
{Math.round(interpolatedValuesZeitkonstante90[6].interpolatedValue*1000)/1000}
</td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
</tr>
<tr>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">31</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">18,6</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100">
{Math.round(interpolatedValuesZeitkonstante90[7].interpolatedValue*1000)/1000}
</td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
</tr>
<tr>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">30</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">14,3</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100">
{Math.round(interpolatedValuesZeitkonstante90[8].interpolatedValue*1000)/1000}
</td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
</tr>
<tr>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">31</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">9,4</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100">
{Math.round(interpolatedValuesZeitkonstante90[9].interpolatedValue*1000)/1000}
</td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
</tr>
<tr>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">30</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">4,1</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100">
{Math.round(interpolatedValuesZeitkonstante90[10].interpolatedValue*1000)/1000}
</td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
</tr>
<tr>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">31</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border border-gray-300 px-2 py-1 bg-gray-100">0,9</td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100">
{Math.round(interpolatedValuesZeitkonstante90[11].interpolatedValue*1000)/1000}
</td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border border-gray-300 px-2 py-1 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
<td class="border-2 border-gray-600 px-2 py-1"></td>
</tr>
<tr class="text-center h-10">
<th colspan="9" class="border border-gray-300 p-2 text-left">Spalte 9:&nbsp;&nbsp;(8) &gt; 0,05 → (9) = d<sub>mth</sub> · 24 &nbsp;&nbsp;&nbsp;
(8) &leq; 0,05 → (9) = (8) / 0,05 · d<sub>mth</sub> · 24</th>
<th colspan="1" class="border border-gray-300 p-2">Summe</th>
<th colspan="1" class="border-2 border-gray-600 p-2"></th>
<th colspan="1" class="border-2 border-gray-600 p-2"></th>
</tr>
<tr class="text-center h-10">
<th colspan="10" class="border border-gray-300 p-2 text-left">Spalte 10:&nbsp;&nbsp;(10) = (3) · (7) · (9) / 1000</th>
<th colspan="1" class="border border-gray-300 p-2"></th>
<th colspan="1" class="border border-gray-300 p-2"></th>
</tr>
</tbody>
</table>
</div>

View File

@@ -4,7 +4,7 @@
export let BulletPoints: [string, boolean][]; export let BulletPoints: [string, boolean][];
</script> </script>
<div class="border rounded-xl"> <div class="border rounded-xl mb-6">
<div class="flex flex-row w-full bg-secondary rounded-t-3xl pl-5 pt-1 pb-1"> <div class="flex flex-row w-full bg-secondary rounded-t-3xl pl-5 pt-1 pb-1">
<h3 class="text-white">{TitelName}</h3> <h3 class="text-white">{TitelName}</h3>
</div> </div>

View File

@@ -0,0 +1,86 @@
---
import HeaderLogin from "#header/HeaderLogin.svelte";
---
<header id="header">
<div id="header-grid" class="grid relative bg-white items-center gap-x-4 pt-4 px-0
grid-cols-1
sm:grid-cols-1
md:grid-cols-1
lg:grid-cols-[1fr_minmax(450px,450px)] lg:gap-x-3 lg:px-4 lg:py-4
xl:grid-cols-[1fr_minmax(450px,450px)] xl:gap-x-4 xl:px-6 xl:py-4
2xl:grid-cols-[1fr_minmax(450px,450px)] 2xl:gap-x-5 2xl:px-6 2xl:py-4">
<div class="justify-self-center xs:justify-self-start">
<div class="grid grid-cols-1 px-2 gap-2 gap-y-1
xs:grid-cols-[max-content,1fr] xs:gap-x-2 xs:px-4
md:gap-y-4
lg:px-0 lg:gap-x-4">
<div class="self-start justify-self-start">
<a href="/">
<img id="header-logo" class="w-full
xs:max-w-[64px]
sm:max-w-[64px]
md:max-w-[64px] md:ml-6
lg:max-w-[64px] lg:ml-0
xl:max-w-[94px] xl:ml-0
"
src="/images/header/logo-IBC-big.svg" alt="IBCornelsen-Logo"/>
</a>
</div>
<div class="self-center justify-self-center md:justify-self-start xs:mt-[20px] md:mt-[18px]">
<div id="header-text-1"class="text-secondary justify-self-center
xs:[font-size:_clamp(15px,5vw,36px)] xs:justify-self-start xs:leading-[36px]
lg:[font-size:_clamp(15px,3vw,26px)]
lg:leading-[2rem]
xl:[font-size:_clamp(15px,3vw,36px)]
xl:leading-[4.5rem] pt-[0px]">
Energieausweis online erstellen</div>
<div id="header-text-2"class="text-primary justify-self-center
xs:[font-size:_clamp(15px,4vw,28px)] xs:justify-self-start xs:leading-[20px]
lg:[font-size:_clamp(15px,3vw,20px)]
lg:leading-[2rem]
xl:[font-size:_clamp(15px,3vw,24px)]
xl:leading-[0.5rem]">
Energieausweise nach aktuellem GEG</div>
</div>
</div>
</div>
<div class="w-full justify-self-center">
<HeaderLogin client:load />
</div>
</div>
</div>
<div class="col-start-1 col-span-3">
<div id="header-line" class="px-2 flex flex-row w-full justify-end items-center bg-primary
lg:h-[12px] xl:h-[12px]"></div>
</div>
</header>
<style>
.header-button {
@apply px-4 py-2 text-primary-content font-medium text-lg tracking-normal hover:bg-secondary h-full;
}
</style>

View File

@@ -22,7 +22,7 @@
<div <div
id="card-login" id="card-login"
class="rounded-none lg:rounded-lg lg:card lg:box bg-black/10 md:bg-black/5 lg:ring-2 border-t-2 lg:border-none border-gray-500/50 ring-gray-500/50 xs:px-2 md:px-4 py-2" class="rounded-none lg:rounded-lg lg:card lg:box lg:ring-2 border-t-2 lg:border-none border-gray-500/50 ring-gray-500/50 xs:px-2 md:px-4 py-2"
> >
<form on:submit={login}> <form on:submit={login}>
<div class="grid grid-cols-[1fr] xs:grid-cols-[2fr_2fr_1fr] gap-2"> <div class="grid grid-cols-[1fr] xs:grid-cols-[2fr_2fr_1fr] gap-2">
@@ -62,7 +62,7 @@
</div> </div>
{/if} {/if}
<button class="button self-center" type="submit">login</button> <button id="LoginButton" class="button self-center" type="submit">login</button>
</div> </div>
<div <div

View File

@@ -1,68 +0,0 @@
<header class="max-w-[1920px] w-full relative bg-white
md:bg-[url('/images/header/header-bg.jpg')]
md:bg-cover md:grid md:grid-cols-2
lg:grid lg:grid-cols-3">
<div class="
justify-self-center px-2 py-2
xs:px-6 xs:py-4
md:px-4 md:py-4
md:col-end-4 md:justify-self-end
xl:my-4 xl:mr-9 xl:p-0">
<a href="/">
<img class="
w-full
md:w-[350px]
lg:w-[420px]"
src="/images/header/UMBE_IBC-logo.svg" alt="IBCornelsen-Logo"/>
</a>
<h2 class="text-secondary font-normal absolute
top-1 right-2 text-[1.1rem]
xs:top-[1.5rem] xs:right-6 xs:text-[1.55rem]
md:top-[1.25rem] md:right-4 md:text-[1.1rem]
xl:top-[1.5rem] xl:right-9 xl:text-[1.4rem]">
Energieausweis online erstellen
</h2>
<h2 class="text-primary font-normal absolute
top-[1.6rem] right-2 text-[0.85rem]
xs:top-[3.3rem] xs:right-6 xs:text-[1.2rem]
md:top-[2.5rem] md:right-4 md:text-[0.9rem]
xl:top-[3.15rem] xl:right-9 xl:text-[1.1rem]">
Energieausweise nach aktuellem GEG
</h2>
</div>
<div class="col-start-1 col-span-3">
<div class="px-2 flex flex-row w-full justify-end items-center bg-primary
lg:h-[14px] xl:h-[18px]">
<!-- <a
class="header-button hidden md:block"
href="/energieausweis-erstellen/verbrauchsausweis-erstellen"
>Energieausweis erstellen</a
>
<a class="header-button hidden md:block" href="/kontakt"
>Kontakt</a
>
<a class="header-button hidden md:block" href="/agb">AGB</a>
-->
</div>
</div>
</header>
<style>
.header-button {
@apply px-4 py-2 text-primary-content font-medium text-lg tracking-normal hover:bg-secondary h-full;
}
</style>

View File

@@ -87,7 +87,7 @@
> >
</div> </div>
<div></div>
</div> </div>
</div> </div>

View File

@@ -93,7 +93,11 @@ if(innerWidth>1024){
<nav id="cardNavigation" class="cardNavigation box hidden relative ring-0 md:ring-2 ring-primary/50 rounded-tr-none lg:block mb-0 lg:mb-5"> <nav id="cardNavigation" class="cardNavigation box hidden relative ring-0 md:ring-2 ring-primary/50 rounded-tr-none lg:block mb-0 lg:mb-5">
<div class="nav-element bg-secondary/5 py-1 pl-2 text-xs font-bold">Eingabeformulare</div> <div class="nav-element bg-secondary/5 py-1 pl-2 text-xs font-bold">Jetzt bestellen</div>
<div class="nav-element">
<a class="no-dropdown nav-element-child" href="/welcher-energieausweis/">Welcher Energieausweis?</a>
</div>
<!-- svelte-ignore a11y-mouse-events-have-key-events --> <!-- svelte-ignore a11y-mouse-events-have-key-events -->
<div class="nav-element dropdown lg:dropdown-right" on:click={dropdown} on:keydown={dropdown} on:mouseover={hover} on:mouseleave={hoverout}> <div class="nav-element dropdown lg:dropdown-right" on:click={dropdown} on:keydown={dropdown} on:mouseover={hover} on:mouseleave={hoverout}>
@@ -113,10 +117,6 @@ if(innerWidth>1024){
</ul> </ul>
</div> </div>
<div class="nav-element">
<a class="no-dropdown nav-element-child" href="/sanierungsfahrplan-anfragen">Sanierungsfahrplan anfragen</a>
</div>
<!-- svelte-ignore a11y-mouse-events-have-key-events --> <!-- svelte-ignore a11y-mouse-events-have-key-events -->
<div class="nav-element dropdown lg:dropdown-right" on:click={dropdown} on:keydown={dropdown} on:mouseover={hover} on:mouseleave={hoverout}> <div class="nav-element dropdown lg:dropdown-right" on:click={dropdown} on:keydown={dropdown} on:mouseover={hover} on:mouseleave={hoverout}>
{#if innerWidth > 1023} {#if innerWidth > 1023}
@@ -136,10 +136,10 @@ if(innerWidth>1024){
</div> </div>
<div class="nav-element"> <div class="nav-element">
<a class="no-dropdown nav-element-child" href="/welcher-energieausweis">Welcher Energieausweis?</a> <a class="no-dropdown nav-element-child" href="/sanierungsfahrplan-anfragen">Sanierungsfahrplan (iSFP)</a>
</div> </div>
<div class="nav-element bg-secondary/5 py-1 pl-2 text-xs font-bold">Produkte</div> <div class="nav-element bg-secondary/5 py-1 pl-2 text-xs font-bold">Produkte & Preise</div>
<!-- svelte-ignore a11y-mouse-events-have-key-events --> <!-- svelte-ignore a11y-mouse-events-have-key-events -->
<div class="nav-element dropdown lg:dropdown-right" on:click={dropdown} on:keydown={dropdown} on:mouseover={hover} on:mouseleave={hoverout}> <div class="nav-element dropdown lg:dropdown-right" on:click={dropdown} on:keydown={dropdown} on:mouseover={hover} on:mouseleave={hoverout}>
@@ -193,8 +193,6 @@ if(innerWidth>1024){
</ul> </ul>
</div> </div>
<div class="nav-element bg-secondary/5 py-1 pl-2 text-xs font-bold">Service</div>
<div class="nav-element"> <div class="nav-element">
<a class="no-dropdown nav-element-child" href="/energieausweis-aussteller">Energieberater finden</a> <a class="no-dropdown nav-element-child" href="/energieausweis-aussteller">Energieberater finden</a>
</div> </div>
@@ -220,22 +218,26 @@ if(innerWidth>1024){
</div> </div>
<div class="nav-element"> <div class="nav-element">
<a class="no-dropdown nav-element-child" href="/faq">FAQ</a> <a class="no-dropdown nav-element-child" href="/geg/">Gebäudeenergiegesetz (GEG)</a>
</div> </div>
<div class="nav-element"> <div class="nav-element">
<a class="no-dropdown nav-element-child" href="/glossar">Glossar</a> <a class="no-dropdown nav-element-child" href="/enev-zusammenfassung/">EnEV Zusammenfassung - Archiv</a>
</div> </div>
<div class="nav-element"> <div class="nav-element">
<a class="no-dropdown nav-element-child" href="/enev-zusammenfassung">EnEV Zusammenfassung - Archiv</a> <a class="no-dropdown nav-element-child" href="/faq/">FAQ</a>
</div> </div>
<div class="nav-element"> <div class="nav-element">
<a class="no-dropdown nav-element-child" href="/kundenbewertungen">Kundenbewertungen</a> <a class="no-dropdown nav-element-child" href="/glossar/">Glossar</a>
</div>
<div class="nav-element">
<a class="no-dropdown nav-element-child" href="/kundenbewertungen/">Kundenbewertungen</a>
</div> </div>
<div class="nav-element"> <div class="nav-element">
<a class="no-dropdown nav-element-child lg:!rounded-b-lg xl:!rounded-b-xl"href="/fuer-entwickler">Für Entwickler</a> <a class="no-dropdown nav-element-child lg:!rounded-b-lg xl:!rounded-b-xl"href="/fuer-entwickler/">Für Entwickler</a>
</div> </div>

View File

@@ -27,8 +27,9 @@
> >
<div class="formular-abschnitt1">{bereich}</div> <div class="formular-abschnitt1">{bereich}</div>
<div class="formular-abschnitt2"><slot></slot></div> <div class="formular-abschnitt2"><slot></slot></div>
<div <div
class="justify-self-center self-center cursor-pointer text-[2rem] ring-1 ring-secondary px-4 rounded-sm select-none" class="justify-self-center self-center mr-[2px] cursor-pointer text-[2rem] ring-1 ring-secondary px-4 rounded-sm select-none"
on:click={toggleBereich} on:click={toggleBereich}
> >
{#if open} {#if open}
@@ -36,6 +37,7 @@
{:else} {:else}
+ +
{/if} {/if}
</div> </div>
</div> </div>
</div> </div>

View File

@@ -35,6 +35,10 @@
allowedReason.includes(anlass) && allowedReason.includes(anlass) &&
allowedTypes.includes(gebaeudetyp) && (leerStand === "bis 30") && (heizungsAlter === ">= 3"); allowedTypes.includes(gebaeudetyp) && (leerStand === "bis 30") && (heizungsAlter === ">= 3");
} }
if ((gebaeudetyp || anlass || einheiten || sanierungsstatus || baujahr || heizungsAlter || leerStand) && window.parent) {
window.parent.postMessage(window.innerHeight, "*")
}
} }
</script> </script>
@@ -162,7 +166,7 @@
<WidgetCardTemplate <WidgetCardTemplate
name="Verbrauchsausweis Wohngebäude" name="Verbrauchsausweis Wohngebäude"
price={PRICES.VerbrauchsausweisWohnen[0]} price={PRICES.VerbrauchsausweisWohnen[0]}
src="/images/right-sidebar/UMBE_wohngebaeude.svg" src="/images/right-sidebar/wohngebaeude.svg"
alt="Wohnhaus Verbrauchsausweis" alt="Wohnhaus Verbrauchsausweis"
variant="einfach" variant="einfach"
services={[ services={[
@@ -185,7 +189,7 @@
<WidgetCardTemplate <WidgetCardTemplate
name="Bedarfsausweis Wohngebäude" name="Bedarfsausweis Wohngebäude"
price={PRICES.BedarfsausweisWohnen[0]} price={PRICES.BedarfsausweisWohnen[0]}
src="/images/right-sidebar/UMBE_wohngebaeude.svg" src="/images/right-sidebar/wohngebaeude.svg"
alt="Wohnhaus Bedarfsausweis" alt="Wohnhaus Bedarfsausweis"
variant="fundiert (empfohlen)" variant="fundiert (empfohlen)"
services={[ services={[
@@ -208,7 +212,7 @@
<WidgetCardTemplate <WidgetCardTemplate
name="Verbrauchsausweis Gewerbe" name="Verbrauchsausweis Gewerbe"
price={PRICES.VerbrauchsausweisGewerbe[0]} price={PRICES.VerbrauchsausweisGewerbe[0]}
src="/images/right-sidebar/UMBE_gewerbegebaeude.svg" src="/images/right-sidebar/gewerbegebaeude.svg"
alt="Gewerbe Verbrauchsausweis" alt="Gewerbe Verbrauchsausweis"
variant="einfach" variant="einfach"
services={[ services={[
@@ -232,7 +236,7 @@
<WidgetCardTemplate <WidgetCardTemplate
name="GEG-Nachweis Gewerbe" name="GEG-Nachweis Gewerbe"
price={PRICES.BedarfsausweisGewerbe[0]} price={PRICES.BedarfsausweisGewerbe[0]}
src="/images/right-sidebar/UMBE_gewerbegebaeude.svg" src="/images/right-sidebar/gewerbegebaeude.svg"
alt="Gewerbe Bedarfsausweis" alt="Gewerbe Bedarfsausweis"
variant="Bauvorlage" variant="Bauvorlage"
services={[ services={[
@@ -256,7 +260,7 @@
<WidgetCardTemplate <WidgetCardTemplate
name="Bedarfsausweis Gewerbe" name="Bedarfsausweis Gewerbe"
price={PRICES.BedarfsausweisGewerbe[0]} price={PRICES.BedarfsausweisGewerbe[0]}
src="/images/right-sidebar/UMBE_gewerbegebaeude.svg" src="/images/right-sidebar/gewerbegebaeude.svg"
alt="Gewerbe Bedarfsausweis" alt="Gewerbe Bedarfsausweis"
variant="fundiert (empfohlen)" variant="fundiert (empfohlen)"
services={[ services={[
@@ -276,7 +280,7 @@
<style lang="scss"> <style lang="scss">
#OEA_widget { #OEA_widget {
@apply bg-gray-200 p-4 shadow-xl rounded-xl; @apply bg-gray-200 p-4 shadow-xl rounded-xl mb-6;
#OEA_input { #OEA_input {
@apply space-y-2; @apply space-y-2;

View File

@@ -2,7 +2,7 @@
import "../style/global.css"; import "../style/global.css";
import "../style/formular.css"; import "../style/formular.css";
import "../../svelte-dialogs.config" import "../../svelte-dialogs.config"
import Header from "#header/Header.astro"; import Header from "#header/AusweisHeader.astro";
import Footer from "#footer/Footer.astro"; import Footer from "#footer/Footer.astro";
import SidebarLeft from "#sidebarLeft/SidebarLeft.astro"; import SidebarLeft from "#sidebarLeft/SidebarLeft.astro";
import { NotificationWrapper } from "@ibcornelsen/ui"; import { NotificationWrapper } from "@ibcornelsen/ui";
@@ -12,9 +12,49 @@ export interface Props {
} }
const { title } = Astro.props; const { title } = Astro.props;
--- ---
<script>
window.addEventListener("scroll", (event) => {
let scroll = window.scrollY;
console.log(scroll);
if(scroll>=400){
document.getElementById('skala')?.classList.add('2xl:fixed','2xl:py-4','2xl:top-0','2xl:z-20');
document.getElementById('skala')?.classList.remove('w-full');
document.getElementById('skala').style.borderBottom = "3px solid #e6e6e6";
document.getElementById('performance-box').style.maxWidth = "688.5px";
document.getElementById('progress-box').style.maxWidth = "688.5px";
document.getElementById('formInput')?.classList.add('2xl:mt-[370px]');
}else{
document.getElementById('skala')?.classList.remove('2xl:fixed','2xl:py-4','2xl:top-0','2xl:z-20');
document.getElementById('skala')?.classList.add('w-full');
document.getElementById('skala').style.borderBottom = "none";
document.getElementById('formInput')?.classList.remove('2xl:mt-[370px]');
}
});
</script>
<!DOCTYPE html> <!DOCTYPE html>
<html lang="de"> <html lang="de">

View File

@@ -15,6 +15,7 @@ const { title } = Astro.props;
--- ---
<script> <script>
/*
window.addEventListener("scroll", (event) => { window.addEventListener("scroll", (event) => {
let scroll = window.scrollY; let scroll = window.scrollY;
@@ -25,19 +26,20 @@ window.addEventListener("scroll", (event) => {
document.getElementById('header').style.width = '100%'; document.getElementById('header').style.width = '100%';
document.getElementById('header').style.top = '0'; document.getElementById('header').style.top = '0';
document.getElementById('header-grid')?.classList.add('2xl:py-0'); document.getElementById('header-grid').classList.add('2xl:py-0');
document.getElementById('header-grid')?.classList.remove('2xl:py-4') document.getElementById('header-grid').classList.remove('2xl:py-4')
document.getElementById('header-grid')?.classList.remove('bg-white'); document.getElementById('header-grid').classList.remove('bg-white');
document.getElementById('header-grid')?.classList.add('bg-secondary'); document.getElementById('header-grid').classList.add('bg-secondary');
document.getElementById('header-text-1')?.classList.add('text-white'); document.getElementById('header-text-1').classList.add('hidden');
document.getElementById('header-text-1')?.classList.add('hidden'); document.getElementById('header-text-2').classList.add('hidden');
document.getElementById('header-text-2')?.classList.add('hidden'); document.getElementById('header-line').classList.add('xl:h-[6px]');
document.getElementById('header-line')?.classList.add('xl:h-[6px]'); document.getElementById('header-logo').src= '/images/header/logo-IBC-white.svg';
document.getElementById('header-logo').style.height = '62px'; document.getElementById('header-logo').style.height = '62px';
document.getElementById('header-logo')?.classList.add('xl:bg-white','xl:px-2'); document.getElementById('header-logo').classList.add('xl:px-2','py-[5px]');
; ;
document.getElementById('card-login')?.classList.remove('lg:ring-2'); document.getElementById('card-login').classList.remove('lg:ring-2','box');
document.getElementById('LoginButton')?.classList.add('ring-[1px]','ring-white');
document.getElementById('passwort-vergessen')?.classList.add('hidden'); document.getElementById('passwort-vergessen')?.classList.add('hidden');
document.getElementById('main').style.marginTop = '211px'; document.getElementById('main').style.marginTop = '211px';
@@ -53,15 +55,17 @@ window.addEventListener("scroll", (event) => {
document.getElementById('header-grid')?.classList.add('bg-white'); document.getElementById('header-grid')?.classList.add('bg-white');
document.getElementById('header-grid')?.classList.remove('bg-secondary'); document.getElementById('header-grid')?.classList.remove('bg-secondary');
document.getElementById('header-text-1').classList.remove('hidden');
document.getElementById('header-text-1')?.classList.remove('text-white'); document.getElementById('header-text-1')?.classList.remove('text-white');
document.getElementById('header-text-1')?.classList.remove('hidden'); document.getElementById('header-text-1').classList.add('xl:leading-[4.5rem]');
document.getElementById('header-text-2')?.classList.remove('hidden'); document.getElementById('header-text-2')?.classList.remove('hidden');
document.getElementById('header-line')?.classList.remove('xl:h-[6px]'); document.getElementById('header-line')?.classList.remove('xl:h-[6px]');
document.getElementById('header-logo').src= '/images/header/logo-IBC-big.svg';
document.getElementById('header-logo').style.height = '107.53px'; document.getElementById('header-logo').style.height = '107.53px';
document.getElementById('header-logo')?.classList.remove('xl:bg-white','xl:px-2'); document.getElementById('header-logo')?.classList.remove('xl:bg-white','xl:px-2');
document.getElementById('card-login')?.classList.add('lg:ring-2'); document.getElementById('card-login')?.classList.add('lg:ring-2');
document.getElementById('LoginButton')?.classList.remove('ring-[1px]','ring-white');
document.getElementById('passwort-vergessen')?.classList.remove('hidden'); document.getElementById('passwort-vergessen')?.classList.remove('hidden');
document.getElementById('main').style.marginTop = '0px'; document.getElementById('main').style.marginTop = '0px';
@@ -70,7 +74,7 @@ window.addEventListener("scroll", (event) => {
}); });
*/
</script> </script>
<!DOCTYPE html> <!DOCTYPE html>

View File

@@ -0,0 +1,44 @@
---
import "../style/global.css";
import "../../svelte-dialogs.config"
import { NotificationWrapper } from "@ibcornelsen/ui";
export interface Props {
title: string;
}
const { title } = Astro.props;
---
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width" />
<link rel="icon" type="image/svg+xml" href="/favicon.jpg" />
<meta
name="description"
content="✅ Jetzt Ihren Energieausweis online erstellen. Erhalten Sie Ihren online Energieausweis rechtssicher und nach aktueller GEG (vormals EnEV) vom Diplom Ingenieur geprüft."
/>
<title>
{title || "Energieausweis online erstellen - Online Energieausweis"}
</title>
</head>
<body>
<main id="main"
class="w-full p-0">
<article>
<slot />
</article>
</main>
</body>
</html>

View File

@@ -0,0 +1,127 @@
import { BedarfsausweisWohnenClient, GebaeudeAufnahmeClient } from "#components/Ausweis/types.js";
/**
// Berechnung des monatlichen Belastungsgrades aus Tabelle 9 EFH (Zeitkonstante 90,130)
* @see 18599-Tabellenverfahren-Wohngebaeude.pdf
* @export
* @param {BedarfsausweisWohnenClient} ausweis
* @param {GebaeudeAufnahmeClient} gebaeude_aufnahme
*/
export function BerechnungMonatlicherBelastungsgradT9(ausweis: BedarfsausweisWohnenClient, gebaeude_aufnahme: GebaeudeAufnahmeClient) {
let bezugsflaeche = gebaeude_aufnahme.nutzflaeche ?? 0;
let heizlastGebaeude = 2000 / bezugsflaeche;
//let heizlastGebaeude = 17.5
type MonthData = {
month: string;
values: number[];
};
// Zeitkonstante bis 50
const datasetZeitkonstante50: MonthData[] = [
{ month: "Januar", values: [0.557, 0.554, 0.550, 0.543, 0.536, 0.533, 0.531, 0.530] },
{ month: "Februar", values: [0.531, 0.527, 0.524, 0.517, 0.510, 0.507, 0.505, 0.504] },
{ month: "März", values: [0.448, 0.445, 0.443, 0.437, 0.431, 0.427, 0.427, 0.426] },
{ month: "April", values: [0.317, 0.314, 0.313, 0.308, 0.305, 0.303, 0.302, 0.301] },
{ month: "Mai", values: [0.173, 0.172, 0.171, 0.169, 0.166, 0.165, 0.165, 0.164] },
{ month: "Juni", values: [0.097, 0.096, 0.096, 0.094, 0.093, 0.092, 0.092, 0.092] },
{ month: "Juli", values: [0.029, 0.029, 0.029, 0.029, 0.028, 0.028, 0.028, 0.028] },
{ month: "August", values: [0.041, 0.041, 0.041, 0.040, 0.040, 0.040, 0.039, 0.039] },
{ month: "September", values: [0.167, 0.166, 0.165, 0.164, 0.162, 0.161, 0.161, 0.161] },
{ month: "Oktober", values: [0.308, 0.306, 0.304, 0.300, 0.296, 0.293, 0.293, 0.293] },
{ month: "November", values: [0.466, 0.463, 0.460, 0.454, 0.448, 0.445, 0.444, 0.443] },
{ month: "Dezember", values: [0.560, 0.557, 0.553, 0.546, 0.539, 0.536, 0.534, 0.533] }
];
// Zeitkonstante 90
const datasetZeitkonstante90: MonthData[] = [
{ month: "Januar", values: [0.562, 0.559, 0.555, 0.548, 0.541, 0.538, 0.536, 0.535] },
{ month: "Februar", values: [0.536, 0.532, 0.529, 0.522, 0.515, 0.512, 0.510, 0.510] },
{ month: "März", values: [0.453, 0.450, 0.447, 0.441, 0.436, 0.433, 0.431, 0.431] },
{ month: "April", values: [0.320, 0.318, 0.316, 0.311, 0.307, 0.306, 0.305, 0.304] },
{ month: "Mai", values: [0.175, 0.173, 0.172, 0.170, 0.168, 0.167, 0.166, 0.166] },
{ month: "Juni", values: [0.098, 0.097, 0.096, 0.095, 0.094, 0.093, 0.093, 0.093] },
{ month: "Juli", values: [0.030, 0.029, 0.029, 0.029, 0.028, 0.028, 0.028, 0.028] },
{ month: "August", values: [0.041, 0.041, 0.041, 0.040, 0.040, 0.040, 0.039, 0.039] },
{ month: "September", values: [0.169, 0.168, 0.167, 0.164, 0.162, 0.161, 0.161, 0.161] },
{ month: "Oktober", values: [0.311, 0.309, 0.307, 0.303, 0.299, 0.297, 0.296, 0.296] },
{ month: "November", values: [0.471, 0.467, 0.465, 0.459, 0.453, 0.450, 0.448, 0.448] },
{ month: "Dezember", values: [0.565, 0.562, 0.558, 0.551, 0.544, 0.540, 0.539, 0.538] }
];
// Zeitkonstante größer oder gleich 130
const datasetZeitkonstante130: MonthData[] = [
{ month: "Januar", values: [0.567, 0.563, 0.560, 0.553, 0.545, 0.542, 0.540, 0.539, 0.539] },
{ month: "Februar", values: [0.540, 0.537, 0.533, 0.526, 0.520, 0.516, 0.515, 0.514, 0.513] },
{ month: "März", values: [0.457, 0.454, 0.451, 0.445, 0.439, 0.435, 0.435, 0.434, 0.434] },
{ month: "April", values: [0.322, 0.320, 0.318, 0.314, 0.310, 0.308, 0.307, 0.307, 0.306] },
{ month: "Mai", values: [0.176, 0.175, 0.174, 0.172, 0.169, 0.168, 0.168, 0.168, 0.167] },
{ month: "Juni", values: [0.098, 0.097, 0.096, 0.095, 0.094, 0.094, 0.094, 0.094, 0.094] },
{ month: "Juli", values: [0.030, 0.030, 0.029, 0.029, 0.028, 0.028, 0.028, 0.028, 0.028] },
{ month: "August", values: [0.042, 0.041, 0.041, 0.040, 0.040, 0.040, 0.040, 0.040, 0.040] },
{ month: "September", values: [0.170, 0.169, 0.168, 0.166, 0.164, 0.163, 0.162, 0.162, 0.162] },
{ month: "Oktober", values: [0.313, 0.311, 0.309, 0.305, 0.301, 0.300, 0.299, 0.298, 0.298] },
{ month: "November", values: [0.474, 0.471, 0.469, 0.462, 0.456, 0.454, 0.453, 0.451, 0.451] },
{ month: "Dezember", values: [0.570, 0.566, 0.563, 0.555, 0.548, 0.545, 0.543, 0.542, 0.542] },
];
// Für "Ohne Teilbeheizung" habe ich hier einfach 0 genommen. Prakmatisch würde ich sagen.
const HeizLastTabelle = [0, 5, 10, 25, 50, 75, 100, 125, 150];
/**
* Linearly interpolates a value for the given x.
* @param heizlastGebaeude The heating load value (e.g., 82).
* @param values The array of y-values corresponding to heating loads.
* @param loads The array of heating load values (x-axis).
* @returns The interpolated value.
*/
function interpolate(heizlastGebaeude: number, values: number[], loads: number[]): number {
if (heizlastGebaeude <= loads[0]) return values[0];
if (heizlastGebaeude >= loads[loads.length - 1]) return values[values.length - 1];
for (let i = 0; i < loads.length - 1; i++) {
if (heizlastGebaeude >= loads[i] && heizlastGebaeude <= loads[i + 1]) {
const x1 = loads[i];
const x2 = loads[i + 1];
const y1 = values[i];
const y2 = values[i + 1];
return y1 + ((heizlastGebaeude - x1) * (y2 - y1)) / (x2 - x1);
}
}
throw new Error("Interpolation error: Value is out of bounds.");
}
// Zeitkonstante bis 50
const interpolatedValuesZeitkonstante1 = datasetZeitkonstante50.map(data => ({
month: data.month,
interpolatedValue: interpolate(heizlastGebaeude, data.values, HeizLastTabelle)
}));
// Zeitkonstante 90
const interpolatedValuesZeitkonstante2 = datasetZeitkonstante90.map(data => ({
month: data.month,
interpolatedValue: interpolate(heizlastGebaeude, data.values, HeizLastTabelle)
}));
// Zeitkonstante größer oder gleich 130
const interpolatedValuesZeitkonstante3 = datasetZeitkonstante130.map(data => ({
month: data.month,
interpolatedValue: interpolate(heizlastGebaeude, data.values, HeizLastTabelle)
}));
return {
interpolatedValuesZeitkonstante1
}
}

View File

@@ -3,6 +3,7 @@
import Progressbar from "#components/Ausweis/Progressbar.svelte"; import Progressbar from "#components/Ausweis/Progressbar.svelte";
import Hilfe from "#components/Ausweis/Hilfe.svelte"; import Hilfe from "#components/Ausweis/Hilfe.svelte";
import Ausweisart from "#components/Ausweis/Ausweisart.svelte"; import Ausweisart from "#components/Ausweis/Ausweisart.svelte";
import GebaeudeDaten from "#components/Ausweis/GebaeudeDaten.svelte";
import Label from "#components/Label.svelte"; import Label from "#components/Label.svelte";
import HelpLabel from "#components/HelpLabel.svelte"; import HelpLabel from "#components/HelpLabel.svelte";
import ZipSearch from "#components/PlzSuche.svelte"; import ZipSearch from "#components/PlzSuche.svelte";
@@ -170,6 +171,15 @@
/> />
</Bereich> </Bereich>
<!-- B Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Keller und Dachgeschoss -->
<Bereich
bereich="B"
title="Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Keller und Dachgeschoss"
><GebaeudeDaten bind:gebaeude_aufnahme_allgemein /></Bereich
>
<hr /> <hr />
<Bereich <Bereich
bereich="B" bereich="B"

View File

@@ -1,7 +1,8 @@
<script lang="ts"> <script lang="ts">
import PerformanceScore from "#components/Ausweis/PerformanceScore.svelte"; import PerformanceScore from "#components/Ausweis/PerformanceScore.svelte";
import Progressbar from "#components/Ausweis/Progressbar.svelte"; import Progressbar from "#components/Ausweis/Progressbar.svelte";
import Hilfe from "#components/Ausweis/Hilfe.svelte"; //import Hilfe from "#components/Ausweis/Hilfe.svelte";
import { PRICES } from "#lib/constants";
import Bereich from "#labels/Bereich.svelte"; import Bereich from "#labels/Bereich.svelte";
//import HelpLabel from "#labels/HelpLabel.svelte"; //import HelpLabel from "#labels/HelpLabel.svelte";
@@ -9,6 +10,7 @@
//import Label from "#components/Label.svelte"; //import Label from "#components/Label.svelte";
import ButtonSpaeterHilfe from "#components/Ausweis/ButtonSpaeterHilfe.svelte"; import ButtonSpaeterHilfe from "#components/Ausweis/ButtonSpaeterHilfe.svelte";
import ButtonWeiterHilfe from "#components/Ausweis/ButtonWeiterHilfe.svelte";
import Ausweisart from "#components/Ausweis/Ausweisart.svelte"; import Ausweisart from "#components/Ausweis/Ausweisart.svelte";
import GebaeudeDaten from "#components/Ausweis/GebaeudeDaten.svelte"; import GebaeudeDaten from "#components/Ausweis/GebaeudeDaten.svelte";
import Warmwasseranteil from "#components/Ausweis/Warmwasseranteil.svelte"; import Warmwasseranteil from "#components/Ausweis/Warmwasseranteil.svelte";
@@ -55,7 +57,7 @@
UploadedGebaeudeBild, UploadedGebaeudeBild,
} from "#components/Ausweis/types.js"; } from "#components/Ausweis/types.js";
import { verbrauchsausweisWohnenSpeichern } from "src/client/lib/verbrauchsausweisWohnenSpeichern.js"; import { verbrauchsausweisWohnenSpeichern } from "src/client/lib/verbrauchsausweisWohnenSpeichern.js";
import AusweisWeiter from "./AusweisWeiter.svelte"; //import AusweisWeiter from "./AusweisWeiter.svelte";
import { Enums } from "@ibcornelsen/database/client"; import { Enums } from "@ibcornelsen/database/client";
import { OpenInNewWindow } from "radix-svelte-icons"; import { OpenInNewWindow } from "radix-svelte-icons";
@@ -181,26 +183,42 @@
</p> </p>
</Overlay> </Overlay>
<h1>Verbrauchsausweis erstellen - 45€</h1>
<div class="grid grid-cols-2 gap-x-8 px-4 items-center">
<div class="w-full rounded-lg border-gray/35 border-0 relative px-4">
<Progressbar progress={0} />
</div>
<div class="w-full rounded-lg border-gray/35 border-2 relative px-4">
<div id="skala" class="bg-white grid grid-cols-1 gap-x-8 gap-y-4 p-4
2xl:grid-cols-2 2xl:gap-x-8
">
<div id="performance-box" class="w-full box relative px-4 order-2 2xl:order-1 self-stretch grid grid-cols-1">
<PerformanceScore <PerformanceScore
bind:ausweis bind:ausweis
bind:gebaeude_aufnahme_allgemein bind:gebaeude_aufnahme_allgemein
bind:gebaeude bind:gebaeude
/> />
</div> </div>
<div id="progress-box" class="w-full box relative px-4 py-3 text-center order-1 2xl:order-2 self-stretch">
<h1 class="text-secondary text-3xl m-0">Energiesausweis erstellen</h1>
<h2 class="text-primary text-xl">Verbrauchsausweis Wohnen {PRICES.VerbrauchsausweisWohnen[0]}</h2>
<Progressbar progress={50}
/>
</div> </div>
</div>
<form id="formInput" on:submit={ausweisAbschicken} name="ausweis" data-test="ausweis">
<div id="formular-box" class="formular-boxen ring-0">
<ButtonSpaeterHilfe {automatischAusfüllen} {spaeterWeitermachen} /> <ButtonSpaeterHilfe {automatischAusfüllen} {spaeterWeitermachen} />
<form on:submit={ausweisAbschicken} name="ausweis" data-test="ausweis">
<div id="formular-box" class="formular-boxen ring-0">
<!-- A Prüfung der Ausweisart --> <!-- A Prüfung der Ausweisart -->
<Bereich bereich="A" title="Prüfung der Ausweisart"> <Bereich bereich="A" title="Prüfung der Ausweisart">
@@ -289,23 +307,19 @@
/></Bereich /></Bereich
> >
</div> </div>
<div
class="w-full px-4 mt-5 grid gap-x-4 gap-y-2 <ButtonWeiterHilfe {spaeterWeitermachen}
grid-cols-1
xs:grid-cols-2"
>
<div class="md:justify-self-start">
<AusweisWeiter
bind:ausweis bind:ausweis
bind:images bind:images
bind:user bind:user
bind:gebaeude bind:gebaeude
bind:gebaeude_aufnahme_allgemein bind:gebaeude_aufnahme_allgemein
></AusweisWeiter> >
</div> </ButtonWeiterHilfe>
<div class="md:justify-self-end"><Hilfe /></div>
</div>
</form> </form>
<RawNotificationWrapper> <RawNotificationWrapper>

View File

@@ -1038,6 +1038,7 @@ const gebaeude_aufnahme: GebaeudeAufnahmeClient = { flaeche: 152 }
</table> </table>
</div> </div>
<A12NutzenergiebedarfHeizung {ausweis} {gebaeude_aufnahme} client:load></A12NutzenergiebedarfHeizung>
<A12BerechnungNutzenergiebedarf {ausweis}></A12BerechnungNutzenergiebedarf>> <A12BerechnungNutzenergiebedarf {ausweis}></A12BerechnungNutzenergiebedarf>>
@@ -1177,41 +1178,51 @@ const gebaeude_aufnahme: GebaeudeAufnahmeClient = { flaeche: 152 }
<thead> <thead>
<tr class="bg-gray-200 text-left"> <tr class="bg-gray-200 text-left">
<th colspan="10" class="border border-gray-300 p-2"> <th colspan="10" class="border border-gray-300 p-2">
<h2>Tabelle A.14 — Anlage gesamt - Berechnung der mittleren Belastungen</h2> <h2>Tabelle A.14 — Anlage gesamt - Aufwandszahlen und mittlere Belastungen (Heizung)</h2>
</th> </th>
<tr class="text-center"> <tr class="text-center">
<tr class="bg-gray-200 text-left"> <tr class="bg-gray-200 text-left">
<th colspan="10" class="border border-gray-300 p-2 text-xl"> <th colspan="10" class="border border-gray-300 p-2 text-xl">
Bestimmung der mittleren Belastung in Anlagenteilbereichen Anlagenteilbereiche
</th> </th>
</tr> </tr>
<tr>
<th colspan="2" class="border border-gray-300 px-4 py-2 text-center">Energiebedarf [kWh/a]</th>
<th colspan="2" class="border border-gray-300 px-4 py-2 text-center">Übergabe</th>
<th colspan="2" class="border border-gray-300 px-4 py-2 text-center">Verteilung</th>
<th colspan="2" class="border border-gray-300 px-4 py-2 text-center">Speicherung</th>
<th colspan="2" class="border border-gray-300 px-4 py-2 text-center">Erzeugung</th>
</tr>
<tr> <tr>
<th colspan="1" class="border border-gray-300 px-4 py-2 text-center">Objekt:</th> <th colspan="1" class="border border-gray-300 px-4 py-2 text-center">Objekt:</th>
<th colspan="9" class="border border-gray-300 px-4 py-2 text-center bg-yellow-100"></th> <th colspan="9" class="border border-gray-300 px-4 py-2 text-center bg-yellow-100"></th>
</tr> </tr>
<tr> <tr>
<th class="border border-gray-300 px-4 py-2 text-center">Anlage</th> <th colspan="1" class="border border-gray-300 px-4 py-2 text-center">Anlage:</th>
<th class="border border-gray-300 px-4 py-2 text-center">Nutzenergiebedarf<br>Q<sub>nutz</sub> = Q<sub>b</sub> [kWh/a]</th> <th colspan="3" class="border border-gray-300 px-4 py-2 text-center bg-yellow-100"></th>
<th class="border border-gray-300 px-4 py-2 text-center">β<sub>ce</sub></th> <th colspan="1" class="border border-gray-300 px-4 py-2 text-center">t<sub>h,m</sub> [h/a]<br>aus Tabelle A.12:</th>
<th class="border border-gray-300 px-4 py-2 text-center">e<sub>ce</sub></th> <th colspan="2" class="border border-gray-300 px-4 py-2 text-center bg-yellow-100"></th>
<th class="border border-gray-300 px-4 py-2 text-center">β<sub>d</sub></th> <th colspan="1" class="border border-gray-300 px-4 py-2 text-center">Φ<sub>h,max</sub> [W]<br>aus Tabelle A.6:</th>
<th class="border border-gray-300 px-4 py-2 text-center">e<sub>d</sub></th> <th colspan="2" class="border border-gray-300 px-4 py-2 text-center bg-yellow-100"></th>
<th class="border border-gray-300 px-4 py-2 text-center">β<sub>s</sub></th> </tr>
<th class="border border-gray-300 px-4 py-2 text-center">e<sub>s</sub></th> <tr>
<th class="border border-gray-300 px-4 py-2 text-center">β<sub>g,n</sub></th> <th class="border border-gray-300 px-4 py-2"></td>
<th class="border border-gray-300 px-4 py-2 text-center">e<sub>g,n</sub></th> <th class="border border-gray-300 px-4 py-2">Anteil</td>
<th colspan="2" class="border border-gray-300 px-4 py-2 text-center">Übergabe</th>
<th colspan="2" class="border border-gray-300 px-4 py-2 text-center">Verteilung</th>
<th colspan="2" class="border border-gray-300 px-4 py-2 text-center">Speicherung</th>
<th colspan="2" class="border border-gray-300 px-4 py-2 text-center">Erzeugung</th>
</tr>
<tr>
<th class="border border-gray-300 px-4 py-2"></td>
<th class="border border-gray-300 px-4 py-2">A<sub>h,m</sub></sup> / A<br>[%]<br>aus Planung</td>
<th class="border border-gray-300 px-4 py-2 text-center">β<sub>h,ce</sub> =<br>(Q<sub>h,b</sub> / t<sub>h,m</sub> · Φ<sub>h,max</sub>) · 1000</th>
<th class="border border-gray-300 px-4 py-2 text-center">e<sub>h,ce</sub><br>aus Tabellen<br>20 - 25</th></th>
<th class="border border-gray-300 px-4 py-2 text-center">β<sub>h,d</sub> =<br>β<sub>h,ce</sub> · e<sub></sub>h,ce</sub> · f<sub>hydr</sub></th>
<th class="border border-gray-300 px-4 py-2 text-center">e<sub>h,d</sub><br>aus Tabellen<br>30 - 36</th></th>
<th class="border border-gray-300 px-4 py-2 text-center">β<sub>h,s</sub> =<br>β<sub>h,d</sub> · e<sub>h,d</sub></th>
<th class="border border-gray-300 px-4 py-2 text-center">e<sub>h,s</sub><br>aus Tabellen<br>50-52</th>
<th class="border border-gray-300 px-4 py-2 text-center">β<sub>h,g</sub> =<br>β<sub>h,s · e<sub>h,s</sub></sub></th>
<th class="border border-gray-300 px-4 py-2 text-center">e<sub>h,g</sub><br>für Kessel aus<br>Tabellen 77-81</th>
</tr> </tr>
</thead> </thead>
</div>
<tbody> <tbody>
<tr class="h-10"> <tr class="h-10">
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td> <td class="border border-gray-300 px-4 py-2">Heizung 1</td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td> <td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td> <td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
@@ -1223,7 +1234,7 @@ const gebaeude_aufnahme: GebaeudeAufnahmeClient = { flaeche: 152 }
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td> <td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
</tr> </tr>
<tr class="h-10"> <tr class="h-10">
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td> <td class="border border-gray-300 px-4 py-2">Heizung 2</td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td> <td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td> <td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
@@ -1234,45 +1245,401 @@ const gebaeude_aufnahme: GebaeudeAufnahmeClient = { flaeche: 152 }
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td> <td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
</tr> </tr>
<tr>
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 text-center">A<sub>w,m</sub></sup> / A<br>[%]<br>aus Planung</td>
<td class="border border-gray-300 px-4 py-2 text-center"></td>
<td class="border border-gray-300 px-4 py-2 text-center">e<sub>w,ce</sub><br>aus Tabelle<br>29</td></td>
<td class="border border-gray-300 px-4 py-2 text-center"></td>
<td class="border border-gray-300 px-4 py-2 text-center">e<sub>w,d</sub><br>aus Tabellen<br>42-44</td></td>
<td class="border border-gray-300 px-4 py-2 text-center"></td>
<td class="border border-gray-300 px-4 py-2 text-center">e<sub>w,s</sub><br>aus Tabellen<br>55-57</td>
<td class="border border-gray-300 px-4 py-2 text-center"></td>
<td class="border border-gray-300 px-4 py-2 text-center">e<sub>w,g</sub><br>aus<br>Tabellen 59-81</td>
</tr>
<tr class="h-10"> <tr class="h-10">
<td class="border border-gray-300 px-4 py-2">TWW 1</td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td> <td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td> <td class="border border-gray-300 px-4 py-2"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td> <td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td> <td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td> <td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td> <td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
</tr> </tr>
<tr class="h-10"> <tr class="h-10">
<td class="border border-gray-300 px-4 py-2">TWW 2</td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td> <td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
</tr>
<tr>
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 text-center">A<sub>rv,m</sub></sup> / A<br>[%]<br>aus Planung</td>
<td class="border border-gray-300 px-4 py-2 text-center"></td>
<td class="border border-gray-300 px-4 py-2 text-center">e<sub>rv,ce</sub><br>aus Tabelle<br>27</td></td>
<td class="border border-gray-300 px-4 py-2 text-center"></td>
<td class="border border-gray-300 px-4 py-2 text-center">e<sub>rv,d</sub><br>aus Tabellen<br>47</td></td>
<td class="border border-gray-300 px-4 py-2 text-center"></td>
<td class="border border-gray-300 px-4 py-2 text-center">e<sub>rv,s</sub><br>aus Tabellen<br>50-52, 55-57</td>
<td class="border border-gray-300 px-4 py-2 text-center"></td>
<td class="border border-gray-300 px-4 py-2 text-center">e<sub>rv,g</sub><br>aus<br>Tabellen </td>120-138,135
</tr>
<tr class="h-10">
<td class="border border-gray-300 px-4 py-2">Lüftung</td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td> <td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td> <td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td> <td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td> <td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td> <td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td> <td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
</tr> </tr>
<tr class="h-10"> <tr class="h-10">
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td> <td colspan="10" class="border border-gray-300 px-4 py-2">Treten unterschiedliche Übergabesysteme und/oder
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td> unterschiedliche Verteilsysteme in dem gleichen Gebäude auf, wird zur Aufteilung des Bedarfs die Fläche
<td class="border-2 border-gray-600 px-4 py-2"></td> als Bezugsgröße herangezogen und mehrere Zeilen für die Anlagentechnik angelegt:
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td> <b>Q<sub>b,m</sub> = Q<sub>b</sub> &middot;
<td class="border-2 border-gray-600 px-4 py-2"></td> A<sub>ce,m</sub></sup> / A </b><br><br>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td> Wenn kein Pufferspeicher vorhanden ist: <b>e<sub>h,s</sub> = 1</b><br><br>
<td class="border-2 border-gray-600 px-4 py-2"></td> Zu beachten bei vorhandenem Pufferspeicher:<br>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td> <b>β<sub>h,g</sub> = 1</b> und die Aufwandszahl für Verteilung muss korrigiert werden:
<td class="border-2 border-gray-600 px-4 py-2"></td> <b>e<sub>h,d,korr</sub> = (e<sub>h,d</sub> - 1) · (8760/t<sub>h,r,L</sub>) + 1</b> (t<sub>h,r,L</sub> siehe Tabelle 13)<br><br>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td> Handelt es sich bei den Wärmeerzeugern um Kessel, sind noch folgende zwei Korrekturen vorzunehmen:<br><br>
Korrektur der Aufwandszahl für Erzeugung für Heizung mit:
<b>e<sub>h,g,korr</sub> = (e<sub>h,g</sub> - 1) &middot; t<sub>a</sub> / t<sub>h,rL</sub> + 1</b><br>
Korrektur der Aufwandszahl für Erzeugung für Trinkwarmwassererwärmung:
<b>e<sub>w,g,korr</sub> = (e<sub>w,g</sub> - 1) &middot; t<sub>a</sub> / t<sub>h,rL</sub> + 1</b>
</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="overflow-x-auto mt-16">
<table class="table-auto border-collapse border border-gray-300 w-full text-sm">
<thead>
<tr class="bg-gray-200 text-left">
<th colspan="7" class="border border-gray-300 p-2">
<h2>Tabelle A.15 — Anlage gesamt</h2>
</th>
<tr class="text-center">
<tr class="bg-gray-200 text-left">
<th colspan="7" class="border border-gray-300 p-2 text-xl">
Berechnung der Aufwandszahlen (gesamt) und Erzeugernutzwärmeabgabe
</th>
</tr>
<tr>
<th class="border border-gray-300 px-4 py-2">Nutzenergie-<br>bedarf</td>
<th class="border border-gray-300 px-4 py-2">Übergabe</th>
<th class="border border-gray-300 px-4 py-2">Verteilung</th>
<th class="border border-gray-300 px-4 py-2">Speicherung</th>
<th class="border border-gray-300 px-4 py-2">
Flächenbezogene<br>Erzeugernutzwärmeabgabe
</th>
<th class="border border-gray-300 px-4 py-2">Erzeugung</th>
<th class="border border-gray-300 px-4 py-2">Gesamt</th>
</tr>
<tr>
<td class="border border-gray-300 px-4 py-2 text-center">Q<sub>h,nutz,m</sub> =<br>Q<sub>h,b</sub> · A<sub>h,m</sub></sup> / A</sub><br>[kWh/a]<br>aus Tabelle A.12, A.14</td>
<th class="border border-gray-300 px-4 py-2">e<sub>ce</sub></th>
<th class="border border-gray-300 px-4 py-2">e<sub>d</sub></th>
<th class="border border-gray-300 px-4 py-2">e<sub>s</sub></th>
<th class="border border-gray-300 px-4 py-2">
q<sub>outg</sub><sup>a</sup> = Q<sub>nutz</sub> / A<sub>NGF</sub> &middot; e<sub>ce</sub> &middot; e<sub>d</sub> &middot; e<sub>s</sub>
<br>[kWh/m²a]</th>
<th class="border border-gray-300 px-4 py-2">e<sub>g</sub></th>
<th class="border border-gray-300 px-4 py-2">
e<sub>ges</sub> = e<sub>ce</sub> &middot; e<sub>d</sub> &middot; e<sub>s</sub> &middot; e<sub>g</sub>
</th>
</tr>
</thead>
<tbody>
<tr class="h-10">
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
</tr>
<tr class="h-10">
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
</tr>
<tr class="h-10">
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
</tr>
<tr class="h-10">
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
</tr>
</tbody>
<thead>
<tr>
<th colspan="7" class="border border-gray-300 px-4 py-2"></th>
</tr>
<tr>
<th class="border border-gray-300 px-4 py-2"></th>
<th class="border border-gray-300 px-4 py-2">Deckungsanteil erneuerbare Energie (Abschnitt 6.6.1.1)</th>
<th class="border border-gray-300 px-4 py-2">Deckungsanteil Erzeuger (Tabelle 75)</th>
<th class="border border-gray-300 px-4 py-2">Endenergie (brennwertbezogen)</th>
<th class="border border-gray-300 px-4 py-2">Umrechnungsfaktor für die Endenergie</th>
<th class="border border-gray-300 px-4 py-2">Primärenergiefaktor</th>
<th class="border border-gray-300 px-4 py-2">Primärenergie (heizwertbezogen)</th>
</tr>
<tr>
<th class="border border-gray-300 px-4 py-2"></th>
<th class="border border-gray-300 px-4 py-2">K<sub>EE</sub></th>
<th class="border border-gray-300 px-4 py-2">K<sub>g</sub></th>
<th class="border border-gray-300 px-4 py-2">
Q<sub>f</sub> = Q<sub>nutz</sub> · e<sub>ges</sub> · (1 - K<sub>EE</sub>) · K<sub>g</sub>
</th>
<th class="border border-gray-300 px-4 py-2">f<sub>HS/HI</sub></th>
<th class="border border-gray-300 px-4 py-2">f<sub>p</sub></th>
<th class="border border-gray-300 px-4 py-2">
Q<sub>p</sub> = (Q<sub>f</sub> / f<sub>HS/HI</sub>) · f<sub>p</sub>
</th>
</tr>
</thead>
<tbody>
<tr class="h-10">
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
</tr>
<tr class="h-10">
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
</tr>
<tr class="h-10">
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
</tr>
<tr class="h-10">
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
</tr>
<tr>
<th colspan="7" class="border border-gray-300 px-4 py-2"></th>
</tr>
</tbody>
<thead>
<tr class="bg-gray-200 text-left">
<tr class="text-center">
<tr class="bg-gray-300 text-left">
<th colspan="7" class="border border-gray-300 p-2 text-xl">
Berechnung der Hilfsenergie
</th>
</tr>
<tr>
<th class="border border-gray-300 px-4 py-2"></th>
<th class="border border-gray-300 px-4 py-2">W<sub>ce</sub><br>[kWh/a]</th>
<th class="border border-gray-300 px-4 py-2">W<sub>d</sub><br>[kWh/a]</th>
<th class="border border-gray-300 px-4 py-2">W<sub>s</sub><br>[kWh/a]</th>
<th class="border border-gray-300 px-4 py-2"></th>
<th class="border border-gray-300 px-4 py-2">W<sub>g</sub><br>[kWh/a]</th>
<th class="border border-gray-300 px-4 py-2">
W<sub>ges</sub> = W<sub>ce</sub> + W<sub>d</sub> + W<sub>s</sub> + W<sub>g</sub><br>[kWh/a]
</th>
</tr>
</thead>
<tbody>
<tr class="h-10">
<th class="border border-gray-300 px-4 py-2"></th>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
</tr>
<tr class="h-10">
<th class="border border-gray-300 px-4 py-2"></th>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
</tr>
<tr class="h-10">
<th class="border border-gray-300 px-4 py-2"></th>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
</tr>
<tr class="h-10">
<th class="border border-gray-300 px-4 py-2"></th>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
</tr>
</tbody>
<thead>
<tr>
<th colspan="7" class="border border-gray-300 px-4 py-2"></th>
</tr>
<tr>
<th class="border border-gray-300 px-4 py-2"></th>
<th class="border border-gray-300 px-4 py-2"></th>
<th class="border border-gray-300 px-4 py-2"></th>
<th class="border border-gray-300 px-4 py-2">W<sub>f</sub> = W<sub>ges</sub></th>
<th class="border border-gray-300 px-4 py-2">f<sub>HS/HI</sub></th>
<th class="border border-gray-300 px-4 py-2">f<sub>p</sub></th>
<th class="border border-gray-300 px-4 py-2">W<sub>p</sub> = (W<sub>f</sub> / f<sub>HS/HI</sub>) · f<sub>p</sub></th>
</tr>
</thead>
<tbody>
<tr class="h-10">
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
</tr>
<tr class="h-10">
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
</tr>
<tr class="h-10">
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
</tr>
<tr class="h-10">
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
</tr>
</tbody>
</table>
</div>
<div class="overflow-x-auto mt-2">
<table class="table-auto border-collapse border border-gray-300 w-full text-left text-sm">
<thead class="bg-gray-300">
<tr>
<th colspan="6" class="border border-gray-300 p-2 text-xl">Berechnung der Kühlung</th>
</tr>
</thead>
<tbody>
<tr>
<td class="border border-gray-300 px-4 py-2 w-1/12">Gekühlte<br>Nutzfläche</td>
<td class="border border-gray-300 px-4 py-2 w-1/12">A<sub>N,c</sub> [m²]</td>
<td class="border border-gray-300 px-4 py-2 w-1/12 bg-yellow-100"></td>
<td class="border border-gray-300 px-4 py-2 w-1/6">Flächenbezogener<br>Nutzenergiebedarf</td>
<td class="border border-gray-300 px-4 py-2 w-1/6">q<sub>rc,b</sub> [kWh/m²a]</td>
<td class="border border-gray-300 px-4 py-2 bg-yellow-100 w-1/6"></td>
</tr>
<tr>
<td class="border border-gray-300 px-4 py-2">Teilkühlfaktor</td>
<td class="border border-gray-300 px-4 py-2">
f<sub>c,part</sub> =<br>A<sub>N,c</sub> / A<sub>NGF</sub> [-]
</td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2">Flächenbezogener<br>Endenergiebedarf<br>mit Tabelle 144</td>
<td class="border border-gray-300 px-4 py-2">q<sub>rc,f</sub> =<br>q<sub>rc,0</sub> · q<sub>rc,b</sub> / 5 kWh/(m²·a)<br>[kWh/m²a]</td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
</tr>
<tr>
<td class="border border-gray-300 px-4 py-2">Ankühlfaktor<br>aus Tabelle 145</td>
<td class="border border-gray-300 px-4 py-2">f<sub>c,limit</sub> [-]</td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
<td class="border border-gray-300 px-4 py-2">Jährlicher<br>Endenergiebedarf</td>
<td class="border border-gray-300 px-4 py-2">Q<sub>rc,f</sub> =<br>q<sub>rc,f</sub> · A<sub>N,c</sub> · f<sub>c,limit</sub><br>[kWh/m²a]</td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
</tr>
<tr>
<td colspan="3" class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2">Hilfsenergiebedarf<br>mit Tabelle 146</td>
<td class="border border-gray-300 px-4 py-2">W<sub>rc</sub> = W<sub>pu</sub> + W<sub>fan</sub><br>+ W<sub>rc,ce</sub> + W<sub>c</sub> [kWh/a]</td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
</tr>
<tr>
<td colspan="3" class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2">Primärenergiefaktor</td>
<td class="border border-gray-300 px-4 py-2">f<sub>p</sub> [-]</td>
<td class="border border-gray-300 px-4 py-2 bg-blue-100"></td>
</tr>
<tr>
<td colspan="3" class="border border-gray-300 px-4 py-2"></td>
<td class="border border-gray-300 px-4 py-2">Primärenergiebedarf</td>
<td class="border border-gray-300 px-4 py-2">Q<sub>P,rc</sub> =<br>(Q<sub>rc,f</sub> + W<sub>rc</sub>) · f<sub>p</sub> [kWh/a]</td>
<td class="border-2 border-gray-600 px-4 py-2"></td>
</tr>
</tbody>
</table>
</div>
</Layout> </Layout>

View File

@@ -4,10 +4,10 @@ import Layout from "#layouts/Layout.astro";
--- ---
<Layout title="GEG 2024"> <Layout title="DIN 18599 - Formelsammlung">
<h1>GEG 2024 - Formelsammlung</h1> <h1>DIN 18599 - Formelsammlung</h1>
<div class="container mx-auto max-w-screen-md py-8"> <div class="container mx-auto max-w-screen-md py-8">
<!-- Header --> <!-- Header -->

View File

@@ -124,3 +124,5 @@ Anforderungen für Nichtwohngebäude eingehalten werden müssen.
Sollten Sie den Bedarfsausweis nur für Vermietung und Verkauf benötigen, dann Sollten Sie den Bedarfsausweis nur für Vermietung und Verkauf benötigen, dann
können Sie den Ausweis bei uns auch online erstellen lassen. Die Eingabedaten können Sie den Ausweis bei uns auch online erstellen lassen. Die Eingabedaten
werden dann nach einem vereinfachten Verfahren erhoben. werden dann nach einem vereinfachten Verfahren erhoben.

View File

729
src/pages/geg/index.astro Normal file
View File

@@ -0,0 +1,729 @@
---
import Layout from "#layouts/Layout.astro";
---
<Layout title="GEG 2024 - Zusammenfassung">
<h1>GEG 2024 - Zusammenfassung</h1>
<hr>
<p class="text-2xl">Teil 1 - Allgemeiner Teil</p>
<hr>
<h2>§ 1 Zweck und Ziel</h2>
<h3>(1) Ziel des Gesetzes</h3>
<p>
Reduktion von Treibhausgasen durch effiziente, sozialverträgliche Maßnahmen sowie verstärkter Einsatz erneuerbarer Energien und
Abwärme in Gebäuden.
</p>
<h3>(2) Förderung erneuerbarer Energien</h3>
<p>
Steigerung des Anteils erneuerbarer Energien, Verringerung fossiler Ressourcen und Förderung nachhaltiger, energieunabhängiger Versorgung.
</p>
<h3>(3) Vorrang erneuerbarer Energien</h3>
<p>
Nutzung erneuerbarer Energien und Effizienzmaßnahmen hat Priorität im öffentlichen Interesse, ausgenommen Belange der Landes- und
Bündnisverteidigung.
</p>
<hr>
<h2>§ 2 Anwendungsbereich</h2>
<h3>(1) Geltungsbereich</h3>
<p>
Dieses Gesetz gilt für Gebäude, die durch Energie beheizt oder gekühlt werden, sowie für deren Heizungs-, Kühl-, Raumluft-, Beleuchtungs- und Warmwasseranlagen. Energieeinsatz für Produktionsprozesse ist ausgenommen.
</p>
<h3>(2) Ausnahmen</h3>
<p>Mit Ausnahme der §§ 7478 gilt das Gesetz nicht für:</p>
<ul>
<li>Betriebsgebäude, die überwiegend zur Aufzucht oder Haltung von Tieren genutzt werden,</li>
<li>Betriebsgebäude, die großflächig und langanhaltend offen gehalten werden müssen,</li>
<li>unterirdische Bauten,</li>
<li>Unterglasanlagen und Kulturräume für Pflanzenaufzucht und -verkauf,</li>
<li>Traglufthallen und Zelte,</li>
<li>provisorische Gebäude mit bis zu zwei Jahren Nutzungsdauer,</li>
<li>Gebäude für Gottesdienste oder religiöse Zwecke,</li>
</ul>
Wohngebäude, die:
<ul>
<li>weniger als vier Monate pro Jahr genutzt werden, oder</li>
<li>einen Energieverbrauch von unter 25 % der ganzjährigen Nutzung haben,</li>
</ul>
Betriebsgebäude, die:
<ul>
<li>eine Solltemperatur unter 12 °C haben, oder</li>
<li>weniger als vier Monate beheizt und zwei Monate gekühlt werden.</li>
</ul>
<hr>
<h2>§ 3 Begriffsbestimmungen</h2>
<h3>(1) Begriffe im Sinne des Gesetzes</h3>
<ul>
<li><strong>Abwärme:</strong> Wärme oder Kälte aus technischen Prozessen oder baulichen Anlagen.</li>
<li><strong>Aperturfläche:</strong> Lichteintrittsfläche einer solarthermischen Anlage.</li>
<li><strong>Baudenkmal:</strong> Nach Landesrecht geschütztes Gebäude oder Gebäudemehrheit.</li>
<li><strong>Beheizter Raum:</strong> Raum, der direkt oder durch Raumverbund beheizt wird.</li>
<li><strong>Blauer Wasserstoff:</strong> Wasserstoff aus Erdgas, der spezielle Klimaschutzanforderungen erfüllt.</li>
<li><strong>Brennwertkessel:</strong> Heizkessel, der Wasserdampf im Abgas durch Kondensation nutzt.</li>
<li><strong>Energiebedarfsausweis:</strong> Energieausweis basierend auf berechnetem Energiebedarf.</li>
<li><strong>Energieverbrauchsausweis:</strong> Energieausweis basierend auf erfasstem Energieverbrauch.</li>
<li><strong>Gebäudenutzfläche:</strong> Nutzfläche eines Wohngebäudes nach DIN V 18599.</li>
<li><strong>Geothermie:</strong> Dem Erdboden entnommene Wärme.</li>
<li><strong>Niedrigstenergiegebäude:</strong> Gebäude mit sehr guter Energieeffizienz und geringem Energiebedarf.</li>
<li><strong>Wohngebäude:</strong> Gebäude, das überwiegend dem Wohnen dient.</li>
</ul>
<h3>(2) Erneuerbare Energien</h3>
<ul>
<li><strong>Geothermie:</strong> Wärme aus dem Erdboden.</li>
<li><strong>Umweltwärme:</strong> Wärme aus Luft, Wasser oder Abwasser.</li>
<li><strong>Solarenergie:</strong> Energie aus solarer Strahlung, genutzt für Strom, Wärme oder Kälte.</li>
<li><strong>Biomasse:</strong> Feste, flüssige oder gasförmige Biomasse, z. B. Pflanzenöl oder Klärgas.</li>
<li><strong>Grüner Wasserstoff:</strong> Wasserstoff, der aus erneuerbaren Energien gewonnen wird.</li>
</ul>
<h3>(3) Biomasse</h3>
<ul>
<li><strong>Altholz:</strong> Holz der Kategorien A I und A II gemäß Altholzverordnung.</li>
<li><strong>Klärgas:</strong> Gas aus Klärschlamm.</li>
<li><strong>Deponiegas:</strong> Gas, das auf Deponien entsteht.</li>
<li><strong>Biologisch abbaubare Abfälle:</strong> Abfälle aus Haushalten und Industrie.</li>
</ul>
<hr>
<h2>§ 4 Vorbildfunktion der öffentlichen Hand</h2>
<h3>(1) Vorbildfunktion</h3>
<p>
Nichtwohngebäude im Eigentum der öffentlichen Hand, die von Behörden genutzt werden, haben eine Vorbildfunktion. § 13 Absatz 2 des
Bundes-Klimaschutzgesetzes bleibt unberührt.
</p>
<h3>(2) Prüfung bei Neubau und Renovierung</h3>
<p>
Bei Neubauten oder größeren Renovierungen muss die öffentliche Hand prüfen, ob und in welchem Umfang Erträge durch solarthermische
Anlagen oder Anlagen zur Erzeugung von Strom aus solarer Strahlungsenergie genutzt werden können.
</p>
<h3>(3) Information der Öffentlichkeit</h3>
<p>
Die öffentliche Hand informiert über die Erfüllung der Vorbildfunktion im Internet oder auf andere Weise. Der Bund berichtet
darüber im Klimaschutzbericht der Bundesregierung.
</p>
<h3>(4) Landesrechtliche Regelungen</h3>
<p>
Die Länder können eigene Regelungen für öffentliche Gebäude treffen, die über die Vorgaben dieses Gesetzes hinausgehen, jedoch
keine Änderungen an den Berechnungsgrundlagen und -verfahren gemäß Teil 2 Abschnitt 3 vorsehen.
</p>
<hr>
<h2>§ 5 Grundsatz der Wirtschaftlichkeit</h2>
<p>
Anforderungen und Pflichten nach diesem Gesetz oder dazu erlassenen Rechtsverordnungen müssen dem Stand der Technik entsprechen
und für Gebäude gleicher Art, Nutzung sowie für Anlagen oder Einrichtungen wirtschaftlich vertretbar sein.
</p>
<p>
Anforderungen gelten als wirtschaftlich vertretbar, wenn die erforderlichen Aufwendungen innerhalb der üblichen Nutzungsdauer durch
Einsparungen ausgeglichen werden können.
</p>
<p>
Bei bestehenden Gebäuden, Anlagen und Einrichtungen wird die noch zu erwartende Nutzungsdauer berücksichtigt.
</p>
<hr>
<h2>§ 6 Verordnungsermächtigung zur Verteilung der Betriebskosten und zu Abrechnungs- und Verbrauchsinformationen</h2>
<h3>(1) Ermächtigungen der Bundesregierung</h3>
<p>Die Bundesregierung kann durch Rechtsverordnung mit Zustimmung des Bundesrates vorschreiben:</p>
<ul>
<li>die Erfassung des Energieverbrauchs der Benutzer gemeinschaftlicher Anlagen für Heizung, Kühlung, Raumluft oder Warmwasserversorgung,</li>
<li>die Verteilung der Betriebskosten dieser Anlagen entsprechend dem Energieverbrauch der Benutzer,</li>
<li>regelmäßige, klare und verständliche Informationen für die Benutzer über Energieverbrauchsdaten, Vergleichswerte und Steuerungsmöglichkeiten,</li>
<li>die Verwendung datenschutz-, datensicherheits- und interoperabilitätskonformer Technik,</li>
<li>die Zugänglichkeit von Abrechnungsdaten für neue Abrechnungsdienstleister oder Gebäudeeigentümer bei Dienstleisterwechseln.</li>
</ul>
<h3>(2) Abweichung von Vereinbarungen</h3>
<p>
Die Rechtsverordnung kann Erfassung und Kostenverteilung abweichend von Benutzervereinbarungen und Vorschriften des
Wohnungseigentumsgesetzes regeln und deren Auswirkungen auf Rechtsverhältnisse bestimmen.
</p>
<h3>(3) Befreiung bei unbilliger Härte</h3>
<p>
Es kann vorgesehen werden, dass Verpflichtete auf Antrag von Anforderungen befreit werden, wenn diese im Einzelfall zu unangemessenem
Aufwand oder unbilliger Härte führen.
</p>
<h3>(4) Datenschutz und Datensicherheit</h3>
<p>
Die Rechtsverordnung muss technische und organisatorische Maßnahmen gemäß der Datenschutz-Grundverordnung (DSGVO) festlegen, um den
Schutz personenbezogener Daten sicherzustellen.
</p>
<h3>(5) Festlegung des Stands der Technik</h3>
<p>
Der Stand der Technik für datenschutzkonforme Systeme wird in Technischen Richtlinien und Schutzprofilen des Bundesamts für
Sicherheit in der Informationstechnik (BSI) festgelegt.
</p>
<hr>
<h2>§ 6a Verordnungsermächtigung zur Versorgung mit Fernkälte</h2>
<h3>Ermächtigung des Bundesministeriums</h3>
<p>
Das Bundesministerium für Wirtschaft und Klimaschutz kann im Einvernehmen mit dem Bundesministerium der Justiz durch Rechtsverordnung
mit Zustimmung des Bundesrates die Allgemeinen Bedingungen für die Versorgung mit Fernkälte gestalten. Dabei sollen die Interessen beider Vertragsparteien angemessen berücksichtigt werden.
</p>
<h3>Regelungsinhalte</h3>
<ul>
<li>Einheitliche Festsetzung der Vertragsbestimmungen,</li>
<li>Regelungen über Vertragsschluss, Vertragsgegenstand und Vertragsbeendigung,</li>
<li>Festlegung der Rechte und Pflichten der Vertragsparteien.</li>
</ul>
<h3>Öffentlich-rechtlich gestaltete Versorgungsverhältnisse</h3>
<p>
Die Regelungen gelten entsprechend für öffentlich-rechtlich gestaltete Versorgungsverhältnisse, ausgenommen die Regelung des
Verwaltungsverfahrens.
</p>
<hr>
<h2>§ 7 Regeln der Technik</h2>
<h3>(1) Bekanntmachung anerkannter Regeln</h3>
<p>
Das Bundesministerium für Wirtschaft und Klimaschutz kann gemeinsam mit dem Bundesministerium für Wohnen, Stadtentwicklung und
Bauwesen auf anerkannte Regeln der Technik sachverständiger Stellen im Bundesanzeiger hinweisen, sofern diese im Gesetz
referenziert werden.
</p>
<h3>(2) Anerkannte Regeln der Technik</h3>
<p>
Anerkannte Regeln der Technik umfassen Normen, technische Vorschriften und Bestimmungen anderer EU-Mitgliedstaaten, Vertragsstaaten
des Europäischen Wirtschaftsraums und der Türkei, sofern sie das geforderte Schutzniveau zu Energieeinsparung und Wärmeschutz
gewährleisten.
</p>
<h3>(3) Nachweise bei fehlenden Regeln</h3>
<p>
Liegen keine anerkannten Regeln vor oder wird von ihnen abgewichen, sind Nachweise zur anderweitigen Bewertung der Baustoffe,
Bauteile oder Anlagen der zuständigen Behörde vorzulegen. Dies gilt nicht, wenn:
</p>
<ul>
<li>die Anforderungen durch CE-Kennzeichnungen gemäß EU- oder nationalem Recht erfüllt sind, oder</li>
<li>die Einhaltung des Gesetzes durch bauordnungsrechtliche Vorschriften sichergestellt wird.</li>
</ul>
<h3>(4) Anwendung technischer Regeln</h3>
<p>
Datierte technische Regeln verweisen auf undatierte Regeln, die in der Fassung anzuwenden sind, die zum Zeitpunkt der Herausgabe der
datierten Regel aktuell war.
</p>
<h3>(5) Bericht an den Bundestag</h3>
<p>
Bis zum 31. Dezember 2022 werden die Ergebnisse von Forschungsprojekten zur ökobilanziellen Bewertung von Wohn- und Nichtwohngebäuden
dem Deutschen Bundestag vorgelegt.
</p>
<hr>
<h2>§ 8 Verantwortliche</h2>
<h3>(1) Verantwortlichkeit des Bauherrn oder Eigentümers</h3>
<p>
Für die Einhaltung der Vorschriften dieses Gesetzes ist der Bauherr oder Eigentümer verantwortlich, sofern nicht ausdrücklich ein
anderer Verantwortlicher genannt ist.
</p>
<h3>(2) Verantwortlichkeit weiterer Personen</h3>
<p>
Auch Personen, die im Auftrag des Bauherrn oder Eigentümers tätig sind, tragen im Rahmen ihres Wirkungskreises Verantwortung für
die Einhaltung der gesetzlichen Vorschriften bei der Errichtung oder Änderung von Gebäuden oder der Anlagentechnik.
</p>
<hr>
<h2>§ 9 Überprüfung der Anforderungen an zu errichtende und bestehende Gebäude</h2>
<h3>(1) Überprüfung und Weiterentwicklung der Anforderungen</h3>
<p>
Die Anforderungen an zu errichtende Gebäude (Teil 2) und bestehende Gebäude (Teil 3 Abschnitt 1) werden im Jahr 2023 vom
Bundesministerium für Wirtschaft und Klimaschutz sowie vom Bundesministerium für Wohnen, Stadtentwicklung und Bauwesen überprüft.
Die Überprüfung erfolgt nach den Maßgaben von § 5 und unter Beachtung des Grundsatzes der Technologieoffenheit.
</p>
<p>
Innerhalb von sechs Monaten nach Abschluss der Überprüfung soll ein Gesetzgebungsvorschlag zur Weiterentwicklung der Anforderungen
vorgelegt werden. Dabei ist die Bezahlbarkeit des Bauens und Wohnens ein zentraler Eckpunkt.
</p>
<h3>(2) Berücksichtigung synthetischer Energieträger</h3>
<p>
Bis zum Jahr 2023 wird geprüft, in welchem Umfang synthetisch erzeugte Energieträger in flüssiger oder gasförmiger Form bei der
Erfüllung der Anforderungen für zu errichtende Gebäude (Teil 2) und bestehende Gebäude (Teil 3 Abschnitt 1) berücksichtigt werden
können.
</p>
<hr>
<h2>§ 9a Länderregelung</h2>
<h3>(1) Weitergehende Anforderungen durch Landesrecht</h3>
<p>
Die Länder können durch Landesrecht zusätzliche Anforderungen an die Erzeugung und Nutzung von Strom, Wärme oder Kälte aus
erneuerbaren Energien in räumlichem Zusammenhang mit Gebäuden stellen.
</p>
<h3>(2) Anforderungen und Beschränkungen an Stromdirektheizungen</h3>
<p>
Ebenfalls können die Länder weitergehende Anforderungen oder Beschränkungen für den Einsatz von Stromdirektheizungen festlegen.
</p>
<hr>
<p class="text-2xl">Teil 2 - Anforderungen an zu errichtende Gebäude - Abschnitt 1 - Allgemein</p>
<hr>
<h2>§ 10 Grundsatz und Niedrigstenergiegebäude</h2>
<h3>(1) Verpflichtung zur Errichtung als Niedrigstenergiegebäude</h3>
<p>
Wer ein Gebäude errichtet, ist verpflichtet, dieses als Niedrigstenergiegebäude gemäß den Vorgaben in Absatz 2 zu bauen.
</p>
<h3>(2) Anforderungen an Niedrigstenergiegebäude</h3>
<p>
Das Gebäude muss folgende Anforderungen erfüllen:
</p>
<ul>
<li>Der Gesamtenergiebedarf für Heizung, Warmwasserbereitung, Lüftung und Kühlung, bei Nichtwohngebäuden auch für eingebaute
Beleuchtung, darf den nach § 15 oder § 18 festgelegten Höchstwert nicht überschreiten.</li>
<li>Energieverluste beim Heizen und Kühlen müssen durch baulichen Wärmeschutz gemäß § 16 oder § 19 vermieden werden.</li>
<li>Die Anforderungen nach § 71 Absatz 1 müssen erfüllt sein.</li>
</ul>
<h3>(3) Vorrang anderer öffentlich-rechtlicher Vorschriften</h3>
<p>
Die Anforderungen dieses Gesetzes zur Errichtung von Gebäuden finden keine Anwendung, wenn sie anderen öffentlich-rechtlichen
Vorschriften zur Standsicherheit, zum Brandschutz, zum Schallschutz, zum Arbeitsschutz oder zum Schutz der Gesundheit widersprechen.
</p>
<hr>
<h2>§ 11 Mindestwärmeschutz</h2>
<h3>(1) Anforderungen an Bauteile</h3>
<p>
Bei einem zu errichtenden Gebäude müssen Bauteile, die gegen die Außenluft, das Erdreich oder gegen Gebäudeteile mit deutlich
niedrigeren Innentemperaturen abgrenzen, so ausgeführt werden, dass die Anforderungen des Mindestwärmeschutzes gemäß DIN 4108-2:
2013-02 und DIN 4108-3: 2018-10 erfüllt werden.
</p>
<h3>(2) Anforderungen bei aneinandergereihter Bebauung</h3>
<p>
Wenn bei einem zu errichtenden Gebäude die Nachbarbebauung nicht gesichert ist, müssen die Gebäudetrennwände ebenfalls den
Anforderungen an den Mindestwärmeschutz nach Absatz 1 entsprechen.
</p>
<hr>
<h2>§ 12 Wärmebrücken</h2>
<p>
Ein Gebäude ist so zu errichten, dass der Einfluss konstruktiver Wärmebrücken auf den Jahres-Heizwärmebedarf nach den anerkannten
Regeln der Technik und unter Berücksichtigung wirtschaftlich vertretbarer Maßnahmen so gering wie möglich gehalten wird.
</p>
<hr>
<h2>§ 13 Dichtheit</h2>
<p>
Gebäude müssen so errichtet werden, dass ihre wärmeübertragende Umfassungsfläche dauerhaft luftdicht ist, gemäß den anerkannten
Regeln der Technik.
</p>
<p>
Vorschriften zum Mindestluftwechsel für Gesundheit und Beheizung bleiben unberührt.
</p>
<hr>
<h2>§ 14 Sommerlicher Wärmeschutz</h2>
<h3>(1) Allgemeine Anforderungen</h3>
<p>
Gebäude müssen einen ausreichenden sommerlichen Wärmeschutz aufweisen, um den Sonneneintrag gemäß den anerkannten Regeln der
Technik zu begrenzen. Vorschriften zur Tageslichtversorgung bleiben unberührt.
</p>
<h3>(2) Anforderungen nach DIN 4108-2</h3>
<p>
Ein ausreichender Wärmeschutz liegt vor, wenn die Anforderungen der DIN 4108-2: 2013-02, Abschnitt 8 erfüllt sind, und die
Sonneneintragskennwerte die festgelegten Anforderungswerte nicht überschreiten.
</p>
<h3>(3) Simulationsrechnung</h3>
<p>
Alternativ kann die Einhaltung des Wärmeschutzes durch eine Simulation gemäß DIN 4108-2: 2013-02 Abschnitt 8.4 nachgewiesen werden,
solange die zulässigen Übertemperatur-Gradstunden nicht überschritten werden.
</p>
<h3>(4) Gebäude mit Kühlanlagen</h3>
<p>
Bei Kühlanlagen müssen bauliche Maßnahmen zum Wärmeschutz ergriffen werden, wenn diese wirtschaftlich vertretbar sind und innerhalb
der Nutzungsdauer Energieeinsparungen ermöglichen.
</p>
<h3>(5) Verzicht auf Berechnung</h3>
<p>
Auf Berechnungen kann verzichtet werden, wenn die Voraussetzungen der DIN 4108-2: 2013-02 Abschnitt 8.2.2 erfüllt sind.
</p>
<hr>
<p class="text-2xl">Teil 2 - Jahres-Primärenergiebedarf und baulicher Wärmeschutz bei zu errichtenden Gebäuden - Abschnitt 2 - Wohngebäude</p>
<hr>
<h2>§ 15 Gesamtenergiebedarf</h2>
<h3>(1) Begrenzung des Primärenergiebedarfs</h3>
<p>
Ein Wohngebäude ist so zu errichten, dass der Jahres-Primärenergiebedarf für Heizung, Warmwasserbereitung, Lüftung und Kühlung höchstens das 0,55-fache des Jahres-Primärenergiebedarfs eines Referenzgebäudes beträgt. Das Referenzgebäude hat dieselbe Geometrie, Gebäudenutzfläche und Ausrichtung wie das zu errichtende Gebäude und entspricht der technischen Referenzausführung gemäß Anlage 1.
</p>
<h3>(2) Berechnung des Höchstwerts</h3>
<p>
Der Höchstwert des Jahres-Primärenergiebedarfs ist nach den Bestimmungen der §§ 20, 22 bis 24, § 25 Absätze 1 bis 3 und 10, sowie §§ 26 bis 29, § 31 und § 33 zu berechnen.
</p>
<hr>
<h2>§ 16 Baulicher Wärmeschutz</h2>
<h3>Höchstwert des Transmissionswärmeverlusts</h3>
<p>
Ein Wohngebäude ist so zu errichten, dass der spezifische Transmissionswärmeverlust, bezogen auf die wärmeübertragende
Umfassungsfläche, den Höchstwert des 1,0-fachen des entsprechenden Wertes des Referenzgebäudes gemäß § 15 Absatz 1 nicht überschreitet.
</p>
<hr>
<h2>§ 17 Aneinandergereihte Bebauung</h2>
<h3>Behandlung als ein Gebäude</h3>
<p>
Werden aneinandergereihte Wohngebäude gleichzeitig errichtet, können sie für die Anforderungen der §§ 12, 14, 15 und 16 wie ein einzelnes Gebäude behandelt werden. Die Vorschriften des Teiles 5 bleiben hiervon unberührt.
</p>
<hr>
<p class="text-2xl">Teil 2 - Jahres-Primärenergiebedarf und baulicher Wärmeschutz bei zu errichtenden Gebäuden - Abschnitt 2 - Nichtohngebäude</p>
<hr>
<h2>§ 18 Gesamtenergiebedarf</h2>
<h3>(1) Anforderungen an den Gesamtenergiebedarf</h3>
<p>
Ein zu errichtendes Nichtwohngebäude darf einen Jahres-Primärenergiebedarf für Heizung, Warmwasserbereitung, Lüftung, Kühlung und eingebaute Beleuchtung von maximal 55 % des entsprechenden Wertes eines Referenzgebäudes mit gleicher Geometrie, Nettogrundfläche, Ausrichtung und Nutzung nicht überschreiten. Die technischen Referenzausführungen aus Anlage 2 sind nur zu berücksichtigen, wenn entsprechende Systeme im Gebäude ausgeführt werden.
</p>
<h3>(2) Berechnungsmaßgaben</h3>
<p>
Der Höchstwert des Jahres-Primärenergiebedarfs ist gemäß den §§ 21 bis 24, § 25 Absätze 1, 2 und 4 bis 8, §§ 26 und 27, § 30 sowie §§ 32 und 33 zu berechnen.
</p>
<h3>(3) Unterteilung nach Nutzungen</h3>
<p>
Wird das Gebäude für die Berechnung des Jahres-Primärenergiebedarfs nach unterschiedlichen Nutzungen unterteilt, müssen die Unterteilungen hinsichtlich Nutzung und Berechnungsverfahren beim Referenzgebäude mit denen des zu errichtenden Gebäudes übereinstimmen. Unterschiede in der anlagentechnischen Ausstattung und Tageslichtversorgung sind zulässig, wenn sie durch die technische Ausführung des Gebäudes bedingt sind.
</p>
<hr>
<h2>§ 19 Baulicher Wärmeschutz</h2>
<h3>Höchstwerte für Wärmedurchgangskoeffizienten</h3>
<p>
Ein zu errichtendes Nichtwohngebäude muss so errichtet werden, dass die in Anlage 3 festgelegten Höchstwerte der mittleren Wärmedurchgangskoeffizienten der wärmeübertragenden Umfassungsfläche nicht überschritten werden.
</p>
<hr>
<p class="text-2xl">Teil 2 - Berechnungsgrundlagen und -verfahren - Abschnitt 3</p>
<hr>
<h2>§ 20 Berechnung des Jahres-Primärenergiebedarfs eines Wohngebäudes</h2>
<h3>(1) Berechnung nach DIN V 18599</h3>
<p>
Der Jahres-Primärenergiebedarf eines zu errichtenden Wohngebäudes und des Referenzgebäudes ist nach DIN V 18599: 2018-09 zu ermitteln.
</p>
<h3>(2) Alternative Berechnung bis 2023</h3>
<p>
Bis zum 31. Dezember 2023 kann der Jahres-Primärenergiebedarf alternativ nach DIN V 4108-6: 2003-06 und DIN V 4701-10: 2003-08
ermittelt werden, wenn das Gebäude nicht gekühlt wird. Dabei gelten spezielle Anforderungen, einschließlich der Nutzung des
Referenzklimas gemäß DIN V 18599-10: 2018-09 Anhang E und eines Nutzwärmebedarfs für Warmwasserbereitung von 12,5 kWh/m²/Jahr.
</p>
<h3>(3) Einheitliches Berechnungsverfahren</h3>
<p>
Die Berechnungen für das zu errichtende Gebäude und das Referenzgebäude müssen mit demselben Verfahren durchgeführt werden.
</p>
<h3>(4) Solare Strahlungsenergie und Umweltwärme</h3>
<p>
Solare Strahlungsenergie und Umweltwärme, die in räumlichem Zusammenhang mit dem Gebäude gewonnen werden, sind bei der Berechnung des Endenergiebedarfs nicht zu berücksichtigen.
</p>
<h3>(5) Ausschluss elektrischer Nutzeranwendungen</h3>
<p>
Der Endenergiebedarf für elektrische Nutzeranwendungen ist bei der Berechnung des Primärenergiebedarfs nicht zu berücksichtigen.
</p>
<h3>(6) Berechnung von Wärmedurchgangskoeffizienten</h3>
<ul>
<li>DIN V 18599-2: 2018-09 Abschnitt 6.1.4.3 für Bauteile an Erdreich</li>
<li>DIN 4108-4: 2017-03 und DIN EN ISO 6946: 2008-04 für opake Bauteile</li>
<li>DIN 4108-4: 2017-03 für transparente Bauteile und Vorhangfassaden</li>
</ul>
<hr>
<h2>§ 21 Berechnung des Jahres-Primärenergiebedarfs eines Nichtwohngebäudes</h2>
<h3>(1) Berechnung nach DIN V 18599</h3>
<p>
Der Jahres-Primärenergiebedarf eines zu errichtenden Nichtwohngebäudes und des Referenzgebäudes ist nach DIN V 18599: 2018-09 zu ermitteln.
</p>
<h3>(2) Zonierung von Gebäuden</h3>
<p>
Nichtwohngebäude mit Flächen, die sich hinsichtlich Nutzung, technischer Ausstattung, innerer Lasten oder Tageslichtversorgung unterscheiden, sind gemäß DIN V 18599: 2018-09 und § 18 Absatz 3 in Zonen zu unterteilen. Vereinfachte Zonierungsmethoden gemäß DIN V 18599-1: 2018-09 Anhang D können unter bestimmten Bedingungen verwendet werden.
</p>
<h3>(3) Nicht aufgeführte Nutzungen</h3>
<ul>
<li>Für nicht in DIN V 18599-10: 2018-09 aufgeführte Nutzungen kann die Nutzung 17 der Tabelle 5 verwendet werden.</li>
<li>Alternativ kann eine Nutzung individuell bestimmt werden, basierend auf dem allgemeinen Wissensstand, und diese muss begründet und den Berechnungen beigefügt werden.</li>
</ul>
<p>
Wird die Nutzung einer Zone bei der Errichtung nicht festgelegt, ist die Nutzung 17 zu verwenden. Bei fehlenden Beleuchtungsanlagen in einer Zone ist eine direkt-indirekte Beleuchtung mit stabförmigen Leuchtstofflampen (16 mm Durchmesser) und elektronischem Vorschaltgerät anzunehmen.
</p>
<h3>(4) Anwendung von § 20</h3>
<p>
Die Absätze 3 bis 6 von § 20 gelten entsprechend für die Berechnung des Jahres-Primärenergiebedarfs.
</p>
<hr>
<h2>§ 22 Primärenergiefaktoren</h2>
<h3>(1) Verwendung von Primärenergiefaktoren</h3>
<p>
Für die Ermittlung des Jahres-Primärenergiebedarfs sind die in Anlage 4 aufgeführten Primärenergiefaktoren für den nicht erneuerbaren Anteil zu verwenden. Es gelten abweichende Werte für bestimmte Biomassen und spezifische Nutzungskonstellationen, beispielsweise:
<ul>
<li>Flüssige oder gasförmige Biomasse mit einem Wert von 0,3, wenn sie im räumlichen Zusammenhang erzeugt und genutzt wird.</li>
<li>Biomethan mit Werten von 0,7 (bei Nutzung in Brennwertkesseln) oder 0,5 (bei Nutzung in hocheffizienten KWK-Anlagen), unter Einhaltung spezifischer Anforderungen.</li>
<li>Biogenes Flüssiggas mit ähnlichen Regelungen wie für Biomethan.</li>
<li>Erdgas oder Flüssiggas in hocheffizienten KWK-Anlagen mit einem Wert von 0,6, wenn mehrere Gebäude im räumlichen Zusammenhang versorgt werden.</li>
</ul>
</p>
<h3>(2) Fernwärme</h3>
<p>
Bei Fernwärmeversorgung kann der veröffentlichte Primärenergiefaktor des Versorgungsunternehmens verwendet werden, sofern dieser nach definierten Verfahren berechnet und veröffentlicht wurde. Für Großwärmepumpen gilt ein Wert von 1,2 für netzbezogenen Strom. Spezielle Berechnungsverfahren für Wärme aus KWK-Anlagen sind zulässig.
</p>
<h3>(3) Mindestwert für Wärmenetze</h3>
<p>
Der Primärenergiefaktor eines Wärmenetzes darf 0,3 nicht unterschreiten, außer wenn erneuerbare Energien oder Abwärme genutzt werden. In diesem Fall kann der Wert entsprechend verringert werden.
</p>
<h3>(4) Keine Veröffentlichung des Primärenergiefaktors</h3>
<p>
Wenn kein Primärenergiefaktor veröffentlicht wurde, ist der in den Berechnungsverfahren nach § 20 oder § 21 angegebene Wert zu verwenden.
</p>
<h3>(5) Überprüfung der Berechnungsverfahren</h3>
<p>
Das Berechnungsverfahren für Primärenergiefaktoren in Wärmenetzen wird bis 2025 überprüft. Ein Bericht mit Vorschlägen für ein neues Verfahren ab 2030 wird dem Bundestag vorgelegt.
</p>
<hr>
<h2>§ 23 Anrechnung von Strom aus erneuerbaren Energien</h2>
<h3>(1) Abzug von Strom aus erneuerbaren Energien</h3>
<p>
Strom aus erneuerbaren Energien, der im unmittelbaren räumlichen Zusammenhang zu einem zu errichtenden Gebäude erzeugt wird, kann vom Jahres-Primärenergiebedarf des Gebäudes abgezogen werden, gemäß den Bestimmungen des Absatzes 2.
</p>
<h3>(2) Berechnung der abzugsfähigen Strommenge</h3>
<p>
Die abzugsfähige Strommenge wird durch den Vergleich des monatlichen Stromertrags der Anlage mit dem Strombedarf für Heizung, Warmwasserbereitung, Lüftung, Kühlung und Hilfsenergien ermittelt. Bei Nichtwohngebäuden wird auch der Strombedarf für Beleuchtung berücksichtigt. Der monatliche Ertrag wird nach DIN V 18599-9: 2018-09 berechnet. Für Photovoltaikanlagen sind die mittleren monatlichen Strahlungsintensitäten der Referenzklimazone Potsdam und Standardwerte zur Ermittlung der Nennleistung nach den entsprechenden DIN-Normen zu verwenden.
</p>
<hr>
<h2>§ 24 Einfluss von Wärmebrücken</h2>
<h3>(1) Berücksichtigung des Einflusses von Wärmebrücken</h3>
<p>
Der Einfluss von Wärmebrücken ist bei der Ermittlung des Jahres-Primärenergiebedarfs nach § 20 Absatz 1 oder Absatz 2 sowie § 21 Absatz 1 und 2 zu berücksichtigen. Dies erfolgt nach den in DIN V 18599-2: 2018-09 oder bis zum 31. Dezember 2023 auch in DIN V 4108-6: 2003-06 genannten Methoden.
</p>
<h3>(2) Wärmebrückenzuschläge</h3>
<p>
Wärmebrückenzuschläge sind mit Überprüfung und Einhaltung der Gleichwertigkeit gemäß DIN V 18599-2: 2018-09 oder DIN V 4108-6: 2003-06 und DIN 4108 Beiblatt 2: 2019-06 zu ermitteln. Alternativ kann bei Nachweis der Gleichwertigkeit nach DIN 4108 Beiblatt 2: 2019-06 der pauschale Wärmebrückenzuschlag nach Kategorie A oder Kategorie B verwendet werden.
</p>
<hr>
<h2>§ 25 Berechnungsrandbedingungen</h2>
<h3>(1) Gebäudeautomation</h3>
<p>
Für Berechnungen des Jahres-Primärenergiebedarfs ist ein System für die Gebäudeautomation der Klasse C nach DIN V 18599-11: 2018-09 zugrunde zu legen. Systeme der Klassen A oder B dürfen berücksichtigt werden, wenn sie installiert sind.
</p>
<h3>(2) Verschattungsfaktor</h3>
<p>
Ein Verschattungsfaktor von 0,9 ist anzusetzen, es sei denn, die baulichen Bedingungen werden detailliert berücksichtigt.
</p>
<h3>(3) Mitbeheizte Flächen</h3>
<p>
Für mitbeheizte Flächen von Wohngebäuden und Referenzgebäuden sind Standardwerte gemäß DIN V 18599: 2018-09 Tabelle 4 zu verwenden.
</p>
<h3>(4) Nutzungsrandbedingungen für Nichtwohngebäude</h3>
<p>
Bei Nichtwohngebäuden sind die Nutzungsrandbedingungen und Klimadaten aus DIN V 18599-10: 2018-09 Tabellen 5 bis 9 anzuwenden.
</p>
<h3>(5) Heizsysteme in hohen Räumen</h3>
<p>
Für Heizsysteme in Raumhöhen von ≤ 4 m ist ein Absenkbetrieb und für > 4 m ein Abschaltbetrieb nach DIN V 18599-2: 2018-09 zu berücksichtigen.
</p>
<h3>(6) Verbauungsindex</h3>
<p>
Ein Verbauungsindex von 0,9 ist anzunehmen, falls keine detaillierte Ermittlung gemäß DIN V 18599-4: 2018-09 Abschnitt 5.5.2 erfolgt.
</p>
<h3>(7) Wartungsfaktor</h3>
<p>
Für die Wartungsfaktoren in den Zonen der Nutzungen 14, 15 und 22 gilt ein Wert von 0,6, ansonsten 0,8.
</p>
<h3>(8) Beleuchtungsstärken</h3>
<p>
Bei bestimmten Zonen dürfen tatsächliche Beleuchtungsstärken verwendet werden, maximal jedoch 1 500 Lux für Nutzung 6 und 1 000 Lux für Nutzung 7.
</p>
<h3>(9) Transmissionswärmeverlust</h3>
<p>
Die wärmeübertragende Umfassungsfläche eines Wohngebäudes ist so festzulegen, dass alle beheizten und gekühlten Räume eingeschlossen sind.
</p>
<h3>(10) Beheiztes Gebäudevolumen</h3>
<p>
Das beheizte Volumen eines Wohngebäudes wird von den wärmeübertragenden Umfassungsflächen umschlossen. Die Gebäudenutzfläche wird gemäß DIN V 18599-1: 2018-09 berechnet.
</p>
<h3>(11) Unbeheizte Zonen</h3>
<p>
Zonen nach DIN V 18599-10: 2018-09 Tabelle 5 Nutzungen 32 und 33 sind als unbeheizt und ungekühlt zu behandeln und unterliegen keinen Anforderungen.
</p>
<hr>
<h2>§ 26 Prüfung der Dichtheit eines Gebäudes</h2>
<h3>(1) Luftdichtheitsprüfung</h3>
<p>
Die Luftdichtheit eines Gebäudes kann vor der Fertigstellung nach DIN EN ISO 9972: 2018-12 überprüft werden. Die gemessene Netto-Luftwechselrate darf bei der Berechnung des Jahres-Primärenergiebedarfs verwendet werden, wenn die Messungen mit Über- und Unterdruck durchgeführt werden und die Höchstwerte eingehalten werden.
</p>
<h3>(2) Höchstwerte ohne raumlufttechnische Anlagen</h3>
<p>
Der gemessene Volumenstrom darf maximal das 3-fache des beheizten oder gekühlten Luftvolumens des Gebäudes betragen.
</p>
<h3>(3) Höchstwerte mit raumlufttechnischen Anlagen</h3>
<p>
Der gemessene Volumenstrom darf maximal das 1,5-fache des beheizten oder gekühlten Luftvolumens des Gebäudes betragen.
</p>
<h3>(4) Abweichungen für größere Gebäude</h3>
<p>
Für Gebäude mit mehr als 1 500 Kubikmetern Luftvolumen gelten abweichende Höchstwerte, basierend auf der Hüllfläche des Gebäudes:
<ul>
<li>Ohne raumlufttechnische Anlagen: höchstens das 4,5-fache der Hüllfläche.</li>
<li>Mit raumlufttechnischen Anlagen: höchstens das 2,5-fache der Hüllfläche.</li>
</ul>
</p>
<h3>(5) Zonenweise Prüfung</h3>
<p>
Für Nichtwohngebäude können Nachweise der Dichtheit getrennt für einzelne Zonen erbracht werden, wenn unterschiedliche Anforderungen gelten.
</p>
<h3>(6) Stichprobenprüfung</h3>
<p>
Besteht ein Gebäude aus gleichartigen, außen erschlossenen Nutzeinheiten, darf die Prüfung der Luftdichtheit auf Stichproben gemäß DIN EN ISO 9972: 2018-12 Anhang NB begrenzt werden.
</p>
<hr>
<h2>§ 27 Gemeinsame Heizungsanlage für mehrere Gebäude</h2>
<h3>Versorgung durch gemeinsame Heizungsanlage</h3>
<p>
Wenn ein zu errichtendes Gebäude Wärme aus einer gemeinsamen Heizungsanlage bezieht, die auch andere Gebäude oder Gebäudeteile versorgt, ist es zulässig, bei der Berechnung des Jahres-Primärenergiebedarfs eigene zentrale Einrichtungen für Wärmeerzeugung, Wärmespeicherung oder Warmwasserbereitung anzunehmen. Diese müssen hinsichtlich Bauart, Baualter und Betriebsweise der gemeinsam genutzten Anlagen entsprechen, jedoch nur auf das zu berechnende Gebäude ausgelegt sein.
</p>
<h3>Berücksichtigung zusätzlicher Leitungen</h3>
<p>
Zusätzliche Wärmeverteil- und Warmwasserleitungen, die zur Verbindung der versorgten Gebäude verlegt werden, sind anteilig in die Berechnung der Wärmeverluste einzubeziehen.
</p>
<hr>
<h2>§ 28 Anrechnung mechanisch betriebener Lüftungsanlagen</h2>
<h3>(1) Voraussetzungen für die Anrechnung</h3>
<p>
Die Anrechnung der Wärmerückgewinnung oder einer regelungstechnisch verminderten Luftwechselrate bei mechanischen Lüftungsanlagen im Rahmen der Berechnung nach § 20 Absatz 1 oder 2 ist nur zulässig, wenn:
</p>
<ul>
<li>die Dichtheit des Gebäudes gemäß § 13 in Verbindung mit § 26 nachgewiesen ist,</li>
<li>die Lüftungsanlage über Einrichtungen verfügt, die eine Beeinflussung der Luftvolumenströme jeder Nutzeinheit durch den Nutzer ermöglichen, und</li>
<li>die aus der Abluft gewonnene Wärme vorrangig vor der vom Heizsystem bereitgestellten Wärme genutzt wird.</li>
</ul>
<h3>(2) Bestimmung der Kennwerte</h3>
<p>
Die bei der Anrechnung der Wärmerückgewinnung anzusetzenden Kennwerte der Lüftungsanlage müssen nach anerkannten Regeln der Technik ermittelt oder den allgemeinen bauaufsichtlichen Zulassungen der verwendeten Produkte entnommen werden.
</p>
<h3>(3) Ausnahme für kleine Wohngebäude</h3>
<p>
Für Wohngebäude mit nicht mehr als zwei Wohnungen, von denen eine nicht mehr als 50 Quadratmeter Gebäudenutzfläche hat, ist die Bedingung aus Absatz 1 Nummer 2 nicht anzuwenden.
</p>
</Layout>

View File

@@ -10,18 +10,18 @@ import TextboxCardTemplate from "#components/design/content/TextboxCardTemplate.
<Layout title="Energieausweis online erstellen - Online Energieausweis"> <Layout title="Energieausweis online erstellen - Online Energieausweis">
<h1>Ihr Partner für Energieausweise und GEG Nachweise</h1> <h1>Ihr Partner für Energieausweise und GEG Nachweise</h1>
<p>Ob für <span>Vermietung, Verkauf, Modernisierung, Neubau</span> oder zur <span>Vorlage bei Ihrer Bank</span> - <p>Ob für Vermietung, Verkauf, Modernisierung, Neubau oder zur Vorlage bei Ihrer Bank -
wir erstellen den passenden <span>Energieausweis</span> oder <span>GEG-Nachweis</span> für Ihr Objekt. wir erstellen den passenden Energieausweis oder GEG-Nachweis für Ihr Objekt.
Mit <span>18 Jahren Erfahrung</span> sind wir der richtige Ansprechpartner Mit <span>18 Jahren Erfahrung</span> sind wir der richtige Ansprechpartner
für Hauseigentümer, Bauherren, Makler und Verwalter.</p> für Hauseigentümer, Bauherren, Makler und Verwalter.</p>
<br>
<h2>Machen Sie hier den <span>online Check</span> welcher Energieausweis der Richtige für Sie ist:</h2> <h2>Machen Sie hier den <span>online Check</span> welcher Energieausweis der Richtige für Sie ist:</h2>
<WelcherAusweisWidget client:load/> <WelcherAusweisWidget client:load/>
<br>
<h2>Erfüllen Sie die gesetzlichen Vorgaben des <span>GEG 2024</span>. Mit uns profitieren Sie von:</h2> <h2>Erfüllen Sie die gesetzlichen Vorgaben des <span>GEG 2024</span>. Mit uns profitieren Sie von:</h2>
<p> <p>
Rechtssicherer Bearbeitung <span class="text-green-700;">✔</span>&nbsp;&nbsp;&nbsp; Rechtssicherer Bearbeitung <span class="text-green-700;">✔</span>&nbsp;&nbsp;&nbsp;
@@ -29,7 +29,7 @@ import TextboxCardTemplate from "#components/design/content/TextboxCardTemplate.
Schneller <span>online Erstellung </span><span class="text-green-700;">✔</span> Schneller <span>online Erstellung </span><span class="text-green-700;">✔</span>
</p> </p>
<br>
<h2>GEG gilt ab 1. Mai 2021 und löst die EnEV ab</h2> <h2>GEG gilt ab 1. Mai 2021 und löst die EnEV ab</h2>
<TextboxCardTemplate <TextboxCardTemplate
TitelName="Folgende Punkte ändern sich:" TitelName="Folgende Punkte ändern sich:"
@@ -42,7 +42,59 @@ import TextboxCardTemplate from "#components/design/content/TextboxCardTemplate.
]} ]}
></TextboxCardTemplate> ></TextboxCardTemplate>
<br>
<h2>
Energieausweis nach aktueller GEG (vormals EnEV) geprüft vom Diplom Ingenieur
</h2>
<div class="p-6">
<div class="flex flex-row">
<div class="w-3/4">
<p>
Sie möchten Ihren <strong>Energieausweis online erstellen</strong>? Auf dieser Seite finden Sie alle nötigen Informationen hierzu.
Sollten Sie sich nicht sicher sein, <a href="/welcher-energieausweis/">welchen Energieausweis</a>
Sie benötigen, können Sie sich bei uns umfassend informieren. Wir haben für Sie alle wichtigen Informationen rund um die GEG und zur
<a href="/energieausweis/energieausweis-pflicht/">Energieausweis Pflicht</a> zusammengetragen.
Zusätzlich haben wir die entscheidenden Informationen auf übersichtlichen Merkblättern im PDF-Format zum Download zusammengefasst.
Sollten Sie noch Fragen zum Thema Energieausweis online erstellen haben, stehen wir Ihnen gerne telefonisch unter folgender Nummer:
<span>040/209 339 850</span> zur Verfügung.
</p>
<hr class="mb-4">
<p>
Mit dem <strong>Energieausweis</strong> werden Wohngebäude und Nichtwohngebäude nach den Vorgaben des Gebäudeenergiegesetzes
<a href="/geg/">GEG</a> energetisch bewertet. Das <a href="https://www.dibt.de/" target="blank">DIBt</a>
(Deutsches Institut für Bautechnik) regelt die Grundsätze zur Ausstellung, Berechnung und der Qualitätssicherung.
Der Energieausweis beschreibt die entsprechenden Energiekennwerte auf einer Farbskala: grün (A+/Effizienzhaus), gelb (D), und rot (H / unsaniert).
Es wird grundsätzlich zwischen zwei Energieausweisarten unterschieden:
</p>
</div>
<div class="mb-4 w-1/4 p-4">
<img class="w-full max-w-md mx-auto rounded-md" title="Energieausweis online erstellen"
src="images/Bedarfsausweis-Wohngebaeude-Beispiel.jpg" alt="Energieausweis online erstellen">
</div>
</div>
<hr class="mb-4">
<div class="border-l-4 border-r-4 border-orange-300 p-4">
<ul id="start_ul" class="list-disc list-inside">
<li class="mb-4">
Der verbrauchsbasierte Energieausweis wird als <a href="/verbrauchsausweis/" title="Verbrauchsausweis">Verbrauchsausweis</a>
bezeichnet. Dies ist der „kleine“ Energieausweis und kann bei Vermietung und Verkauf in den meisten Fällen verwendet werden.
Hier geht's direkt zum Eingabeformular:
<br>→ <a href="/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/" title="Energieausweis online erstellen - Verbrauchsausweis">
Energieausweis online erstellen</a>
<hr class="mt-4">
</li>
<li>
Der bedarfsbasierte Energieausweis wird als <a href="/bedarfsausweis/" title="Bedarfsausweis">Bedarfsausweis</a> bezeichnet.
Dies ist der „große“ Energieausweis und kann immer verwendet werden. Bei Neubau und Modernisierung ist er zwingend vorgeschrieben.
Hier geht's direkt zum Eingabeformular:
<br>→ <a href="/energieausweis-erstellen/bedarfsausweis-wohngebaeude/" title="Energieausweis online erstellen - Bedarfsausweis">
Energieausweis online erstellen</a>
</li>
</ul>
</div>
</div>
<h2>Übersicht <span class="font-bold">Verbrauchsausweis</span> und <span class="font-bold">Bedarfsausweis</span> für Wohngebäude:</h2> <h2>Übersicht <span class="font-bold">Verbrauchsausweis</span> und <span class="font-bold">Bedarfsausweis</span> für Wohngebäude:</h2>
<ProduktVergleich /> <ProduktVergleich />
@@ -51,7 +103,66 @@ import TextboxCardTemplate from "#components/design/content/TextboxCardTemplate.
<ProduktVergleichGewerbe /> <ProduktVergleichGewerbe />
<br> <div class="p-6 border-2 mb-6">
<h2>Unterschied: Verbrauchsausweis und Bedarfsausweis</h2>
<p>
Grundsätzlich unterscheidet man beim Energieausweis zwischen <span>Verbrauchsausweis</span> und <span>Bedarfsausweis</span>.
</p>
<h3>Was ist ein Verbrauchsausweis?</h3>
<p>
Der Verbrauchsausweis gibt den Energieverbrauch der Gebäudebewohner in den vergangenen drei Jahren für Heizung und
Warmwasserbereitung an. Um den <a href="/geg/">Energieverbrauchskennwert zu ermitteln</a>, wird
der tatsächliche Energieverbrauch mithilfe eines standortbezogenen Klimafaktors bereinigt. Der Durchschnittswert wird durch die sogenannte
<span>energetische Gebäudenutzfläche (An)</span> geteilt.
</p>
<p>
So führt beispielsweise ein hoher Verbrauch in einem einzelnen harten Winter nicht zu einer schlechteren Beurteilung des Gebäudes.
Der tatsächliche Energieverbrauch in einem Gebäude oder einer Wohnung kann aufgrund des Witterungseinflusses vom
Energieverbrauchskennwert abweichen. Das Ergebnis im Verbrauchsausweis ist stark vom individuellen Nutzungsverhalten der
Bewohner abhängig. Wird in einem energetisch schlechten Gebäude kaum geheizt, so kann der Energieausweis trotzdem sehr gut ausfallen.
</p>
<h3>Was ist ein Bedarfsausweis?</h3>
<p>
Der Bedarfsausweis entsteht auf Grundlage einer technischen
<a href="/geg/">Analyse der Bausubstanz und der Heizungsanlage eines Gebäudes</a> und ist unabhängig vom
individuellen Nutzerverhalten.
</p>
<p>
Die Farbverlaufsskala im Bedarfsausweis weist zwei verschiedene Werte aus: einen Wert für den <span>Endenergiebedarf</span> und
einen für den <span>Primärenergiebedarf</span>. Zusätzlich wird noch ein Kennwert für die energetische Qualität der Gebäudehülle dargestellt.
</p>
<p>
Der Energiebedarf gibt die nach technischen Regeln berechnete, vom konkreten Gebäude jährlich benötigte Energiemenge für Heizung,
Lüftung und Warmwasserbereitung an. Dabei werden standardisierte Randbedingungen beispielsweise eine Innentemperatur von
19 Grad im beheizten Bereich des Gebäudes zugrunde gelegt.
</p>
<p>
Am <span>Endenergiebedarf</span> sollten sich Hausbewohner orientieren, wenn sie ihren künftigen Energieverbrauch und die
Energiekosten abschätzen wollen. Der <span>Primärenergiebedarf</span> bildet die Gesamtenergieeffizienz eines Gebäudes ab.
Er berücksichtigt neben der Endenergie auch die sogenannte „Vorkette“ (Erkundung, Gewinnung, Verteilung, Umwandlung) der
jeweils eingesetzten Energieträger (z. B. Heizöl, Gas, Strom, erneuerbare Energien).
</p>
<p>
Besonders niedrig fällt der Primärenergiebedarf aus, wenn erneuerbare Energien (solare Strahlungsenergie, Geothermie, Energie aus Biomasse)
für die Energieversorgung im Gebäude eingesetzt werden. Am Primärenergiebedarf können Verbraucher erkennen, wie umweltfreundlich
ihr Gebäude ist.
</p>
<h3>Fazit Verbrauchsausweis / Bedarfsausweis</h3>
<p>
Geht es um den tatsächlichen Verbrauch der Energie, der den Aufwand für Heizung und zentrale Warmwasserbereitung der vergangenen
drei Jahre berücksichtigt, wird der <span>Energieverbrauchskennwert</span> für den Verbrauchsausweis ermittelt. Bei gewerblichen
Objekten wird zusätzlich der Verbrauch für Beleuchtung und Klimatisierung mit eingerechnet.
</p>
<p>
Für das Ausstellen des Bedarfsausweises wird der rechnerische Energiebedarf unter standardisierten Randbedingungen benötigt.
Daten rund um Bausubstanz, Gebäudehülle und Heizanlage fließen in die Berechnung mit ein. Bedarfsausweise widerspiegeln die
tatsächliche energetische Qualität eines Gebäudes damit wesentlich besser als die Verbrauchsausweise.
</p>
</div>
<h2>Was ist ein Energieausweis?</h2> <h2>Was ist ein Energieausweis?</h2>
<TextboxCardTemplate <TextboxCardTemplate

View File

@@ -0,0 +1,164 @@
---
import Layout from "#layouts/Layout.astro";
import WelcherAusweisWidget from "#widgets/WelcherAusweisWidget.svelte";
import TextboxCardTemplate from "#components/design/content/TextboxCardTemplate.svelte";
---
<Layout title="Energieausweis online erstellen - Welcher Energieausweis?">
<h1>Welcher Energieausweis ist der richtige?</h1>
<p>Falls Sie nicht wissen sollten welchen Energieausweis Sie benötigen, können Sie hier ganz einfach den Gebäudetyp
und Anlass bzw. Grund angeben. Als Ergebnis bekommen Sie den für Sie passenden Energieausweis angezeigt.</p>
<h2>Machen Sie hier den Online Check, welcher Energieausweis der richtige ist:</h2>
<WelcherAusweisWidget client:load/>
<h2>Verbrauchsausweis für Wohngebäude: Einfacher Energieausweis bei Vermietung und Verkauf</h2>
<p>
In den meisten Fällen können Sie bei der Vermietung oder dem Verkauf Ihrer Immobilie den
<span>verbrauchsorientierten Energieausweis</span> erstellen lassen. Dieser Ausweis basiert auf dem tatsächlichen Energieverbrauch des Gebäudes und erfordert als Berechnungsgrundlage die Heizenergieabrechnungen der letzten drei zusammenhängenden Jahre.
</p>
<div class="border-2 rounded-xl p-6 mb-6">
<h3>Voraussetzungen für den Verbrauchsausweis</h3>
<ul class="list-disc list-inside mb-4">
<li>Es liegen die Heizenergieabrechnungen der letzten drei zusammenhängenden Jahre vor.</li>
<li>Es wurden in dieser Zeit keine grundlegenden Sanierungsmaßnahmen oder ein Heizungstausch durchgeführt.</li>
</ul>
<h3>Rechtliche Ausnahmen laut GEG</h3>
<p>
Das Gebäudeenergiegesetz (GEG, vormals EnEV) sieht jedoch eine wichtige Ausnahme vor:
<span>Ein Verbrauchsausweis ist nicht zulässig, wenn folgende Kriterien zutreffen:</span>
</p>
<ul class="list-disc list-inside mb-4">
<li>Das Gebäude wurde vor 1978 erbaut.</li>
<li>Es wurde seitdem nicht energetisch saniert.</li>
<li>Das Gebäude hat weniger als fünf Wohneinheiten.</li>
</ul>
<h3>Bedarfsausweis als Alternative</h3>
<p>
Falls Ihr Gebäude unter die oben genannten Ausnahmen fällt oder keine vollständigen Verbrauchsdaten vorliegen (z. B. bei Leerstand), ist ein
<span>Bedarfsausweis für Wohngebäude</span> erforderlich. Dieser Ausweis basiert auf einer detaillierten Berechnung des Energiebedarfs und berücksichtigt die energetischen Eigenschaften der Gebäudehülle sowie der Heizungsanlage.
</p>
</div>
<h2>
Bedarfsausweis für Wohngebäude bei Neubau, Modernisierung oder Erweiterung
</h2>
<p>
Das Gebäudeenergiegesetz (<span>GEG</span>) regelt die Anforderungen an Änderungen im Baubestand. In den §§46-51 des GEG sind die
Mindestanforderungen für <span>Änderungen, Erweiterungen und Ausbauten</span> festgelegt. Zusätzlich
wird beschrieben, wann ein Bedarfsausweis erstellt werden muss.
</p>
<div class="border-2 rounded-xl p-6 mb-6">
<h3>Wann ist kein Bedarfsausweis erforderlich?</h3>
<ul class="list-disc list-inside mb-4">
<li>Nur einzelne Bauteile wie Dach, Außenwand oder Fenster werden erneuert.</li>
<li>Die Erweiterung der Wohnfläche beträgt weniger als 50 m².</li>
<li>Es reicht ein <span>Bauteilnachweis</span>, sofern die EnEV-Anforderungen erfüllt werden.</li>
</ul>
<h3>Wann ist ein Bedarfsausweis erforderlich?</h3>
<ul class="list-disc list-inside mb-4">
<li>Bei einem <span>Heizungstausch</span> muss immer ein Bedarfsausweis erstellt werden.</li>
<li>Wenn der Bauteilnachweis die EnEV-Anforderungen nicht erfüllt, ist eine komplette Bedarfsberechnung erforderlich.</li>
<li>Bei <span>genehmigungspflichtigen Neubaumaßnahmen</span> ist ein GEG-Nachweis (früher Wärmeschutznachweis) vor Baubeginn erforderlich.</li>
</ul>
<h3>GEG-Anforderungen bei Neubau</h3>
<p>
In den §§15-19 des GEG sind die Anforderungen für Wohngebäude festgelegt. Der GEG-Nachweis dient als Grundlage, aus der später nach der Fertigstellung der <span class="font-semibold">Bedarfsausweis</span> erstellt werden kann.
</p>
</div>
<TextboxCardTemplate
TitelName="Folgende Dokumente und Informationen werden für den Bedarfsausweis benötigt:"
BulletPoints={[
["Grundriss- und Ansichtspläne sowie Baubeschreibung.", true],
["Die wärmeübertragenden Umfassngsflächen wie Dach, Außenwand, Fenster,Kellerdecke bzw. Boden werden aus den Plänen ermittelt.", true],
["Auch das Gebäudevolumen zur Ermittlung der energetischen Gebäudenutzfläche und die verschiedenen Nutzungszonen werden aus den Plänen erhoben.", false],
["Die verwendete Heizungsanlage mit den Wärmeübergabekomponenten (Heizkörper, Fußbodenheizung, etc) sowie Energieträger und Kessel werden aus der Baubeschreibung oder aus den Angaben des Bauherren herangezogen.", false],
]}
>
</TextboxCardTemplate>
<p>Sollten Sie den Bedarfsausweis nur für Vermietung und Verkauf benötigen, dann
können Sie den Ausweis bei uns auch online erstellen lassen. Die Eingabedaten
werden dann nach einem vereinfachten Verfahren erhoben. </p>
<h2>Verbrauchsausweis für Gewerbegebäude bei Vermietung oder Verkauf</h2>
<p>
Bei Vermietung oder Verkauf Ihrer Gewerbeimmobilie können Sie den einfacheren
<span>Energieausweis</span> erstellen lassen.
</p>
<div class="border-2 rounded-xl p-6 mb-6">
<h3>Der Verbrauchsausweis für Nichtwohngebäude benötigt als Grundlage:</h3>
<ul class="list-disc list-inside mb-4">
<li>Stromverbrauch und Heizenergieverbrauch des Gebäudes</li>
<li>3 zusammenhängende Jahre der Heizenergie- und Stromabrechnung</li>
</ul>
<p>
Voraussetzung ist, dass die Verbräuche eindeutig zuordenbar sind und während
dieses Zeitraums keine grundlegenden Sanierungsmaßnahmen oder ein
<span>Heizungsaustausch</span> durchgeführt wurden.
</p>
<h3>
Wann ist ein Bedarfsausweis erforderlich?
</h3>
<p>
Wenn die oben genannten Voraussetzungen nicht erfüllt sind, zum Beispiel bei:
</p>
<ul class="list-disc list-inside mb-4">
<li>unvollständigen Verbrauchsabrechnungen (z. B. bei Leerstand)</li>
<li>nicht eindeutig zuordenbaren Verbräuchen</li>
</ul>
<p>
Dann kann alternativ ein <span>Bedarfsausweis für Nichtwohngebäude (Gewerbe)</span>
erstellt werden.
</p>
</div>
<h2>Bedarfsausweis für Nichtwohngebäude bei Neubau, Modernisierung oder Erweiterung</h2>
<p>
In den §§46-51 des <span>GEG</span> sind die Mindestanforderungen für
<span>Änderungen, Erweiterungen und Ausbauten</span> festgelegt. Außerdem wird beschrieben, wann ein Bedarfsausweis erforderlich ist.
</p>
<div class="border-2 rounded-xl p-6 mb-6">
<h3>Wann ist kein Bedarfsausweis erforderlich?</h3>
<ul class="list-disc list-inside mb-4">
<li>Nur einzelne Bauteile wie Dach, Außenwand oder Fenster werden erneuert.</li>
<li>Die Erweiterung der Fläche beträgt weniger als 50 m².</li>
<li>Es reicht ein <span>Bauteilnachweis</span>, sofern die EnEV-Anforderungen erfüllt werden.</li>
</ul>
<h3>Wann ist ein Bedarfsausweis erforderlich?</h3>
<ul class="list-disc list-inside mb-4">
<li>Bei einem <span>Heizungstausch</span> ist immer ein Bedarfsausweis erforderlich.</li>
<li>Wenn der Bauteilnachweis die GEG-Anforderungen nicht erfüllt.</li>
</ul>
<h3>GEG-Nachweis bei Neubauten</h3>
<p>
Bei Neubauten ist ein <span>GEG-Nachweis</span> (früher Wärmeschutznachweis) vor Baubeginn vorgeschrieben. Aus der GEG-Berechnung wird nach Fertigstellung der
<span>Bedarfsausweis für Nichtwohngebäude (Gewerbe)</span> erstellt.
</p>
<p>
In den §§18-19 des GEG sind die spezifischen Anforderungen für Nichtwohngebäude geregelt, die eingehalten werden müssen.
</p>
</div>
<TextboxCardTemplate
TitelName="Folgende Dokumente und Informationen werden für den Bedarfsausweis Gewerbe benötigt:"
BulletPoints={[
["Grundriss- und Ansichtspläne sowie Baubeschreibung.", true],
["Die wärmeübertragenden Umfassngsflächen wie Dach, Außenwand, Fenster,Kellerdecke bzw. Boden werden aus den Plänen ermittelt.", true],
["Auch das Gebäudevolumen zur Ermittlung der energetischen Gebäudenutzfläche und die verschiedenen Nutzungszonen werden aus den Plänen erhoben.", false],
["Die verwendete Heizungsanlage mit den Wärmeübergabekomponenten (Heizkörper,Fußbodenheizung, etc) sowie Energieträger und Kessel werden aus der Baubeschreibung oder aus den Angaben des Bauherren herangezogen.", false],
["Anlagentechnik zu Kühlung und Lüftung der entsprechenden Nutzungszonen müssen definiert sein.", true],
["Die verwendete Beleuchtung der verschiedenen Nutzungszonen wird ebenfalls herangezogen", true],
]}
>
</TextboxCardTemplate>
<p>Sollten Sie den Bedarfsausweis nur für Vermietung und Verkauf benötigen, dann
können Sie den Ausweis bei uns auch online erstellen lassen. Die Eingabedaten
werden dann nach einem vereinfachten Verfahren erhoben.</p>
</Layout>

View File

@@ -0,0 +1,9 @@
---
import WelcherAusweisWidget from "#widgets/WelcherAusweisWidget.svelte";
const { vermittler } = Astro.params;
---
<WelcherAusweisWidget client:load/>

View File

@@ -1,10 +1,10 @@
#formular-box{@apply bg-white;} #formular-box{@apply bg-white;}
.formular-boxen{@apply w-full ring-2 ring-formular-rahmen py-4 px-0 sm:px-2 md:px-4 rounded-lg} .formular-boxen{@apply w-full ml-[2px] ring-2 ring-formular-rahmen py-4 px-0 sm:px-2 md:px-4 rounded-lg}
.formular-abschnitt1{@apply text-[1.25rem] py-[1px] px-[10px] text-secondary/80 bg-black/15 ring-2 ring-black/30 rounded-sm font-bold;} .formular-abschnitt1{@apply text-[1.25rem] py-[1px] px-[10px] ml-[2px] text-secondary/80 bg-black/15 ring-2 ring-black/30 rounded-sm font-bold;}
.formular-abschnitt2{@apply [font-size:_clamp(16px,1vw,28px)] pl-1 justify-self-start .formular-abschnitt2{@apply [font-size:_clamp(16px,1vw,28px)] pl-1 justify-self-start
md:[font-size:_clamp(20px,1.25vw,36px)] md:[font-size:_clamp(20px,1.25vw,36px)]

View File

@@ -44,7 +44,7 @@ body{
.button { .button {
@apply w-full h-[38px] px-4 py-2 bg-secondary ring-2 ring-secondary/25 rounded-none xs:rounded-md text-white text-nowrap @apply w-min h-[38px] px-4 py-2 bg-secondary ring-2 ring-secondary/25 rounded-none xs:rounded-md text-white text-nowrap
hover:bg-gradient-to-br from-secondary to-secondary-grad hover:shadow-lg transition-all hover:no-underline hover:ring-2 hover:ring-primary hover:bg-gradient-to-br from-secondary to-secondary-grad hover:shadow-lg transition-all hover:no-underline hover:ring-2 hover:ring-primary
} }
@@ -69,9 +69,9 @@ input:disabled, input:read-only, select:disabled {
/*ARTICLE*/ /*ARTICLE*/
article { article {
@apply w-full relative bg-white px-0 py-0; @apply w-full relative bg-white px-0 py-0 z-0;
hr {@apply mb-4 mt-4;} hr {@apply mb-4 mt-4 border-primary;}
h1 {@apply text-4xl font-normal mb-2;} h1 {@apply text-4xl font-normal mb-2;}
h2{@apply text-2xl font-normal mb-2;} h2{@apply text-2xl font-normal mb-2;}
@@ -79,13 +79,11 @@ article {
a {@apply text-blue-700 font-medium inline;} a {@apply text-blue-700 font-medium inline;}
p {@apply text-lg font-normal mb-2;} p {@apply text-lg font-normal pl-2 pr-2 mb-4;}
li {@apply text-lg font-normal } li {@apply text-lg font-normal }
ul {@apply inline-block} ul {@apply list-disc list-inside mb-4}
span {@apply text-secondary font-bold;} span {@apply text-secondary font-bold;}
} }

View File

@@ -46,6 +46,7 @@ module.exports = {
boxShadow: { boxShadow: {
'box': '3px 3px 6px rgba(0, 0, 0, 0.1)', 'box': '3px 3px 6px rgba(0, 0, 0, 0.1)',
'saeule': '3px 3px 6px rgba(0, 0, 0, 0.1)', 'saeule': '3px 3px 6px rgba(0, 0, 0, 0.1)',
'skala': '0px 3px 3px rgba(0, 0, 0, 0.1)',
}, },
gridTemplateColumns: { gridTemplateColumns: {