Skip to content

Commit d03a843

Browse files
committed
simplify device_serial_number
1 parent e7d78b0 commit d03a843

File tree

3 files changed

+27
-48
lines changed

3 files changed

+27
-48
lines changed

classes/transports/canbus.py

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -242,22 +242,15 @@ def read_data(self) -> dict[str, str]:
242242

243243
# Check for serial number variables and promote to device_serial_number
244244
if info:
245-
# Look for common serial number variable names
246-
serial_variable_names = [
247-
"serial_number", "serialnumber", "serialno",
248-
"device_serial_number", "device_serial", "serial"
249-
]
250-
251-
for key, value in info.items():
252-
key_lower = key.lower()
253-
if any(serial_name in key_lower for serial_name in serial_variable_names):
254-
if value and value != "None" and str(value).strip():
255-
# Found a valid serial number, promote it
256-
if self.device_serial_number != str(value):
257-
self._log.info(f"Promoting parsed serial number: {value} (from variable: {key})")
258-
self.device_serial_number = str(value)
259-
self.update_identifier()
260-
break
245+
# Look for serial number variable
246+
if "serial_number" in info:
247+
value = info["serial_number"]
248+
if value and value != "None" and str(value).strip():
249+
# Found a valid serial number, promote it
250+
if self.device_serial_number != str(value):
251+
self._log.info(f"Promoting parsed serial number: {value} (from variable: serial_number)")
252+
self.device_serial_number = str(value)
253+
self.update_identifier()
261254

262255
currentTime = time.time()
263256

classes/transports/modbus_base.py

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -205,22 +205,15 @@ def read_data(self) -> dict[str, str]:
205205

206206
# Check for serial number variables and promote to device_serial_number
207207
if info:
208-
# Look for common serial number variable names
209-
serial_variable_names = [
210-
"serial_number", "serialnumber", "serialno",
211-
"device_serial_number", "device_serial", "serial"
212-
]
213-
214-
for key, value in info.items():
215-
key_lower = key.lower()
216-
if any(serial_name in key_lower for serial_name in serial_variable_names):
217-
if value and value != "None" and str(value).strip():
218-
# Found a valid serial number, promote it
219-
if self.device_serial_number != str(value):
220-
self._log.info(f"Promoting parsed serial number: {value} (from variable: {key})")
221-
self.device_serial_number = str(value)
222-
self.update_identifier()
223-
break
208+
# Look for serial number variable
209+
if "serial_number" in info:
210+
value = info["serial_number"]
211+
if value and value != "None" and str(value).strip():
212+
# Found a valid serial number, promote it
213+
if self.device_serial_number != str(value):
214+
self._log.info(f"Promoting parsed serial number: {value} (from variable: serial_number)")
215+
self.device_serial_number = str(value)
216+
self.update_identifier()
224217

225218
if not info:
226219
self._log.info("Register is Empty; transport busy?")

classes/transports/serial_pylon.py

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -122,22 +122,15 @@ def read_data(self):
122122

123123
# Check for serial number variables and promote to device_serial_number
124124
if info:
125-
# Look for common serial number variable names
126-
serial_variable_names = [
127-
"serial_number", "serialnumber", "serialno",
128-
"device_serial_number", "device_serial", "serial"
129-
]
130-
131-
for key, value in info.items():
132-
key_lower = key.lower()
133-
if any(serial_name in key_lower for serial_name in serial_variable_names):
134-
if value and value != "None" and str(value).strip():
135-
# Found a valid serial number, promote it
136-
if self.device_serial_number != str(value):
137-
self._log.info(f"Promoting parsed serial number: {value} (from variable: {key})")
138-
self.device_serial_number = str(value)
139-
self.update_identifier()
140-
break
125+
# Look for serial number variable
126+
if "serial_number" in info:
127+
value = info["serial_number"]
128+
if value and value != "None" and str(value).strip():
129+
# Found a valid serial number, promote it
130+
if self.device_serial_number != str(value):
131+
self._log.info(f"Promoting parsed serial number: {value} (from variable: serial_number)")
132+
self.device_serial_number = str(value)
133+
self.update_identifier()
141134

142135
if not info:
143136
self._log.info("Data is Empty; Serial Pylon Transport busy?")

0 commit comments

Comments
 (0)