diff --git a/src/bo4e/com/verwendungszweck.py b/src/bo4e/com/verwendungszweck.py new file mode 100644 index 000000000..0435233ef --- /dev/null +++ b/src/bo4e/com/verwendungszweck.py @@ -0,0 +1,34 @@ +""" +Contains Verwendungszweck class +and corresponding marshmallow schema for de-/serialization +""" +from typing import Optional + +from bo4e.com.com import COM +from bo4e.enum import verwendungszweck +from bo4e.enum.marktrolle import Marktrolle + +# pylint: disable=too-few-public-methods + + +class Verwendungszweck(COM): + """ + Verwendungungszweck der Werte Marktlokation + + .. raw:: html + + + + .. HINT:: + `Verwendungszweck JSON Schema `_ + + """ + + marktrolle: Optional[Marktrolle] = None + """ + Rollencodenummer der Marktrolle + """ + Zwecke: Optional[list[verwendungszweck]] = None + """ + Verwendungszwecke + """ diff --git a/src/bo4e/com/zaehlwerk.py b/src/bo4e/com/zaehlwerk.py index 67895028e..120965349 100644 --- a/src/bo4e/com/zaehlwerk.py +++ b/src/bo4e/com/zaehlwerk.py @@ -6,8 +6,11 @@ from typing import Optional from bo4e.com.com import COM +from bo4e.com.verwendungszweck import Verwendungszweck from bo4e.enum.energierichtung import Energierichtung from bo4e.enum.mengeneinheit import Mengeneinheit +from bo4e.enum.verbrauchsart import Verbrauchsart +from bo4e.enum.waermenutzung import Waermenutzung # pylint: disable=no-name-in-module # pylint: disable=no-name-in-module @@ -41,3 +44,8 @@ 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 + 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 diff --git a/src/bo4e/enum/verwendungszweck.py b/src/bo4e/enum/verwendungszweck.py new file mode 100644 index 000000000..fccbd320d --- /dev/null +++ b/src/bo4e/enum/verwendungszweck.py @@ -0,0 +1,18 @@ +# pylint:disable=missing-module-docstring + +from bo4e.enum.strenum import StrEnum + + +class Verwendungszweck(StrEnum): + """ + Verwendungungszweck der Werte Marktlokation + """ + + NETZNUTZUNGSABRECHNUNG = "NETZNUTZUNGSABRECHNUNG" #: Netznutzungsabrechnung + BILANZKREISABRECHNUNG = "BILANZKREISABRECHNUNG" #: Bilanzkreisabrechnung + MEHRMINDERMENGENABRECHNUNG = "MEHRMINDERMENGENABRECHNUNG" #: Mehrmindermengenabrechnung + ENDKUNDENABRECHNUNG = "ENDKUNDENABRECHNUNG" #: Endkundenabrechnung + UEBERMITTLUNG_AN_DAS_HKNR = "UEBERMITTLUNG_AN_DAS_HKNR" #: Übermittlung an das Herkunftsnachweisregister (HKNR) + ERMITTLUNG_AUSGEGLICHENHEIT_BILANZKREIS = ( + "ERMITTLUNG_AUSGEGLICHENHEIT_BILANZKREIS" #: Zur Ermittlung der Ausgeglichenheit von Bilanzkreisen + ) diff --git a/src/bo4e/enum/waermenutzung.py b/src/bo4e/enum/waermenutzung.py new file mode 100644 index 000000000..b72a2c530 --- /dev/null +++ b/src/bo4e/enum/waermenutzung.py @@ -0,0 +1,12 @@ +# pylint: disable=missing-module-docstring +from bo4e.enum.strenum import StrEnum + + +class Waermenutzung(StrEnum): + """ + Wärmenutzung Marktlokation + """ + + SPEICHERHEIZUNG = "SPEICHERHEIZUNG" #: Speicherheizung + WAERMEPUMPE = "WAERMEPUMPE" #: Wärmepumpe + DIREKTHEIZUNG = "DIREKTHEIZUNG" #: Direktheizung