Skip to content

Commit d867f0a

Browse files
committed
handle exceptions
1 parent 94d5bd4 commit d867f0a

File tree

1 file changed

+13
-5
lines changed
  • custom_components/ble_monitor/ble_parser

1 file changed

+13
-5
lines changed

custom_components/ble_monitor/ble_parser/oras.py

+13-5
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,23 @@ def parse_oras(self, data: bytes, mac: str):
3333
device_type = "SeeLevel II 709-BTP3"
3434

3535
sensor_id = data[7]
36-
sensor_data = data[8:11].decode("ASCII")
36+
try:
37+
sensor_type = SENSOR_TYPE[sensor_id]
38+
except ValueError:
39+
return None
40+
41+
sensor_data = int(data[8:11].decode("ASCII"))
42+
if sensor_id == 13:
43+
sensor_data /= 10
44+
3745
sensor_volume = data[11:14].decode("ASCII")
3846
sensor_total = data[14:17].decode("ASCII")
3947
sensor_alarm = chr(data[17])
4048

4149
# remove later
4250
result.update({
4351
"sensor_id": sensor_id,
52+
"sensor_type": sensor_type,
4453
"sensor_data": sensor_data,
4554
"sensor_volume": sensor_volume,
4655
"sensor_total": sensor_total,
@@ -51,10 +60,9 @@ def parse_oras(self, data: bytes, mac: str):
5160
device_type,
5261
result
5362
)
54-
if sensor_id <= 12:
55-
result.update({SENSOR_TYPE[sensor_id]: int(sensor_data)})
56-
elif sensor_id == 13:
57-
result.update({"voltage": int(sensor_data) / 10})
63+
64+
result.update({sensor_type: sensor_data})
65+
5866
elif msg_length == 22:
5967
firmware = "Oras"
6068
device_type = "Electra Washbasin Faucet"

0 commit comments

Comments
 (0)