Skip to content

Commit 6fe6d69

Browse files
authored
Add Profiltyp/Klasse and Normierungsfaktor (#714)
1 parent c453647 commit 6fe6d69

File tree

4 files changed

+204
-0
lines changed

4 files changed

+204
-0
lines changed

BO4E/COM/Lastprofil.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,4 +73,22 @@ public class Lastprofil : COM
7373
[JsonPropertyName("herausgeber")]
7474
[ProtoMember(1006)]
7575
public string? Herausgeber { get; set; }
76+
77+
/// <summary>
78+
/// Profiltyp
79+
/// </summary>
80+
/// <example>HAUSHALT</example>
81+
[JsonProperty(PropertyName = "profiltyp")]
82+
[JsonPropertyName("profiltyp")]
83+
[ProtoMember(1007)]
84+
public Profilklasse? Profiltyp { get; set; }
85+
86+
/// <summary>
87+
/// Normierungsfaktor
88+
/// </summary>
89+
/// <example>300_KWH_K</example>
90+
[JsonProperty(PropertyName = "normierungsfaktor")]
91+
[JsonPropertyName("normierungsfaktor")]
92+
[ProtoMember(1008)]
93+
public Normierungsfaktor? Normierungsfaktor { get; set; }
7694
}

BO4E/ENUM/Normierungsfaktor.cs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
using System.Runtime.Serialization;
2+
3+
namespace BO4E.ENUM;
4+
5+
/// <summary>
6+
/// Normierungsfaktor eines Profils
7+
/// </summary>
8+
public enum Normierungsfaktor
9+
{
10+
/// <summary>
11+
/// 1.000.000 kWh/a
12+
/// </summary>
13+
[EnumMember(Value = "NORMIERUNGSFAKTOR_1_000_000_KWH_A")]
14+
[System.Text.Json.Serialization.JsonStringEnumMemberName("NORMIERUNGSFAKTOR_1_000_000_KWH_A")]
15+
NORMIERUNGSFAKTOR_1_000_000_KWH_A,
16+
17+
/// <summary>
18+
/// 300 kWh/K
19+
/// </summary>
20+
[EnumMember(Value = "NORMIERUNGSFAKTOR_300_KWH_K")]
21+
[System.Text.Json.Serialization.JsonStringEnumMemberName("NORMIERUNGSFAKTOR_300_KWH_K")]
22+
NORMIERUNGSFAKTOR_300_KWH_K,
23+
24+
/// <summary>
25+
/// 1.000.000 kW
26+
/// </summary>
27+
[EnumMember(Value = "NORMIERUNGSFAKTOR_1_000_000_KW")]
28+
[System.Text.Json.Serialization.JsonStringEnumMemberName("NORMIERUNGSFAKTOR_1_000_000_KW")]
29+
NORMIERUNGSFAKTOR_1_000_000_KW,
30+
}

BO4E/ENUM/Profilklasse.cs

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
using System.Runtime.Serialization;
2+
using BO4E.meta;
3+
4+
namespace BO4E.ENUM;
5+
6+
/// <summary>Profiltyp (temperaturabhängig / standardlastprofil)</summary>
7+
[NonOfficial(NonOfficialCategory.REGULATORY_REQUIREMENTS)]
8+
public enum Profilklasse
9+
{
10+
/// <summary>Gewerbe Werktags</summary>
11+
[ProtoBuf.ProtoEnum(Name = nameof(Profilklasse) + "_" + nameof(GEWERBE))]
12+
[EnumMember(Value = "GEWERBE")]
13+
[System.Text.Json.Serialization.JsonStringEnumMemberName("GEWERBE")]
14+
GEWERBE,
15+
16+
/// <summary>Gewerbe Werktags 9 bis 18 Uhr</summary>
17+
[EnumMember(Value = "GEWERBE_WERKTAG_9_BIS_18")]
18+
[System.Text.Json.Serialization.JsonStringEnumMemberName("GEWERBE_WERKTAG_9_BIS_18")]
19+
GEWERBE_WERKTAG_9_BIS_18,
20+
21+
/// <summary>Gewerbe mit starkem bis überwiegendem Verbrauch in den Abendstunden</summary>
22+
[EnumMember(Value = "GEWERBE_ABEND")]
23+
[System.Text.Json.Serialization.JsonStringEnumMemberName("GEWERBE_ABEND")]
24+
GEWERBE_ABEND,
25+
26+
/// <summary>Gewerbe durchlaufend</summary>
27+
[EnumMember(Value = "GEWERBE_DURCHLAUFEND")]
28+
[System.Text.Json.Serialization.JsonStringEnumMemberName("GEWERBE_DURCHLAUFEND")]
29+
GEWERBE_DURCHLAUFEND,
30+
31+
/// <summary>Gewerbe Laden/Friseur</summary>
32+
[EnumMember(Value = "GEWERBE_LADEN_FRISEUR")]
33+
[System.Text.Json.Serialization.JsonStringEnumMemberName("GEWERBE_LADEN_FRISEUR")]
34+
GEWERBE_LADEN_FRISEUR,
35+
36+
/// <summary>Gewerbe Bäckerei mit Backstube</summary>
37+
[EnumMember(Value = "GEWERBE_BAECKEREI")]
38+
[System.Text.Json.Serialization.JsonStringEnumMemberName("GEWERBE_BAECKEREI")]
39+
GEWERBE_BAECKEREI,
40+
41+
/// <summary>Gewerbe Wochenendbetrieb</summary>
42+
[EnumMember(Value = "GEWERBE_WOCHENENDE")]
43+
[System.Text.Json.Serialization.JsonStringEnumMemberName("GEWERBE_WOCHENENDE")]
44+
GEWERBE_WOCHENENDE,
45+
46+
/// <summary>Landwirtschaftsbetriebe allgemein</summary>
47+
[EnumMember(Value = "LANDWIRTSCHAFT")]
48+
[System.Text.Json.Serialization.JsonStringEnumMemberName("LANDWIRTSCHAFT")]
49+
LANDWIRTSCHAFT,
50+
51+
/// <summary>Landwirtschaftsbetriebe mit Milchwirtschaft/Nebenerwerbs-Tierzucht</summary>
52+
[EnumMember(Value = "LANDWIRTSCHAFT_MIT_MILCH")]
53+
[System.Text.Json.Serialization.JsonStringEnumMemberName("LANDWIRTSCHAFT_MIT_MILCH")]
54+
LANDWIRTSCHAFT_MIT_MILCH,
55+
56+
/// <summary>Landwirtschaft ohne Milchvieh</summary>
57+
[EnumMember(Value = "LANDWIRTSCHAFT_OHNE_MILCH")]
58+
[System.Text.Json.Serialization.JsonStringEnumMemberName("LANDWIRTSCHAFT_OHNE_MILCH")]
59+
LANDWIRTSCHAFT_OHNE_MILCH,
60+
61+
/// <summary>Haushalt</summary>
62+
[EnumMember(Value = "HAUSHALT")]
63+
[System.Text.Json.Serialization.JsonStringEnumMemberName("HAUSHALT")]
64+
HAUSHALT,
65+
66+
/// <summary>Bandlast</summary>
67+
[EnumMember(Value = "BANDLAST")]
68+
[System.Text.Json.Serialization.JsonStringEnumMemberName("BANDLAST")]
69+
BANDLAST,
70+
71+
/// <summary>Unterbrechbare Verbrauchseinrichtung</summary>
72+
[EnumMember(Value = "UNTERBRECHBARE_VERBRAUCHSEINRICHTUNG")]
73+
[System.Text.Json.Serialization.JsonStringEnumMemberName(
74+
"UNTERBRECHBARE_VERBRAUCHSEINRICHTUNG"
75+
)]
76+
UNTERBRECHBARE_VERBRAUCHSEINRICHTUNG,
77+
78+
/// <summary>Heizwärmespeicher</summary>
79+
[EnumMember(Value = "HEIZWAERMESPEICHER")]
80+
[System.Text.Json.Serialization.JsonStringEnumMemberName("HEIZWAERMESPEICHER")]
81+
HEIZWAERMESPEICHER,
82+
83+
/// <summary>Straßenbeleuchtung</summary>
84+
[EnumMember(Value = "STRASSENBELEUCHTUNG")]
85+
[ProtoBuf.ProtoEnum(Name = nameof(Profilklasse) + "_" + nameof(STRASSENBELEUCHTUNG))]
86+
[System.Text.Json.Serialization.JsonStringEnumMemberName("STRASSENBELEUCHTUNG")]
87+
STRASSENBELEUCHTUNG,
88+
89+
/// <summary>Photovoltaik-Marktlokation</summary>
90+
[EnumMember(Value = "PHOTOVOLTAIK")]
91+
[System.Text.Json.Serialization.JsonStringEnumMemberName("PHOTOVOLTAIK")]
92+
PHOTOVOLTAIK,
93+
94+
/// <summary>Blockheizkraftwerk</summary>
95+
[EnumMember(Value = "BLOCKHEIZKRAFTWERK")]
96+
[System.Text.Json.Serialization.JsonStringEnumMemberName("BLOCKHEIZKRAFTWERK")]
97+
BLOCKHEIZKRAFTWERK,
98+
99+
/// <summary>Sonstige verbrauchende Marktlokation</summary>
100+
[EnumMember(Value = "SONSTIGE_VERBRAUCHENDE_MARKTLOKATION")]
101+
[System.Text.Json.Serialization.JsonStringEnumMemberName(
102+
"SONSTIGE_VERBRAUCHENDE_MARKTLOKATION"
103+
)]
104+
SONSTIGE_VERBRAUCHENDE_MARKTLOKATION,
105+
106+
/// <summary>Sonstige erzeugende Marktlokation</summary>
107+
[EnumMember(Value = "SONSTIGE_ERZEUGENDE_MARKTLOKATION")]
108+
[System.Text.Json.Serialization.JsonStringEnumMemberName("SONSTIGE_ERZEUGENDE_MARKTLOKATION")]
109+
SONSTIGE_ERZEUGENDE_MARKTLOKATION,
110+
111+
/// <summary>E-Mobilität Ladepunkt im öffentlichen Bereich</summary>
112+
[EnumMember(Value = "EMOB_OEFFENTLICH")]
113+
[System.Text.Json.Serialization.JsonStringEnumMemberName("EMOB_OEFFENTLICH")]
114+
EMOB_OEFFENTLICH,
115+
116+
/// <summary>E-Mobilität Ladepunkt eines Haushalts</summary>
117+
[EnumMember(Value = "EMOB_HAUSHALT")]
118+
[System.Text.Json.Serialization.JsonStringEnumMemberName("EMOB_HAUSHALT")]
119+
EMOB_HAUSHALT,
120+
121+
/// <summary>E-Mobilität Ladepunkt eines Gewerbes</summary>
122+
[EnumMember(Value = "EMOB_GEWERBE")]
123+
[System.Text.Json.Serialization.JsonStringEnumMemberName("EMOB_GEWERBE")]
124+
EMOB_GEWERBE,
125+
}

BO4E/protobuf-files/bo4e.proto

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -510,6 +510,9 @@ enum Geraetetyp {
510510
Geraetetyp_STEUERBOX = 40;
511511
Geraetetyp_BLOCKSTROMWANDLER = 41;
512512
Geraetetyp_KOMBIMESSWANDLER = 42;
513+
Geraetetyp_DICHTEMENGENUMWERTER = 43;
514+
Geraetetyp_TEMPERATURMENGENUMWERTER = 44;
515+
Geraetetyp_ZUSTANDSMENGENUMWERTER = 45;
513516
}
514517
message Geschaeftspartner {
515518
option (.protobuf_net.msgopt).namespace = "BO4E.BO";
@@ -944,10 +947,18 @@ enum Leistungstyp {
944947
MAHNKOSTEN = 21;
945948
INKASSOKOSTEN = 22;
946949
}
950+
message LokationsTypZuordnung {
951+
option (.protobuf_net.msgopt).namespace = "BO4E.COM";
952+
Lokationstyp Lokationstyp = 3;
953+
string LokationsId = 4;
954+
}
947955
enum Lokationstyp {
948956
option (.protobuf_net.enumopt).namespace = "BO4E.ENUM";
949957
MALO = 0;
950958
MELO = 1;
959+
NELO = 2;
960+
SR = 3;
961+
TR = 4;
951962
}
952963
message Marktlokation {
953964
option (.protobuf_net.msgopt).namespace = "BO4E.BO";
@@ -974,6 +985,7 @@ message Marktlokation {
974985
repeated Konfigurationsprodukt Konfigurationsprodukte = 40;
975986
string LokationsbuendelObjektcode = 42;
976987
string VorgelagerteLokationsId = 43;
988+
repeated LokationsTypZuordnung VorgelagerteLokationsIds = 44;
977989
repeated MarktpartnerDetails Marktrollen = 1021;
978990
string Regelzone = 1022;
979991
string Marktgebiet = 1023;
@@ -1070,6 +1082,8 @@ message Messlokation {
10701082
repeated Messprodukt Messprodukte = 1024;
10711083
string LokationsbuendelObjektcode = 1026;
10721084
string VorgelagerteLokationsId = 1027;
1085+
bool IstFuerLieferanmeldungRelevant = 1028;
1086+
repeated LokationsTypZuordnung VorgelagerteLokationsIds = 1029;
10731087
}
10741088
message Messlokationszuordnung {
10751089
option (.protobuf_net.msgopt).namespace = "BO4E.COM";
@@ -1562,6 +1576,7 @@ enum Titel {
15621576
DR = 0;
15631577
PROF = 1;
15641578
PROF_DR = 2;
1579+
DIPLOM_INF = 3;
15651580
}
15661581
enum Unterbrechbarkeit {
15671582
option (.protobuf_net.enumopt).namespace = "BO4E.ENUM";
@@ -1596,6 +1611,10 @@ enum Verbrauchsart {
15961611
KLWS = 2;
15971612
W = 3;
15981613
WS = 4;
1614+
WK = 5;
1615+
EM = 6;
1616+
STRB = 7;
1617+
STW = 8;
15991618
}
16001619
enum Verbrauchsmengetyp {
16011620
option (.protobuf_net.enumopt).namespace = "BO4E.ENUM";
@@ -1940,6 +1959,7 @@ enum Zaehlertyp {
19401959
WASSERZAEHLER = 13;
19411960
MODERNEMESSEINRICHTUNG = 14;
19421961
NEUEMESSEINRICHTUNGGAS = 15;
1962+
MENGENUMWERTER = 16;
19431963
}
19441964
enum ZaehlertypSpezifikation {
19451965
option (.protobuf_net.enumopt).namespace = "BO4E.ENUM";
@@ -1972,6 +1992,7 @@ message Zaehlwerk {
19721992
Zaehlzeitregister Zaehlzeiten = 1021;
19731993
string Konfiguration = 1022;
19741994
EMobilitaetsart EMobilitaetsart = 1023;
1995+
repeated Verbrauchsart Verbrauchsarten = 1024 [packed = false];
19751996
}
19761997
message Zaehlzeitregister {
19771998
option (.protobuf_net.msgopt).namespace = "BO4E.COM";
@@ -2015,6 +2036,16 @@ enum Zeitreihentyp {
20152036
TLS = 6;
20162037
SLS_TLS = 7;
20172038
SES_TES = 8;
2039+
AUS = 9;
2040+
BAS = 10;
2041+
DBA = 11;
2042+
DZR = 12;
2043+
DZÜ = 13;
2044+
FPE = 14;
2045+
FPI = 15;
2046+
SRE = 16;
2047+
SRI = 17;
2048+
VZR = 18;
20182049
}
20192050
message Zustaendigkeit {
20202051
option (.protobuf_net.msgopt).namespace = "BO4E.COM";

0 commit comments

Comments
 (0)