Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BusinessObject ¶
type BusinessObject struct { BoTyp botyp.BOTyp `json:"boTyp" validate:"required"` // type of business object, may be used as discriminator VersionStruktur string `json:"versionStruktur" validate:"required"` // version of BO4E used ExterneReferenzen []com.ExterneReferenz `json:"externeReferenzen"` // external references of this object in various systems }
BusinessObject is the common base struct of all Business Objects
type Energiemenge ¶ added in v0.0.4
type Energiemenge struct { BusinessObject LokationsId string `json:"lokationsId" example:"DE0123456789012345678901234567890" validate:"alphanum,required,min=11,max=33"` // ID of the location (either a LokationsTyp MaLo ID (11 digits) or a LokationsTyp MeLo ID (33 alphanum)) LokationsTyp lokationstyp.Lokationstyp `json:"lokationsTyp" example:"MeLo" validate:"required"` // type of the location in LokationsId Verbrauch []com.Verbrauch `json:"energieverbrauch" validate:"required,min=1"` // consumption data (see Verbrauch) }
Energiemenge contains information about consumption at a location
type Geschaeftspartner ¶ added in v0.0.5
type Geschaeftspartner struct { BusinessObject Anrede anrede.Anrede `json:"anrede"` // Die Anrede für den GePa, Z.B. Herr Name1 string `json:"name1" validate:"required" example:"Yellow Strom GmbH,Hagen"` // Erster Teil des Namens. Hier kann der Firmenname oder bei Privatpersonen beispielsweise der Nachname dargestellt werden. Name2 string `json:"name2,omitempty" example:"'Bereich Süd','Nina'"` // Zweiter Teil des Namens. Hier kann der eine Erweiterung zum Firmennamen oder bei Privatpersonen beispielsweise der Vorname dargestellt werden. Name3 string `json:"name3,omitempty" example:"Afrika,Sängerin"` // Hier können weitere Ergänzungen zum Firmennamen oder bei Privatpersonen Zusätze zum Namen dargestellt werden Gewerbekennzeichnung bool `json:"gewerbekennzeichnung" validate:"omitempty,required"` // Kennzeichnung, ob es sich um einen Gewerbe/Unternehmen (true) oder eine Privatperson handelt (false) HrNummer string `json:"hrnummer,omitempty"` // Handelsregisternummer des Geschäftspartners Amtsgericht string `json:"amtsgericht,omitempty"` // Amtsgericht bzw Handelsregistergericht, das die Handelsregisternummer herausgegeben hat Kontaktweg kontaktart.Kontaktart `json:"kontaktweg,omitempty"` // Bevorzugter Kontaktweg des Geschäftspartners. UmsatzsteuerId string `json:"umsatzsteuerId,omitempty" example:"DE 813281825"` // Die Steuer-ID des Geschäftspartners GlaeubigerId string `json:"glaeubigerId,omitempty" example:"DE 47116789"` // Die Gläubiger-ID welche im Zahlungsverkehr verwendet wird EMailAdresse string `json:"eMailAdresse,omitempty" validate:"omitempty,email" example:"info@mp-energie.de"` // E-Mail-Adresse des Ansprechpartners Website string `json:"website,omitempty" validate:"omitempty,url" example:"https://www.mp-energie.de"` // Internetseite des Marktpartners Geschaeftspartnerrollen []geschaeftspartnerrolle.Geschaeftspartnerrolle `json:"geschaeftspartnerrollen" validate:"required,min=1"` // Rollen die der Geschäftspartner hat Partneradresse com.Adresse `json:"partneradresse" validate:"required"` // Adresse des Geschäftspartners, an der sich der Hauptsitz befindet. }
Geschaeftspartner models business partners, both companies and private persons.
type Lastgang ¶ added in v0.0.4
type Lastgang struct { BusinessObject Sparte sparte.Sparte `json:"sparte" example:"STROM" validate:"required"` // Angabe, ob es sich um einen Gas- oder Stromlastgang handelt Version string `json:"version,omitempty" validate:"alphanum"` // Versionsnummer des Lastgangs LokationsId string `json:"lokationsId" example:"DE0123456789012345678901234567890" validate:"alphanum,required,min=11,max=33"` // ID of the location (either a LokationsTyp MaLo ID (11 digits) or a LokationsTyp MeLo ID (33 alphanum)) LokationsTyp lokationstyp.Lokationstyp `json:"lokationsTyp" example:"MeLo" validate:"required"` // type of the location in LokationsId Messgroesse mengeneinheit.Mengeneinheit `json:"einheit,omitempty" validate:"required" example:"KWH"` // Definition der gemessenen Größe anhand ihrer Einheit. Obiskennzahl string `json:"obiskennzahl,omitempty" example:"1-0:1.8.1"` // Genormte OBIS-Kennzahl zur Kennzeichnung der Messgröße Werte []com.Zeitreihenwert `json:"energieverbrauch" validate:"required,min=1"` // Die im Lastgang enthaltenen Messwerte. }
Lastgang ist ein Modell zur Abbildung eines Lastganges. In diesem Modell werden die Messwerte mit einem vollständigen Zeitintervall angegeben und es bietet daher eine hohe Flexibilität in der Übertragung jeglicher zeitlich veränderlicher Messgrössen.
type Messlokation ¶
type Messlokation struct { BusinessObject MesslokationsId string `json:"messlokationsId" example:"DE0123456789012345678901234567890" validate:"alphanum,required,len=33"` // ID of the metering location Sparte sparte.Sparte `json:"sparte" validate:"required"` // division NetzebeneMessung netzebene.Netzebene `json:"netzebeneMessung,omitempty"` // grid level of measurement MessgebietNr string `json:"messgebietNr,omitempty"` // number of the measurement area in ene't database Gerate []com.Hardware `json:"geraete,omitempty"` // list of devices Messdienstleistung *com.Dienstleistung `json:"messdienstleistung,omitempty"` // list of metering services GrundzustaendigerMsbCodeNr string `json:"grundzustaendigerMSBCodeNr,omitempty" validate:"omitempty,numeric"` // Code number of the "grundzuständige Messstellenbetreiber", responsitble for this MeLo GrundzustaendigerMsbImCodeNr string `json:"GrundzustaendigerMsbImCodeNr,omitempty" validate:"omitempty,numeric"` // Code number of the "grundzuständige Messsstellenbetreiber", responsible for intelligent meters at this MeLo // ToDo implement BO zaehler // messlokationszaehler: Optional[List[Zaehler]] = attr.ib(default=None) // // // only one of the following three optional address attributes can be set Messadresse *com.Adresse `json:"messadresse" validate:"required_without_all=Geoadresse KatasterInformation"` // address of the melo Geoadresse *com.Geokoordinaten `json:"geoadresse" validate:"required_without_all=Messadresse KatasterInformation"` // gps coordinates Katasterinformation *com.Katasteradresse `json:"katasterinformation" validate:"required_without_all=Messadresse Geoadresse"` // cadastre address }
Messlokation contains information about a metering location aka "MeLo"
type Vertrag ¶ added in v0.0.5
type Vertrag struct { BusinessObject Vertragsnummer string `json:"vertragsnummer" validate:"alphanum,required"` // Eine im Verwendungskontext eindeutige Nummer für den Vertrag Beschreibung string `json:"beschreibung,omitempty"` // Beschreibung zum Vertrag Vertragsstatus vertragsstatus.Vertragsstatus `json:"vertragsstatus" validate:"required"` // Gibt den Status des Vertrags an Vertragsart vertragsart.Vertragsart `json:"vertragsart" validate:"required"` // Hier ist festgelegt, um welche Art von Vertrag es sich handelt. Z.B. Netznutzungvertrag. Sparte sparte.Sparte `json:"sparte" validate:"required"` // Unterscheidungsmöglichkeiten für die Sparte Vertragsbeginn time.Time `json:"startdatum" validate:"required"` // inclusive start Vertragsende time.Time `json:"enddatum" validate:"required,gtfield=Vertragsbeginn"` // exclusive end Vertragspartner1 Geschaeftspartner `json:"vertragspartner1" validate:"required"` // Der "erstgenannte" Vertragspartner. In der Regel der Aussteller des Vertrags. Beispiel: "Vertrag zwischen Vertragspartner 1 ..." Vertragspartner2 Geschaeftspartner `json:"vertragspartner2" validate:"required"` // Der "zweitgenannte" Vertragspartner. In der Regel der Empfänger des Vertrags. Beispiel "Vertrag zwischen Vertragspartner 1 und Vertragspartner 2" UnterzeichnerVp1 []com.Unterschrift `json:"unterzeichnervp1,omitempty"` // Unterzeichner des Vertragspartner1 UnterzeichnerVp2 []com.Unterschrift `json:"unterzeichnervp2,omitempty"` // Unterzeichner des Vertragspartner2 Vertragskonditionen *com.Vertragskonditionen `json:"vertragskonditionen,omitempty"` // Festlegungen zu Laufzeiten und Kündigungsfristen Vertragsteile []com.Vertragsteil `json:"vertragsteile" validate:"required,min=1"` // Der Vertragsteil wird dazu verwendet, eine vertragliche Leistung in Bezug zu einer Lokation (Markt- oder Messlokation) festzulegen. }
Vertrag ist ein Modell für die Abbildung von Vertragsbeziehungen. Das Objekt dient dazu, alle Arten von Verträgen, die in der Energiewirtschaft Verwendung finden, abzubilden.
type Zaehler ¶ added in v0.0.7
type Zaehler struct { BusinessObject Zaehlernummer string `json:"zahlernummer" validate:"required,alphanum"` // Nummerierung des Zaehlers, vergeben durch den Messstellenbetreiber Sparte sparte.Sparte `json:"sparte" validate:"required"` // Unterscheidungsmöglichkeiten für die Sparte Zaehlerauspraegung zaehlerauspraegung.Zaehlerauspraegung `json:"zaehlerauspraegung" validate:"required"` // Spezifikation die Richtung des Zählers betreffend Zaehlertyp zaehlertyp.Zaehlertyp `json:"zaehlertyp" validate:"required"` // Typisierung des Zählers Tarifart tarifart.Tarifart `json:"tarifart" validate:"required"` // Spezifikation bezüglich unterstützter Tarifarten Zaehlerkonstante float32 `json:"zaehlerkonstante,omitempty"` // Zählerkonstante auf dem Zähler EichungBis time.Time `json:"eichungBis,omitempty"` // Bis zu diesem Datum ist der Zähler geeicht LetzteEichung time.Time `json:"letzteEichung,omitempty"` // Zu diesem Datum fand die letzte Eichprüfung des Zählers statt Zaehlwerke []com.Zaehlwerk `json:"zaehlwerke" validate:"required,min=1"` // Die Zählwerke des Zählers Zaehlerhersteller *Geschaeftspartner `json:"zaehlerhersteller,omitempty"` // Der Hersteller des Zählers }
Zaehler ist ein Modell für die Abbildung der Informationen zu einem Zähler