Skip to content

Commit

Permalink
Add more Zaehlwerkserweiterungen
Browse files Browse the repository at this point in the history
  • Loading branch information
hf-aschloegl committed Oct 9, 2023
1 parent 23b79f3 commit f72cf53
Show file tree
Hide file tree
Showing 4 changed files with 89 additions and 1 deletion.
33 changes: 33 additions & 0 deletions src/bo4e/com/konzessionsabgabe.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
"""
Contains Konzessionsabgabe and corresponding marshmallow schema for de-/serialization
"""
from decimal import Decimal
from typing import Optional

from bo4e.com.com import COM
from bo4e.enum.abgabeart import AbgabeArt

# pylint: disable=too-few-public-methods, too-many-instance-attributes


class Konzessionsabgabe(COM):
"""
Diese Komponente wird zur Übertagung der Details zu einer Konzessionsabgabe verwendet.
.. raw:: html
<object data="../_static/images/bo4e/com/Konzessionsabgabe.svg" type="image/svg+xml"></object>
.. HINT::
`Konzessionsabgabe JSON Schema <https://json-schema.app/view/%23?url=https://raw.githubusercontent.com/Hochfrequenz/BO4E-python/main/json_schemas/com/Konzessionsabgabe.json>`_
"""

#: Art der Abgabe
satz: Optional[AbgabeArt] = None

#: Konzessionsabgabe in E/kWh
kosten: Optional[Decimal] = None

#: Gebührenkategorie der Konzessionsabgabe
kategorie: Optional[str] = None
11 changes: 10 additions & 1 deletion src/bo4e/com/zaehlwerk.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@
from typing import Optional

from bo4e.com.com import COM
from bo4e.com.konzessionsabgabe import Konzessionsabgabe
from bo4e.com.verwendungszweck import Verwendungszweck
from bo4e.com.zaehlzeitregister import Zaehlzeitregister
from bo4e.enum.energierichtung import Energierichtung
from bo4e.enum.mengeneinheit import Mengeneinheit
from bo4e.enum.verbrauchsart import Verbrauchsart
Expand Down Expand Up @@ -44,8 +46,15 @@ class Zaehlwerk(COM):
] = None # Mit diesem Faktor wird eine Zählerstandsdifferenz multipliziert, um zum eigentlichen Verbrauch im Zeitraum
# zu kommen.
einheit: Optional[Mengeneinheit] = None # Die Einheit der gemessenen Größe, z.B. kWh
ist_schwachlastfaehig: Optional[bool] = None #: Schwachlastfaehigkeint
ist_schwachlastfaehig: Optional[bool] = None #: Schwachlastfaehigkeit
verwendungszwecke: Optional[list[Verwendungszweck]] = None #: Verwendungungszweck der Werte Marktlokation
verbrauchsart: Optional[Verbrauchsart] = None #: Stromverbrauchsart/Verbrauchsart Marktlokation
ist_unterbrechbar: Optional[bool] = None #: Unterbrechbarkeit Marktlokation
waermenutzung: Optional[Waermenutzung] = None #: Wärmenutzung Marktlokation
konzessionsabgabe: Optional[Konzessionsabgabe] = None #: Konzessionsabgabe
ist_steuerbefreit: Optional[bool] = None #: Steuerbefreiung
vorkommastelle: Optional[int] = None #: Anzahl der Vorkommastellen
nachkommastelle: Optional[int] = None #: Anzahl der Nachkommastellen
ist_abrechnungsrelevant: Optional[bool] = None #: Abrechnungsrelevant
anzahlAblesungen: Optional[int] = None #: Anzahl Ablesungen pro Jahr
zaehlzeitregister: Optional[Zaehlzeitregister] #: Erweiterte Definition der Zählzeit in Bezug auf ein Register
28 changes: 28 additions & 0 deletions src/bo4e/com/zaehlzeitregister.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
"""
Contains Zaehlzeitregister class and corresponding marshmallow schema for de-/serialization
"""
from typing import Optional

from bo4e.com.com import COM

# pylint: disable=no-name-in-module
# pylint: disable=too-few-public-methods


class Zaehlzeitregister(COM):
"""
Mit dieser Komponente werden Zählzeitregister modelliert. Ein Zählzeitregister beschreibt eine erweiterte Definition der Zählzeit
in Bezug auf ein Register. Dabei werden alle Codes dazu vom Netzbetreiber vergeben.
.. raw:: html
<object data="../_static/images/bo4e/com/Zaehlzeitregister.svg" type="image/svg+xml"></object>
.. HINT::
`Zaehlzeitregister JSON Schema <https://json-schema.app/view/%23?url=https://raw.githubusercontent.com/Hochfrequenz/BO4E-python/main/json_schemas/com/Zaehlzeitregister.json>`_
"""

zaehlzeit_definition: Optional[str] = None #: Zählzeitdefinition
register: Optional[str] = None #: Zählzeitregister
ist_schwachlastfaehig: Optional[bool] = None #: Schwachlastfaehigkeit
18 changes: 18 additions & 0 deletions src/bo4e/enum/abgabeart.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# pylint: disable=missing-module-docstring
from bo4e.enum.strenum import StrEnum


class AbgabeArt(StrEnum):
"""
Art der Konzessionsabgabe
"""

KAS = "KAS" #: KAS: für alle konzessionsvertraglichen Sonderregelungen, die nicht in die Systematik der KAV eingegliedert sind
SA = "SA" #: SA: Sondervertragskunden 1 kV, Preis nach § 2 (3) (für Strom 0,11 ct/kWh und für Gas 0,03 ct/kWh)
SAS = "SAS" #: SAS: Kennzeichnung, dass ein abweichender Preis für Sondervertragskunden vorliegt
TA = "TA" #: TA: Tarifkunden, für Strom § 2. (2) 1b HT bzw.ET(hohe KA) und für Gas § 2 (2) 2b
TAS = "TAS" #: TAS: Kennzeichnung, dass ein abweichender Preis für Tarifkunden vorliegt
TK = "TK" #: TK: für Gas nach KAV § 2 (2) 2a bei ausschließlicher Nutzung zum Kochen und Warmwassererzeugung
TKS = "TKS" #: TKS: Kennzeichnung, wenn nach KAV § 2 (2) 2a ein anderen Preis zu verwenden ist
TS = "TS" #: TS: für Strom mit Schwachlast § 2. (2) 1a NT(niedrige KA, 0,61 ct/kWh)
TSS = "TSS" #: TSS: Kennzeichnung, dass ein abweichender Preis für Schwachlast angewendet wird

0 comments on commit f72cf53

Please sign in to comment.