Skip to content

Commit 7233ac5

Browse files
committed
dealing with issue #128
1 parent 4781d62 commit 7233ac5

File tree

3 files changed

+24
-3
lines changed

3 files changed

+24
-3
lines changed

custom_components/senec/config_flow.py

+17-2
Original file line numberDiff line numberDiff line change
@@ -185,10 +185,25 @@ async def _test_connection_webapi(self, user: str, pwd: str, master_plant: int):
185185
self._device_master_plant_number = senec_web_client.masterPlantNumber
186186

187187
await senec_web_client.app_update_tech_data()
188+
if senec_web_client.product_name is None:
189+
prod_name = "UNKNOWN_PROD_NAME"
190+
else:
191+
prod_name = senec_web_client.product_name
192+
193+
if senec_web_client.senec_num is None:
194+
senec_num = "UNKNOWN_SENEC_NUM"
195+
else:
196+
senec_num = senec_web_client.senec_num
197+
198+
if senec_web_client.serial_number is None:
199+
serial_num = "UNKNOWN_SERIAL_NUM"
200+
else:
201+
serial_num = senec_web_client.serial_number
202+
188203
# these values will also read with every restart...
189204
self._device_type = SYSTYPE_NAME_WEBAPI
190-
self._device_model = senec_web_client.product_name + ' | SENEC.Num: ' + senec_web_client.senec_num
191-
self._device_serial = senec_web_client.serial_number
205+
self._device_model = prod_name + ' | SENEC.Num: ' + senec_num
206+
self._device_serial = serial_num
192207
self._app_token = senec_web_client._app_token
193208
self._app_master_plant_id = senec_web_client._app_master_plant_id
194209
self._app_wallbox_num_max = senec_web_client._app_wallbox_num_max

custom_components/senec/manifest.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@
1313
"iot_class": "local_polling",
1414
"issue_tracker": "https://github.com/marq24/ha-senec-v3/issues",
1515
"requirements": ["xmltodict>=0.13.0", "packaging>=21.0", "python-dateutil>=2.8.0"],
16-
"version": "2025.2.1"
16+
"version": "2025.3.0"
1717
}

custom_components/senec/pysenec_ha/__init__.py

+6
Original file line numberDiff line numberDiff line change
@@ -3855,20 +3855,26 @@ def senec_num(self) -> str:
38553855
return self._app_raw_tech_data["casing"]["serial"]
38563856
elif hasattr(self, '_dev_number'):
38573857
return str(self._dev_number)
3858+
else:
3859+
return "UNKNOWN_SENEC_NUM"
38583860

38593861
@property
38603862
def serial_number(self) -> str:
38613863
if self._app_raw_tech_data is not None and "mcu" in self._app_raw_tech_data:
38623864
return self._app_raw_tech_data["mcu"]["mainControllerSerial"]
38633865
elif hasattr(self, '_serial_number'):
38643866
return str(self._serial_number)
3867+
else:
3868+
return "UNKNOWN_SERIAL"
38653869

38663870
@property
38673871
def product_name(self) -> str:
38683872
if self._app_raw_tech_data is not None and "systemOverview" in self._app_raw_tech_data:
38693873
return self._app_raw_tech_data["systemOverview"]["productName"]
38703874
elif hasattr(self, '_product_name'):
38713875
return str(self._product_name)
3876+
else:
3877+
return "UNKNOWN_PROD_NAME"
38723878

38733879
@property
38743880
def zone_id(self) -> str:

0 commit comments

Comments
 (0)