Berechnung Bedarfsausweis
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
|
||||
export let ausweis: Verbrauchsausweis;
|
||||
|
||||
import UploadImages from "../UploadImages.svelte";
|
||||
import ImageGrid from "../ImageGrid.svelte";
|
||||
|
||||
let images: (File & { data: string })[] = [];
|
||||
</script>
|
||||
@@ -25,22 +25,7 @@
|
||||
<hr class="trenner_form_100" />
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col gap-4">
|
||||
<UploadImages max={1} bind:images></UploadImages>
|
||||
<div class="grid grid-cols-2 gap-2">
|
||||
{#each images as image, i}
|
||||
<div class="relative group">
|
||||
<img src={image.data} alt={image.name} class="h-full rounded-lg border-2 group-hover:contrast-50 object-cover transition-all">
|
||||
<button type="button" class="invisible group-hover:visible absolute left-[50%] top-[50%] translate-x-[-50%] translate-y-[-50%] rounded-full w-[30px] h-[30px] p-2 bg-[rgba(0,0,0,0.4)]" on:click={() => {
|
||||
delete images[i]
|
||||
images = images.filter(x => x);
|
||||
}}>
|
||||
R
|
||||
</button>
|
||||
</div>
|
||||
{/each}
|
||||
</div>
|
||||
</div>
|
||||
<ImageGrid max={1} bind:images></ImageGrid>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
<script lang="ts">
|
||||
import { Bedarfsausweis } from "src/lib/Ausweis/Bedarfsausweis";
|
||||
import { Verbrauchsausweis } from "src/lib/Ausweis/Verbrauchsausweis";
|
||||
import { VerbrauchsausweisGewerbe } from "src/lib/Ausweis/VerbrauchsausweisGewerbe";
|
||||
import HelpLabel from "~/components/HelpLabel.svelte";
|
||||
|
||||
export let baujahrGebaeude: number;
|
||||
export let apartmentCount: number;
|
||||
export let certificateReason: "Vermietung" | "Neubau" | "Verkauf" | "Modernisierung" | "Sonstiges";
|
||||
export let sanitationStatus: boolean;
|
||||
export let baujahrHeizungsAnlage: number;
|
||||
export let ausweis: Verbrauchsausweis | Bedarfsausweis | VerbrauchsausweisGewerbe;
|
||||
</script>
|
||||
|
||||
<div class="GRB">
|
||||
<!-- Anlass für Energieausweis -->
|
||||
<div class="flex flex-col">
|
||||
<label class="control-label CHECK"
|
||||
<span
|
||||
>Anlass für Energieausweis *
|
||||
</label>
|
||||
</span>
|
||||
<div
|
||||
class="grid grid-cols-2 gap-x-2 items-center lg:grid-cols-3"
|
||||
>
|
||||
@@ -22,7 +21,7 @@
|
||||
type="radio"
|
||||
value="Neubau"
|
||||
name="IGanlass"
|
||||
bind:group={certificateReason}
|
||||
bind:group={ausweis.ausstellgrund}
|
||||
/>Neubau</label
|
||||
>
|
||||
<label class="radio-inline"
|
||||
@@ -31,7 +30,7 @@
|
||||
value="Vermietung"
|
||||
checked
|
||||
name="IGanlass"
|
||||
bind:group={certificateReason}
|
||||
bind:group={ausweis.ausstellgrund}
|
||||
/>Vermietung</label
|
||||
>
|
||||
<label class="radio-inline"
|
||||
@@ -39,7 +38,7 @@
|
||||
type="radio"
|
||||
value="Verkauf"
|
||||
name="IGanlass"
|
||||
bind:group={certificateReason}
|
||||
bind:group={ausweis.ausstellgrund}
|
||||
/>Verkauf</label
|
||||
>
|
||||
<label class="radio-inline"
|
||||
@@ -47,7 +46,7 @@
|
||||
type="radio"
|
||||
value="Modernisierung"
|
||||
name="IGanlass"
|
||||
bind:group={certificateReason}
|
||||
bind:group={ausweis.ausstellgrund}
|
||||
/>Modernisierung</label
|
||||
>
|
||||
<label class="radio-inline"
|
||||
@@ -55,7 +54,7 @@
|
||||
type="radio"
|
||||
value="Sonstiges"
|
||||
name="IGanlass"
|
||||
bind:group={certificateReason}
|
||||
bind:group={ausweis.ausstellgrund}
|
||||
/>Sonstiges</label
|
||||
>
|
||||
</div>
|
||||
@@ -75,7 +74,7 @@
|
||||
name="IGheizung"
|
||||
type="number"
|
||||
required
|
||||
bind:value={baujahrHeizungsAnlage}
|
||||
bind:value={ausweis.baujahr_anlage}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -97,7 +96,7 @@
|
||||
type="number"
|
||||
required
|
||||
autocomplete="off"
|
||||
bind:value={baujahrGebaeude}
|
||||
bind:value={ausweis.baujahr_gebaeude}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -118,7 +117,7 @@
|
||||
required
|
||||
autocomplete="off"
|
||||
data-msg="Pflichtfeld"
|
||||
bind:value={apartmentCount}
|
||||
bind:value={ausweis.anzahl_einheiten}
|
||||
maxlength="3"
|
||||
/>
|
||||
</div>
|
||||
@@ -140,7 +139,7 @@
|
||||
name="IGsan"
|
||||
class="form-control"
|
||||
required
|
||||
bind:value={sanitationStatus}
|
||||
bind:value={ausweis.objekt_saniert}
|
||||
>
|
||||
<option disabled>Bitte auswählen</option>
|
||||
<option value={true}
|
||||
|
||||
352
src/components/Ausweis/BilderZusatzsysteme.svelte
Normal file
352
src/components/Ausweis/BilderZusatzsysteme.svelte
Normal file
@@ -0,0 +1,352 @@
|
||||
<script lang="ts">
|
||||
import { Bedarfsausweis } from "src/lib/Ausweis/Bedarfsausweis";
|
||||
import { Verbrauchsausweis } from "src/lib/Ausweis/Verbrauchsausweis";
|
||||
import HelpLabel from "../HelpLabel.svelte";
|
||||
import HeizungImage from "./HeizungImage.svelte";
|
||||
import AusweisPreviewContainer from "./AusweisPreviewContainer.svelte";
|
||||
import DaemmungImage from "./DaemmungImage.svelte";
|
||||
import FensterImage from "./FensterImage.svelte";
|
||||
import Label from "../Label.svelte";
|
||||
import { VerbrauchsausweisGewerbe } from "src/lib/Ausweis/VerbrauchsausweisGewerbe";
|
||||
|
||||
export let ausweis: Verbrauchsausweis | Bedarfsausweis | VerbrauchsausweisGewerbe;
|
||||
</script>
|
||||
|
||||
|
||||
<div class="GRB3">
|
||||
<HelpLabel title="Heizungsanlage (bitte zutreffendes ankreuzen) *">
|
||||
Wir benötigen diese Angaben um den allgemeinen Modernisierungsstand
|
||||
einschätzen zu können. Bitte setzen Sie den Haken wenn zutreffend. Das
|
||||
seit Mai 2021 gültige GEG erfordert eine genauere Prüfung anhand von
|
||||
Fotos. Bitte laden Sie ein oder mehrere Fotos der Heizungsanlage bzw.
|
||||
des Heizungsraums hoch.
|
||||
</HelpLabel>
|
||||
<hr />
|
||||
|
||||
<div class="grid grid-cols-4">
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage1"
|
||||
bind:checked={ausweis.versorgungssysteme[0]}
|
||||
value="ZH"
|
||||
/>Zentral/Etage</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage2"
|
||||
bind:checked={ausweis.versorgungssysteme[1]}
|
||||
value="EO"
|
||||
/>Einzelöfen</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage3"
|
||||
bind:checked={ausweis.versorgungssysteme[2]}
|
||||
value="DH"
|
||||
/>Durchlauferhitzer</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage4"
|
||||
bind:checked={ausweis.versorgungssysteme[3]}
|
||||
value="SK"
|
||||
/>Standardkessel</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage5"
|
||||
bind:checked={ausweis.versorgungssysteme[4]}
|
||||
value="SSWW"
|
||||
/>Solarsystem für Warmwasser</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage6"
|
||||
bind:checked={ausweis.versorgungssysteme[5]}
|
||||
value="WP"
|
||||
/>Wärmepumpe</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage7"
|
||||
bind:checked={ausweis.versorgungssysteme[6]}
|
||||
value="NK"
|
||||
/>Niedertemperaturkessel</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage8"
|
||||
bind:checked={ausweis.versorgungssysteme[7]}
|
||||
value="BWK"
|
||||
/>Brennwertkessel</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage9"
|
||||
bind:checked={ausweis.versorgungssysteme[8]}
|
||||
value="WRGD"
|
||||
/>Warmwasserrohre gedämmt</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage10"
|
||||
bind:checked={ausweis.versorgungssysteme[9]}
|
||||
value="HRGD"
|
||||
/>Heizungsrohre gedämmt</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage11"
|
||||
bind:checked={ausweis.versorgungssysteme[10]}
|
||||
value="ZK"
|
||||
/>Zirkulation</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage12"
|
||||
bind:checked={ausweis.versorgungssysteme[11]}
|
||||
value="RTR"
|
||||
/>Raumtemperaturregler</label
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<HeizungImage />
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="GRB3">
|
||||
<HelpLabel
|
||||
title="Fenster/Dachfenster/Türen (bitte zutreffendes ankreuzen):*"
|
||||
>
|
||||
Wir benötigen diese Angaben um den allgemeinen Modernisierungsstand
|
||||
einschätzen zu können. Bitte setzen Sie den Haken wenn zutreffend.
|
||||
</HelpLabel>
|
||||
<hr />
|
||||
|
||||
<div class="grid grid-cols-4">
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach1"
|
||||
bind:checked={ausweis.fenster_dach[0]}
|
||||
value="EG"
|
||||
/>Einfachglas</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach2"
|
||||
bind:checked={ausweis.fenster_dach[1]}
|
||||
value="DF"
|
||||
/>Doppelverglasung</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach3"
|
||||
bind:checked={ausweis.fenster_dach[2]}
|
||||
value="IVG"
|
||||
/>Isolierverglasung</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach4"
|
||||
bind:checked={ausweis.fenster_dach[3]}
|
||||
value="PHF"
|
||||
/>Dreifachverglasung</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach5"
|
||||
bind:checked={ausweis.fenster_dach[4]}
|
||||
value="FD"
|
||||
/>Alle Fenster dicht</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach6"
|
||||
bind:checked={ausweis.fenster_dach[5]}
|
||||
value="FTUD"
|
||||
/>Fenster teilweise undicht</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach7"
|
||||
bind:checked={ausweis.fenster_dach[6]}
|
||||
value="TD"
|
||||
/>Alle Türen dicht</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach8"
|
||||
bind:checked={ausweis.fenster_dach[7]}
|
||||
value="TUD"
|
||||
/>Türen teilweise undicht</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach9"
|
||||
bind:checked={ausweis.fenster_dach[8]}
|
||||
value="RKD"
|
||||
/>Rollladenkästen gedämmt, luftdicht</label
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<FensterImage />
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="GRB3">
|
||||
<div class="form-group col-md-12">
|
||||
<HelpLabel title="Wärmedämmung (bitte zutreffendes ankreuzen) *">
|
||||
Wir benötigen diese Angaben um den allgemeinen Modernisierungsstand
|
||||
einschätzen zu können. Bitte setzen Sie den Haken wenn zutreffend.
|
||||
Das seit Mai 2021 gültige GEG erfordert eine genauere Prüfung anhand
|
||||
von Fotos. Bitte laden Sie ein oder mehrere Fotos der Außenwand und
|
||||
des Dachbereiches hoch.
|
||||
</HelpLabel>
|
||||
<hr />
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-4">
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGwaermedaemmung1"
|
||||
bind:checked={ausweis.daemmung[0]}
|
||||
value="AWD"
|
||||
/>Außenwand gedämmt</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGwaermedaemmung2"
|
||||
bind:checked={ausweis.daemmung[1]}
|
||||
value="KWD"
|
||||
/>Kelleraußenwand gedämmt</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGwaermedaemmung3"
|
||||
bind:checked={ausweis.daemmung[2]}
|
||||
value="KDD"
|
||||
/>Kellerdecke gedämmt</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGwaermedaemmung4"
|
||||
bind:checked={ausweis.daemmung[3]}
|
||||
value="DGD"
|
||||
/>Dachgeschoss gedämmt</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGwaermedaemmung5"
|
||||
bind:checked={ausweis.daemmung[4]}
|
||||
value="OGDDW"
|
||||
/>Oberste Geschossdecke gedämmt</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-6 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGwaermedaemmung6"
|
||||
bind:checked={ausweis.daemmung[5]}
|
||||
value="OGDD"
|
||||
/>Oberste Geschossdecke min. 12cm gedämmt</label
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<DaemmungImage />
|
||||
|
||||
<hr />
|
||||
|
||||
<Label
|
||||
>H - Hier können Sie ein Gebäudebild hochladen und sich Ihren Energieausweis
|
||||
als PDF anschauen</Label
|
||||
>
|
||||
|
||||
<AusweisPreviewContainer {ausweis} />
|
||||
@@ -1,5 +1,5 @@
|
||||
<script lang="ts">
|
||||
import UploadImages from "../UploadImages.svelte";
|
||||
import ImageGrid from "../ImageGrid.svelte";;
|
||||
|
||||
let images: (File & { data: string })[] = [];
|
||||
</script>
|
||||
@@ -54,21 +54,6 @@
|
||||
Energieausweis!<br />
|
||||
<strong>Bitte laden Sie hier mind. 2 Bilder hoch:</strong>
|
||||
</p>
|
||||
<div class="flex flex-col gap-4">
|
||||
<UploadImages max={4} bind:images></UploadImages>
|
||||
<div class="grid grid-cols-2 gap-2">
|
||||
{#each images as image, i}
|
||||
<div class="relative group">
|
||||
<img src={image.data} alt={image.name} class="h-full rounded-lg border-2 group-hover:contrast-50 object-cover transition-all">
|
||||
<button type="button" class="invisible group-hover:visible absolute left-[50%] top-[50%] translate-x-[-50%] translate-y-[-50%] rounded-full w-[30px] h-[30px] p-2 bg-[rgba(0,0,0,0.4)]" on:click={() => {
|
||||
delete images[i]
|
||||
images = images.filter(x => x);
|
||||
}}>
|
||||
R
|
||||
</button>
|
||||
</div>
|
||||
{/each}
|
||||
</div>
|
||||
</div>
|
||||
<ImageGrid max={4} bind:images></ImageGrid>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<script lang="ts">
|
||||
import UploadImages from "../UploadImages.svelte";
|
||||
import ImageGrid from "../ImageGrid.svelte";
|
||||
|
||||
let images: (File & { data: string })[] = [];
|
||||
</script>
|
||||
@@ -51,21 +51,6 @@
|
||||
Energieausweis!<br />
|
||||
<strong>Bitte laden Sie hier mind. 1 Bild hoch:</strong>
|
||||
</p>
|
||||
<div class="flex flex-col gap-4">
|
||||
<UploadImages max={4} bind:images></UploadImages>
|
||||
<div class="grid grid-cols-2 gap-2">
|
||||
{#each images as image, i}
|
||||
<div class="relative group">
|
||||
<img src={image.data} alt={image.name} class="h-full rounded-lg border-2 group-hover:contrast-50 object-cover transition-all">
|
||||
<button type="button" class="invisible group-hover:visible absolute left-[50%] top-[50%] translate-x-[-50%] translate-y-[-50%] rounded-full w-[30px] h-[30px] p-2 bg-[rgba(0,0,0,0.4)]" on:click={() => {
|
||||
delete images[i]
|
||||
images = images.filter(x => x);
|
||||
}}>
|
||||
R
|
||||
</button>
|
||||
</div>
|
||||
{/each}
|
||||
</div>
|
||||
</div>
|
||||
<ImageGrid max={4} bind:images></ImageGrid>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<script lang="ts">
|
||||
import UploadImages from "../UploadImages.svelte";
|
||||
|
||||
import ImageGrid from "../ImageGrid.svelte";
|
||||
let images: (File & { data: string })[] = [];
|
||||
</script>
|
||||
|
||||
<div class="grid grid-cols-2 gap-4">
|
||||
<div class="rounded-lg border-4 p-4 bg-white">
|
||||
<input type="file" class="image_upload" multiple />
|
||||
@@ -53,25 +53,10 @@
|
||||
|
||||
<div class="rounded-lg border-4 p-4 bg-white">
|
||||
<p>
|
||||
Diese Bilder erscheinen <span class="text-red-500">nicht</span> auf Ihrem
|
||||
Energieausweis!<br />
|
||||
Diese Bilder erscheinen <span class="text-red-500">nicht</span> auf
|
||||
Ihrem Energieausweis!<br />
|
||||
<strong>Bitte laden Sie hier mind. 1 Bild hoch:</strong>
|
||||
</p>
|
||||
<div class="flex flex-col gap-4">
|
||||
<UploadImages max={4} bind:images></UploadImages>
|
||||
<div class="grid grid-cols-2 gap-2">
|
||||
{#each images as image, i}
|
||||
<div class="relative group">
|
||||
<img src={image.data} alt={image.name} class="h-full rounded-lg border-2 group-hover:contrast-50 object-cover transition-all">
|
||||
<button type="button" class="invisible group-hover:visible absolute left-[50%] top-[50%] translate-x-[-50%] translate-y-[-50%] rounded-full w-[30px] h-[30px] p-2 bg-[rgba(0,0,0,0.4)]" on:click={() => {
|
||||
delete images[i]
|
||||
images = images.filter(x => x);
|
||||
}}>
|
||||
R
|
||||
</button>
|
||||
</div>
|
||||
{/each}
|
||||
</div>
|
||||
</div>
|
||||
<ImageGrid max={4} bind:images />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
<script lang="ts">
|
||||
import { Bedarfsausweis } from "src/lib/Ausweis/Bedarfsausweis";
|
||||
import { Verbrauchsausweis } from "src/lib/Ausweis/Verbrauchsausweis";
|
||||
import { VerbrauchsausweisGewerbe } from "src/lib/Ausweis/VerbrauchsausweisGewerbe";
|
||||
|
||||
export let ausweis: Verbrauchsausweis;
|
||||
export let ausweis: Verbrauchsausweis | VerbrauchsausweisGewerbe | Bedarfsausweis;
|
||||
|
||||
let maxPerformance = 250;
|
||||
|
||||
@@ -40,8 +42,8 @@
|
||||
(async () => {
|
||||
const endEnergieVerbrauch = (await ausweis.end_energie_verbrauch);
|
||||
const primaerEnergieVerbrauch = (await ausweis.primaer_energie_verbrauch);
|
||||
translation_1 = Math.min(100, endEnergieVerbrauch / maxPerformance * 100)
|
||||
translation_2 = Math.min(100, primaerEnergieVerbrauch / maxPerformance * 100)
|
||||
translation_1 = Math.max(0, Math.min(100, endEnergieVerbrauch / maxPerformance * 100))
|
||||
translation_2 = Math.max(0, Math.min(100, primaerEnergieVerbrauch / maxPerformance * 100))
|
||||
})()
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
31
src/components/ImageGrid.svelte
Normal file
31
src/components/ImageGrid.svelte
Normal file
@@ -0,0 +1,31 @@
|
||||
<script lang="ts">
|
||||
import UploadImages from "./UploadImages.svelte";
|
||||
|
||||
export let images: (File & { data: string })[] = [];
|
||||
export let max: number = 4;
|
||||
</script>
|
||||
|
||||
<div class="flex flex-col gap-4">
|
||||
<UploadImages {max} bind:images />
|
||||
<div class="grid grid-cols-2 gap-2">
|
||||
{#each images as image, i}
|
||||
<div class="relative group">
|
||||
<img
|
||||
src={image.data}
|
||||
alt={image.name}
|
||||
class="h-full rounded-lg border-2 group-hover:contrast-50 object-cover transition-all"
|
||||
/>
|
||||
<button
|
||||
type="button"
|
||||
class="invisible group-hover:visible absolute left-[50%] top-[50%] translate-x-[-50%] translate-y-[-50%] rounded-full w-[30px] h-[30px] p-2 bg-[rgba(0,0,0,0.4)]"
|
||||
on:click={() => {
|
||||
delete images[i];
|
||||
images = images.filter((x) => x);
|
||||
}}
|
||||
>
|
||||
R
|
||||
</button>
|
||||
</div>
|
||||
{/each}
|
||||
</div>
|
||||
</div>
|
||||
@@ -37,16 +37,38 @@
|
||||
if (!reader.result) {
|
||||
return;
|
||||
}
|
||||
|
||||
images.push({ ...file, data: reader.result as string } as (File & { data: string }));
|
||||
images = images;
|
||||
|
||||
if (i == (Math.min(files.length, max) - 1)) {
|
||||
this.value = "";
|
||||
let blob = new Blob([reader.result as ArrayBuffer]);
|
||||
let url = URL.createObjectURL(blob);
|
||||
let image = new Image();
|
||||
image.onload = () => {
|
||||
// Create a new canvas with the desired output size
|
||||
const canvas = document.createElement("canvas");
|
||||
canvas.width = image.naturalWidth;
|
||||
canvas.height = image.naturalHeight;
|
||||
|
||||
// Scale down the image and draw it onto the canvas
|
||||
const ctx = canvas.getContext("2d");
|
||||
if (!ctx) {
|
||||
return;
|
||||
}
|
||||
ctx.drawImage(image, 0, 0, image.naturalWidth, image.naturalHeight);
|
||||
|
||||
// Get the scaled-down data from the canvas in the desired output format and quality
|
||||
const dataURL = canvas.toDataURL("image/jpeg", 0.75);
|
||||
|
||||
images.push({ ...file, data: dataURL as string } as (File & { data: string }));
|
||||
images = images;
|
||||
|
||||
if (i == (Math.min(files.length, max) - 1)) {
|
||||
this.value = "";
|
||||
}
|
||||
}
|
||||
|
||||
image.src = url;
|
||||
}
|
||||
|
||||
reader.readAsDataURL(file);
|
||||
reader.readAsArrayBuffer(file);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -55,4 +77,4 @@
|
||||
<input type="file" multiple on:change={getAllImages} />
|
||||
{:else}
|
||||
<input type="file" on:change={getAllImages} />
|
||||
{/if}
|
||||
{/if}
|
||||
@@ -6,19 +6,13 @@
|
||||
import Verbrauch from "~/components/Ausweis/Verbrauch.svelte";
|
||||
import Label from "~/components/Label.svelte";
|
||||
import Ausweisart from "~/components/Ausweis/Ausweisart.svelte";
|
||||
import HeizungImage from "~/components/Ausweis/HeizungImage.svelte";
|
||||
import FensterImage from "~/components/Ausweis/FensterImage.svelte";
|
||||
import DaemmungImage from "~/components/Ausweis/DaemmungImage.svelte";
|
||||
import AusweisPreviewContainer from "~/components/Ausweis/AusweisPreviewContainer.svelte";
|
||||
import ZipSearch from "../ZIPSearch.svelte";
|
||||
import { Verbrauchsausweis } from "src/lib/Ausweis/Verbrauchsausweis";
|
||||
import moment from "moment";
|
||||
import BilderZusatzsysteme from "../Ausweis/BilderZusatzsysteme.svelte";
|
||||
|
||||
let ausweis = new Verbrauchsausweis();
|
||||
|
||||
console.log(ausweis);
|
||||
|
||||
|
||||
let needsRequirementCertificate: boolean = false;
|
||||
|
||||
$: needsRequirementCertificate =
|
||||
@@ -42,8 +36,8 @@
|
||||
ausweis.energieverbrauch_3_heizquelle_1 = 16000;
|
||||
ausweis.wohnflaeche = 152;
|
||||
ausweis.keller_beheizt = true;
|
||||
ausweis.energietraeger_1 = "Erdgas H"
|
||||
ausweis.energietraeger_einheit_heizquelle_1 = "kWh"
|
||||
ausweis.energietraeger_1 = "Erdgas H";
|
||||
ausweis.energietraeger_einheit_heizquelle_1 = "kWh";
|
||||
ausweis.warmwasser_enthalten = true;
|
||||
ausweis.anteil_warmwasser_1 = 18;
|
||||
ausweis.energieverbrauch_zeitraum = moment("12.01.2019");
|
||||
@@ -59,9 +53,7 @@
|
||||
<Progressbar progress={0} />
|
||||
</div>
|
||||
|
||||
<PerformanceScore
|
||||
bind:ausweis={ausweis}
|
||||
/>
|
||||
<PerformanceScore bind:ausweis />
|
||||
</div>
|
||||
|
||||
<form method="post" action="/verbrauchsausweis/erstellen">
|
||||
@@ -72,25 +64,19 @@
|
||||
<a class="button" href="/speichern">Später Weitermachen</a>
|
||||
<div class="flex gap-4">
|
||||
<Hilfe />
|
||||
<button on:click={automatischAusfüllen} type="button" class="button"
|
||||
>Automatisch Ausfüllen</button
|
||||
<button
|
||||
on:click={automatischAusfüllen}
|
||||
type="button"
|
||||
class="button">Automatisch Ausfüllen</button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="form-group col-md-12">
|
||||
<Label>A - Prüfung der Ausweisart</Label>
|
||||
</div>
|
||||
<Label>A - Prüfung der Ausweisart</Label>
|
||||
|
||||
<Ausweisart
|
||||
bind:baujahrGebaeude={ausweis.baujahr_gebaeude}
|
||||
bind:apartmentCount={ausweis.anzahl_einheiten}
|
||||
bind:certificateReason={ausweis.ausstellgrund}
|
||||
bind:sanitationStatus={ausweis.objekt_saniert}
|
||||
bind:baujahrHeizungsAnlage={ausweis.baujahr_anlage}
|
||||
/>
|
||||
<Ausweisart bind:ausweis />
|
||||
|
||||
<div
|
||||
class="flex flex-col p-4"
|
||||
@@ -116,12 +102,10 @@
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="form-group col-md-12">
|
||||
<Label
|
||||
>B - Eingabe der Gebäudeadresse - Angaben zu Wohnfläche,
|
||||
Kellerund Dachgeschoss</Label
|
||||
>
|
||||
</div>
|
||||
<Label
|
||||
>B - Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Kellerund
|
||||
Dachgeschoss</Label
|
||||
>
|
||||
|
||||
<div class="GRB">
|
||||
<!-- Strasse -->
|
||||
@@ -223,24 +207,18 @@
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="form-group col-md-12">
|
||||
<Label>C - Eingabe von 3 zusammenhängenden Verbrauchsjahren</Label>
|
||||
</div>
|
||||
<Label>C - Eingabe von 3 zusammenhängenden Verbrauchsjahren</Label>
|
||||
|
||||
<div class="GRB">
|
||||
<Verbrauch
|
||||
bind:ausweis={ausweis}
|
||||
/>
|
||||
<Verbrauch bind:ausweis />
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="form-group col-md-12">
|
||||
<Label
|
||||
>D - Eingabe Warmwasseranteil und Verwendung von alternativen
|
||||
Energieversorgungssystemen</Label
|
||||
>
|
||||
</div>
|
||||
<Label
|
||||
>D - Eingabe Warmwasseranteil und Verwendung von alternativen
|
||||
Energieversorgungssystemen</Label
|
||||
>
|
||||
|
||||
<div class="GRB">
|
||||
<!-- Anteil WW enthalten -->
|
||||
@@ -286,7 +264,8 @@
|
||||
type="number"
|
||||
autocomplete="off"
|
||||
bind:value={ausweis.anteil_warmwasser_2}
|
||||
disabled={!ausweis.zusaetzliche_heizquelle || !ausweis.warmwasser_enthalten}
|
||||
disabled={!ausweis.zusaetzliche_heizquelle ||
|
||||
!ausweis.warmwasser_enthalten}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -338,12 +317,10 @@
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="form-group col-md-12">
|
||||
<Label
|
||||
>E - Eingabe von Gebäudetyp, Gebäudeteil, Lüftung, Kühlung und
|
||||
Leerstand</Label
|
||||
>
|
||||
</div>
|
||||
<Label
|
||||
>E - Eingabe von Gebäudetyp, Gebäudeteil, Lüftung, Kühlung und
|
||||
Leerstand</Label
|
||||
>
|
||||
|
||||
<div class="GRB">
|
||||
<!-- Gebäudetyp -->
|
||||
@@ -475,355 +452,12 @@
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="form-group col-md-12">
|
||||
<Label
|
||||
>F - Bitte prüfen Sie hier die Angaben zum Sanierungszustand des
|
||||
Gebäudes</Label
|
||||
>
|
||||
</div>
|
||||
|
||||
<div class="GRB3">
|
||||
<HelpLabel title="Heizungsanlage (bitte zutreffendes ankreuzen) *">
|
||||
Wir benötigen diese Angaben um den allgemeinen
|
||||
Modernisierungsstand einschätzen zu können. Bitte setzen Sie den
|
||||
Haken wenn zutreffend. Das seit Mai 2021 gültige GEG erfordert
|
||||
eine genauere Prüfung anhand von Fotos. Bitte laden Sie ein oder
|
||||
mehrere Fotos der Heizungsanlage bzw. des Heizungsraums hoch.
|
||||
</HelpLabel>
|
||||
<hr />
|
||||
|
||||
<div class="grid grid-cols-4">
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage1"
|
||||
bind:checked={ausweis.versorgungssysteme[0]}
|
||||
value="ZH"
|
||||
/>Zentral/Etage</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage2"
|
||||
bind:checked={ausweis.versorgungssysteme[1]}
|
||||
value="EO"
|
||||
/>Einzelöfen</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage3"
|
||||
bind:checked={ausweis.versorgungssysteme[2]}
|
||||
value="DH"
|
||||
/>Durchlauferhitzer</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage4"
|
||||
bind:checked={ausweis.versorgungssysteme[3]}
|
||||
value="SK"
|
||||
/>Standardkessel</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage5"
|
||||
bind:checked={ausweis.versorgungssysteme[4]}
|
||||
value="SSWW"
|
||||
/>Solarsystem für Warmwasser</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage6"
|
||||
bind:checked={ausweis.versorgungssysteme[5]}
|
||||
value="WP"
|
||||
/>Wärmepumpe</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage7"
|
||||
bind:checked={ausweis.versorgungssysteme[6]}
|
||||
value="NK"
|
||||
/>Niedertemperaturkessel</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage8"
|
||||
bind:checked={ausweis.versorgungssysteme[7]}
|
||||
value="BWK"
|
||||
/>Brennwertkessel</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage9"
|
||||
bind:checked={ausweis.versorgungssysteme[8]}
|
||||
value="WRGD"
|
||||
/>Warmwasserrohre gedämmt</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage10"
|
||||
bind:checked={ausweis.versorgungssysteme[9]}
|
||||
value="HRGD"
|
||||
/>Heizungsrohre gedämmt</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage11"
|
||||
bind:checked={ausweis.versorgungssysteme[10]}
|
||||
value="ZK"
|
||||
/>Zirkulation</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage12"
|
||||
bind:checked={ausweis.versorgungssysteme[11]}
|
||||
value="RTR"
|
||||
/>Raumtemperaturregler</label
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<HeizungImage />
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="GRB3">
|
||||
<HelpLabel
|
||||
title="Fenster/Dachfenster/Türen (bitte zutreffendes ankreuzen):*"
|
||||
>
|
||||
Wir benötigen diese Angaben um den allgemeinen
|
||||
Modernisierungsstand einschätzen zu können. Bitte setzen Sie den
|
||||
Haken wenn zutreffend.
|
||||
</HelpLabel>
|
||||
<hr />
|
||||
|
||||
<div class="grid grid-cols-4">
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach1"
|
||||
bind:checked={ausweis.fenster_dach[0]}
|
||||
value="EG"
|
||||
/>Einfachglas</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach2"
|
||||
bind:checked={ausweis.fenster_dach[1]}
|
||||
value="DF"
|
||||
/>Doppelverglasung</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach3"
|
||||
bind:checked={ausweis.fenster_dach[2]}
|
||||
value="IVG"
|
||||
/>Isolierverglasung</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach4"
|
||||
bind:checked={ausweis.fenster_dach[3]}
|
||||
value="PHF"
|
||||
/>Dreifachverglasung</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach5"
|
||||
bind:checked={ausweis.fenster_dach[4]}
|
||||
value="FD"
|
||||
/>Alle Fenster dicht</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach6"
|
||||
bind:checked={ausweis.fenster_dach[5]}
|
||||
value="FTUD"
|
||||
/>Fenster teilweise undicht</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach7"
|
||||
bind:checked={ausweis.fenster_dach[6]}
|
||||
value="TD"
|
||||
/>Alle Türen dicht</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach8"
|
||||
bind:checked={ausweis.fenster_dach[7]}
|
||||
value="TUD"
|
||||
/>Türen teilweise undicht</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach9"
|
||||
bind:checked={ausweis.fenster_dach[8]}
|
||||
value="RKD"
|
||||
/>Rollladenkästen gedämmt, luftdicht</label
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<FensterImage />
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="GRB3">
|
||||
<div class="form-group col-md-12">
|
||||
<HelpLabel
|
||||
title="Wärmedämmung (bitte zutreffendes ankreuzen) *"
|
||||
>
|
||||
Wir benötigen diese Angaben um den allgemeinen
|
||||
Modernisierungsstand einschätzen zu können. Bitte setzen Sie
|
||||
den Haken wenn zutreffend. Das seit Mai 2021 gültige GEG
|
||||
erfordert eine genauere Prüfung anhand von Fotos. Bitte
|
||||
laden Sie ein oder mehrere Fotos der Außenwand und des
|
||||
Dachbereiches hoch.
|
||||
</HelpLabel>
|
||||
<hr />
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-4">
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGwaermedaemmung1"
|
||||
bind:checked={ausweis.daemmung[0]}
|
||||
value="AWD"
|
||||
/>Außenwand gedämmt</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGwaermedaemmung2"
|
||||
bind:checked={ausweis.daemmung[1]}
|
||||
value="KWD"
|
||||
/>Kelleraußenwand gedämmt</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGwaermedaemmung3"
|
||||
bind:checked={ausweis.daemmung[2]}
|
||||
value="KDD"
|
||||
/>Kellerdecke gedämmt</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGwaermedaemmung4"
|
||||
bind:checked={ausweis.daemmung[3]}
|
||||
value="DGD"
|
||||
/>Dachgeschoss gedämmt</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGwaermedaemmung5"
|
||||
bind:checked={ausweis.daemmung[4]}
|
||||
value="OGDDW"
|
||||
/>Oberste Geschossdecke gedämmt</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-6 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGwaermedaemmung6"
|
||||
bind:checked={ausweis.daemmung[5]}
|
||||
value="OGDD"
|
||||
/>Oberste Geschossdecke min. 12cm gedämmt</label
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<DaemmungImage />
|
||||
|
||||
<hr />
|
||||
|
||||
<Label
|
||||
>G - Hier können Sie ein Gebäudebild hochladen und sich Ihren
|
||||
Energieausweis als PDF anschauen</Label
|
||||
>F - Bitte prüfen Sie hier die Angaben zum Sanierungszustand des
|
||||
Gebäudes</Label
|
||||
>
|
||||
|
||||
<AusweisPreviewContainer {ausweis} />
|
||||
|
||||
<BilderZusatzsysteme {ausweis} />
|
||||
<hr />
|
||||
<div class="flex flex-row justify-between">
|
||||
<Hilfe />
|
||||
<button class="button">Weiter</button>
|
||||
|
||||
@@ -6,26 +6,20 @@
|
||||
import Verbrauch from "~/components/Ausweis/Verbrauch.svelte";
|
||||
import Label from "~/components/Label.svelte";
|
||||
import Ausweisart from "~/components/Ausweis/Ausweisart.svelte";
|
||||
import HeizungImage from "~/components/Ausweis/HeizungImage.svelte";
|
||||
import FensterImage from "~/components/Ausweis/FensterImage.svelte";
|
||||
import DaemmungImage from "~/components/Ausweis/DaemmungImage.svelte";
|
||||
import AusweisPreviewContainer from "~/components/Ausweis/AusweisPreviewContainer.svelte";
|
||||
import ZipSearch from "../ZIPSearch.svelte";
|
||||
import { buildingTypes } from "./BuildingTypes";
|
||||
import BilderZusatzsysteme from "../Ausweis/BilderZusatzsysteme.svelte";
|
||||
import { VerbrauchsausweisGewerbe } from "src/lib/Ausweis/VerbrauchsausweisGewerbe";
|
||||
import moment from "moment";
|
||||
|
||||
let ausweis = new VerbrauchsausweisGewerbe();
|
||||
|
||||
let additionalHeating: boolean = false;
|
||||
let heatedWaterIncluded: boolean = false;
|
||||
let heatedWaterPortion: number = 18;
|
||||
let hasCellar: boolean = false;
|
||||
let conversionFactor: number = 0;
|
||||
let calorificValueFactor: number = 0;
|
||||
|
||||
let energyConsumption = [0, 0, 0];
|
||||
let additionalEnergyConsumption = [0, 0, 0];
|
||||
let climateFactors = [0, 0, 0];
|
||||
|
||||
let area = 0;
|
||||
let energyPerformance = 0;
|
||||
let zip: string = "";
|
||||
let city: string = "";
|
||||
|
||||
@@ -43,14 +37,35 @@
|
||||
let needsRequirementCertificate: boolean = false;
|
||||
|
||||
$: needsRequirementCertificate =
|
||||
(baujahrGebaeude < 1978 &&
|
||||
apartmentCount <= 4 &&
|
||||
sanitationStatus == false &&
|
||||
(certificateReason == "Vermietung" ||
|
||||
certificateReason == "Sonstiges")) ||
|
||||
certificateReason == "Neubau" ||
|
||||
certificateReason == "Modernisierung" ||
|
||||
certificateReason == "Verkauf";
|
||||
(ausweis.baujahr_gebaeude < 1978 &&
|
||||
ausweis.anzahl_einheiten <= 4 &&
|
||||
ausweis.objekt_saniert == false &&
|
||||
(ausweis.ausstellgrund == "Vermietung" ||
|
||||
ausweis.ausstellgrund == "Sonstiges")) ||
|
||||
ausweis.ausstellgrund == "Neubau" ||
|
||||
ausweis.ausstellgrund == "Modernisierung" ||
|
||||
ausweis.ausstellgrund == "Verkauf";
|
||||
|
||||
function automatischAusfüllen() {
|
||||
ausweis.baujahr_gebaeude = 1962;
|
||||
ausweis.baujahr_anlage = 1974;
|
||||
ausweis.objekt_saniert = true;
|
||||
ausweis.anzahl_einheiten = 1;
|
||||
ausweis.ausstellgrund = "Vermietung";
|
||||
ausweis.energieverbrauch_1_heizquelle_1 = 15000;
|
||||
ausweis.energieverbrauch_2_heizquelle_1 = 14000;
|
||||
ausweis.energieverbrauch_3_heizquelle_1 = 16000;
|
||||
ausweis.wohnflaeche = 152;
|
||||
ausweis.keller_beheizt = true;
|
||||
ausweis.energietraeger_1 = "Erdgas H";
|
||||
ausweis.energietraeger_einheit_heizquelle_1 = "kWh";
|
||||
ausweis.warmwasser_enthalten = true;
|
||||
ausweis.anteil_warmwasser_1 = 18;
|
||||
ausweis.energieverbrauch_zeitraum = moment("12.01.2019");
|
||||
ausweis.objekt_plz = "21039";
|
||||
ausweis.objekt_ort = "Hamburg";
|
||||
ausweis.objekt_strasse = "Curslacker Deich 170";
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="flex flex-row gap-8 items-center mb-8">
|
||||
@@ -59,7 +74,7 @@
|
||||
<Progressbar progress={0} />
|
||||
</div>
|
||||
|
||||
<PerformanceScore performance={energyPerformance} />
|
||||
<PerformanceScore bind:ausweis />
|
||||
</div>
|
||||
|
||||
<form method="post" action="/verbrauchsausweis/erstellen">
|
||||
@@ -68,22 +83,22 @@
|
||||
>
|
||||
<div class="flex flex-row justify-between">
|
||||
<a class="button" href="/speichern">Später Weitermachen</a>
|
||||
<Hilfe />
|
||||
<div class="flex gap-4">
|
||||
<Hilfe />
|
||||
<button
|
||||
on:click={automatischAusfüllen}
|
||||
type="button"
|
||||
class="button">Automatisch Ausfüllen</button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<div>
|
||||
<Label>A - Prüfung der Ausweisart</Label>
|
||||
</div>
|
||||
<Label>A - Prüfung der Ausweisart</Label>
|
||||
|
||||
<Ausweisart bind:ausweis />
|
||||
|
||||
<Ausweisart
|
||||
bind:baujahrGebaeude
|
||||
bind:apartmentCount
|
||||
bind:certificateReason
|
||||
bind:sanitationStatus
|
||||
bind:baujahrHeizungsAnlage
|
||||
/>
|
||||
<div
|
||||
class="flex flex-col p-4"
|
||||
class:hidden={!needsRequirementCertificate}
|
||||
@@ -99,7 +114,7 @@
|
||||
</HelpLabel>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div class="form-group col-md-3">
|
||||
<a class="button" href="/bedarfsausweis"
|
||||
>Bedarfsausweis erstellen</a
|
||||
>
|
||||
@@ -129,13 +144,18 @@
|
||||
required
|
||||
data-msg-minlength="min. 5 Zeichen"
|
||||
data-msg-maxlength="max. 40 Zeichen"
|
||||
bind:value={ausweis.objekt_strasse}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- PLZ -->
|
||||
<div class="form-group col-md-4 PLZ">
|
||||
<ZipSearch bind:zip bind:city name="zip" />
|
||||
<ZipSearch
|
||||
bind:zip={ausweis.objekt_plz}
|
||||
bind:city={ausweis.objekt_ort}
|
||||
name="zip"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- IGort: readonly entfernt - Nelson -->
|
||||
@@ -148,7 +168,7 @@
|
||||
name="IGort"
|
||||
class="input-md buchstaben"
|
||||
readonly={true}
|
||||
bind:value={city}
|
||||
bind:value={ausweis.objekt_ort}
|
||||
type="text"
|
||||
/>
|
||||
</div>
|
||||
@@ -170,7 +190,7 @@
|
||||
autocomplete="off"
|
||||
data-rule-minlength="2"
|
||||
data-msg-minlength="min. 2 Zeichen"
|
||||
bind:value={area}
|
||||
bind:value={ausweis.wohnflaeche}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -179,7 +199,11 @@
|
||||
<div class="form-group col-md-4">
|
||||
<Label>Keller *</Label>
|
||||
<div>
|
||||
<select name="IGkeller" required bind:value={hasCellar}>
|
||||
<select
|
||||
name="IGkeller"
|
||||
required
|
||||
bind:value={ausweis.keller_beheizt}
|
||||
>
|
||||
<option>Bitte auswählen</option>
|
||||
<option value={false}>nicht vorhanden</option>
|
||||
<option value={false}>unbeheizt</option>
|
||||
@@ -201,21 +225,14 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<hr />
|
||||
<div>
|
||||
<Label>C - Eingabe von 3 zusammenhängenden Verbrauchsjahren</Label>
|
||||
</div>
|
||||
|
||||
<div class="GRB">
|
||||
<Verbrauch
|
||||
bind:additionalHeating
|
||||
bind:energyConsumption
|
||||
bind:additionalEnergyConsumption
|
||||
bind:climateFactors
|
||||
bind:conversionFactor
|
||||
bind:calorificValueFactor
|
||||
/>
|
||||
<Verbrauch bind:ausweis />
|
||||
</div>
|
||||
<hr />
|
||||
<div>
|
||||
@@ -311,7 +328,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<hr />
|
||||
<div>
|
||||
<Label
|
||||
@@ -320,95 +337,95 @@
|
||||
>
|
||||
</div>
|
||||
<div class="GRB grid grid-cols-5 gap-4">
|
||||
<!-- Gebäudetyp -->
|
||||
<!-- Gebäudetyp -->
|
||||
<div>
|
||||
<HelpLabel title="Gebäudetyp *"
|
||||
>Bitte wählen Sie hier den Gebäudetyp aus.
|
||||
</HelpLabel>
|
||||
<div>
|
||||
<HelpLabel title="Gebäudetyp *">Bitte wählen Sie hier den Gebäudetyp aus. </HelpLabel>
|
||||
<div>
|
||||
<select
|
||||
name="objekt_typ"
|
||||
required
|
||||
>
|
||||
{#each buildingTypes as type}
|
||||
<option value={type}>{type}</option>
|
||||
{/each}
|
||||
</select>
|
||||
</div>
|
||||
<select name="objekt_typ" required>
|
||||
{#each buildingTypes as type}
|
||||
<option value={type}>{type}</option>
|
||||
{/each}
|
||||
</select>
|
||||
</div>
|
||||
<!-- Gebäudeteil -->
|
||||
</div>
|
||||
<!-- Gebäudeteil -->
|
||||
<div>
|
||||
<HelpLabel title="Gebäudeteil *"
|
||||
>Bitte geben Sie hier den Gebäudeteil ein. In den
|
||||
meisten Fällen handelt es sich um das Gesamtgebäude.
|
||||
Sollte es sich allerdings um ein Gebäude mit mehr
|
||||
als 10% Gewerbeanteil handeln, so sollten 2 Ausweise
|
||||
erstellt werden. In diesem Fall wählen Sie
|
||||
Gebäudeteil 'Wohnen' bzw. Gebäudeteil 'Gewerbe'.</HelpLabel
|
||||
>
|
||||
<div>
|
||||
<HelpLabel title="Gebäudeteil *">Bitte geben Sie hier den Gebäudeteil ein. In den meisten Fällen handelt es sich um das Gesamtgebäude. Sollte es sich allerdings um ein Gebäude mit mehr als 10% Gewerbeanteil handeln, so sollten 2 Ausweise erstellt werden. In diesem Fall wählen Sie Gebäudeteil 'Wohnen' bzw. Gebäudeteil 'Gewerbe'.</HelpLabel>
|
||||
<div>
|
||||
<select
|
||||
name="objekt_gebaeudeteil"
|
||||
required
|
||||
>
|
||||
<option>Bitte auswählen</option>
|
||||
<option value="Gesamtgebäude">
|
||||
Gesamtgebäude</option
|
||||
>
|
||||
<option value="Wohnen"> Wohnen</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Lüftung -->
|
||||
<div class="form-group col-md-2">
|
||||
<HelpLabel title="Lüftung durch *">Bitte geben Sie hier ein ob über die Fenster natürlich belüftet wird oder über eine Lüftungsanlage.</HelpLabel>
|
||||
<div>
|
||||
<select
|
||||
name="lueftungskonzept"
|
||||
required
|
||||
>
|
||||
<option> Bitte auswählen</option>
|
||||
<option value="Fensterlüftung">
|
||||
Fensterlüftung</option
|
||||
>
|
||||
<option value="Schachtlüftung">
|
||||
Schachtlüftung</option
|
||||
>
|
||||
<option
|
||||
value="Lüftungsanlage ohne Wärmerückgewinnung"
|
||||
>
|
||||
Lüftungsanlage ohne
|
||||
Wärmerückgewinnung</option
|
||||
>
|
||||
<option
|
||||
value="Lüftungsanlage mit Wärmerückgewinnung"
|
||||
>
|
||||
Lüftungsanlage mit
|
||||
Wärmerückgewinnung</option
|
||||
>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Lüftung -->
|
||||
<div class="form-group col-md-2">
|
||||
<HelpLabel title="Anlage Kühlung *">Bitte geben Sie an ob das Gebäude im Sommer zusätzlich gekühlt wird.</HelpLabel>
|
||||
<div>
|
||||
<select
|
||||
name="wird_gekuehlt"
|
||||
required
|
||||
>
|
||||
<select name="objekt_gebaeudeteil" required>
|
||||
<option>Bitte auswählen</option>
|
||||
<option value="1"> vorhanden</option>
|
||||
<option value="0">
|
||||
nicht vorhanden</option
|
||||
>
|
||||
</select>
|
||||
</div>
|
||||
<option value="Gesamtgebäude">
|
||||
Gesamtgebäude</option
|
||||
>
|
||||
<option value="Wohnen"> Wohnen</option>
|
||||
</select>
|
||||
</div>
|
||||
<!-- Leerstand -->
|
||||
<div class="form-group col-md-2">
|
||||
<HelpLabel title="Leerstand in %">Bitte geben Sie hier den Leerstand in % des Gesamtzeitraumes (3 Jahre) ein. Zum Beispiel 4 Monate Leerstand in 36 Monaten wären dann ca. 11%.</HelpLabel>
|
||||
<div>
|
||||
<input
|
||||
name="leerstand"
|
||||
maxlength="2"
|
||||
type="text"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Lüftung -->
|
||||
<div class="form-group col-md-2">
|
||||
<HelpLabel title="Lüftung durch *"
|
||||
>Bitte geben Sie hier ein ob über die Fenster
|
||||
natürlich belüftet wird oder über eine
|
||||
Lüftungsanlage.</HelpLabel
|
||||
>
|
||||
<div>
|
||||
<select name="lueftungskonzept" required>
|
||||
<option> Bitte auswählen</option>
|
||||
<option value="Fensterlüftung">
|
||||
Fensterlüftung</option
|
||||
>
|
||||
<option value="Schachtlüftung">
|
||||
Schachtlüftung</option
|
||||
>
|
||||
<option
|
||||
value="Lüftungsanlage ohne Wärmerückgewinnung"
|
||||
>
|
||||
Lüftungsanlage ohne Wärmerückgewinnung</option
|
||||
>
|
||||
<option
|
||||
value="Lüftungsanlage mit Wärmerückgewinnung"
|
||||
>
|
||||
Lüftungsanlage mit Wärmerückgewinnung</option
|
||||
>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Lüftung -->
|
||||
<div class="form-group col-md-2">
|
||||
<HelpLabel title="Anlage Kühlung *"
|
||||
>Bitte geben Sie an ob das Gebäude im Sommer
|
||||
zusätzlich gekühlt wird.</HelpLabel
|
||||
>
|
||||
<div>
|
||||
<select name="wird_gekuehlt" required>
|
||||
<option>Bitte auswählen</option>
|
||||
<option value="1"> vorhanden</option>
|
||||
<option value="0"> nicht vorhanden</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Leerstand -->
|
||||
<div class="form-group col-md-2">
|
||||
<HelpLabel title="Leerstand in %"
|
||||
>Bitte geben Sie hier den Leerstand in % des
|
||||
Gesamtzeitraumes (3 Jahre) ein. Zum Beispiel 4
|
||||
Monate Leerstand in 36 Monaten wären dann ca. 11%.</HelpLabel
|
||||
>
|
||||
<div>
|
||||
<input name="leerstand" maxlength="2" type="text" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<hr />
|
||||
<div class="form-group col-md-12">
|
||||
<Label
|
||||
@@ -417,323 +434,7 @@
|
||||
>
|
||||
</div>
|
||||
|
||||
<div class="GRB3">
|
||||
<HelpLabel
|
||||
title="Heizungsanlage (bitte zutreffendes ankreuzen) *"
|
||||
>
|
||||
Wir benötigen diese Angaben um den allgemeinen
|
||||
Modernisierungsstand einschätzen zu können. Bitte setzen
|
||||
Sie den Haken wenn zutreffend. Das seit Mai 2021 gültige
|
||||
GEG erfordert eine genauere Prüfung anhand von Fotos.
|
||||
Bitte laden Sie ein oder mehrere Fotos der
|
||||
Heizungsanlage bzw. des Heizungsraums hoch.
|
||||
</HelpLabel>
|
||||
<hr />
|
||||
|
||||
<div class="grid grid-cols-4">
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage1"
|
||||
value="ZH"
|
||||
/>Zentral/Etage</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage2"
|
||||
value="EO"
|
||||
/>Einzelöfen</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage3"
|
||||
value="DH"
|
||||
/>Durchlauferhitzer</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage4"
|
||||
value="SK"
|
||||
/>Standardkessel</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage5"
|
||||
value="SSWW"
|
||||
/>Solarsystem für Warmwasser</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage6"
|
||||
value="WP"
|
||||
/>Wärmepumpe</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage7"
|
||||
value="NK"
|
||||
/>Niedertemperaturkessel</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage8"
|
||||
value="BWK"
|
||||
/>Brennwertkessel</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage9"
|
||||
value="WRGD"
|
||||
/>Warmwasserrohre gedämmt</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage10"
|
||||
value="HRGD"
|
||||
/>Heizungsrohre gedämmt</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage11"
|
||||
value="ZK"
|
||||
/>Zirkulation</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGheizungsanlage12"
|
||||
value="RTR"
|
||||
/>Raumtemperaturregler</label
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<HeizungImage />
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="GRB3">
|
||||
<HelpLabel
|
||||
title="Fenster/Dachfenster/Türen (bitte zutreffendes ankreuzen):*"
|
||||
>
|
||||
Wir benötigen diese Angaben um den allgemeinen
|
||||
Modernisierungsstand einschätzen zu können. Bitte setzen
|
||||
Sie den Haken wenn zutreffend.
|
||||
</HelpLabel>
|
||||
<hr />
|
||||
|
||||
<div class="grid grid-cols-4">
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach1"
|
||||
value="EG"
|
||||
/>Einfachglas</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach2"
|
||||
value="DF"
|
||||
/>Doppelverglasung</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach3"
|
||||
value="IVG"
|
||||
/>Isolierverglasung</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach4"
|
||||
value="PHF"
|
||||
/>Dreifachverglasung</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach5"
|
||||
value="FD"
|
||||
/>Alle Fenster dicht</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach6"
|
||||
value="FTUD"
|
||||
/>Fenster teilweise undicht</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach7"
|
||||
value="TD"
|
||||
/>Alle Türen dicht</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach8"
|
||||
value="TUD"
|
||||
/>Türen teilweise undicht</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGfensterdach9"
|
||||
value="RKD"
|
||||
/>Rollladenkästen gedämmt, luftdicht</label
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<FensterImage />
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="GRB3">
|
||||
<div class="form-group col-md-12">
|
||||
<HelpLabel
|
||||
title="Wärmedämmung (bitte zutreffendes ankreuzen) *"
|
||||
>
|
||||
Wir benötigen diese Angaben um den allgemeinen
|
||||
Modernisierungsstand einschätzen zu können. Bitte
|
||||
setzen Sie den Haken wenn zutreffend. Das seit Mai
|
||||
2021 gültige GEG erfordert eine genauere Prüfung
|
||||
anhand von Fotos. Bitte laden Sie ein oder mehrere
|
||||
Fotos der Außenwand und des Dachbereiches hoch.
|
||||
</HelpLabel>
|
||||
<hr />
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-4">
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGwaermedaemmung1"
|
||||
value="AWD"
|
||||
/>Außenwand gedämmt</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGwaermedaemmung2"
|
||||
value="KWD"
|
||||
/>Kelleraußenwand gedämmt</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGwaermedaemmung3"
|
||||
value="KDD"
|
||||
/>Kellerdecke gedämmt</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGwaermedaemmung4"
|
||||
value="DGD"
|
||||
/>Dachgeschoss gedämmt</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-3 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGwaermedaemmung5"
|
||||
value="OGDDW"
|
||||
/>Oberste Geschossdecke gedämmt</label
|
||||
>
|
||||
</div>
|
||||
<div class="form-group col-md-6 mw1">
|
||||
<label class="checkbox-inline"
|
||||
><input
|
||||
type="checkbox"
|
||||
name="IGwaermedaemmung6"
|
||||
value="OGDD"
|
||||
/>Oberste Geschossdecke min. 12cm gedämmt</label
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<DaemmungImage />
|
||||
|
||||
<hr />
|
||||
|
||||
<Label
|
||||
>G - Hier können Sie ein Gebäudebild hochladen und sich
|
||||
Ihren Energieausweis als PDF anschauen</Label
|
||||
>
|
||||
|
||||
<AusweisPreviewContainer />
|
||||
<BilderZusatzsysteme {ausweis} />
|
||||
|
||||
<div class="flex flex-row justify-between">
|
||||
<Hilfe />
|
||||
@@ -742,4 +443,4 @@
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</form>
|
||||
|
||||
140
src/lib/Ausweis/Ausweis.ts
Normal file
140
src/lib/Ausweis/Ausweis.ts
Normal file
@@ -0,0 +1,140 @@
|
||||
import { Moment } from "moment";
|
||||
import { BitChecker } from "../BitChecker";
|
||||
|
||||
export enum AusweisType {
|
||||
VERBRAUCHSAUSWEIS,
|
||||
VERBRAUCHSAUSWEIS_NICHT_WOHNGEBAEUDE,
|
||||
BEDARFSAUSWEIS,
|
||||
}
|
||||
|
||||
export type Ausweisart = "VA" | "BA" | "VANW";
|
||||
export type Ausstellgrund =
|
||||
| "Vermietung"
|
||||
| "Neubau"
|
||||
| "Verkauf"
|
||||
| "Modernisierung"
|
||||
| "Sonstiges";
|
||||
|
||||
export type Lueftungskonzept = "Fensterlüftung" | "Schachtlüftung" | "Lüftungsanlage ohne Wärmerückgewinnung" | "Lüftungsanlage mit Wärmerückgewinnung"
|
||||
|
||||
export interface Ausweis {
|
||||
ausweisart: Ausweisart;
|
||||
id: number;
|
||||
user_id: number;
|
||||
rechnung_adresse: number;
|
||||
versand_adresse: number;
|
||||
objekt_typ: string;
|
||||
objekt_plz: string;
|
||||
objekt_ort: string;
|
||||
objekt_strasse: string;
|
||||
objekt_gebaeudeteil: string;
|
||||
objekt_saniert: boolean;
|
||||
baujahr_gebaeude: number;
|
||||
baujahr_anlage: number;
|
||||
anzahl_einheiten: number;
|
||||
|
||||
erstellungsdatum: Date;
|
||||
ausstellgrund: Ausstellgrund;
|
||||
|
||||
energieverbrauch_zeitraum: Moment;
|
||||
energieverbrauch_1_heizquelle_1: number;
|
||||
energieverbrauch_2_heizquelle_1: number;
|
||||
energieverbrauch_3_heizquelle_1: number;
|
||||
energieverbrauch_1_heizquelle_2: number;
|
||||
energieverbrauch_2_heizquelle_2: number;
|
||||
energieverbrauch_3_heizquelle_2: number;
|
||||
|
||||
energietraeger_einheit_heizquelle_1: string;
|
||||
energietraeger_einheit_heizquelle_2: string;
|
||||
energietraeger_1: string;
|
||||
energietraeger_2: string;
|
||||
|
||||
anteil_warmwasser_1: number;
|
||||
anteil_warmwasser_2: number;
|
||||
|
||||
uid: string;
|
||||
|
||||
wohnflaeche: number;
|
||||
keller_beheizt: boolean;
|
||||
dachgeschoss: string;
|
||||
zusaetzliche_heizquelle: boolean;
|
||||
warmwasser_enthalten: boolean;
|
||||
lueftungskonzept: Lueftungskonzept;
|
||||
wird_gekuehlt: boolean;
|
||||
leerstand: number;
|
||||
images: string[];
|
||||
|
||||
versorgungssysteme: boolean[];
|
||||
fenster_dach: boolean[];
|
||||
energiequelle_2_nutzung: boolean[];
|
||||
daemmung: boolean[];
|
||||
|
||||
/**
|
||||
* Bedarfsausweis spezifische Eigenschaften
|
||||
*/
|
||||
anzahl_vollgeschosse: number;
|
||||
geschosshoehe: number;
|
||||
anzahl_gauben: number;
|
||||
breite_gauben: number;
|
||||
masse_a: number;
|
||||
masse_b: number;
|
||||
masse_c: number;
|
||||
masse_d: number;
|
||||
masse_e: number;
|
||||
masse_f: number;
|
||||
fensterflaeche_so_sw: number;
|
||||
fensterflaeche_nw_no: number;
|
||||
aussenwandflaeche_unbeheizt: number;
|
||||
dachflaeche: number;
|
||||
dach_u_wert: number;
|
||||
deckenflaeche: number;
|
||||
decke_u_wert: number;
|
||||
aussenwand_flaeche: number;
|
||||
aussenwand_u_wert: number;
|
||||
fussboden_flaeche: number;
|
||||
fussboden_u_wert: number;
|
||||
volumen: number;
|
||||
dicht: boolean;
|
||||
fenster_flaeche_1: number;
|
||||
fenster_art_1: string;
|
||||
fenster_flaeche_2: number;
|
||||
fenster_art_2: string;
|
||||
dachfenster_flaeche: number;
|
||||
dachfenster_art: string;
|
||||
haustuer_flaeche: number;
|
||||
haustuer_art: string;
|
||||
dach_bauart: string;
|
||||
dach_daemmung: number;
|
||||
decke_bauart: string;
|
||||
decke_daemmung: number;
|
||||
aussenwand_bauart: string;
|
||||
aussenwand_daemmung: number;
|
||||
boden_bauart: string;
|
||||
boden_daemmung: number;
|
||||
warmwasser_verteilung: string;
|
||||
warmwasser_speicherung: string;
|
||||
warmwasser_erzeugung: string;
|
||||
heizung_zentral: boolean;
|
||||
heizung_verteilung: string;
|
||||
heizung_speicherung: string;
|
||||
waerme_erzeugung_heizung: string;
|
||||
anteil_zusatzheizung: number;
|
||||
kollektor_flaeche: number;
|
||||
|
||||
// VANW
|
||||
|
||||
vanw_stromverbrauch_enthalten: number;
|
||||
vanw_stromverbrauch_sonstige: string;
|
||||
vanw_strom_1: number;
|
||||
vanw_strom_2: number;
|
||||
vanw_strom_3: number;
|
||||
|
||||
regnummer: string;
|
||||
erledigt: boolean;
|
||||
|
||||
anrede: string;
|
||||
name: string;
|
||||
vorname: string;
|
||||
email: string;
|
||||
telefonnummer: string;
|
||||
}
|
||||
455
src/lib/Ausweis/Bedarfsausweis.ts
Normal file
455
src/lib/Ausweis/Bedarfsausweis.ts
Normal file
@@ -0,0 +1,455 @@
|
||||
import { Moment } from "moment";
|
||||
import { getHeizwertfaktorClient } from "../server/Heizwertfaktor";
|
||||
import moment from "moment";
|
||||
import { BitChecker } from "../BitChecker";
|
||||
import { getHeizungswerte } from "../Heizungswerte";
|
||||
|
||||
export enum AusweisType {
|
||||
VERBRAUCHSAUSWEIS,
|
||||
VERBRAUCHSAUSWEIS_NICHT_WOHNGEBAEUDE,
|
||||
BEDARFSAUSWEIS,
|
||||
}
|
||||
|
||||
export type Lueftungskonzept =
|
||||
| "Fensterlüftung"
|
||||
| "Schachtlüftung"
|
||||
| "Lüftungsanlage ohne Wärmerückgewinnung"
|
||||
| "Lüftungsanlage mit Wärmerückgewinnung";
|
||||
|
||||
export type Ausweisart = "VA" | "BA" | "VANW";
|
||||
export type Ausstellgrund =
|
||||
| "Vermietung"
|
||||
| "Neubau"
|
||||
| "Verkauf"
|
||||
| "Modernisierung"
|
||||
| "Sonstiges";
|
||||
|
||||
export class Bedarfsausweis {
|
||||
public ausweisart: Ausweisart = "VA";
|
||||
public id: number = 0;
|
||||
public user_id: number = 0;
|
||||
public rechnung_adresse: number = 0;
|
||||
public versand_adresse: number = 0;
|
||||
public objekt_typ: string = "";
|
||||
public objekt_plz: string = "";
|
||||
public objekt_ort: string = "";
|
||||
public objekt_strasse: string = "";
|
||||
public objekt_gebaeudeteil: string = "";
|
||||
public objekt_saniert: boolean = false;
|
||||
public baujahr_gebaeude: number = 0;
|
||||
public baujahr_anlage: number = 0;
|
||||
public anzahl_einheiten: number = 0;
|
||||
|
||||
public erstellungsdatum: Date = new Date();
|
||||
public ausstellgrund: Ausstellgrund = "Vermietung";
|
||||
|
||||
public energieverbrauch_zeitraum: Moment = moment();
|
||||
public energieverbrauch_1_heizquelle_1: number = 0;
|
||||
public energieverbrauch_2_heizquelle_1: number = 0;
|
||||
public energieverbrauch_3_heizquelle_1: number = 0;
|
||||
public energieverbrauch_1_heizquelle_2: number = 0;
|
||||
public energieverbrauch_2_heizquelle_2: number = 0;
|
||||
public energieverbrauch_3_heizquelle_2: number = 0;
|
||||
|
||||
public energietraeger_einheit_heizquelle_1: string = "";
|
||||
public energietraeger_einheit_heizquelle_2: string = "";
|
||||
public energietraeger_1: string = "";
|
||||
public energietraeger_2: string = "";
|
||||
|
||||
public anteil_warmwasser_1: number = 0;
|
||||
public anteil_warmwasser_2: number = 0;
|
||||
|
||||
public uid: string = "";
|
||||
|
||||
public wohnflaeche: number = 0;
|
||||
public keller_beheizt: boolean = false;
|
||||
public dachgeschoss: string = "";
|
||||
public zusaetzliche_heizquelle: boolean = false;
|
||||
public warmwasser_enthalten: boolean = false;
|
||||
public lueftungskonzept: Lueftungskonzept = "Fensterlüftung";
|
||||
public wird_gekuehlt: boolean = false;
|
||||
public leerstand: number = 0;
|
||||
public images: string[] = [];
|
||||
|
||||
public versorgungssysteme: boolean[] = BitChecker(0);
|
||||
public fenster_dach: boolean[] = BitChecker(0);
|
||||
public energiequelle_2_nutzung: boolean[] = BitChecker(0);
|
||||
public daemmung: boolean[] = BitChecker(0);
|
||||
public get energetische_nutzfläche(): number {
|
||||
if (this.geschosshoehe < 2.5 || this.geschosshoehe > 3) {
|
||||
return (1 / this.geschosshoehe - 0.04) * this.volumen;
|
||||
} else {
|
||||
return 0.32 * this.volumen;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Bedarfsausweis spezifische Eigenschaften
|
||||
*/
|
||||
public anzahl_vollgeschosse: number = 0;
|
||||
public geschosshoehe: number = 0;
|
||||
public anzahl_gauben: number = 0;
|
||||
public breite_gauben: number = 0;
|
||||
public masse_a: number = 0;
|
||||
public masse_b: number = 0;
|
||||
public masse_c: number = 0;
|
||||
public masse_d: number = 0;
|
||||
public masse_e: number = 0;
|
||||
public masse_f: number = 0;
|
||||
public fensterflaeche_so_sw: number = 0;
|
||||
public fensterflaeche_nw_no: number = 0;
|
||||
public aussenwandflaeche_unbeheizt: number = 0;
|
||||
public dachflaeche: number = 0;
|
||||
public dach_u_wert: number = 0;
|
||||
public deckenflaeche: number = 0;
|
||||
public decke_u_wert: number = 0;
|
||||
public aussenwand_flaeche: number = 0;
|
||||
public aussenwand_u_wert: number = 0;
|
||||
public fussboden_flaeche: number = 0;
|
||||
public fussboden_u_wert: number = 0;
|
||||
public volumen: number = 0;
|
||||
public dicht: boolean = false;
|
||||
public fenster_flaeche_1: number = 0;
|
||||
public fenster_art_1: number = 0;
|
||||
public fenster_flaeche_2: number = 0;
|
||||
public fenster_art_2: number = 0;
|
||||
public dachfenster_flaeche: number = 0;
|
||||
public dachfenster_art: number = 0;
|
||||
public haustuer_flaeche: number = 0;
|
||||
public haustuer_art: number = 0;
|
||||
public dach_bauart: string = "";
|
||||
public dach_daemmung: number = 0;
|
||||
public decke_bauart: string = "";
|
||||
public decke_daemmung: number = 0;
|
||||
public aussenwand_bauart: string = "";
|
||||
public aussenwand_daemmung: number = 0;
|
||||
public boden_bauart: string = "";
|
||||
public boden_daemmung: number = 0;
|
||||
public warmwasser_verteilung: string = "";
|
||||
public warmwasser_speicherung: string = "";
|
||||
public warmwasser_erzeugung: string = "";
|
||||
public heizung_zentral: boolean = false;
|
||||
public heizung_verteilung: string = "";
|
||||
public heizung_speicherung: string = "";
|
||||
public waerme_erzeugung_heizung: string = "";
|
||||
public anteil_zusatzheizung: number = 0;
|
||||
public kollektor_flaeche: number = 0;
|
||||
|
||||
// VANW
|
||||
|
||||
public vanw_stromverbrauch_enthalten: number = 0;
|
||||
public vanw_stromverbrauch_sonstige: string = "";
|
||||
public vanw_strom_1: number = 0;
|
||||
public vanw_strom_2: number = 0;
|
||||
public vanw_strom_3: number = 0;
|
||||
|
||||
public regnummer: string = "";
|
||||
public erledigt: boolean = false;
|
||||
|
||||
public anrede: string = "";
|
||||
public name: string = "";
|
||||
public vorname: string = "";
|
||||
public email: string = "";
|
||||
public telefonnummer: string = "";
|
||||
|
||||
// Temporär
|
||||
public tabellenwerte_aendern: boolean = false;
|
||||
|
||||
public constructor() {}
|
||||
|
||||
public static fromBase64(base64: string): Bedarfsausweis | null {
|
||||
try {
|
||||
const text = Buffer.from(base64, "base64");
|
||||
|
||||
const json = JSON.parse(text.toString());
|
||||
return json;
|
||||
} catch (e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public get primaer_energie_verbrauch(): Promise<number> {
|
||||
return (async () => {
|
||||
const Endenergieverbrauch = await this.end_energie_verbrauch;
|
||||
|
||||
const brennstoff_1 = getHeizwertfaktorClient(
|
||||
this.energietraeger_1,
|
||||
this.energietraeger_einheit_heizquelle_1
|
||||
);
|
||||
|
||||
return Endenergieverbrauch * brennstoff_1.primärenergiefaktor;
|
||||
})();
|
||||
}
|
||||
|
||||
public get end_energie_verbrauch(): number {
|
||||
let Uawd = 1 / (1 / this.dach_daemmung / 0.04);
|
||||
let Uawa = 1 / (1 / this.aussenwand_daemmung / 0.04);
|
||||
let Uawb = 1 / (1 / this.boden_daemmung / 0.04);
|
||||
let Uawogd =1 / (1 / this.decke_daemmung / 0.04);
|
||||
|
||||
if (!this.tabellenwerte_aendern) {
|
||||
this.dach_u_wert = Math.round(Uawd);
|
||||
this.decke_u_wert = Math.round(Uawogd);
|
||||
this.aussenwand_u_wert = Math.round(Uawa);
|
||||
this.fussboden_u_wert = Math.round(Uawb);
|
||||
}
|
||||
|
||||
if (this.dachgeschoss) {
|
||||
var IOGdeckef = 0;
|
||||
var dachgeschossf = 0.5;
|
||||
var dachgeschossf2 = 1;
|
||||
} else if (!this.dachgeschoss) {
|
||||
var IOGdeckef = 0.8;
|
||||
var dachgeschossf = 0;
|
||||
var dachgeschossf2 = 0;
|
||||
// TODO: Dachgeschoss braucht 3 optionen
|
||||
} else {
|
||||
var IOGdeckef = 1;
|
||||
var dachgeschossf = 0;
|
||||
var dachgeschossf2 = 0;
|
||||
}
|
||||
|
||||
if (this.keller_beheizt) {
|
||||
var keller_beheiztf = 1;
|
||||
} else {
|
||||
var keller_beheiztf = 0;
|
||||
}
|
||||
var gaubenfl =
|
||||
this.breite_gauben * 2 * 0.3 + this.anzahl_gauben * 2 * 1.5;
|
||||
var gaubenvol = this.breite_gauben * 1.5;
|
||||
|
||||
var Fawa = 1;
|
||||
if (
|
||||
this.objekt_typ === "Doppelhaushälfte" ||
|
||||
this.objekt_typ === "Reihenendhaus"
|
||||
) {
|
||||
var Fawa = 0.7;
|
||||
} else if (this.objekt_typ === "Reihenmittelhaus") {
|
||||
var Fawa = 0.4;
|
||||
}
|
||||
|
||||
// Außenwand
|
||||
var awa1 =
|
||||
((2 * this.masse_a +
|
||||
2 * this.masse_b +
|
||||
2 * this.masse_d +
|
||||
2 * this.masse_e +
|
||||
2 * this.masse_f) *
|
||||
this.geschosshoehe *
|
||||
this.anzahl_vollgeschosse +
|
||||
2 * this.masse_a * this.geschosshoehe * dachgeschossf +
|
||||
(2 * this.masse_a +
|
||||
2 * this.masse_b +
|
||||
2 * this.masse_d +
|
||||
2 * this.masse_e +
|
||||
2 * this.masse_f) *
|
||||
2.2 *
|
||||
keller_beheiztf) *
|
||||
Fawa -
|
||||
this.fenster_flaeche_1 -
|
||||
this.fenster_flaeche_2 -
|
||||
this.haustuer_flaeche +
|
||||
gaubenfl;
|
||||
|
||||
if (!this.tabellenwerte_aendern) {
|
||||
this.aussenwand_flaeche = awa1;
|
||||
}
|
||||
|
||||
var awd1 =
|
||||
((this.masse_a * this.masse_b +
|
||||
this.masse_c * this.masse_d +
|
||||
(+this.masse_f + +this.masse_c) * this.masse_e) *
|
||||
1.2 -
|
||||
this.dachfenster_flaeche) *
|
||||
dachgeschossf2;
|
||||
if (!this.tabellenwerte_aendern) {
|
||||
this.dachflaeche = awd1;
|
||||
}
|
||||
var awogd1 =
|
||||
(this.masse_a * this.masse_b +
|
||||
this.masse_c * this.masse_d +
|
||||
(+this.masse_f + +this.masse_c) * this.masse_e -
|
||||
this.dachfenster_flaeche) *
|
||||
IOGdeckef;
|
||||
if (!this.tabellenwerte_aendern) {
|
||||
this.deckenflaeche = awogd1;
|
||||
}
|
||||
var awb1 =
|
||||
this.masse_a * this.masse_b +
|
||||
this.masse_c * this.masse_d +
|
||||
(+this.masse_f + +this.masse_c) * this.masse_e;
|
||||
if (!this.tabellenwerte_aendern) {
|
||||
this.fussboden_flaeche = awb1;
|
||||
}
|
||||
|
||||
var behgv =
|
||||
awb1 * this.geschosshoehe * this.anzahl_vollgeschosse +
|
||||
awb1 * 2.2 * keller_beheiztf +
|
||||
awb1 * this.geschosshoehe * dachgeschossf +
|
||||
gaubenvol;
|
||||
if (!this.tabellenwerte_aendern) {
|
||||
this.volumen = behgv;
|
||||
}
|
||||
|
||||
if (this.dicht) {
|
||||
var Hv = 0.163 * behgv;
|
||||
} else {
|
||||
var Hv = 0.19 * behgv;
|
||||
}
|
||||
|
||||
var AHF =
|
||||
this.aussenwand_flaeche +
|
||||
this.fussboden_flaeche +
|
||||
this.dachflaeche +
|
||||
this.deckenflaeche +
|
||||
this.fenster_flaeche_2 +
|
||||
this.haustuer_flaeche +
|
||||
this.dachfenster_flaeche +
|
||||
this.fenster_flaeche_1;
|
||||
|
||||
let AN = this.energetische_nutzfläche;
|
||||
|
||||
var Qi = 22 * AN;
|
||||
// NOTE: Irgendwie sowas wie Gesamtwärmestrom der entweicht.
|
||||
var Qs =
|
||||
270 * this.fensterflaeche_so_sw * 0.567 * 0.75 +
|
||||
100 * this.fensterflaeche_nw_no * 0.567 * 0.75 +
|
||||
225 * this.dachfenster_flaeche * 0.567 * 0.75 +
|
||||
155 *
|
||||
(this.fenster_flaeche_2 +
|
||||
this.dachfenster_flaeche +
|
||||
this.fenster_flaeche_1 -
|
||||
this.fensterflaeche_so_sw -
|
||||
this.fensterflaeche_nw_no) *
|
||||
0.567 *
|
||||
0.75;
|
||||
|
||||
var Ht =
|
||||
this.aussenwand_u_wert *
|
||||
(this.aussenwand_flaeche - this.aussenwandflaeche_unbeheizt) +
|
||||
this.aussenwand_u_wert * this.aussenwandflaeche_unbeheizt * 0.5 +
|
||||
this.decke_u_wert * this.deckenflaeche * IOGdeckef +
|
||||
this.fussboden_u_wert * this.fussboden_flaeche * 0.6 +
|
||||
this.dach_u_wert * this.dachflaeche +
|
||||
this.fenster_art_1 * this.fenster_flaeche_1 +
|
||||
this.fenster_art_2 * this.fenster_flaeche_2 +
|
||||
this.dachfenster_art * this.dachfenster_flaeche +
|
||||
AHF * 0.05 +
|
||||
this.haustuer_flaeche * this.haustuer_art;
|
||||
|
||||
var Qh = (66 * (Ht + Hv) - 0.95 * (Qs + Qi)) / AN;
|
||||
|
||||
var Solarsystem_WWbw = 0;
|
||||
var Solarsystem_WWhb = 0;
|
||||
|
||||
if (AN < 500) {
|
||||
if (this.versorgungssysteme[4]) {
|
||||
var Solarsystem_WWbw = 11.3 - (3.3 / 350) * (AN - 150);
|
||||
var Solarsystem_WWhb = 0.8 - (0.4 / 350) * (AN - 150);
|
||||
}
|
||||
|
||||
if (this.kollektor_flaeche != 0) {
|
||||
var Solarsystem_WWbw = (this.kollektor_flaeche * 280) / AN;
|
||||
var Solarsystem_WWhb = 0.8 - (0.4 / 350) * (AN - 150);
|
||||
}
|
||||
} else if (AN > 500 && AN < 7000) {
|
||||
if (this.versorgungssysteme[4]) {
|
||||
var Solarsystem_WWbw = 8 - (2 / 2000) * (AN - 500);
|
||||
var Solarsystem_WWhb = 0.4 - (0.1 / 2000) * (AN - 500);
|
||||
}
|
||||
|
||||
if (this.kollektor_flaeche != 0) {
|
||||
var Solarsystem_WWbw = (this.kollektor_flaeche * 280) / AN;
|
||||
var Solarsystem_WWhb = 0.4 - (0.1 / 2000) * (AN - 500);
|
||||
}
|
||||
}
|
||||
|
||||
let hilfsenergiel = 0;
|
||||
let wgewinnel = 0;
|
||||
|
||||
if (this.lueftungskonzept == "Lüftungsanlage mit Wärmerückgewinnung") {
|
||||
hilfsenergiel = 0;
|
||||
wgewinnel = 13.5;
|
||||
}
|
||||
if (this.lueftungskonzept == "Lüftungsanlage ohne Wärmerückgewinnung") {
|
||||
if (this.baujahr_gebaeude < 1996) {
|
||||
hilfsenergiel = 4;
|
||||
wgewinnel = 3.5;
|
||||
}
|
||||
if (this.baujahr_gebaeude > 1996) {
|
||||
hilfsenergiel = 2.6;
|
||||
wgewinnel = 3.2;
|
||||
}
|
||||
}
|
||||
|
||||
let [
|
||||
heizung_zentralwv,
|
||||
verteilunghwv,
|
||||
spheizungwv,
|
||||
werzeugungheaz,
|
||||
verteilungwwwv,
|
||||
verteilungwwhg,
|
||||
warmwasser_speicherungwv,
|
||||
warmwasser_speicherunghg,
|
||||
werzeugungwweaz,
|
||||
verteilunghhb,
|
||||
spheizunghb,
|
||||
werzeugunghhb,
|
||||
verteilungwwhb,
|
||||
warmwasser_speicherunghb,
|
||||
werzeugungwwhb,
|
||||
BRSPrimärenergiefaktor,
|
||||
BRSPrimärenergiefaktor1,
|
||||
Coeffizienz,
|
||||
] = getHeizungswerte(
|
||||
this.energietraeger_1,
|
||||
this.energietraeger_2,
|
||||
AN,
|
||||
this.warmwasser_verteilung,
|
||||
this.warmwasser_speicherung,
|
||||
this.warmwasser_erzeugung,
|
||||
this.heizung_zentral,
|
||||
this.heizung_verteilung,
|
||||
this.heizung_speicherung,
|
||||
this.waerme_erzeugung_heizung
|
||||
);
|
||||
|
||||
var endenergieh =
|
||||
(Qh + heizung_zentralwv + verteilunghwv + spheizungwv) *
|
||||
werzeugungheaz -
|
||||
wgewinnel;
|
||||
|
||||
var endenergiew =
|
||||
(12 +
|
||||
verteilungwwwv -
|
||||
verteilungwwhg +
|
||||
warmwasser_speicherungwv -
|
||||
warmwasser_speicherunghg) *
|
||||
werzeugungwweaz;
|
||||
|
||||
var hilfsenergie =
|
||||
verteilunghhb +
|
||||
spheizunghb +
|
||||
werzeugunghhb +
|
||||
verteilungwwhb +
|
||||
warmwasser_speicherunghb +
|
||||
werzeugungwwhb +
|
||||
Solarsystem_WWhb +
|
||||
hilfsenergiel;
|
||||
|
||||
var endenergiegesamt = endenergieh + endenergiew + hilfsenergie;
|
||||
|
||||
var primheizung =
|
||||
endenergieh *
|
||||
(1 - this.anteil_zusatzheizung) *
|
||||
BRSPrimärenergiefaktor +
|
||||
endenergieh * this.anteil_zusatzheizung * BRSPrimärenergiefaktor1;
|
||||
|
||||
var primaerenergiebedarf =
|
||||
primheizung +
|
||||
(endenergiew - Solarsystem_WWbw) * BRSPrimärenergiefaktor +
|
||||
hilfsenergie * 1.8;
|
||||
|
||||
return endenergiegesamt;
|
||||
}
|
||||
}
|
||||
@@ -11,12 +11,7 @@ export enum AusweisType {
|
||||
BEDARFSAUSWEIS,
|
||||
}
|
||||
|
||||
export enum Lueftungskonzept {
|
||||
"Fensterlüftung",
|
||||
"Schachtlüftung",
|
||||
"Lüftungsanlage ohne Wärmerückgewinnung",
|
||||
"Lüftungsanlage mit Wärmerückgewinnung",
|
||||
}
|
||||
export type Lueftungskonzept = "Fensterlüftung" | "Schachtlüftung" | "Lüftungsanlage ohne Wärmerückgewinnung" | "Lüftungsanlage mit Wärmerückgewinnung"
|
||||
|
||||
export type Ausweisart = "VA" | "BA" | "VANW";
|
||||
export type Ausstellgrund =
|
||||
@@ -70,7 +65,7 @@ export class Verbrauchsausweis {
|
||||
public dachgeschoss: string = "";
|
||||
public zusaetzliche_heizquelle: boolean = false;
|
||||
public warmwasser_enthalten: boolean = false;
|
||||
public lueftungskonzept: Lueftungskonzept = Lueftungskonzept.Fensterlüftung;
|
||||
public lueftungskonzept: Lueftungskonzept = "Fensterlüftung";
|
||||
public wird_gekuehlt: boolean = false;
|
||||
public leerstand: number = 0;
|
||||
public images: string[] = [];
|
||||
|
||||
251
src/lib/Ausweis/VerbrauchsausweisGewerbe.ts
Normal file
251
src/lib/Ausweis/VerbrauchsausweisGewerbe.ts
Normal file
@@ -0,0 +1,251 @@
|
||||
import { Moment } from "moment";
|
||||
import { getKlimafaktorenClient } from "../Klimafaktoren";
|
||||
import { getHeizwertfaktorClient } from "../server/Heizwertfaktor";
|
||||
import moment from "moment";
|
||||
import { BitChecker } from "../BitChecker";
|
||||
|
||||
export enum AusweisType {
|
||||
VERBRAUCHSAUSWEIS,
|
||||
VERBRAUCHSAUSWEIS_NICHT_WOHNGEBAEUDE,
|
||||
BEDARFSAUSWEIS,
|
||||
}
|
||||
|
||||
export type Lueftungskonzept = "Fensterlüftung" | "Schachtlüftung" | "Lüftungsanlage ohne Wärmerückgewinnung" | "Lüftungsanlage mit Wärmerückgewinnung"
|
||||
|
||||
export type Ausweisart = "VA" | "BA" | "VANW";
|
||||
export type Ausstellgrund =
|
||||
| "Vermietung"
|
||||
| "Neubau"
|
||||
| "Verkauf"
|
||||
| "Modernisierung"
|
||||
| "Sonstiges";
|
||||
|
||||
|
||||
|
||||
export class VerbrauchsausweisGewerbe {
|
||||
public ausweisart: Ausweisart = "VA";
|
||||
public id: number = 0;
|
||||
public user_id: number = 0;
|
||||
public rechnung_adresse: number = 0;
|
||||
public versand_adresse: number = 0;
|
||||
public objekt_typ: string = "";
|
||||
public objekt_plz: string = "";
|
||||
public objekt_ort: string = "";
|
||||
public objekt_strasse: string = "";
|
||||
public objekt_gebaeudeteil: string = "";
|
||||
public objekt_saniert: boolean = false;
|
||||
public baujahr_gebaeude: number = 0;
|
||||
public baujahr_anlage: number = 0;
|
||||
public anzahl_einheiten: number = 0;
|
||||
|
||||
public erstellungsdatum: Date = new Date();
|
||||
public ausstellgrund: Ausstellgrund = "Vermietung";
|
||||
|
||||
public energieverbrauch_zeitraum: Moment = moment();
|
||||
public energieverbrauch_1_heizquelle_1: number = 0;
|
||||
public energieverbrauch_2_heizquelle_1: number = 0;
|
||||
public energieverbrauch_3_heizquelle_1: number = 0;
|
||||
public energieverbrauch_1_heizquelle_2: number = 0;
|
||||
public energieverbrauch_2_heizquelle_2: number = 0;
|
||||
public energieverbrauch_3_heizquelle_2: number = 0;
|
||||
|
||||
public energietraeger_einheit_heizquelle_1: string = "";
|
||||
public energietraeger_einheit_heizquelle_2: string = "";
|
||||
public energietraeger_1: string = "";
|
||||
public energietraeger_2: string = "";
|
||||
|
||||
public anteil_warmwasser_1: number = 0;
|
||||
public anteil_warmwasser_2: number = 0;
|
||||
|
||||
public uid: string = "";
|
||||
|
||||
public wohnflaeche: number = 0;
|
||||
public keller_beheizt: boolean = false;
|
||||
public dachgeschoss: string = "";
|
||||
public zusaetzliche_heizquelle: boolean = false;
|
||||
public warmwasser_enthalten: boolean = false;
|
||||
public lueftungskonzept: Lueftungskonzept = "Fensterlüftung";
|
||||
public wird_gekuehlt: boolean = false;
|
||||
public leerstand: number = 0;
|
||||
public images: string[] = [];
|
||||
|
||||
public versorgungssysteme: boolean[] = BitChecker(0);
|
||||
public fenster_dach: boolean[] = BitChecker(0);
|
||||
public energiequelle_2_nutzung: boolean[] = BitChecker(0);
|
||||
public daemmung: boolean[] = BitChecker(0);
|
||||
public get energetische_nutzfläche(): number {
|
||||
return this.wohnflaeche * (this.keller_beheizt ? 1.35 : 1.2);
|
||||
};
|
||||
|
||||
/**
|
||||
* Bedarfsausweis spezifische Eigenschaften
|
||||
*/
|
||||
public anzahl_vollgeschosse: number = 0;
|
||||
public geschosshoehe: number = 0;
|
||||
public anzahl_gauben: number = 0;
|
||||
public breite_gauben: number = 0;
|
||||
public masse_a: number = 0;
|
||||
public masse_b: number = 0;
|
||||
public masse_c: number = 0;
|
||||
public masse_d: number = 0;
|
||||
public masse_e: number = 0;
|
||||
public masse_f: number = 0;
|
||||
public fensterflaeche_so_sw: number = 0;
|
||||
public fensterflaeche_nw_no: number = 0;
|
||||
public aussenwandflaeche_unbeheizt: number = 0;
|
||||
public dachflaeche: number = 0;
|
||||
public dach_u_wert: number = 0;
|
||||
public deckenflaeche: number = 0;
|
||||
public decke_u_wert: number = 0;
|
||||
public aussenwand_flaeche: number = 0;
|
||||
public aussenwand_u_wert: number = 0;
|
||||
public fussboden_flaeche: number = 0;
|
||||
public fussboden_u_wert: number = 0;
|
||||
public volumen: number = 0;
|
||||
public dicht: boolean = false;
|
||||
public fenster_flaeche_1: number = 0;
|
||||
public fenster_art_1: string = "";
|
||||
public fenster_flaeche_2: number = 0;
|
||||
public fenster_art_2: string = "";
|
||||
public dachfenster_flaeche: number = 0;
|
||||
public dachfenster_art: string = "";
|
||||
public haustuer_flaeche: number = 0;
|
||||
public haustuer_art: string = "";
|
||||
public dach_bauart: string = "";
|
||||
public dach_daemmung: number = 0;
|
||||
public decke_bauart: string = "";
|
||||
public decke_daemmung: number = 0;
|
||||
public aussenwand_bauart: string = "";
|
||||
public aussenwand_daemmung: number = 0;
|
||||
public boden_bauart: string = "";
|
||||
public boden_daemmung: number = 0;
|
||||
public warmwasser_verteilung: string = "";
|
||||
public warmwasser_speicherung: string = "";
|
||||
public warmwasser_erzeugung: string = "";
|
||||
public heizung_zentral: boolean = false;
|
||||
public heizung_verteilung: string = "";
|
||||
public heizung_speicherung: string = "";
|
||||
public waerme_erzeugung_heizung: string = "";
|
||||
public anteil_zusatzheizung: number = 0;
|
||||
public kollektor_flaeche: number = 0;
|
||||
|
||||
// VANW
|
||||
|
||||
public vanw_stromverbrauch_enthalten: number = 0;
|
||||
public vanw_stromverbrauch_sonstige: string = "";
|
||||
public vanw_strom_1: number = 0;
|
||||
public vanw_strom_2: number = 0;
|
||||
public vanw_strom_3: number = 0;
|
||||
|
||||
public regnummer: string = "";
|
||||
public erledigt: boolean = false;
|
||||
|
||||
public anrede: string = "";
|
||||
public name: string = "";
|
||||
public vorname: string = "";
|
||||
public email: string = "";
|
||||
public telefonnummer: string = "";
|
||||
|
||||
public constructor() {}
|
||||
|
||||
public static fromBase64(base64: string): VerbrauchsausweisGewerbe | null {
|
||||
try {
|
||||
const text = Buffer.from(base64, "base64");
|
||||
|
||||
const json = JSON.parse(text.toString());
|
||||
return json;
|
||||
} catch (e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public get primaer_energie_verbrauch(): Promise<number> {
|
||||
return (async () => {
|
||||
const Endenergieverbrauch = await this.end_energie_verbrauch;
|
||||
|
||||
const brennstoff_1 = getHeizwertfaktorClient(this.energietraeger_1, this.energietraeger_einheit_heizquelle_1);
|
||||
|
||||
return Endenergieverbrauch * brennstoff_1.primärenergiefaktor;
|
||||
})();
|
||||
}
|
||||
|
||||
public get end_energie_verbrauch(): Promise<number> {
|
||||
return (async () => {
|
||||
const date = this.energieverbrauch_zeitraum;
|
||||
const klimafaktoren = await getKlimafaktorenClient(
|
||||
date,
|
||||
this.objekt_plz
|
||||
);
|
||||
|
||||
// Endenergieverbrauch
|
||||
// Um den EEV auszurechnen, müssen die Verbräuche zu kWh konvertiert werden.
|
||||
let brennstoff_1 = getHeizwertfaktorClient(this.energietraeger_1, this.energietraeger_einheit_heizquelle_1);
|
||||
let brennstoff_2 = getHeizwertfaktorClient(this.energietraeger_2, this.energietraeger_einheit_heizquelle_2);
|
||||
|
||||
let verbrauch_1_kwh =
|
||||
(this.energieverbrauch_1_heizquelle_1 * brennstoff_1.umrechnungsfaktor)
|
||||
let verbrauch_2_kwh =
|
||||
(this.energieverbrauch_2_heizquelle_1 * brennstoff_1.umrechnungsfaktor)
|
||||
let verbrauch_3_kwh =
|
||||
(this.energieverbrauch_3_heizquelle_1 * brennstoff_1.umrechnungsfaktor)
|
||||
let verbrauch_4_kwh =
|
||||
(this.energieverbrauch_1_heizquelle_2 * brennstoff_2.umrechnungsfaktor)
|
||||
let verbrauch_5_kwh =
|
||||
(this.energieverbrauch_2_heizquelle_2 * brennstoff_2.umrechnungsfaktor)
|
||||
let verbrauch_6_kwh =
|
||||
(this.energieverbrauch_3_heizquelle_2 * brennstoff_2.umrechnungsfaktor)
|
||||
|
||||
let warmwasserZuschlag = 0;
|
||||
let leerstandsZuschlag = 0;
|
||||
let kuehlungsZuschlag = 0;
|
||||
if (this.anteil_warmwasser_1 == 0) {
|
||||
warmwasserZuschlag = 20 * this.energetische_nutzfläche * 3;
|
||||
}
|
||||
|
||||
if (this.leerstand > 0) {
|
||||
let durchschnittsKlimafaktor =
|
||||
klimafaktoren.reduce((a, b) => a + b, 0) / 3;
|
||||
|
||||
leerstandsZuschlag =
|
||||
((verbrauch_1_kwh +
|
||||
verbrauch_2_kwh +
|
||||
verbrauch_3_kwh +
|
||||
verbrauch_4_kwh +
|
||||
verbrauch_5_kwh +
|
||||
verbrauch_6_kwh) *
|
||||
(this.leerstand / 100)) /
|
||||
durchschnittsKlimafaktor;
|
||||
}
|
||||
|
||||
if (this.energiequelle_2_nutzung[3]) {
|
||||
kuehlungsZuschlag = 6 * this.energetische_nutzfläche * 3;
|
||||
}
|
||||
|
||||
|
||||
let anteil_heizung = 1 - this.anteil_warmwasser_1 / 100;
|
||||
let anteil_warmwasser = this.anteil_warmwasser_1 / 100;
|
||||
|
||||
let Energieverbrauchskennwert =
|
||||
(anteil_heizung *
|
||||
(verbrauch_1_kwh + verbrauch_4_kwh) *
|
||||
klimafaktoren[0] +
|
||||
anteil_warmwasser * (verbrauch_1_kwh + verbrauch_4_kwh) +
|
||||
anteil_heizung *
|
||||
(verbrauch_2_kwh + verbrauch_5_kwh) *
|
||||
klimafaktoren[1] +
|
||||
anteil_warmwasser * (verbrauch_2_kwh + verbrauch_5_kwh) +
|
||||
anteil_heizung *
|
||||
(verbrauch_3_kwh + verbrauch_6_kwh) *
|
||||
klimafaktoren[2] +
|
||||
anteil_warmwasser * (verbrauch_3_kwh + verbrauch_6_kwh) +
|
||||
warmwasserZuschlag +
|
||||
leerstandsZuschlag +
|
||||
kuehlungsZuschlag) /
|
||||
3 /
|
||||
this.energetische_nutzfläche;
|
||||
|
||||
|
||||
return Energieverbrauchskennwert;
|
||||
})();
|
||||
}
|
||||
}
|
||||
741
src/lib/Heizungswerte.ts
Normal file
741
src/lib/Heizungswerte.ts
Normal file
@@ -0,0 +1,741 @@
|
||||
import fuelList from "~/components/Ausweis/fuelList";
|
||||
|
||||
export function getHeizungswerte(
|
||||
energietraeger: string,
|
||||
energietraeger2: string,
|
||||
AN: number,
|
||||
verteilungww: string,
|
||||
warmwasser_speicherung: string,
|
||||
werzeugungww: string,
|
||||
heizung_zentral: boolean,
|
||||
verteilungh: string,
|
||||
spheizung: string,
|
||||
werzeugungh: string
|
||||
) {
|
||||
let energietraegerfa = 1.1;
|
||||
let energietraegerfa2 = 1.1;
|
||||
let werzeugungwweaz = 1.31 - (0.08 / 350) * (AN - 150);
|
||||
let werzeugungwwhb = 0.2 - (0.1 / 350) * (AN - 150);
|
||||
let werzeugungheaz = 1.19 - (0.04 / 350) * (AN - 150);
|
||||
let werzeugunghhb = 0.8 - (0.4 / 350) * (AN - 150);
|
||||
|
||||
if (
|
||||
energietraeger == "Heizöl" ||
|
||||
energietraeger == "Erdgas" ||
|
||||
energietraeger == "Flüssiggas" ||
|
||||
energietraeger == "Koks"
|
||||
) {
|
||||
energietraegerfa = 1.1;
|
||||
} else if (
|
||||
energietraeger == "Brennholz" ||
|
||||
energietraeger == "Holz-Pellets" ||
|
||||
energietraeger == "Holzhackschnitzel"
|
||||
) {
|
||||
energietraegerfa = 0.2;
|
||||
} else if (energietraeger == "Strommix") {
|
||||
energietraegerfa = 1.8;
|
||||
} else if (
|
||||
energietraeger == "Nahwärme KWK FB" ||
|
||||
energietraeger == "Fernwärme KWK FB"
|
||||
) {
|
||||
energietraegerfa = 0.7;
|
||||
} else if (
|
||||
energietraeger == "Nahwärme KWK EB" ||
|
||||
energietraeger == "Fernwärme KWK EB"
|
||||
) {
|
||||
energietraegerfa = 0;
|
||||
} else if (
|
||||
energietraeger == "Nahwärme HKW FB" ||
|
||||
energietraeger == "Fernwärme HKW FB"
|
||||
) {
|
||||
energietraegerfa = 1.3;
|
||||
} else if (
|
||||
energietraeger == "Nahwärme HKW EB" ||
|
||||
energietraeger == "Fernwärme HKW EB"
|
||||
) {
|
||||
energietraegerfa = 0.1;
|
||||
} else if (energietraeger == "Braunkohle") {
|
||||
energietraegerfa = 1.2;
|
||||
}
|
||||
|
||||
if (
|
||||
energietraeger2 == "Heizöl" ||
|
||||
energietraeger2 == "Erdgas" ||
|
||||
energietraeger2 == "Flüssiggas" ||
|
||||
energietraeger2 == "Koks"
|
||||
) {
|
||||
energietraegerfa2 = 1.1;
|
||||
} else if (
|
||||
energietraeger2 == "Holz-Pellets" ||
|
||||
energietraeger2 == "Holzhackschnitzel" ||
|
||||
energietraeger2 == "Brennholz"
|
||||
) {
|
||||
energietraegerfa2 = 0.2;
|
||||
} else if (energietraeger2 == "Strommix") {
|
||||
energietraegerfa2 = 1.8;
|
||||
} else if (energietraeger2 == "Braunkohle") {
|
||||
energietraegerfa2 = 1.2;
|
||||
}
|
||||
|
||||
let verteilungwwwv = 0;
|
||||
let verteilungwwhg = 0;
|
||||
let verteilungwwhb = 0;
|
||||
let warmwasser_speicherungwv = 0;
|
||||
let warmwasser_speicherunghg = 0;
|
||||
let warmwasser_speicherunghb = 0;
|
||||
|
||||
let verteilunghwv = 0;
|
||||
let verteilunghhb = 0;
|
||||
|
||||
let spheizungwv = 0;
|
||||
let spheizunghb = 0;
|
||||
|
||||
let heizung_zentralwv = 0;
|
||||
|
||||
if (AN <= 500) {
|
||||
if (verteilungww == "zvmzbis1978") {
|
||||
verteilungwwwv = 68.6 - (21.2 / 350) * (AN - 150);
|
||||
verteilungwwhg = 12.4 + (2.2 / 350) * (AN - 150);
|
||||
verteilungwwhb = 1.4 - (0.6 / 350) * (AN - 150);
|
||||
} else if (verteilungww == "zvmzngbis1978") {
|
||||
verteilungwwwv = 41.9 - (6.5 / 350) * (AN - 150);
|
||||
verteilungwwhg = 12.4 + (2.2 / 350) * (AN - 150);
|
||||
verteilungwwhb = 1.4 - (0.6 / 350) * (AN - 150);
|
||||
} else if (verteilungww == "zvmzvon1979bis1994") {
|
||||
verteilungwwwv = 27.3 - (4.7 / 350) * (AN - 150);
|
||||
verteilungwwhg = 8.2 + (1.1 / 350) * (AN - 150);
|
||||
verteilungwwhb = 1.4 - (0.6 / 350) * (AN - 150);
|
||||
} else if (verteilungww == "zvmzab1995") {
|
||||
verteilungwwwv = 11.6 - (4 / 350) * (AN - 150);
|
||||
verteilungwwhg = 1.7 + (0.2 / 350) * (AN - 150);
|
||||
verteilungwwhb = 0.8 - (0.5 / 350) * (AN - 150);
|
||||
} else if (verteilungww == "zvozbis1978") {
|
||||
verteilungwwwv = 17 - (6.6 / 350) * (AN - 150);
|
||||
verteilungwwhg = 3.5;
|
||||
verteilungwwhb = 0;
|
||||
} else if (verteilungww == "zvozngbis1978") {
|
||||
verteilungwwwv = 12.6 - (3.8 / 350) * (AN - 150);
|
||||
verteilungwwhg = 3.5;
|
||||
verteilungwwhb = 0;
|
||||
} else if (verteilungww == "zvozvon1979bis1994") {
|
||||
verteilungwwwv = 10.8 - (2.5 / 350) * (AN - 150);
|
||||
verteilungwwhg = 3.7;
|
||||
verteilungwwhb = 0;
|
||||
} else if (verteilungww == "zvozab1995") {
|
||||
verteilungwwwv = 5.4 - (2 / 350) * (AN - 150);
|
||||
verteilungwwhg = 1;
|
||||
verteilungwwhb = 0;
|
||||
} else if (verteilungww == "dzsbis1994") {
|
||||
verteilungwwwv = 3.8;
|
||||
verteilungwwhg = 2;
|
||||
verteilungwwhb = 0;
|
||||
} else if (verteilungww == "dzsab1995") {
|
||||
verteilungwwwv = 1.5;
|
||||
verteilungwwhg = 0.7;
|
||||
verteilungwwhb = 0;
|
||||
}
|
||||
if (warmwasser_speicherung == "zwwsath") {
|
||||
warmwasser_speicherungwv = 5.1 - (3.3 / 350) * (AN - 150);
|
||||
warmwasser_speicherunghg = 0;
|
||||
warmwasser_speicherunghb = 0.2;
|
||||
} else if (warmwasser_speicherung == "zwwsith") {
|
||||
warmwasser_speicherungwv = 4.2 - (2.8 / 350) * (AN - 150);
|
||||
warmwasser_speicherunghg = 2.2 - (1.4 / 350) * (AN - 150);
|
||||
warmwasser_speicherunghb = 0.2;
|
||||
} else if (warmwasser_speicherung == "gasbs") {
|
||||
warmwasser_speicherungwv = 18 - (6.1 / 350) * (AN - 150);
|
||||
warmwasser_speicherunghg = 0;
|
||||
warmwasser_speicherunghb = 0;
|
||||
} else if (warmwasser_speicherung == "elks") {
|
||||
warmwasser_speicherungwv = 1.5;
|
||||
warmwasser_speicherunghg = 0.8;
|
||||
warmwasser_speicherunghb = 0;
|
||||
}
|
||||
if (werzeugungww == "ktkesselbis1986") {
|
||||
werzeugungwweaz = 2.05 - (0.41 / 350) * (AN - 150);
|
||||
|
||||
werzeugungwwhb = 0.1;
|
||||
} else if (werzeugungww == "ktkesselvon1987bis1994") {
|
||||
werzeugungwweaz = 1.9 - (0.33 / 350) * (AN - 150);
|
||||
|
||||
werzeugungwwhb = 0.2 - (0.1 / 350) * (AN - 150);
|
||||
} else if (werzeugungww == "ktkesselab1995") {
|
||||
werzeugungwweaz = 1.71 - (0.25 / 350) * (AN - 150);
|
||||
|
||||
werzeugungwwhb = 0.2 - (0.1 / 350) * (AN - 150);
|
||||
} else if (werzeugungww == "ntkesselbis1986") {
|
||||
werzeugungwweaz = 1.3 - (0.07 / 350) * (AN - 150);
|
||||
|
||||
werzeugungwwhb = 0.1;
|
||||
} else if (werzeugungww == "ntkesselvon1987bis1994") {
|
||||
werzeugungwweaz = 1.31 - (0.08 / 350) * (AN - 150);
|
||||
|
||||
werzeugungwwhb = 0.2 - (0.1 / 350) * (AN - 150);
|
||||
} else if (werzeugungww == "ntkesselab1995") {
|
||||
werzeugungwweaz = 1.19 - (0.04 / 350) * (AN - 150);
|
||||
|
||||
werzeugungwwhb = 0.2 - (0.1 / 350) * (AN - 150);
|
||||
} else if (werzeugungww == "bwkesselbis1986") {
|
||||
werzeugungwweaz = 1.24 - (0.07 / 350) * (AN - 150);
|
||||
|
||||
werzeugungwwhb = 0.1;
|
||||
} else if (werzeugungww == "bwkesselvon1987bis1994") {
|
||||
werzeugungwweaz = 1.25 - (0.08 / 350) * (AN - 150);
|
||||
|
||||
werzeugungwwhb = 0.2 - (0.1 / 350) * (AN - 150);
|
||||
} else if (werzeugungww == "bwkesselab1995") {
|
||||
werzeugungwweaz = 1.15 - (0.03 / 350) * (AN - 150);
|
||||
|
||||
werzeugungwwhb = 0.2 - (0.1 / 350) * (AN - 150);
|
||||
} else if (werzeugungww == "bwkesselab1999") {
|
||||
werzeugungwweaz = 1.13 - (0.03 / 350) * (AN - 150);
|
||||
|
||||
werzeugungwwhb = 0.2 - (0.1 / 350) * (AN - 150);
|
||||
} else if (werzeugungww == "ewplhvon1979bis1994") {
|
||||
werzeugungwweaz = 0.37;
|
||||
|
||||
werzeugungwwhb = 0;
|
||||
} else if (werzeugungww == "ewplhab1995") {
|
||||
werzeugungwweaz = 0.34;
|
||||
|
||||
werzeugungwwhb = 0;
|
||||
} else if (werzeugungww == "ewpemvon1979bis1994") {
|
||||
werzeugungwweaz = 0.32;
|
||||
|
||||
werzeugungwwhb = 0.3;
|
||||
} else if (werzeugungww == "ewpemab1995") {
|
||||
werzeugungwweaz = 0.27;
|
||||
|
||||
werzeugungwwhb = 0.3;
|
||||
} else if (werzeugungww == "ewpgmvon1979bis1994") {
|
||||
werzeugungwweaz = 0.26;
|
||||
|
||||
werzeugungwwhb = 0.5 - (0.1 / 350) * (AN - 150);
|
||||
} else if (werzeugungww == "ewpgmab1995") {
|
||||
werzeugungwweaz = 0.23;
|
||||
|
||||
werzeugungwwhb = 0.5 - (0.1 / 350) * (AN - 150);
|
||||
} else if (werzeugungww == "fwugs") {
|
||||
werzeugungwweaz = 1.14;
|
||||
|
||||
werzeugungwwhb = 0.4;
|
||||
} else if (werzeugungww == "zes") {
|
||||
werzeugungwweaz = 1;
|
||||
|
||||
werzeugungwwhb = 0;
|
||||
} else if (werzeugungww == "gbs") {
|
||||
werzeugungwweaz = 1.22;
|
||||
|
||||
werzeugungwwhb = 0;
|
||||
} else if (werzeugungww == "thermebis1994") {
|
||||
werzeugungwweaz = 1.32;
|
||||
|
||||
werzeugungwwhb = 0.2;
|
||||
} else if (werzeugungww == "thermeab1995") {
|
||||
werzeugungwweaz = 1.32;
|
||||
|
||||
werzeugungwwhb = 0.2;
|
||||
} else if (werzeugungww == "bthermeab1995") {
|
||||
werzeugungwweaz = 1.28;
|
||||
|
||||
werzeugungwwhb = 0.2;
|
||||
} else if (werzeugungww == "dezelks") {
|
||||
werzeugungwweaz = 1;
|
||||
|
||||
werzeugungwwhb = 0;
|
||||
} else if (werzeugungww == "dezeldh") {
|
||||
werzeugungwweaz = 1;
|
||||
|
||||
werzeugungwwhb = 0;
|
||||
} else if (werzeugungww == "dezgasdhbis1994") {
|
||||
werzeugungwweaz = 1.19;
|
||||
|
||||
werzeugungwwhb = 0;
|
||||
} else if (werzeugungww == "dezgasdhab1995") {
|
||||
werzeugungwweaz = 1.16;
|
||||
|
||||
werzeugungwwhb = 0;
|
||||
}
|
||||
if (heizung_zentral) {
|
||||
heizung_zentralwv = 3.3;
|
||||
} else if (!heizung_zentral) {
|
||||
heizung_zentralwv = 0;
|
||||
}
|
||||
if (verteilungh == "zv7055bis1978") {
|
||||
verteilunghwv = 75.1 - (31.6 / 350) * (AN - 150);
|
||||
verteilunghhb = 2.3 - (1.3 / 350) * (AN - 150);
|
||||
} else if (verteilungh == "zv7055ngbis1978") {
|
||||
verteilunghwv = 40.9 - (12.7 / 350) * (AN - 150);
|
||||
verteilunghhb = 2.3 - (1.3 / 350) * (AN - 150);
|
||||
} else if (verteilungh == "zv7055von1979bis1994") {
|
||||
verteilunghwv = 20.2 - (6.4 / 350) * (AN - 150);
|
||||
verteilunghhb = 1.9 - (1.1 / 350) * (AN - 150);
|
||||
} else if (verteilungh == "zv7055ab1995") {
|
||||
verteilunghwv = 9.3 - (3.9 / 350) * (AN - 150);
|
||||
verteilunghhb = 1.6 - (0.9 / 350) * (AN - 150);
|
||||
} else if (verteilungh == "zv5545bis1978") {
|
||||
verteilunghwv = 57.4 - (24.5 / 350) * (AN - 150);
|
||||
verteilunghhb = 2.5 - (1.3 / 350) * (AN - 150);
|
||||
} else if (verteilungh == "zv5545ngbis1978") {
|
||||
verteilunghwv = 30.8 - (17.8 / 350) * (AN - 150);
|
||||
verteilunghhb = 2.5 - (1.3 / 350) * (AN - 150);
|
||||
} else if (verteilungh == "zv5545von1979bis1994") {
|
||||
verteilunghwv = 15.3 - (5 / 350) * (AN - 150);
|
||||
verteilunghhb = 2 - (1.1 / 350) * (AN - 150);
|
||||
} else if (verteilungh == "zv5545ab1995") {
|
||||
verteilunghwv = 9.3 - (5.4 / 350) * (AN - 150);
|
||||
verteilunghhb = 1.7 - (0.9 / 350) * (AN - 150);
|
||||
} else if (verteilungh == "wwvertbis1978") {
|
||||
verteilunghwv = 8.4;
|
||||
verteilunghhb = 3.41;
|
||||
} else if (verteilungh == "wwvertvon1979bis1994") {
|
||||
verteilunghwv = 5.4;
|
||||
verteilunghhb = 2.73;
|
||||
} else if (verteilungh == "wwvertab1995") {
|
||||
verteilunghwv = 1.3;
|
||||
verteilunghhb = 2.3;
|
||||
} else if (verteilungh == "dezensys") {
|
||||
verteilunghwv = 0;
|
||||
verteilunghhb = 0;
|
||||
}
|
||||
if (spheizung == "elzs7055bis1994") {
|
||||
spheizungwv = 3.2 - (1.9 / 350) * (AN - 150);
|
||||
spheizunghb = 0.5 - (0.3 / 350) * (AN - 150);
|
||||
} else if (spheizung == "elzs7055ab1995") {
|
||||
spheizungwv = 2.5 - (1.5 / 350) * (AN - 150);
|
||||
spheizunghb = 0.4 - (0.2 / 350) * (AN - 150);
|
||||
} else if (spheizung == "puffs5545bis1994") {
|
||||
spheizungwv = 2.5 - (1.5 / 350) * (AN - 150);
|
||||
spheizunghb = 0.5 - (0.3 / 350) * (AN - 150);
|
||||
} else if (spheizung == "puffs5545ab1995") {
|
||||
spheizungwv = 1.9 - (1.2 / 350) * (AN - 150);
|
||||
spheizunghb = 0.4 - (0.2 / 350) * (AN - 150);
|
||||
} else if (spheizung == "puffshk7055bis1994") {
|
||||
spheizungwv = 4.4 - (2.6 / 350) * (AN - 150);
|
||||
spheizunghb = 0.5 - (0.3 / 350) * (AN - 150);
|
||||
} else if (spheizung == "puffshk7055ab1995") {
|
||||
spheizungwv = 3.4 - (2 / 350) * (AN - 150);
|
||||
spheizunghb = 0.4 - (0.2 / 350) * (AN - 150);
|
||||
}
|
||||
if (werzeugungh == "ktkesselbis1986h") {
|
||||
werzeugungheaz = 1.47 - (0.11 / 350) * (AN - 150);
|
||||
werzeugunghhb = 1.2 - (0.7 / 350) * (AN - 150);
|
||||
} else if (werzeugungh == "ktkesselvon1987bis1994h") {
|
||||
werzeugungheaz = 1.34 - (0.08 / 350) * (AN - 150);
|
||||
werzeugunghhb = 0.8 - (0.4 / 350) * (AN - 150);
|
||||
} else if (werzeugungh == "ktkesselab1995h") {
|
||||
werzeugungheaz = 1.33 - (0.1 / 350) * (AN - 150);
|
||||
werzeugunghhb = 0.7 - (0.3 / 350) * (AN - 150);
|
||||
} else if (werzeugungh == "ntkesselbis1986h") {
|
||||
werzeugungheaz = 1.24 - (0.03 / 350) * (AN - 150);
|
||||
werzeugunghhb = 1.2 - (0.3 / 350) * (AN - 150);
|
||||
} else if (werzeugungh == "ntkesselvon1987bis1994h") {
|
||||
werzeugungheaz = 1.19 - (0.04 / 350) * (AN - 150);
|
||||
werzeugunghhb = 0.8 - (0.4 / 350) * (AN - 150);
|
||||
} else if (werzeugungh == "ntkesselab1995h") {
|
||||
werzeugungheaz = 1.14 - (0.03 / 350) * (AN - 150);
|
||||
werzeugunghhb = 0.7 - (0.3 / 350) * (AN - 150);
|
||||
} else if (werzeugungh == "bwkesselbis1986h") {
|
||||
werzeugungheaz = 1.11 - (0.02 / 350) * (AN - 150);
|
||||
werzeugunghhb = 1.2 - (0.7 / 350) * (AN - 150);
|
||||
} else if (werzeugungh == "bwkesselvon1987bis1994h") {
|
||||
werzeugungheaz = 1.09 - (0.03 / 350) * (AN - 150);
|
||||
werzeugunghhb = 0.8 - (0.4 / 350) * (AN - 150);
|
||||
} else if (werzeugungh == "bwkesselab1995h") {
|
||||
werzeugungheaz = 1.07 - (0.02 / 350) * (AN - 150);
|
||||
werzeugunghhb = 0.7 - (0.3 / 350) * (AN - 150);
|
||||
} else if (werzeugungh == "bwkesselab1999h") {
|
||||
werzeugungheaz = 0.99 - (0.01 / 350) * (AN - 150);
|
||||
werzeugunghhb = 0.7 - (0.3 / 350) * (AN - 150);
|
||||
} else if (werzeugungh == "fwugsh") {
|
||||
werzeugungheaz = 1.02;
|
||||
werzeugunghhb = 0;
|
||||
} else if (werzeugungh == "ewplhvon1979bis1994h") {
|
||||
werzeugungheaz = 0.41;
|
||||
werzeugunghhb = 0;
|
||||
} else if (werzeugungh == "ewplhab1995h") {
|
||||
werzeugungheaz = 0.39;
|
||||
werzeugunghhb = 0;
|
||||
} else if (werzeugungh == "ewpemvon1979bis1994h") {
|
||||
werzeugungheaz = 0.33;
|
||||
werzeugunghhb = 1.2 - (0.2 / 350) * (AN - 150);
|
||||
} else if (werzeugungh == "ewpemab1995h") {
|
||||
werzeugungheaz = 0.27;
|
||||
werzeugunghhb = 1.2 - (0.2 / 350) * (AN - 150);
|
||||
} else if (werzeugungh == "ewpgmvon1979bis1994h") {
|
||||
werzeugungheaz = 0.27;
|
||||
werzeugunghhb = 1.9 - (0.2 / 350) * (AN - 150);
|
||||
} else if (werzeugungh == "ewpgmab1995h") {
|
||||
werzeugungheaz = 0.23;
|
||||
werzeugunghhb = 1.9 - (0.2 / 350) * (AN - 150);
|
||||
} else if (werzeugungh == "zesh") {
|
||||
werzeugungheaz = 1.02;
|
||||
werzeugunghhb = 0;
|
||||
} else if (werzeugungh == "thermebis1994h") {
|
||||
werzeugungheaz = 1.24;
|
||||
werzeugunghhb = 1.2;
|
||||
} else if (werzeugungh == "thermeab1995h") {
|
||||
werzeugungheaz = 1.14;
|
||||
werzeugunghhb = 1.5;
|
||||
} else if (werzeugungh == "bthermeab1995h") {
|
||||
werzeugungheaz = 1.07;
|
||||
werzeugunghhb = 1.5;
|
||||
} else if (werzeugungh == "oeleinzel") {
|
||||
werzeugungheaz = 1.4;
|
||||
werzeugunghhb = 0;
|
||||
} else if (werzeugungh == "kheinzel") {
|
||||
werzeugungheaz = 1.6;
|
||||
werzeugunghhb = 0;
|
||||
} else if (werzeugungh == "greinzel") {
|
||||
werzeugungheaz = 1.47;
|
||||
werzeugunghhb = 0;
|
||||
} else if (werzeugungh == "elnseinzelbis1994") {
|
||||
werzeugungheaz = 1.12;
|
||||
werzeugunghhb = 0;
|
||||
} else if (werzeugungh == "elnseinzelab1995") {
|
||||
werzeugungheaz = 1.05;
|
||||
werzeugunghhb = 0;
|
||||
} else if (werzeugungh == "eldirekt") {
|
||||
werzeugungheaz = 1.02;
|
||||
werzeugunghhb = 0;
|
||||
}
|
||||
} else if (AN > 500 && AN <= 7000) {
|
||||
if (verteilungww == "zvmzbis1978") {
|
||||
verteilungwwwv = 47.4 - (8.5 / 2000) * (AN - 500);
|
||||
verteilungwwhg = 14.6 + (1.3 / 2000) * (AN - 500);
|
||||
verteilungwwhb = 0.8 - (0.2 / 2000) * (AN - 500);
|
||||
} else if (verteilungww == "zvmzngbis1978") {
|
||||
verteilungwwwv = 35.4 - (2.2 / 2000) * (AN - 500);
|
||||
verteilungwwhg = 14.6 + (1.3 / 2000) * (AN - 500);
|
||||
verteilungwwhb = 0.8 - (0.2 / 2000) * (AN - 500);
|
||||
} else if (verteilungww == "zvmzvon1979bis1994") {
|
||||
verteilungwwwv = 22.6 - (1.6 / 2000) * (AN - 500);
|
||||
verteilungwwhg = 9.3 + (0.6 / 2000) * (AN - 500);
|
||||
verteilungwwhb = 0.8 - (0.2 / 2000) * (AN - 500);
|
||||
} else if (verteilungww == "zvmzab1995") {
|
||||
verteilungwwwv = 7.6 - (1 / 2000) * (AN - 500);
|
||||
verteilungwwhg = 1.9 + (0.3 / 2000) * (AN - 500);
|
||||
verteilungwwhb = 0.3 - (0.2 / 2000) * (AN - 500);
|
||||
} else if (verteilungww == "zvozbis1978") {
|
||||
verteilungwwwv = 10.4 - (2.3 / 2000) * (AN - 500);
|
||||
verteilungwwhg = 3.5;
|
||||
verteilungwwhb = 0;
|
||||
} else if (verteilungww == "zvozngbis1978") {
|
||||
verteilungwwwv = 8.8 - (1.4 / 2000) * (AN - 500);
|
||||
verteilungwwhg = 3.5;
|
||||
verteilungwwhb = 0;
|
||||
} else if (verteilungww == "zvozvon1979bis1994") {
|
||||
verteilungwwwv = 8.3 - (0.8 / 2000) * (AN - 500);
|
||||
verteilungwwhg = 3.7;
|
||||
verteilungwwhb = 0;
|
||||
} else if (verteilungww == "zvozab1995") {
|
||||
verteilungwwwv = 3.4 - (0.6 / 2000) * (AN - 500);
|
||||
verteilungwwhg = 1;
|
||||
verteilungwwhb = 0;
|
||||
} else if (verteilungww == "dzsbis1994") {
|
||||
verteilungwwwv = 3.8;
|
||||
verteilungwwhg = 2;
|
||||
verteilungwwhb = 0;
|
||||
} else if (verteilungww == "dzsab1995") {
|
||||
verteilungwwwv = 1.5;
|
||||
verteilungwwhg = 0.7;
|
||||
verteilungwwhb = 0;
|
||||
}
|
||||
if (warmwasser_speicherung == "zwwsath") {
|
||||
warmwasser_speicherungwv = 1.8 - (1.3 / 2000) * (AN - 500);
|
||||
warmwasser_speicherunghg = 0;
|
||||
warmwasser_speicherunghb = 0.2;
|
||||
} else if (warmwasser_speicherung == "zwwsith") {
|
||||
warmwasser_speicherungwv = 1.4 - (1 / 2000) * (AN - 500);
|
||||
warmwasser_speicherunghg = 0.8 - (0.6 / 2000) * (AN - 500);
|
||||
warmwasser_speicherunghb = 0.2 + (0.1 / 2000) * (AN - 500);
|
||||
} else if (warmwasser_speicherung == "gasbs") {
|
||||
warmwasser_speicherungwv = 11.9;
|
||||
warmwasser_speicherunghg = 0;
|
||||
warmwasser_speicherunghb = 0;
|
||||
} else if (warmwasser_speicherung == "elks") {
|
||||
warmwasser_speicherungwv = 1.5;
|
||||
warmwasser_speicherunghg = 0.8;
|
||||
warmwasser_speicherunghb = 0;
|
||||
}
|
||||
if (werzeugungww == "ktkesselbis1986") {
|
||||
werzeugungwweaz = 1.64 - (0.31 / 2000) * (AN - 500);
|
||||
|
||||
werzeugungwwhb = 0.1;
|
||||
} else if (werzeugungww == "ktkesselvon1987bis1994") {
|
||||
werzeugungwweaz = 1.57 - (0.26 / 2000) * (AN - 500);
|
||||
|
||||
werzeugungwwhb = 0.1;
|
||||
} else if (werzeugungww == "ktkesselab1995") {
|
||||
werzeugungwweaz = 1.46 - (0.2 / 2000) * (AN - 500);
|
||||
|
||||
werzeugungwwhb = 0.1;
|
||||
} else if (werzeugungww == "ntkesselbis1986") {
|
||||
werzeugungwweaz = 1.23 - (0.05 / 2000) * (AN - 500);
|
||||
|
||||
werzeugungwwhb = 0.1;
|
||||
} else if (werzeugungww == "ntkesselvon1987bis1994") {
|
||||
werzeugungwweaz = 1.23 - (0.06 / 2000) * (AN - 500);
|
||||
|
||||
werzeugungwwhb = 0.1;
|
||||
} else if (werzeugungww == "ntkesselab1995") {
|
||||
werzeugungwweaz = 1.15 - (0.03 / 2000) * (AN - 500);
|
||||
|
||||
werzeugungwwhb = 0.1;
|
||||
} else if (werzeugungww == "bwkesselbis1986") {
|
||||
werzeugungwweaz = 1.17 - (0.04 / 2000) * (AN - 500);
|
||||
|
||||
werzeugungwwhb = 0.1;
|
||||
} else if (werzeugungww == "bwkesselvon1987bis1994") {
|
||||
werzeugungwweaz = 1.17 - (0.05 / 2000) * (AN - 500);
|
||||
|
||||
werzeugungwwhb = 0.1;
|
||||
} else if (werzeugungww == "bwkesselab1995") {
|
||||
werzeugungwweaz = 1.12 - (0.03 / 2000) * (AN - 500);
|
||||
|
||||
werzeugungwwhb = 0.1;
|
||||
} else if (werzeugungww == "bwkesselab1999") {
|
||||
werzeugungwweaz = 1.1 - (0.03 / 2000) * (AN - 500);
|
||||
|
||||
werzeugungwwhb = 0.1;
|
||||
} else if (werzeugungww == "ewplhvon1979bis1994") {
|
||||
werzeugungwweaz = 0.37;
|
||||
|
||||
werzeugungwwhb = 0;
|
||||
} else if (werzeugungww == "ewplhab1995") {
|
||||
werzeugungwweaz = 0.34;
|
||||
|
||||
werzeugungwwhb = 0;
|
||||
} else if (werzeugungww == "ewpemvon1979bis1994") {
|
||||
werzeugungwweaz = 0.32;
|
||||
|
||||
werzeugungwwhb = 0.3 - (0.1 / 2000) * (AN - 500);
|
||||
} else if (werzeugungww == "ewpemab1995") {
|
||||
werzeugungwweaz = 0.27;
|
||||
|
||||
werzeugungwwhb = 0.3 - (0.1 / 2000) * (AN - 500);
|
||||
} else if (werzeugungww == "ewpgmvon1979bis1994") {
|
||||
werzeugungwweaz = 0.26;
|
||||
|
||||
werzeugungwwhb = 0.4;
|
||||
} else if (werzeugungww == "ewpgmab1995") {
|
||||
werzeugungwweaz = 0.23;
|
||||
|
||||
werzeugungwwhb = 0.4;
|
||||
} else if (werzeugungww == "fwugs") {
|
||||
werzeugungwweaz = 1.14;
|
||||
|
||||
werzeugungwwhb = 0.4;
|
||||
} else if (werzeugungww == "zes") {
|
||||
werzeugungwweaz = 1;
|
||||
|
||||
werzeugungwwhb = 0;
|
||||
} else if (werzeugungww == "gbs") {
|
||||
werzeugungwweaz = 1.22;
|
||||
|
||||
werzeugungwwhb = 0;
|
||||
} else if (werzeugungww == "thermebis1994") {
|
||||
werzeugungwweaz = 1.32;
|
||||
|
||||
werzeugungwwhb = 0.2;
|
||||
} else if (werzeugungww == "thermeab1995") {
|
||||
werzeugungwweaz = 1.32;
|
||||
|
||||
werzeugungwwhb = 0.2;
|
||||
} else if (werzeugungww == "bthermeab1995") {
|
||||
werzeugungwweaz = 1.28;
|
||||
|
||||
werzeugungwwhb = 0.2;
|
||||
} else if (werzeugungww == "dezelks") {
|
||||
werzeugungwweaz = 1;
|
||||
|
||||
werzeugungwwhb = 0;
|
||||
} else if (werzeugungww == "dezeldh") {
|
||||
werzeugungwweaz = 1;
|
||||
|
||||
werzeugungwwhb = 0;
|
||||
} else if (werzeugungww == "dezgasdhbis1994") {
|
||||
werzeugungwweaz = 1.19;
|
||||
|
||||
werzeugungwwhb = 0;
|
||||
} else if (werzeugungww == "dezgasdhab1995") {
|
||||
werzeugungwweaz = 1.16;
|
||||
|
||||
werzeugungwwhb = 0;
|
||||
}
|
||||
if (heizung_zentral) {
|
||||
heizung_zentralwv = 3.3;
|
||||
} else if (!heizung_zentral) {
|
||||
heizung_zentralwv = 0;
|
||||
}
|
||||
if (verteilungh == "zv7055bis1978") {
|
||||
verteilunghwv = 43.5 - (10.8 / 2000) * (AN - 500);
|
||||
verteilunghhb = 1 - (0.5 / 2000) * (AN - 500);
|
||||
} else if (verteilungh == "zv7055ngbis1978") {
|
||||
verteilunghwv = 28.2 - (4.3 / 2000) * (AN - 500);
|
||||
verteilunghhb = 1 - (0.5 / 2000) * (AN - 500);
|
||||
} else if (verteilungh == "zv7055von1979bis1994") {
|
||||
verteilunghwv = 13.8 - (2.2 / 2000) * (AN - 500);
|
||||
verteilunghhb = 0.8 - (0.4 / 2000) * (AN - 500);
|
||||
} else if (verteilungh == "zv7055ab1995") {
|
||||
verteilunghwv = 5.4 - (1.3 / 2000) * (AN - 500);
|
||||
verteilunghhb = 0.7 - (0.4 / 2000) * (AN - 500);
|
||||
} else if (verteilungh == "zv5545bis1978") {
|
||||
verteilunghwv = 32.9 - (8.5 / 2000) * (AN - 500);
|
||||
verteilunghhb = 1.2 - (0.5 / 2000) * (AN - 500);
|
||||
} else if (verteilungh == "zv5545ngbis1978") {
|
||||
verteilunghwv = 21 - (3.4 / 2000) * (AN - 500);
|
||||
verteilunghhb = 1.2 - (0.5 / 2000) * (AN - 500);
|
||||
} else if (verteilungh == "zv5545von1979bis1994") {
|
||||
verteilunghwv = 10.3 - (1.8 / 2000) * (AN - 500);
|
||||
verteilunghhb = 0.9 - (0.4 / 2000) * (AN - 500);
|
||||
} else if (verteilungh == "zv5545ab1995") {
|
||||
verteilunghwv = 3.9 - (1 / 2000) * (AN - 500);
|
||||
verteilunghhb = 0.8 - (0.3 / 2000) * (AN - 500);
|
||||
} else if (verteilungh == "wwvertbis1978") {
|
||||
verteilunghwv = 8.4;
|
||||
verteilunghhb = 3.41;
|
||||
} else if (verteilungh == "wwvertvon1979bis1994") {
|
||||
verteilunghwv = 5.4;
|
||||
verteilunghhb = 2.73;
|
||||
} else if (verteilungh == "wwvertab1995") {
|
||||
verteilunghwv = 1.3;
|
||||
verteilunghhb = 2.3;
|
||||
} else if (verteilungh == "dezensys") {
|
||||
verteilunghwv = 0;
|
||||
verteilunghhb = 0;
|
||||
}
|
||||
if (spheizung == "elzs7055bis1994") {
|
||||
spheizungwv = 1.3 - (0.9 / 2000) * (AN - 500);
|
||||
spheizunghb = 0.2 - (0.1 / 2000) * (AN - 500);
|
||||
} else if (spheizung == "elzs7055ab1995") {
|
||||
spheizungwv = 1 - (0.7 / 2000) * (AN - 500);
|
||||
spheizunghb = 0.2 - (0.1 / 2000) * (AN - 500);
|
||||
} else if (spheizung == "puffs5545bis1994") {
|
||||
spheizungwv = 1 - (0.7 / 2000) * (AN - 500);
|
||||
spheizunghb = 0.2 - (0.1 / 2000) * (AN - 500);
|
||||
} else if (spheizung == "puffs5545ab1995") {
|
||||
spheizungwv = 0.7 - (0.5 / 2000) * (AN - 500);
|
||||
spheizunghb = 0.2 - (0.1 / 2000) * (AN - 500);
|
||||
} else if (spheizung == "puffshk7055bis1994") {
|
||||
spheizungwv = 1.8 - (0.7 / 2000) * (AN - 500);
|
||||
spheizunghb = 0.2 - (0.1 / 2000) * (AN - 500);
|
||||
} else if (spheizung == "puffshk7055ab1995") {
|
||||
spheizungwv = 1.4 - (0.6 / 2000) * (AN - 500);
|
||||
spheizunghb = 0.2 - (0.1 / 2000) * (AN - 500);
|
||||
}
|
||||
if (werzeugungh == "ktkesselbis1986h") {
|
||||
werzeugungheaz = 1.36 - (0.08 / 2000) * (AN - 500);
|
||||
werzeugunghhb = 0.5 - (0.3 / 2000) * (AN - 500);
|
||||
} else if (werzeugungh == "ktkesselvon1987bis1994h") {
|
||||
werzeugungheaz = 1.26 - (0.07 / 2000) * (AN - 500);
|
||||
werzeugunghhb = 0.4 - (0.2 / 2000) * (AN - 500);
|
||||
} else if (werzeugungh == "ktkesselab1995h") {
|
||||
werzeugungheaz = 1.23 - (0.07 / 2000) * (AN - 500);
|
||||
werzeugunghhb = 0.4 - (0.2 / 2000) * (AN - 500);
|
||||
} else if (werzeugungh == "ntkesselbis1986h") {
|
||||
werzeugungheaz = 1.21 - (0.03 / 2000) * (AN - 500);
|
||||
werzeugunghhb = 0.5 - (0.3 / 2000) * (AN - 500);
|
||||
} else if (werzeugungh == "ntkesselvon1987bis1994h") {
|
||||
werzeugungheaz = 1.15 - (0.02 / 2000) * (AN - 500);
|
||||
werzeugunghhb = 0.4 - (0.2 / 2000) * (AN - 500);
|
||||
} else if (werzeugungh == "ntkesselab1995h") {
|
||||
werzeugungheaz = 1.11 - (0.02 / 2000) * (AN - 500);
|
||||
werzeugunghhb = 0.4 - (0.2 / 2000) * (AN - 500);
|
||||
} else if (werzeugungh == "bwkesselbis1986h") {
|
||||
werzeugungheaz = 1.09 - (0.02 / 2000) * (AN - 500);
|
||||
werzeugunghhb = 0.5 - (0.3 / 2000) * (AN - 500);
|
||||
} else if (werzeugungh == "bwkesselvon1987bis1994h") {
|
||||
werzeugungheaz = 1.06 - (0.02 / 2000) * (AN - 500);
|
||||
werzeugunghhb = 0.4 - (0.2 / 2000) * (AN - 500);
|
||||
} else if (werzeugungh == "bwkesselab1995h") {
|
||||
werzeugungheaz = 1.05 - (0.01 / 2000) * (AN - 500);
|
||||
werzeugunghhb = 0.4 - (0.2 / 2000) * (AN - 500);
|
||||
} else if (werzeugungh == "bwkesselab1999h") {
|
||||
werzeugungheaz = 0.98 - (0.01 / 2000) * (AN - 500);
|
||||
werzeugunghhb = 0.4 - (0.2 / 2000) * (AN - 500);
|
||||
} else if (werzeugungh == "fwugsh") {
|
||||
werzeugungheaz = 1.02;
|
||||
werzeugunghhb = 0;
|
||||
} else if (werzeugungh == "ewplhvon1979bis1994h") {
|
||||
werzeugungheaz = 0.41;
|
||||
werzeugunghhb = 0;
|
||||
} else if (werzeugungh == "ewplhab1995h") {
|
||||
werzeugungheaz = 0.39;
|
||||
werzeugunghhb = 0;
|
||||
} else if (werzeugungh == "ewpemvon1979bis1994h") {
|
||||
werzeugungheaz = 0.33;
|
||||
werzeugunghhb = 1 - (0.1 / 2000) * (AN - 500);
|
||||
} else if (werzeugungh == "ewpemab1995h") {
|
||||
werzeugungheaz = 0.27;
|
||||
werzeugunghhb = 1 - (0.1 / 2000) * (AN - 500);
|
||||
} else if (werzeugungh == "ewpgmvon1979bis1994h") {
|
||||
werzeugungheaz = 0.27;
|
||||
werzeugunghhb = 1.7 - (0.2 / 2000) * (AN - 500);
|
||||
} else if (werzeugungh == "ewpgmab1995h") {
|
||||
werzeugungheaz = 0.23;
|
||||
werzeugunghhb = 1.7 - (0.2 / 2000) * (AN - 500);
|
||||
} else if (werzeugungh == "zesh") {
|
||||
werzeugungheaz = 1.02;
|
||||
werzeugunghhb = 0;
|
||||
} else if (werzeugungh == "thermebis1994h") {
|
||||
werzeugungheaz = 1.24;
|
||||
werzeugunghhb = 1.2;
|
||||
} else if (werzeugungh == "thermeab1995h") {
|
||||
werzeugungheaz = 1.14;
|
||||
werzeugunghhb = 1.5;
|
||||
} else if (werzeugungh == "bthermeab1995h") {
|
||||
werzeugungheaz = 1.07;
|
||||
werzeugunghhb = 1.5;
|
||||
} else if (werzeugungh == "oeleinzel") {
|
||||
werzeugungheaz = 1.4;
|
||||
werzeugunghhb = 0;
|
||||
} else if (werzeugungh == "kheinzel") {
|
||||
werzeugungheaz = 1.6;
|
||||
werzeugunghhb = 0;
|
||||
} else if (werzeugungh == "greinzel") {
|
||||
werzeugungheaz = 1.47;
|
||||
werzeugunghhb = 0;
|
||||
} else if (werzeugungh == "elnseinzelbis1994") {
|
||||
werzeugungheaz = 1.12;
|
||||
werzeugunghhb = 0;
|
||||
} else if (werzeugungh == "elnseinzelab1995") {
|
||||
werzeugungheaz = 1.05;
|
||||
werzeugunghhb = 0;
|
||||
} else if (werzeugungh == "eldirekt") {
|
||||
werzeugungheaz = 1.02;
|
||||
werzeugunghhb = 0;
|
||||
}
|
||||
}
|
||||
|
||||
let result = fuelList.find(
|
||||
(value) =>
|
||||
value.energietraeger == energietraeger && value.einheit == "kWh"
|
||||
);
|
||||
|
||||
let coe = 0;
|
||||
if (result) {
|
||||
coe = result.coe
|
||||
}
|
||||
|
||||
return [
|
||||
heizung_zentralwv,
|
||||
verteilunghwv,
|
||||
spheizungwv,
|
||||
werzeugungheaz,
|
||||
verteilungwwwv,
|
||||
verteilungwwhg,
|
||||
warmwasser_speicherungwv,
|
||||
warmwasser_speicherunghg,
|
||||
werzeugungwweaz,
|
||||
verteilunghhb,
|
||||
spheizunghb,
|
||||
werzeugunghhb,
|
||||
verteilungwwhb,
|
||||
warmwasser_speicherunghb,
|
||||
werzeugungwwhb,
|
||||
energietraegerfa,
|
||||
energietraegerfa2,
|
||||
coe,
|
||||
];
|
||||
}
|
||||
@@ -4,52 +4,6 @@ import AusweisLayout from "~/layouts/AusweisLayout.astro";
|
||||
|
||||
import BedarfsausweisContent from "~/components/Bedarfsausweis/BedarfsausweisContent.svelte";
|
||||
---
|
||||
<!-- <div class="form-group col-12 col-md-12" style="padding:0;">
|
||||
<div>
|
||||
<div class="row">
|
||||
<div class="form-group col-12 col-md-6">
|
||||
<div class="form-group col-12 col-md-6">
|
||||
<label class="control-label" style="min-width:265px;">
|
||||
<span class="help1" data-toggle="tooltip" data-html="true" title="<div class='TT'>Es werden keine Personenbezogenen Daten gespeichert. Es werden nur die Eingabedaten zum Gebäude auf dieser Formularseite gespeichert.</div>">
|
||||
<img src="/energieausweis-erstellen/FORM/img/question-mark.png" alt="question mark" class="mark20">
|
||||
</span></label>
|
||||
<button type="submit" class="weiterbutton" formaction="speichern.php" formnovalidate></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group col-12 col-md-6">
|
||||
<div class="form-group col-12 col-md-6 offset-md-6">
|
||||
<label class="control-label">
|
||||
<span class="help1" data-toggle="tooltip" data-html="true" title="<div class='TT'>Wir helfen Ihnen bei der Eingabe. Kurze Fragen zum Formular oder der Ausweisart werden kostenfrei telefonisch beantwortet (bis 5min). Bitte kontaktieren Sie uns unter 040/209339850. Gerne nehmen wir Ihnen die Arbeit ab - Fordern Sie unseren Offline Service an und klicken auf -Hilfe anfordern- </div>">
|
||||
<img src="/energieausweis-erstellen/FORM/img/question-mark.png" alt="question mark" class="mark20">
|
||||
</span>
|
||||
</label>
|
||||
<input class="weiterbutton" onclick="javascript:toggle('hilfean')" style="background-color: #31448e;width:100%;" id="hilfeaw" type="button" value="Hilfe anfordern">
|
||||
<script type='module' src='/energieausweis-erstellen/FORM/js/auto-fill.js' async defer></script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-12" id="hilfean" style="display: none">
|
||||
<div class="form-group col-md-12 pop_help">
|
||||
<div class="form-group col-md-12">
|
||||
Gerne helfen wir Ihnen wenn Sie nicht weiterkommen oder Fragen haben. Kurze
|
||||
Fragen zum Formular oder der Ausweisart werden kostenfrei telefonisch unter <a href="tel:+4940209339850">040/209339850</a> beantwortet (bis 5min). Sollten
|
||||
Sie Unterstützung bei der Erstellung benötgen oder lieber die Arbeit von unserem
|
||||
Ingenieurbüro erledigen lassen, bieten wir Ihnen folgende Hilfen an. Bitte
|
||||
treffen Sie Ihre Auswahl und klicken auf weiter:
|
||||
</div>
|
||||
<div class="row" style="margin:0em 0em 0em 2em;">
|
||||
<div class="form-group col-md-7">Bedarfsausweis online inkl. ausführlicher telefonischer Beratung für 95€ inkl. MwSt.</div>
|
||||
<div class="form-group col-md-5"><input type="radio" class="ausstellgrund" value="1" name="hilfe"></div>
|
||||
</div>
|
||||
<div class="form-group col-md-12" style="text-align:right;">
|
||||
<button type="submit" class="weiterbutton">Kundendaten</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<AusweisLayout title="Bedarfsausweis erstellen | IBCornelsen">
|
||||
<BedarfsausweisContent></BedarfsausweisContent>
|
||||
<BedarfsausweisContent client:load></BedarfsausweisContent>
|
||||
</AusweisLayout>
|
||||
@@ -6,5 +6,5 @@ import VerbrauchsausweisGewerbeContent from "~/components/VerbrauchsausweisGewer
|
||||
---
|
||||
|
||||
<AusweisLayout title="Verbrauchsausweis Gewerbe erstellen | IBCornelsen">
|
||||
<VerbrauchsausweisGewerbeContent></VerbrauchsausweisGewerbeContent>
|
||||
<VerbrauchsausweisGewerbeContent client:load></VerbrauchsausweisGewerbeContent>
|
||||
</AusweisLayout>
|
||||
Reference in New Issue
Block a user