Skip to content

Commit

Permalink
fix: add pressure mappings for 32 (#14)
Browse files Browse the repository at this point in the history
  • Loading branch information
bdraco authored Nov 5, 2022
1 parent 403d810 commit b992a62
Show file tree
Hide file tree
Showing 2 changed files with 129 additions and 4 deletions.
1 change: 1 addition & 0 deletions src/oralb_ble/parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ class ModelDescription:

PRESSURE = {
0: "normal",
32: "normal",
48: "normal",
50: "normal",
82: "normal",
Expand Down
132 changes: 128 additions & 4 deletions tests/test_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,15 @@
service_data={},
source="local",
)
ORALB_TRIUMPH_V2_DATA_2 = BluetoothServiceInfo(
address="78:DB:2F:C2:48:BE",
rssi=-63,
name="T2",
manufacturer_data={220: b"\x02\x02\x06\x03\x00\x00\x01\x01\x01\x03\x04"},
service_uuids=[],
service_data={},
source="local",
)


def test_can_create():
Expand Down Expand Up @@ -205,7 +214,7 @@ def test_dataset_1():
DeviceKey(key="pressure", device_id=None): SensorValue(
device_key=DeviceKey(key="pressure", device_id=None),
name="Pressure",
native_value="unknown " "pressure " "32",
native_value="normal",
),
DeviceKey(key="mode", device_id=None): SensorValue(
device_key=DeviceKey(key="mode", device_id=None),
Expand Down Expand Up @@ -540,7 +549,7 @@ def test_dataset_4():
DeviceKey(key="pressure", device_id=None): SensorValue(
device_key=DeviceKey(key="pressure", device_id=None),
name="Pressure",
native_value="unknown " "pressure " "32",
native_value="normal",
),
DeviceKey(key="time", device_id=None): SensorValue(
device_key=DeviceKey(key="time", device_id=None),
Expand Down Expand Up @@ -665,7 +674,7 @@ def test_io_series_7():
DeviceKey(key="pressure", device_id=None): SensorValue(
device_key=DeviceKey(key="pressure", device_id=None),
name="Pressure",
native_value="unknown " "pressure " "32",
native_value="normal",
),
DeviceKey(key="time", device_id=None): SensorValue(
device_key=DeviceKey(key="time", device_id=None),
Expand Down Expand Up @@ -1235,7 +1244,7 @@ def test_triumph_v2():
DeviceKey(key="pressure", device_id=None): SensorValue(
device_key=DeviceKey(key="pressure", device_id=None),
name="Pressure",
native_value="unknown " "pressure " "32",
native_value="normal",
),
DeviceKey(key="time", device_id=None): SensorValue(
device_key=DeviceKey(key="time", device_id=None),
Expand All @@ -1262,3 +1271,118 @@ def test_triumph_v2():
},
events={},
)


def test_triumph_v2_data_2():
parser = OralBBluetoothDeviceData()
service_info = ORALB_TRIUMPH_V2_DATA_2
result = parser.update(service_info)
assert result == SensorUpdate(
title="Triumph V2 48BE",
devices={
None: SensorDeviceInfo(
name="Triumph V2 48BE",
model="Triumph V2",
manufacturer="Oral-B",
sw_version=None,
hw_version=None,
)
},
entity_descriptions={
DeviceKey(key="sector_timer", device_id=None): SensorDescription(
device_key=DeviceKey(key="sector_timer", device_id=None),
device_class=None,
native_unit_of_measurement=None,
),
DeviceKey(key="mode", device_id=None): SensorDescription(
device_key=DeviceKey(key="mode", device_id=None),
device_class=None,
native_unit_of_measurement=None,
),
DeviceKey(key="signal_strength", device_id=None): SensorDescription(
device_key=DeviceKey(key="signal_strength", device_id=None),
device_class=SensorDeviceClass.SIGNAL_STRENGTH,
native_unit_of_measurement=Units.SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
),
DeviceKey(key="number_of_sectors", device_id=None): SensorDescription(
device_key=DeviceKey(key="number_of_sectors", device_id=None),
device_class=None,
native_unit_of_measurement=None,
),
DeviceKey(key="sector", device_id=None): SensorDescription(
device_key=DeviceKey(key="sector", device_id=None),
device_class=None,
native_unit_of_measurement=None,
),
DeviceKey(key="pressure", device_id=None): SensorDescription(
device_key=DeviceKey(key="pressure", device_id=None),
device_class=None,
native_unit_of_measurement=None,
),
DeviceKey(key="time", device_id=None): SensorDescription(
device_key=DeviceKey(key="time", device_id=None),
device_class=None,
native_unit_of_measurement=None,
),
DeviceKey(key="toothbrush_state", device_id=None): SensorDescription(
device_key=DeviceKey(key="toothbrush_state", device_id=None),
device_class=None,
native_unit_of_measurement=None,
),
},
entity_values={
DeviceKey(key="sector_timer", device_id=None): SensorValue(
device_key=DeviceKey(key="sector_timer", device_id=None),
name="Sector " "Timer",
native_value=3,
),
DeviceKey(key="mode", device_id=None): SensorValue(
device_key=DeviceKey(key="mode", device_id=None),
name="Mode",
native_value="daily " "clean",
),
DeviceKey(key="signal_strength", device_id=None): SensorValue(
device_key=DeviceKey(key="signal_strength", device_id=None),
name="Signal " "Strength",
native_value=-63,
),
DeviceKey(key="number_of_sectors", device_id=None): SensorValue(
device_key=DeviceKey(key="number_of_sectors", device_id=None),
name="Number " "of " "sectors",
native_value=4,
),
DeviceKey(key="sector", device_id=None): SensorValue(
device_key=DeviceKey(key="sector", device_id=None),
name="Sector",
native_value="sector " "1",
),
DeviceKey(key="pressure", device_id=None): SensorValue(
device_key=DeviceKey(key="pressure", device_id=None),
name="Pressure",
native_value="normal",
),
DeviceKey(key="time", device_id=None): SensorValue(
device_key=DeviceKey(key="time", device_id=None),
name="Time",
native_value=1,
),
DeviceKey(key="toothbrush_state", device_id=None): SensorValue(
device_key=DeviceKey(key="toothbrush_state", device_id=None),
name="Toothbrush " "State",
native_value="running",
),
},
binary_entity_descriptions={
DeviceKey(key="brushing", device_id=None): BinarySensorDescription(
device_key=DeviceKey(key="brushing", device_id=None), device_class=None
)
},
binary_entity_values={
DeviceKey(key="brushing", device_id=None): BinarySensorValue(
device_key=DeviceKey(key="brushing", device_id=None),
name="Brushing",
native_value=True,
)
},
events={},
)

0 comments on commit b992a62

Please sign in to comment.