Seite Welcher Energieausweis? fertiggestellt #264

Merged
IB-Cornelsen merged 5 commits from Jens into main 2025-01-01 17:40:08 +00:00
13 changed files with 814 additions and 443 deletions

View File

@@ -44,7 +44,7 @@
"i18next-fs-backend": "^2.3.2",
"i18next-http-backend": "^2.6.2",
"js-cookie": "^3.0.5",
"js-interpolate": "^1.0.1",
"js-interpolate": "^1.1.0",
"katex": "^0.16.11",
"moment": "^2.30.1",
"moment-timezone": "^0.5.46",

View File

@@ -148,7 +148,10 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
</div>
<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>
@@ -185,7 +188,10 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
</select>
<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>
@@ -211,7 +217,8 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
</select>
<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>
@@ -236,33 +243,16 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
<div class="help-label">
<HelpLabel>
<b>Heizöl:</b> Flüssiger Brennstoff; Heizöl wird aus schwer
entflammbaren Anteilen des Erdöls hergestellt.<br /><br />
<b>Erdgas H, Erdgas L:</b> Brennbares Naturgas das in
unterirdischen Lagerstätten vorkommt. Erdgas H hat im
Vergleich zu Erdgas L einen leicht höheren Methangehalt, und
daher einen etwas besseren Brennwert.<br /><br />
<b>Flüssiggas:</b> Meist Propan, Butan und deren Gemische,
die bei Raumtemperatur unter vergleichsweise geringem Druck
flüssig bleiben.<br /><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
/>
<b>Heizöl:</b> Flüssiger fossiler Brennstoff.<br/>
<b>Erdgas:</b> Gasförmiger fossiler Brennstoff.<br/>
<b>Flüssiggas:</b> Wie Erdgas fossiler Brennstoff - im Flüssiggastank gelagert<br/>
<b>Braunkohle:</b> Fester fossiler Brennstoff<br/>
<b>Holz-Pellets:</b> Stäbchenförmige Pellets - erneuerbarer (nachwachsender) Brennstoff<br/>
<b>Holzhackschnitzel:</b>Wie Holz-Pellets<br/>
<b>Fernwärme, Nahwärme:</b> kommunales Wärmenetz - <strong>erfragen Sie
den Primärenergiefaktor bei Ihrem Energieversorger</strong> (meistens mit regenartivem Anteil)<br/>
<b>Strommix:</b> Meist bei Wärmepumpe oder Nachtspeicher.<br/>
<b>Koks:</b> stark kohlenstoffhaltiger fossiler Brennstoff.<br/>
</HelpLabel>
</div>
</div>
@@ -285,10 +275,9 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
<div class="help-label">
<HelpLabel>
Bitte geben Sie die Einheit ein. Erdgas wird meist auf der
Abrechnung in kWh ausgewiesen. Heizöl liegt meistens in
Litern vor. Pellets oder Brennholz in SRm
(Schüttraummetern).
Bitte geben Sie die Einheit ein. Die Liste passt sich entsprechend des ausgeählten Brennstoffes an.
Erdgas wird meist auf der Abrechnung in kWh ausgewiesen. Heizöl liegt meistens in
Litern vor. Pellets oder Brennholz in kg.
</HelpLabel>
</div>
</div>
@@ -407,7 +396,8 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
</div>
<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>
@@ -435,34 +425,16 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
<div class="help-label">
<HelpLabel>
<b>Heizöl:</b> Flüssiger Brennstoff; Heizöl wird aus
schwer entflammbaren Anteilen des Erdöls hergestellt.<br
/><br />
<b>Erdgas H, Erdgas L:</b> Brennbares Naturgas das in
unterirdischen Lagerstätten vorkommt. Erdgas H hat im
Vergleich zu Erdgas L einen leicht höheren Methangehalt,
und daher einen etwas besseren Brennwert.<br /><br />
<b>Flüssiggas:</b> Meist Propan, Butan und deren
Gemische, die bei Raumtemperatur unter vergleichsweise
geringem Druck flüssig bleiben.<br /><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 />
<b>Heizöl:</b> Flüssiger fossiler Brennstoff.<br/>
<b>Erdgas:</b> Gasförmiger fossiler Brennstoff.<br/>
<b>Flüssiggas:</b> Wie Erdgas fossiler Brennstoff - im Flüssiggastank gelagert<br/>
<b>Braunkohle:</b> Fester fossiler Brennstoff<br/>
<b>Holz-Pellets:</b> Stäbchenförmige Pellets - erneuerbarer (nachwachsender) Brennstoff<br/>
<b>Holzhackschnitzel:</b>Wie Holz-Pellets<br/>
<b>Fernwärme, Nahwärme:</b> kommunales Wärmenetz - <strong>erfragen Sie
den Primärenergiefaktor bei Ihrem Energieversorger</strong> (meistens mit regenartivem Anteil)<br/>
<b>Strommix:</b> Meist bei Wärmepumpe oder Nachtspeicher.<br/>
<b>Koks:</b> stark kohlenstoffhaltiger fossiler Brennstoff.<br/>
</HelpLabel>
</div>
</div>
@@ -487,10 +459,9 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
<div class="help-label">
<HelpLabel>
Bitte geben Sie die Einheit ein. Erdgas wird meist auf
der Abrechnung in kWh ausgewiesen. Heizöl liegt meistens
in Litern vor. Pellets oder Brennholz in SRm
(Schüttraummetern).
Bitte geben Sie die Einheit ein. Die Liste passt sich entsprechend des ausgeählten Brennstoffes an.
Erdgas wird meist auf der Abrechnung in kWh ausgewiesen. Heizöl liegt meistens in
Litern vor. Pellets oder Brennholz in kg.
</HelpLabel>
</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

@@ -0,0 +1,126 @@
<script lang="ts">
import { BedarfsausweisWohnenClient, GebaeudeAufnahmeClient } from "#components/Ausweis/types.js";
export let ausweis: BedarfsausweisWohnenClient;
export let gebaeude_aufnahme: GebaeudeAufnahmeClient;
import { berechnungTrinkwarmwasserWaermebedarf } from "#lib/Berechnungen/BedarfsausweisWohnen/BerechnungTrinkwarmwasser.js";
let trinkwasserWaermebedarf = 0, flaechenBezogenerWaermebedarf = 0, bezugsflaeche = 0
$: {
const result = berechnungTrinkwarmwasserWaermebedarf(ausweis, gebaeude_aufnahme)
trinkwasserWaermebedarf = result.trinkwasserWaermebedarf
flaechenBezogenerWaermebedarf = result.flaechenBezogenerWaermebedarf
bezugsflaeche = result.bezugsflaeche
}
</script>
<div class="overflow-x-auto mt-16">
<table class="table-auto border-collapse border border-gray-300 w-full text-sm">
<!-- Tabellenkopf -->
<thead>
<tr class="bg-gray-200 text-left">
<th colspan="3" class="border border-gray-300 p-2">
<h2>Tabelle A.9 Trinkwassererwärmung Berechnung des Wärmebedarfs zur Trinkwassererwärmung</h2>
</th>
</tr>
<tr class="text-center">
<th class="w-1/4 border border-gray-300 p-2">Bezugsfläche <br> A<sub>NGF</sub> [m²] <br> (1)</th>
<th class="w-1/4 border border-gray-300 p-2">Flächenbezogener Wärmebedarf <br> q<sub>w,b</sub> [kWh/(m²·a)] aus Tabell 19<br> (2)</th>
<th class="border border-gray-300 p-2">Trinkwasserwärmebedarf <br> Q<sub>w,b</sub> = A<sub>NGF</sub> ⋅ q<sub>w,b</sub> ⋅ d<sub>mth</sub> / 365 [kWh]<br>(4) = (1) · (2) · (3) / 365</th>
</tr>
<tr class="text-center h-10">
<th class="w-1/4 border border-gray-300 p-2 bg-yellow-100">
<input type="number" bind:value={gebaeude_aufnahme.nutzflaeche}>
</th>
<th class="w-1/4 border border-gray-300 p-2 bg-blue-100">{flaechenBezogenerWaermebedarf}</th>
</tr>
<tr class="text-center">
<th class="w-1/4 border border-gray-300 p-2">Monat</th>
<th class="w-1/4 border border-gray-300 p-2">Tage im Monat<br>d<sub>mth</sub> [d] (3)</th>
</tr>
</thead>
<!-- Tabellenkörper -->
<tbody>
<!-- Monatszeilen -->
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Januar</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center">{Math.round(trinkwasserWaermebedarf / 365 * 31)}</td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Februar</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">28</td>
<td class="border-2 border-gray-600 p-2 text-center">{Math.round(trinkwasserWaermebedarf / 365 * 28)}</td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">März</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center">{Math.round(trinkwasserWaermebedarf / 365 * 31)}</td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">April</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">30</td>
<td class="border-2 border-gray-600 p-2 text-center">{Math.round(trinkwasserWaermebedarf / 365 * 30)}</td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Mai</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center">{Math.round(trinkwasserWaermebedarf / 365 * 31)}</td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Juni</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">30</td>
<td class="border-2 border-gray-600 p-2 text-center">{Math.round(trinkwasserWaermebedarf / 365 * 30)}</td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Juli</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center">{Math.round(trinkwasserWaermebedarf / 365 * 31)}</td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">August</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center">{Math.round(trinkwasserWaermebedarf / 365 * 31)}</td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">September</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">30</td>
<td class="border-2 border-gray-600 p-2 text-center">{Math.round(trinkwasserWaermebedarf / 365 * 30)}</td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Oktober</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center">{Math.round(trinkwasserWaermebedarf / 365 * 31)}</td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">November</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">30</td>
<td class="border-2 border-gray-600 p-2 text-center">{Math.round(trinkwasserWaermebedarf / 365 * 30)}</td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Dezember</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center">{Math.round(trinkwasserWaermebedarf / 365 * 31)}</td>
</tr>
<!-- Summenzeile -->
<tr>
<td colspan="1" class="border border-gray-300 p-2 text-center font-bold">
</td>
<td colspan="1" class="border border-gray-300 p-2 text-center font-bold">
Jahressumme Q<sub>w,b</sub> [kWh/a]
</td>
<td colspan="1" class="border-2 border-gray-600 p-2 text-center font-bold">
{trinkwasserWaermebedarf}
</td>
</tr>
<!-- Fußzeile -->
<tr>
<td colspan="3" class="border border-gray-300 p-2 text-left text-xs">
</td>
</tr>
</tbody>
</table>
</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">
<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 -->
<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>
</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 -->
<div class="nav-element dropdown lg:dropdown-right" on:click={dropdown} on:keydown={dropdown} on:mouseover={hover} on:mouseleave={hoverout}>
{#if innerWidth > 1023}
@@ -136,10 +136,10 @@ if(innerWidth>1024){
</div>
<div class="nav-element">
<a class="no-dropdown nav-element-child" href="/welcher-energieausweis">Welcher Energieausweis?</a>
</div>
<a class="no-dropdown nav-element-child" href="/sanierungsfahrplan-anfragen">Sanierungsfahrplan (iSFP)</a>
</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 -->
<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>
</div>
<div class="nav-element bg-secondary/5 py-1 pl-2 text-xs font-bold">Service</div>
<div class="nav-element">
<a class="no-dropdown nav-element-child" href="/energieausweis-aussteller">Energieberater finden</a>
</div>

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

@@ -0,0 +1,50 @@
import { BedarfsausweisWohnenClient, GebaeudeAufnahmeClient } from "#components/Ausweis/types.js";
import { linearInterpolation } from "js-interpolate"
/**
* Implementierung Tabelle E.7 — Tabelle A.9 - Trinkwassererwärmung - Berechnung des Wärmebedarfs zur Trinkwassererwärmung
*
* @see 18599-Tabellenverfahren-Wohngebaeude.pdf
* @export
* @param {BedarfsausweisWohnenClient} ausweis
* @param {GebaeudeAufnahmeClient} gebaeude_aufnahme
*/
export function berechnungTrinkwarmwasserWaermebedarf(ausweis: BedarfsausweisWohnenClient, gebaeude_aufnahme: GebaeudeAufnahmeClient) {
// A_NGF
const bezugsflaeche = gebaeude_aufnahme.nutzflaeche ?? 0;
const einheiten = gebaeude_aufnahme.einheiten ?? 1;
// A_NGF,WE,m
const flaecheProEinheit = bezugsflaeche / einheiten;
// q_w,b
let flaechenBezogenerWaermebedarf: number;
if (flaecheProEinheit < 10) {
flaechenBezogenerWaermebedarf = 16.5
} else if (flaecheProEinheit < 160) {
flaechenBezogenerWaermebedarf = linearInterpolation([{
x: 10,
y: 16
}, {
x: 150,
y: 9
}], flaecheProEinheit)
} else {
flaechenBezogenerWaermebedarf = 8.5
}
// Q_w,b
// Trinkwasser Wärmebedarf übers gesamte Jahr gerechnet. Falls ein bestimmter Monat gesucht wird kann man einfach (Q_w,b / 365 * d_mth) rechnen.
const trinkwasserWaermebedarf = bezugsflaeche * flaechenBezogenerWaermebedarf;
return {
trinkwasserWaermebedarf,
flaechenBezogenerWaermebedarf,
bezugsflaeche
}
}

View File

@@ -1,34 +0,0 @@
// Funktion zur Berechnung des monatlichen Belastungsgrades aus Tabelle 17,8, (Januar, Zeitkonstante 90)
function monatlicherBelastungsGradT90(
wertZwei: number,
wertEins: number,
maxHeizlast: number,
maxHeizlastEins: number,
maxHeizlastZwei: number
): number {
return (
wertZwei -
((wertZwei - wertEins) * (maxHeizlast - maxHeizlastEins)) /
(maxHeizlastZwei - maxHeizlastEins)
);
}
// Beispielwerte
const wertZwei = 0.541;
const wertEins = 0.548;
const maxHeizlast = 37.86;
const maxHeizlastEins = 25;
const maxHeizlastZwei = 50;
// Berechnung
const monatlicherBelastungsgradT90 = monatlicherBelastungsGradT90(
wertZwei,
wertEins,
maxHeizlast,
maxHeizlastEins,
maxHeizlastZwei
);
console.log("Monatlicher Belastungsgrad T90:", monatlicherBelastungsgradT90);

View File

@@ -3,6 +3,7 @@
import Progressbar from "#components/Ausweis/Progressbar.svelte";
import Hilfe from "#components/Ausweis/Hilfe.svelte";
import Ausweisart from "#components/Ausweis/Ausweisart.svelte";
import GebaeudeDaten from "#components/Ausweis/GebaeudeDaten.svelte";
import Label from "#components/Label.svelte";
import HelpLabel from "#components/HelpLabel.svelte";
import ZipSearch from "#components/PlzSuche.svelte";
@@ -170,6 +171,15 @@
/>
</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 />
<Bereich
bereich="B"

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
können Sie den Ausweis bei uns auch online erstellen lassen. Die Eingabedaten
werden dann nach einem vereinfachten Verfahren erhoben.

View File

@@ -1,6 +1,18 @@
---
import Layout from "#layouts/Layout.astro";
import { berechnungNutzenergiebedarfHeizen } from "#lib/Berechnungen/BedarfsausweisWohnen/BerechnungNutzenergiebedarfHeizen.js"
import A12BerechnungNutzenergiebedarf from "#components/Tabellen/A12BerechnungNutzenergiebedarf.svelte";
import { BedarfsausweisWohnenClient, GebaeudeAufnahmeClient } from "#components/Ausweis/types";
import A1AnlagenBeschreibung from "#components/Tabellen/A1AnlagenBeschreibung.svelte";
import A2Wintergarten from "#components/Tabellen/A2Wintergarten.svelte";
import A5Waermetransferkoeffizienten from "#components/Tabellen/A5Waermetransferkoeffizienten.svelte";
import A9Trinkwassererwaermung from "#components/Tabellen/A9Trinkwassererwaermung.svelte";
import A12NutzenergiebedarfHeizung from "#components/Tabellen/A12NutzenergiebedarfHeizung.svelte";
const gebaeude_aufnahme: GebaeudeAufnahmeClient = { flaeche: 152 }
const ausweis: BedarfsausweisWohnenClient = {};
---
@@ -1341,112 +1353,8 @@ import Layout from "#layouts/Layout.astro";
</table>
</div>
<div class="overflow-x-auto mt-16">
<table class="table-auto border-collapse border border-gray-300 w-full text-sm">
<!-- Tabellenkopf -->
<thead>
<tr class="bg-gray-200 text-left">
<th colspan="3" class="border border-gray-300 p-2">
<h2>Tabelle A.9 Trinkwassererwärmung Berechnung des Wärmebedarfs zur Trinkwassererwärmung</h2>
</th>
</tr>
<tr class="text-center">
<th class="w-1/4 border border-gray-300 p-2">Bezugsfläche <br> A<sub>NGF</sub> [m²] <br> (1)</th>
<th class="w-1/4 border border-gray-300 p-2">Flächenbezogener Wärmebedarf <br> q<sub>w,b</sub> [kWh/(m²·a)] aus Tabell 19<br> (2)</th>
<th class="border border-gray-300 p-2">Trinkwasserwärmebedarf <br> Q<sub>w,b</sub> = A<sub>NGF</sub> ⋅ q<sub>w,b</sub> ⋅ d<sub>mth</sub> / 365 [kWh]<br>(4) = (1) · (2) · (3) / 365</th>
</tr>
<tr class="text-center h-10">
<th class="w-1/4 border border-gray-300 p-2 bg-yellow-100"></th>
<th class="w-1/4 border border-gray-300 p-2 bg-blue-100"></th>
</tr>
<tr class="text-center">
<th class="w-1/4 border border-gray-300 p-2">Monat</th>
<th class="w-1/4 border border-gray-300 p-2">Tage im Monat<br>d<sub>mth</sub> [d] (3)</th>
</tr>
</thead>
<A9Trinkwassererwaermung {ausweis} {gebaeude_aufnahme} client:load></A9Trinkwassererwaermung>
<!-- Tabellenkörper -->
<tbody>
<!-- Monatszeilen -->
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Januar</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Februar</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">28</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">März</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">April</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">30</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Mai</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Juni</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">30</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Juli</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">August</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">September</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">30</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Oktober</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">November</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">30</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<tr>
<td class="w-1/4 border border-gray-300 p-2 text-center">Dezember</td>
<td class="w-1/4 border border-gray-300 p-2 text-center bg-gray-100">31</td>
<td class="border-2 border-gray-600 p-2 text-center"></td>
</tr>
<!-- Summenzeile -->
<tr>
<td colspan="1" class="border border-gray-300 p-2 text-center font-bold">
</td>
<td colspan="1" class="border border-gray-300 p-2 text-center font-bold">
Jahressumme Q<sub>w,b</sub> [kWh/a]
</td>
<td colspan="1" class="border-2 border-gray-600 p-2 text-center font-bold">
</td>
</tr>
<!-- Fußzeile -->
<tr>
<td colspan="3" class="border border-gray-300 p-2 text-left text-xs">
</td>
</tr>
</tbody>
</table>
</div>
<div class="overflow-x-auto mt-16">
<table class="table-auto border-collapse border border-gray-300 w-full text-sm">
<!-- Tabellenkopf -->
@@ -1735,231 +1643,8 @@ import Layout from "#layouts/Layout.astro";
</table>
</div>
<A12NutzenergiebedarfHeizung {ausweis} {gebaeude_aufnahme} client:load></A12NutzenergiebedarfHeizung>
<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 class="text-center">
<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>
<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>Q̇<sub>ges</sub> [W]<br>aus Tabelle A.6 (1)</th>
<th colspan="8" class="border border-gray-300 p-2"></th>
<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>
<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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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"></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>
<div class="overflow-x-auto mt-16">
<table class="table-auto border-collapse border border-gray-300 w-full text-left">
<thead>

View File

@@ -10,8 +10,8 @@ import TextboxCardTemplate from "#components/design/content/TextboxCardTemplate.
<Layout title="Energieausweis online erstellen - Online Energieausweis">
<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> -
wir erstellen den passenden <span>Energieausweis</span> oder <span>GEG-Nachweis</span> für Ihr Objekt.
<p>Ob für Vermietung, Verkauf, Modernisierung, Neubau oder zur Vorlage bei Ihrer Bank -
wir erstellen den passenden Energieausweis oder GEG-Nachweis für Ihr Objekt.
Mit <span>18 Jahren Erfahrung</span> sind wir der richtige Ansprechpartner
für Hauseigentümer, Bauherren, Makler und Verwalter.</p>
<br>

View File

@@ -0,0 +1,166 @@
---
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>
<br>
<h2>Machen Sie hier den Online Check, welcher Energieausweis der richtige ist:</h2>
<WelcherAusweisWidget client:load/>
<br>
<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">
<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>
<br>
<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">
<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>
<br>
<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>
<br>
<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>
<br>
<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">
<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 class=" mb-4">
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>
<br>
<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">
<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>
<br>
<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>
<br>
<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>