Skip to content

Commit c305592

Browse files
committed
First try
1 parent 009fc0e commit c305592

4 files changed

Lines changed: 103 additions & 0 deletions

File tree

src/bo4e/bo/einspeisung.py

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
"""
2+
Contains Buendelvertrag class and corresponding marshmallow schema for de-/serialization
3+
"""
4+
5+
# pylint: disable=too-few-public-methods
6+
# pylint: disable=no-name-in-module
7+
from typing import TYPE_CHECKING, Annotated, Optional
8+
9+
import pydantic
10+
from pydantic import Field
11+
12+
from ..enum.eeg_vermarktungsform import EEGVermarktungsform
13+
from ..enum.fernsteuerbarkeit_status import FernsteuerbarkeitStatus
14+
from ..enum.geschaeftspartnerrolle import Geschaeftspartnerrolle
15+
from ..enum.landescode import Landescode
16+
from ..enum.typ import Typ
17+
from ..utils import postprocess_docstring
18+
from .geschaeftsobjekt import Geschaeftsobjekt
19+
20+
21+
@postprocess_docstring
22+
class Einspeisung(Geschaeftsobjekt):
23+
"""
24+
Abbildung eines Bündelvertrags.
25+
Es handelt sich hierbei um eine Liste von Einzelverträgen, die in einem Vertragsobjekt gebündelt sind.
26+
27+
.. raw:: html
28+
29+
<object data="../_static/images/bo4e/bo/Buendelvertrag.svg" type="image/svg+xml"></object>
30+
31+
.. HINT::
32+
`Buendelvertrag JSON Schema <https://json-schema.app/view/%23?url=https://raw.githubusercontent.com/BO4E/BO4E-Schemas/{__gh_version__}/src/bo4e_schemas/bo/Buendelvertrag.json>`_
33+
34+
"""
35+
36+
MarktlokationsId: Optional[str] = None
37+
38+
Verguetungsempfaenger: Optional[Geschaeftspartnerrolle] = None
39+
40+
EEGVermarktungsform: Optional[EEGVermarktungsform] = None
41+
42+
Landescode: Optional[Landescode] = None
43+
44+
FernsteuerbarkeitStatus: Optional[FernsteuerbarkeitStatus] = None
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# pylint:disable=missing-module-docstring
2+
3+
from bo4e.enum.strenum import StrEnum
4+
5+
6+
class EEGVermarktungsform(StrEnum):
7+
"""
8+
Diese Enum repräsentiert die Vermarktungsformen nach dem EEG.
9+
"""
10+
11+
AUSFALLVERGUETUNG = "AUSFALLVERGUETUNG" #: Ausfallvergütung
12+
# Ausfallvergütung für den Fall, dass andere Vermarktungsmethoden nicht verfügbar sind
13+
MARKTPRAEMIE = "MARKTPRAEMIE" #: Marktprämie
14+
# Marktprämie für die geförderte Direktvermarktung
15+
SONSTIGES = "SONSTIGES" #: Sonstiges
16+
# Sonstige Vermarktungsformen ohne gesetzliche Vergütung
17+
KWKG_VERGUETUNG = "KWKG_VERGUETUNG" #: KWKG-Vergütung
18+
# Vergütung nach dem Kraft-Wärme-Kopplungsgesetz (KWKG)
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# pylint:disable=missing-module-docstring
2+
3+
from bo4e.enum.strenum import StrEnum
4+
5+
6+
class FernsteuerbarkeitStatus(StrEnum):
7+
"""
8+
Enum zur Abbildung des Status der Fernsteuerbarkeit
9+
10+
Marktlokation ist technisch fernsteuerbar. Der NB bestätigt mit der Anmeldung einer erzeugenden Marktlokation zur
11+
Direktvermarktung, dass die Marktlokation mit einer Fernsteuerung ausgestattet, aber dem NB keine Information
12+
darüber vorliegt, dass der LF die Marktlokation fernsteuern kann. Die Voraussetzung zur Zahlung der
13+
Managementprämie für fernsteuerbare Marktlokation ist nicht gegeben.
14+
"""
15+
16+
NICHT_FERNSTEUERBAR = "NICHT_FERNSTEUERBAR" #: nicht fernsteuerbar
17+
TECHNISCH_FERNSTEUERBAR = "TECHNISCH_FERNSTEUERBAR" #: technisch fernsteuerbar
18+
LIEFERANT_FERNSTEUERBAR = "LIEFERANT_FERNSTEUERBAR" #: lieferantenseitig fernsteuerbar
19+
#

src/bo4e/enum/profilart.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# pylint:disable=missing-module-docstring
2+
3+
from bo4e.enum.strenum import StrEnum
4+
5+
6+
class Geschaeftspartnerrolle(StrEnum):
7+
"""
8+
Diese Rollen kann ein Geschäftspartner einnehmen.
9+
10+
Profilart (temperaturabhängig / standardlastprofil)
11+
"""
12+
13+
ART_STANDARDLASTPROFILOBJ = "ART_STANDARDLASTPROFILOBJ"
14+
#: Standardlastprofil
15+
ART_TAGESPARAMETERABHAENGIGES_LASTPROFIL = "ART_TAGESPARAMETERABHAENGIGES_LASTPROFIL"
16+
#: Tagesparameterabhängiges Lastprofil
17+
ART_LASTPROFIL = "ART_LASTPROFIL"
18+
#: Lastprofil
19+
ART_STANDARDEINSPEISEPROFIL = "ART_STANDARDEINSPEISEPROFIL"
20+
#: Standardeinspeiseprofil
21+
ART_TAGESPARAMETERABHAENGIGES_EINSPEISEPROFIL = "ART_TAGESPARAMETERABHAENGIGES_EINSPEISEPROFIL"
22+
#: Tagesparameterabhängiges Einspeiseprofil

0 commit comments

Comments
 (0)