Source code for bo4e.bo.lastgang

"""
Contains Lastgang class
and corresponding marshmallow schema for de-/serialization
"""

from typing import Annotated, Optional

# pylint: disable=too-few-public-methods
# pylint: disable=no-name-in-module
from pydantic import Field, constr

from ..bo.marktlokation import Marktlokation
from ..bo.messlokation import Messlokation
from ..com.menge import Menge
from ..com.zeitreihenwert import Zeitreihenwert
from ..enum.mengeneinheit import Mengeneinheit
from ..enum.sparte import Sparte
from ..enum.typ import Typ
from ..utils import postprocess_docstring
from .geschaeftsobjekt import Geschaeftsobjekt

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


[docs] @postprocess_docstring class Lastgang(Geschaeftsobjekt): """ Modell zur Abbildung eines Lastganges; In diesem Modell werden die Messwerte mit einem vollständigen Zeitintervall (zeit_intervall_laenge) angegeben und es bietet daher eine hohe Flexibilität in der Übertragung jeglicher zeitlich veränderlicher Messgrössen. .. raw:: html <object data="../_static/images/bo4e/bo/Lastgang.svg" type="image/svg+xml"></object> .. HINT:: `Lastgang JSON Schema <https://json-schema.app/view/%23?url=https://raw.githubusercontent.com/BO4E/BO4E-Schemas/{__gh_version__}/src/bo4e_schemas/bo/Lastgang.json>`_ """ typ: Annotated[Optional[Typ], Field(alias="_typ")] = Typ.LASTGANG #: Angabe, ob es sich um einen Gas- oder Stromlastgang handelt sparte: Optional[Sparte] = None #: Definition der gemessenen Größe anhand ihrer Einheit messgroesse: Optional[Mengeneinheit] = None #:Marktlokation, zu der der Lastgang gehört marktlokation: Optional[Marktlokation] = None #:Marktlokation, zu der der Lastgang gehört messlokation: Optional[Messlokation] = None #: Die im Lastgang enthaltenen Messwerte werte: Optional[list[Zeitreihenwert]] = None #: Versionsnummer des Lastgangs version: Optional[str] = None #: Die OBIS-Kennzahl für den Wert, die festlegt, welche Größe mit dem Stand gemeldet wird, z.B. '1-0:1.8.1' obis_kennzahl: Optional[constr(strict=True)] = None # type: ignore[valid-type] zeit_intervall_laenge: Optional[Menge]