|
@@ -2207,9 +2207,7 @@ def test_k20_active() -> None:
|
|
|
service_data={"0000fd3d-0000-1000-8000-00805f9b34fb": b".\x00d"},
|
|
|
rssi=-97,
|
|
|
)
|
|
|
- result = parse_advertisement_data(
|
|
|
- ble_device, adv_data, SwitchbotModel.K20_VACUUM
|
|
|
- )
|
|
|
+ result = parse_advertisement_data(ble_device, adv_data, SwitchbotModel.K20_VACUUM)
|
|
|
assert result == SwitchBotAdvertisement(
|
|
|
address="aa:bb:cc:dd:ee:ff",
|
|
|
data={
|
|
@@ -2240,9 +2238,7 @@ def test_k20_passive() -> None:
|
|
|
manufacturer_data={2409: b"\xb0\xe9\xfe\x01\xf3\x8f'\x01\x11S\x00\x10d\x0f"},
|
|
|
rssi=-97,
|
|
|
)
|
|
|
- result = parse_advertisement_data(
|
|
|
- ble_device, adv_data, SwitchbotModel.K20_VACUUM
|
|
|
- )
|
|
|
+ result = parse_advertisement_data(ble_device, adv_data, SwitchbotModel.K20_VACUUM)
|
|
|
assert result == SwitchBotAdvertisement(
|
|
|
address="aa:bb:cc:dd:ee:ff",
|
|
|
data={
|
|
@@ -2274,9 +2270,7 @@ def test_k20_with_empty_data() -> None:
|
|
|
service_data={"0000fd3d-0000-1000-8000-00805f9b34fb": b".\x00d"},
|
|
|
rssi=-97,
|
|
|
)
|
|
|
- result = parse_advertisement_data(
|
|
|
- ble_device, adv_data, SwitchbotModel.K20_VACUUM
|
|
|
- )
|
|
|
+ result = parse_advertisement_data(ble_device, adv_data, SwitchbotModel.K20_VACUUM)
|
|
|
assert result == SwitchBotAdvertisement(
|
|
|
address="aa:bb:cc:dd:ee:ff",
|
|
|
data={
|
|
@@ -2289,14 +2283,14 @@ def test_k20_with_empty_data() -> None:
|
|
|
rssi=-97,
|
|
|
active=True,
|
|
|
)
|
|
|
-
|
|
|
+
|
|
|
|
|
|
def test_k10_pro_active() -> None:
|
|
|
"""Test parsing k10 pro with active data."""
|
|
|
ble_device = generate_ble_device("aa:bb:cc:dd:ee:ff", "any")
|
|
|
adv_data = generate_advertisement_data(
|
|
|
- manufacturer_data={2409: b'\xb0\xe9\xfeP\x8d\x8d\x02 d'},
|
|
|
- service_data={'0000fd3d-0000-1000-8000-00805f9b34fb': b'(\x00'},
|
|
|
+ manufacturer_data={2409: b"\xb0\xe9\xfeP\x8d\x8d\x02 d"},
|
|
|
+ service_data={"0000fd3d-0000-1000-8000-00805f9b34fb": b"(\x00"},
|
|
|
rssi=-97,
|
|
|
)
|
|
|
result = parse_advertisement_data(
|
|
@@ -2305,12 +2299,12 @@ def test_k10_pro_active() -> None:
|
|
|
assert result == SwitchBotAdvertisement(
|
|
|
address="aa:bb:cc:dd:ee:ff",
|
|
|
data={
|
|
|
- "rawAdvData": b'(\x00',
|
|
|
+ "rawAdvData": b"(\x00",
|
|
|
"data": {
|
|
|
"sequence_number": 2,
|
|
|
- 'dusbin_connected': False,
|
|
|
- 'dustbin_bound': False,
|
|
|
- 'network_connected': True,
|
|
|
+ "dusbin_connected": False,
|
|
|
+ "dustbin_bound": False,
|
|
|
+ "network_connected": True,
|
|
|
"battery": 100,
|
|
|
"work_status": 0,
|
|
|
},
|
|
@@ -2329,7 +2323,7 @@ def test_k10_pro_passive() -> None:
|
|
|
"""Test parsing k10 pro with passive data."""
|
|
|
ble_device = generate_ble_device("aa:bb:cc:dd:ee:ff", "any")
|
|
|
adv_data = generate_advertisement_data(
|
|
|
- manufacturer_data={2409: b'\xb0\xe9\xfeP\x8d\x8d\x02 d'},
|
|
|
+ manufacturer_data={2409: b"\xb0\xe9\xfeP\x8d\x8d\x02 d"},
|
|
|
rssi=-97,
|
|
|
)
|
|
|
result = parse_advertisement_data(
|
|
@@ -2341,9 +2335,9 @@ def test_k10_pro_passive() -> None:
|
|
|
"rawAdvData": None,
|
|
|
"data": {
|
|
|
"sequence_number": 2,
|
|
|
- 'dusbin_connected': False,
|
|
|
- 'dustbin_bound': False,
|
|
|
- 'network_connected': True,
|
|
|
+ "dusbin_connected": False,
|
|
|
+ "dustbin_bound": False,
|
|
|
+ "network_connected": True,
|
|
|
"battery": 100,
|
|
|
"work_status": 0,
|
|
|
},
|
|
@@ -2363,7 +2357,7 @@ def test_k10_pro_with_empty_data() -> None:
|
|
|
ble_device = generate_ble_device("aa:bb:cc:dd:ee:ff", "any")
|
|
|
adv_data = generate_advertisement_data(
|
|
|
manufacturer_data={2409: None},
|
|
|
- service_data={'0000fd3d-0000-1000-8000-00805f9b34fb': b'(\x00'},
|
|
|
+ service_data={"0000fd3d-0000-1000-8000-00805f9b34fb": b"(\x00"},
|
|
|
rssi=-97,
|
|
|
)
|
|
|
result = parse_advertisement_data(
|
|
@@ -2372,7 +2366,7 @@ def test_k10_pro_with_empty_data() -> None:
|
|
|
assert result == SwitchBotAdvertisement(
|
|
|
address="aa:bb:cc:dd:ee:ff",
|
|
|
data={
|
|
|
- "rawAdvData": b'(\x00',
|
|
|
+ "rawAdvData": b"(\x00",
|
|
|
"data": {},
|
|
|
"isEncrypted": False,
|
|
|
"model": "(",
|
|
@@ -2387,22 +2381,20 @@ def test_k10_active() -> None:
|
|
|
"""Test parsing k10+ with active data."""
|
|
|
ble_device = generate_ble_device("aa:bb:cc:dd:ee:ff", "any")
|
|
|
adv_data = generate_advertisement_data(
|
|
|
- manufacturer_data={2409: b'\xca8\x06\xa9_\xf1\x02 d'},
|
|
|
- service_data={"0000fd3d-0000-1000-8000-00805f9b34fb": b'}\x00'},
|
|
|
+ manufacturer_data={2409: b"\xca8\x06\xa9_\xf1\x02 d"},
|
|
|
+ service_data={"0000fd3d-0000-1000-8000-00805f9b34fb": b"}\x00"},
|
|
|
rssi=-97,
|
|
|
)
|
|
|
- result = parse_advertisement_data(
|
|
|
- ble_device, adv_data, SwitchbotModel.K10_VACUUM
|
|
|
- )
|
|
|
+ result = parse_advertisement_data(ble_device, adv_data, SwitchbotModel.K10_VACUUM)
|
|
|
assert result == SwitchBotAdvertisement(
|
|
|
address="aa:bb:cc:dd:ee:ff",
|
|
|
data={
|
|
|
- "rawAdvData": b'}\x00',
|
|
|
+ "rawAdvData": b"}\x00",
|
|
|
"data": {
|
|
|
"sequence_number": 2,
|
|
|
- 'dusbin_connected': False,
|
|
|
- 'dustbin_bound': False,
|
|
|
- 'network_connected': True,
|
|
|
+ "dusbin_connected": False,
|
|
|
+ "dustbin_bound": False,
|
|
|
+ "network_connected": True,
|
|
|
"battery": 100,
|
|
|
"work_status": 0,
|
|
|
},
|
|
@@ -2421,21 +2413,19 @@ def test_k10_passive() -> None:
|
|
|
"""Test parsing k10+ with passive data."""
|
|
|
ble_device = generate_ble_device("aa:bb:cc:dd:ee:ff", "any")
|
|
|
adv_data = generate_advertisement_data(
|
|
|
- manufacturer_data={2409: b'\xca8\x06\xa9_\xf1\x02 d'},
|
|
|
+ manufacturer_data={2409: b"\xca8\x06\xa9_\xf1\x02 d"},
|
|
|
rssi=-97,
|
|
|
)
|
|
|
- result = parse_advertisement_data(
|
|
|
- ble_device, adv_data, SwitchbotModel.K10_VACUUM
|
|
|
- )
|
|
|
+ result = parse_advertisement_data(ble_device, adv_data, SwitchbotModel.K10_VACUUM)
|
|
|
assert result == SwitchBotAdvertisement(
|
|
|
address="aa:bb:cc:dd:ee:ff",
|
|
|
data={
|
|
|
"rawAdvData": None,
|
|
|
"data": {
|
|
|
"sequence_number": 2,
|
|
|
- 'dusbin_connected': False,
|
|
|
- 'dustbin_bound': False,
|
|
|
- 'network_connected': True,
|
|
|
+ "dusbin_connected": False,
|
|
|
+ "dustbin_bound": False,
|
|
|
+ "network_connected": True,
|
|
|
"battery": 100,
|
|
|
"work_status": 0,
|
|
|
},
|
|
@@ -2455,16 +2445,14 @@ def test_k10_with_empty_data() -> None:
|
|
|
ble_device = generate_ble_device("aa:bb:cc:dd:ee:ff", "any")
|
|
|
adv_data = generate_advertisement_data(
|
|
|
manufacturer_data={2409: None},
|
|
|
- service_data={'0000fd3d-0000-1000-8000-00805f9b34fb': b'}\x00'},
|
|
|
+ service_data={"0000fd3d-0000-1000-8000-00805f9b34fb": b"}\x00"},
|
|
|
rssi=-97,
|
|
|
)
|
|
|
- result = parse_advertisement_data(
|
|
|
- ble_device, adv_data, SwitchbotModel.K10_VACUUM
|
|
|
- )
|
|
|
+ result = parse_advertisement_data(ble_device, adv_data, SwitchbotModel.K10_VACUUM)
|
|
|
assert result == SwitchBotAdvertisement(
|
|
|
address="aa:bb:cc:dd:ee:ff",
|
|
|
data={
|
|
|
- "rawAdvData": b'}\x00',
|
|
|
+ "rawAdvData": b"}\x00",
|
|
|
"data": {},
|
|
|
"isEncrypted": False,
|
|
|
"model": "}",
|
|
@@ -2479,8 +2467,10 @@ def test_k10_pro_combo_active() -> None:
|
|
|
"""Test parsing k10+ pro combo with active data."""
|
|
|
ble_device = generate_ble_device("aa:bb:cc:dd:ee:ff", "any")
|
|
|
adv_data = generate_advertisement_data(
|
|
|
- manufacturer_data={2409: b'\xb0\xe9\xfe\x01\xf4\x1d\x0b\x01\x01\xb1\x03\x118\x01'},
|
|
|
- service_data={"0000fd3d-0000-1000-8000-00805f9b34fb": b'3\x00\x00'},
|
|
|
+ manufacturer_data={
|
|
|
+ 2409: b"\xb0\xe9\xfe\x01\xf4\x1d\x0b\x01\x01\xb1\x03\x118\x01"
|
|
|
+ },
|
|
|
+ service_data={"0000fd3d-0000-1000-8000-00805f9b34fb": b"3\x00\x00"},
|
|
|
rssi=-97,
|
|
|
)
|
|
|
result = parse_advertisement_data(
|
|
@@ -2489,7 +2479,7 @@ def test_k10_pro_combo_active() -> None:
|
|
|
assert result == SwitchBotAdvertisement(
|
|
|
address="aa:bb:cc:dd:ee:ff",
|
|
|
data={
|
|
|
- "rawAdvData": b'3\x00\x00',
|
|
|
+ "rawAdvData": b"3\x00\x00",
|
|
|
"data": {
|
|
|
"sequence_number": 11,
|
|
|
"soc_version": "1.0.945",
|
|
@@ -2513,7 +2503,9 @@ def test_k10_pro_combo_passive() -> None:
|
|
|
"""Test parsing k10+ pro combo with passive data."""
|
|
|
ble_device = generate_ble_device("aa:bb:cc:dd:ee:ff", "any")
|
|
|
adv_data = generate_advertisement_data(
|
|
|
- manufacturer_data={2409: b'\xb0\xe9\xfe\x01\xf4\x1d\x0b\x01\x01\xb1\x03\x118\x01'},
|
|
|
+ manufacturer_data={
|
|
|
+ 2409: b"\xb0\xe9\xfe\x01\xf4\x1d\x0b\x01\x01\xb1\x03\x118\x01"
|
|
|
+ },
|
|
|
rssi=-97,
|
|
|
)
|
|
|
result = parse_advertisement_data(
|
|
@@ -2547,7 +2539,7 @@ def test_k10_pro_combo_with_empty_data() -> None:
|
|
|
ble_device = generate_ble_device("aa:bb:cc:dd:ee:ff", "any")
|
|
|
adv_data = generate_advertisement_data(
|
|
|
manufacturer_data={2409: None},
|
|
|
- service_data={"0000fd3d-0000-1000-8000-00805f9b34fb": b'3\x00\x00'},
|
|
|
+ service_data={"0000fd3d-0000-1000-8000-00805f9b34fb": b"3\x00\x00"},
|
|
|
rssi=-97,
|
|
|
)
|
|
|
result = parse_advertisement_data(
|
|
@@ -2556,7 +2548,7 @@ def test_k10_pro_combo_with_empty_data() -> None:
|
|
|
assert result == SwitchBotAdvertisement(
|
|
|
address="aa:bb:cc:dd:ee:ff",
|
|
|
data={
|
|
|
- "rawAdvData": b'3\x00\x00',
|
|
|
+ "rawAdvData": b"3\x00\x00",
|
|
|
"data": {},
|
|
|
"isEncrypted": False,
|
|
|
"model": "3",
|
|
@@ -2571,17 +2563,15 @@ def test_s10_active() -> None:
|
|
|
"""Test parsing s10 with active data."""
|
|
|
ble_device = generate_ble_device("aa:bb:cc:dd:ee:ff", "any")
|
|
|
adv_data = generate_advertisement_data(
|
|
|
- manufacturer_data={2409: b'\xb0\xe9\xfe\x00\x08|\n\x01\x11\x05\x00\x10M\x02'},
|
|
|
- service_data={"0000fd3d-0000-1000-8000-00805f9b34fb": b'z\x00\x00'},
|
|
|
+ manufacturer_data={2409: b"\xb0\xe9\xfe\x00\x08|\n\x01\x11\x05\x00\x10M\x02"},
|
|
|
+ service_data={"0000fd3d-0000-1000-8000-00805f9b34fb": b"z\x00\x00"},
|
|
|
rssi=-97,
|
|
|
)
|
|
|
- result = parse_advertisement_data(
|
|
|
- ble_device, adv_data, SwitchbotModel.S10_VACUUM
|
|
|
- )
|
|
|
+ result = parse_advertisement_data(ble_device, adv_data, SwitchbotModel.S10_VACUUM)
|
|
|
assert result == SwitchBotAdvertisement(
|
|
|
address="aa:bb:cc:dd:ee:ff",
|
|
|
data={
|
|
|
- "rawAdvData": b'z\x00\x00',
|
|
|
+ "rawAdvData": b"z\x00\x00",
|
|
|
"data": {
|
|
|
"sequence_number": 10,
|
|
|
"soc_version": "1.1.005",
|
|
@@ -2605,12 +2595,10 @@ def test_s10_passive() -> None:
|
|
|
"""Test parsing s10 with passive data."""
|
|
|
ble_device = generate_ble_device("aa:bb:cc:dd:ee:ff", "any")
|
|
|
adv_data = generate_advertisement_data(
|
|
|
- manufacturer_data={2409: b'\xb0\xe9\xfe\x00\x08|\n\x01\x11\x05\x00\x10M\x02'},
|
|
|
+ manufacturer_data={2409: b"\xb0\xe9\xfe\x00\x08|\n\x01\x11\x05\x00\x10M\x02"},
|
|
|
rssi=-97,
|
|
|
)
|
|
|
- result = parse_advertisement_data(
|
|
|
- ble_device, adv_data, SwitchbotModel.S10_VACUUM
|
|
|
- )
|
|
|
+ result = parse_advertisement_data(ble_device, adv_data, SwitchbotModel.S10_VACUUM)
|
|
|
assert result == SwitchBotAdvertisement(
|
|
|
address="aa:bb:cc:dd:ee:ff",
|
|
|
data={
|
|
@@ -2639,16 +2627,14 @@ def test_s10_with_empty_data() -> None:
|
|
|
ble_device = generate_ble_device("aa:bb:cc:dd:ee:ff", "any")
|
|
|
adv_data = generate_advertisement_data(
|
|
|
manufacturer_data={2409: None},
|
|
|
- service_data={"0000fd3d-0000-1000-8000-00805f9b34fb": b'z\x00\x00'},
|
|
|
+ service_data={"0000fd3d-0000-1000-8000-00805f9b34fb": b"z\x00\x00"},
|
|
|
rssi=-97,
|
|
|
)
|
|
|
- result = parse_advertisement_data(
|
|
|
- ble_device, adv_data, SwitchbotModel.S10_VACUUM
|
|
|
- )
|
|
|
+ result = parse_advertisement_data(ble_device, adv_data, SwitchbotModel.S10_VACUUM)
|
|
|
assert result == SwitchBotAdvertisement(
|
|
|
address="aa:bb:cc:dd:ee:ff",
|
|
|
data={
|
|
|
- "rawAdvData": b'z\x00\x00',
|
|
|
+ "rawAdvData": b"z\x00\x00",
|
|
|
"data": {},
|
|
|
"isEncrypted": False,
|
|
|
"model": "z",
|