Skip to content

Commit a0ff42f

Browse files
committed
Merge branch 'main' into tarif
2 parents 06e8a8e + 3357850 commit a0ff42f

16 files changed

Lines changed: 139 additions & 52 deletions

.github/workflows/packaging_test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ jobs:
66
runs-on: ${{ matrix.os }}
77
strategy:
88
matrix:
9-
python-version: ["3.9", "3.10", "3.11", "3.12"]
9+
python-version: ["3.10", "3.11", "3.12"]
1010
os: [ubuntu-latest]
1111
steps:
1212
- uses: actions/checkout@v5

.github/workflows/python-publish-scheduled.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
runs-on: ${{ matrix.os }}
1414
strategy:
1515
matrix:
16-
python-version: ["3.9", "3.10", "3.11", "3.12"]
16+
python-version: ["3.10", "3.11", "3.12"]
1717
os: [ubuntu-latest]
1818
steps:
1919
- uses: actions/checkout@v5

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ jobs:
66
runs-on: ${{ matrix.os }}
77
strategy:
88
matrix:
9-
python-version: ["3.9", "3.10", "3.11", "3.12"]
9+
python-version: ["3.10", "3.11", "3.12"]
1010
os: [ubuntu-latest]
1111
steps:
1212
- uses: actions/checkout@v5

src/bo4e/__init__.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@
7373
"Lastprofil",
7474
"MarktgebietInfo",
7575
"Menge",
76+
"Messwert",
7677
"PositionsAufAbschlag",
7778
"Preis",
7879
"Preisgarantie",
@@ -111,7 +112,6 @@
111112
"Angebotsstatus",
112113
"Anrede",
113114
"ArithmetischeOperation",
114-
"ArtikelId",
115115
"AufAbschlagstyp",
116116
"AufAbschlagsziel",
117117
"Ausschreibungsportal",
@@ -149,7 +149,6 @@
149149
"Messart",
150150
"Messgroesse",
151151
"Messpreistyp",
152-
"Messwerterfassung",
153152
"Messwertstatus",
154153
"Messwertstatuszusatz",
155154
"Netzebene",
@@ -277,6 +276,7 @@
277276
from .com.lastprofil import Lastprofil
278277
from .com.marktgebietinfo import MarktgebietInfo
279278
from .com.menge import Menge
279+
from .com.messwert import Messwert
280280
from .com.positionsaufabschlag import PositionsAufAbschlag
281281
from .com.preis import Preis
282282
from .com.preisgarantie import Preisgarantie
@@ -318,7 +318,6 @@
318318
from .enum.angebotsstatus import Angebotsstatus
319319
from .enum.anrede import Anrede
320320
from .enum.arithmetische_operation import ArithmetischeOperation
321-
from .enum.artikelid import ArtikelId
322321
from .enum.aufabschlagstyp import AufAbschlagstyp
323322
from .enum.aufabschlagsziel import AufAbschlagsziel
324323
from .enum.ausschreibungsportal import Ausschreibungsportal
@@ -357,7 +356,6 @@
357356
from .enum.messart import Messart
358357
from .enum.messgroesse import Messgroesse
359358
from .enum.messpreistyp import Messpreistyp
360-
from .enum.messwerterfassung import Messwerterfassung
361359
from .enum.messwertstatus import Messwertstatus
362360
from .enum.messwertstatuszusatz import Messwertstatuszusatz
363361
from .enum.netzebene import Netzebene

src/bo4e/bo/zaehler.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
from ..bo.geraet import Geraet
2020
from ..com.zaehlwerk import Zaehlwerk
2121
from ..enum.befestigungsart import Befestigungsart
22-
from ..enum.messwerterfassung import Messwerterfassung
2322
from ..enum.registeranzahl import Registeranzahl
2423
from ..enum.sparte import Sparte
2524
from ..enum.zaehlerauspraegung import Zaehlerauspraegung
@@ -67,8 +66,8 @@ class Zaehler(Geschaeftsobjekt):
6766
"""Der Hersteller des Zählers"""
6867
ist_fernschaltbar: Optional[bool] = None
6968
"""Fernschaltung"""
70-
messwerterfassung: Optional["Messwerterfassung"] = None
71-
"""Messwerterfassung des Zählers"""
69+
ist_fernauslesbar: Optional[bool] = None
70+
"""Fernauslesung"""
7271
zaehlertypSpezifikation: Optional["ZaehlertypSpezifikation"] = None
7372
"""Besondere Spezifikation des Zählers"""
7473
befestigungsart: Optional["Befestigungsart"] = None

src/bo4e/com/messwert.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
"""
2+
Contains Messwert class
3+
"""
4+
5+
from typing import TYPE_CHECKING, Annotated, Literal, Optional
6+
7+
import pydantic
8+
from pydantic import Field
9+
10+
from ..enum.comtyp import ComTyp
11+
from ..utils import postprocess_docstring
12+
from .com import COM
13+
14+
if TYPE_CHECKING:
15+
from ..com.menge import Menge
16+
from ..enum.messwertstatus import Messwertstatus
17+
from ..enum.messwertstatuszusatz import Messwertstatuszusatz
18+
19+
20+
@postprocess_docstring
21+
class Messwert(COM):
22+
"""
23+
Abbildung eines Messwertes mit Stati, Zeitpunkt und Wert.
24+
25+
.. raw:: html
26+
27+
<object data="../_static/images/bo4e/com/Messwert.svg" type="image/svg+xml"></object>
28+
29+
.. HINT::
30+
`Messwert JSON Schema <https://json-schema.app/view/%23?url=https://raw.githubusercontent.com/BO4E/BO4E-Schemas/{__gh_version__}/src/bo4e_schemas/com/Messwert.json>`_
31+
32+
"""
33+
34+
typ: Annotated[Literal[ComTyp.MESSWERT], Field(alias="_typ")] = ComTyp.MESSWERT
35+
36+
messwertstatus: Optional["Messwertstatus"] = None
37+
"""Gibt den Status des Messwerts an."""
38+
messwertstatuszusatz: Optional["Messwertstatuszusatz"] = None
39+
"""Gibt den Status Zusatz des Messwerts an."""
40+
zeitpunkt: Optional[pydantic.AwareDatetime] = None
41+
"""Gibt den Zeitpunkt des Messwerts an."""
42+
wert: Optional["Menge"] = None
43+
"""Gibt die gemessene Menge an."""

src/bo4e/com/steuerbetrag.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ class Steuerbetrag(COM):
3737

3838
steuerkennzeichen: Optional["Steuerkennzeichen"] = None
3939
"""Kennzeichnung des Steuersatzes, bzw. Verfahrens."""
40+
sondersteuersatz: Optional[Decimal] = None
41+
"""Angabe des Steuersatzes in %, sofern steuerkennzeichen = UST_SONDER"""
4042
basiswert: Optional[Decimal] = None
4143
"""Nettobetrag für den die Steuer berechnet wurde. Z.B. 100"""
4244
steuerwert: Optional[Decimal] = None

src/bo4e/com/zaehlwerk.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
if TYPE_CHECKING:
1515
from ..com.konzessionsabgabe import Konzessionsabgabe
16+
from ..com.messwert import Messwert
1617
from ..com.verwendungszweckpromarktrolle import VerwendungszweckProMarktrolle
1718
from ..com.zaehlzeitregister import Zaehlzeitregister
1819
from ..enum.energierichtung import Energierichtung
@@ -82,3 +83,5 @@ class Zaehlwerk(COM):
8283
"""Anzahl Ablesungen pro Jahr"""
8384
zaehlzeitregister: Optional["Zaehlzeitregister"] = None
8485
"""Erweiterte Definition der Zählzeit in Bezug auf ein Register"""
86+
messwerte: Optional[list["Messwert"]] = None
87+
"""Gemessene Werte des Zählwerks"""

src/bo4e/enum/artikelid.py

Lines changed: 0 additions & 28 deletions
This file was deleted.

src/bo4e/enum/comtyp.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ class ComTyp(StrEnum):
3838
LASTPROFIL = "LASTPROFIL"
3939
MARKTGEBIETINFO = "MARKTGEBIETINFO"
4040
MENGE = "MENGE"
41+
MESSWERT = "MESSWERT"
4142
POSITIONSAUFABSCHLAG = "POSITIONSAUFABSCHLAG"
4243
PREIS = "PREIS"
4344
PREISGARANTIE = "PREISGARANTIE"

0 commit comments

Comments
 (0)