Skip to content

Commit f3dea8a

Browse files
authored
Add order number to devices (#360)
1 parent 3206e6e commit f3dea8a

File tree

7 files changed

+14
-0
lines changed

7 files changed

+14
-0
lines changed

test/resources/stubs/module-definition-test.json

+2
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,7 @@
244244
"1.1.1": {
245245
"name": "AKH-0800.03 Heizungsaktor 8-fach, 4TE, 24/230VAC",
246246
"hardware_name": "Heizungsaktor 8-fach",
247+
"order_number": "AKH-0800.03",
247248
"description": "",
248249
"manufacturer_name": "MDT technologies",
249250
"individual_address": "1.1.1",
@@ -274,6 +275,7 @@
274275
"1.1.2": {
275276
"name": "AKH-0800.03 Heizungsaktor 8-fach, 4TE, 24/230VAC",
276277
"hardware_name": "Heizungsaktor 8-fach",
278+
"order_number": "AKH-0800.03",
277279
"description": "",
278280
"manufacturer_name": "MDT technologies",
279281
"individual_address": "1.1.2",

test/resources/stubs/test_project-ets4.json

+2
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@
180180
"0.0.1": {
181181
"name": "AKS-2016.02 Switch Actuator 20-fold, 12TE, 16A",
182182
"hardware_name": "Schaltaktor 20-fach,12TE, 230VAC, 16A",
183+
"order_number": "AKS-2016.02",
183184
"description": "",
184185
"manufacturer_name": "MDT technologies",
185186
"individual_address": "0.0.1",
@@ -195,6 +196,7 @@
195196
"0.0.2": {
196197
"name": "JRA/S4.230.5.1 Jal./Rol.Akt.Fahrzt.man.4f,230V,REG",
197198
"hardware_name": "JRA/S4.230.5.1 Jal./Rol.Akt.Fahrzt.man.4f,230V,REG",
199+
"order_number": "2CDG 110 125 R0011",
198200
"description": "",
199201
"manufacturer_name": "ABB",
200202
"individual_address": "0.0.2",

test/resources/stubs/xknx_test_project.json

+4
Original file line numberDiff line numberDiff line change
@@ -652,6 +652,7 @@
652652
"1.1.0": {
653653
"name": "SCN-IP100.03 IP Router with Secure",
654654
"hardware_name": "IP Router Secure",
655+
"order_number": "SCN-IP100.03",
655656
"description": "",
656657
"manufacturer_name": "MDT technologies",
657658
"individual_address": "1.1.0",
@@ -663,6 +664,7 @@
663664
"1.1.5": {
664665
"name": "JRA/S4.230.2.1 Blind/RollerShutterAct,M,4f,230V",
665666
"hardware_name": "JRA/S4.230.2.1 Jal./Rol.Akt.man.4f,230V,REG",
667+
"order_number": "2CDG 110 121 R0011",
666668
"description": "",
667669
"manufacturer_name": "ABB",
668670
"individual_address": "1.1.5",
@@ -682,6 +684,7 @@
682684
"1.1.6": {
683685
"name": "AE/S4.2 Analogue Input,4-fold,MDRC",
684686
"hardware_name": "AE/S4.2 Analogeingang,4fach,REG",
687+
"order_number": "2CDG 110 030 R0011",
685688
"description": "",
686689
"manufacturer_name": "ABB",
687690
"individual_address": "1.1.6",
@@ -698,6 +701,7 @@
698701
"1.1.7": {
699702
"name": "Heating actuator 6-gang with controller",
700703
"hardware_name": "Heizungsaktor 6fach mit Regler Secure",
704+
"order_number": "2139 00",
701705
"description": "",
702706
"manufacturer_name": "GIRA Giersiepen",
703707
"individual_address": "1.1.7",

xknxproject/loader/hardware_loader.py

+1
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ def parse_product_element(product_node: ElementTree.Element) -> Product:
7676
return Product(
7777
identifier=product_node.get("Id", ""),
7878
text=product_node.get("Text", ""),
79+
order_number=product_node.get("OrderNumber", ""),
7980
)
8081

8182
@staticmethod

xknxproject/models/knxproject.py

+1
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ class Device(TypedDict):
5252

5353
name: str
5454
hardware_name: str
55+
order_number: str
5556
description: str
5657
manufacturer_name: str
5758
individual_address: str

xknxproject/models/models.py

+2
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ def __init__(
160160
)
161161
self.product_name: str = ""
162162
self.hardware_name: str = ""
163+
self.order_number: str = ""
163164
self.manufacturer_name: str = ""
164165

165166
def add_additional_address(self, address: str) -> None:
@@ -488,6 +489,7 @@ class Product:
488489

489490
identifier: str
490491
text: str
492+
order_number: str
491493
hardware_name: str = ""
492494

493495

xknxproject/xml/parser.py

+2
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,7 @@ def _load(self, language: str | None) -> None:
195195
continue
196196
device.product_name = product.text
197197
device.hardware_name = product.hardware_name
198+
device.order_number = product.order_number
198199

199200
try:
200201
application_program_ref = hardware_application_map[
@@ -308,6 +309,7 @@ def _transform(self) -> KNXProject:
308309
devices_dict[device.individual_address] = Device(
309310
name=device.product_name,
310311
hardware_name=device.hardware_name,
312+
order_number=device.order_number,
311313
description=device.description,
312314
manufacturer_name=device.manufacturer_name,
313315
individual_address=device.individual_address,

0 commit comments

Comments
 (0)