mirror of
https://github.com/python-kasa/python-kasa.git
synced 2024-12-22 19:23:34 +00:00
Add fixture for RV30 Plus
This commit is contained in:
parent
d122b48788
commit
22200f00a7
@ -847,7 +847,8 @@ def get_smart_child_fixture(response):
|
|||||||
model_info = SmartDevice._get_device_info(response, None)
|
model_info = SmartDevice._get_device_info(response, None)
|
||||||
hw_version = model_info.hardware_version
|
hw_version = model_info.hardware_version
|
||||||
fw_version = model_info.firmware_version
|
fw_version = model_info.firmware_version
|
||||||
model = model_info.long_name
|
# Vacuum models can have a space in their name
|
||||||
|
model = model_info.long_name.replace(" ", "_")
|
||||||
if model_info.region is not None:
|
if model_info.region is not None:
|
||||||
model = f"{model}({model_info.region})"
|
model = f"{model}({model_info.region})"
|
||||||
save_filename = f"{model}_{hw_version}_{fw_version}.json"
|
save_filename = f"{model}_{hw_version}_{fw_version}.json"
|
||||||
|
@ -124,6 +124,7 @@ DIMMERS = {
|
|||||||
HUBS_SMART = {"H100", "KH100"}
|
HUBS_SMART = {"H100", "KH100"}
|
||||||
SENSORS_SMART = {"T310", "T315", "T300", "T100", "T110", "S200B", "S200D"}
|
SENSORS_SMART = {"T310", "T315", "T300", "T100", "T110", "S200B", "S200D"}
|
||||||
THERMOSTATS_SMART = {"KE100"}
|
THERMOSTATS_SMART = {"KE100"}
|
||||||
|
VACUUMS_SMART = {"RV30"}
|
||||||
|
|
||||||
WITH_EMETER_IOT = {"HS110", "HS300", "KP115", "KP125", *BULBS_IOT}
|
WITH_EMETER_IOT = {"HS110", "HS300", "KP115", "KP125", *BULBS_IOT}
|
||||||
WITH_EMETER_SMART = {"P110", "P110M", "P115", "KP125M", "EP25", "P304M"}
|
WITH_EMETER_SMART = {"P110", "P110M", "P115", "KP125M", "EP25", "P304M"}
|
||||||
@ -142,6 +143,7 @@ ALL_DEVICES_SMART = (
|
|||||||
.union(SENSORS_SMART)
|
.union(SENSORS_SMART)
|
||||||
.union(SWITCHES_SMART)
|
.union(SWITCHES_SMART)
|
||||||
.union(THERMOSTATS_SMART)
|
.union(THERMOSTATS_SMART)
|
||||||
|
.union(VACUUMS_SMART)
|
||||||
)
|
)
|
||||||
ALL_DEVICES = ALL_DEVICES_IOT.union(ALL_DEVICES_SMART)
|
ALL_DEVICES = ALL_DEVICES_IOT.union(ALL_DEVICES_SMART)
|
||||||
|
|
||||||
@ -310,6 +312,9 @@ dimmers_smart = parametrize(
|
|||||||
hubs_smart = parametrize(
|
hubs_smart = parametrize(
|
||||||
"hubs smart", model_filter=HUBS_SMART, protocol_filter={"SMART"}
|
"hubs smart", model_filter=HUBS_SMART, protocol_filter={"SMART"}
|
||||||
)
|
)
|
||||||
|
vacuums_smart = parametrize(
|
||||||
|
"vacuums smart", model_filter=VACUUMS_SMART, protocol_filter={"SMART"}
|
||||||
|
)
|
||||||
sensors_smart = parametrize(
|
sensors_smart = parametrize(
|
||||||
"sensors smart", model_filter=SENSORS_SMART, protocol_filter={"SMART.CHILD"}
|
"sensors smart", model_filter=SENSORS_SMART, protocol_filter={"SMART.CHILD"}
|
||||||
)
|
)
|
||||||
@ -351,15 +356,15 @@ def check_categories():
|
|||||||
+ thermostats_smart.args[1]
|
+ thermostats_smart.args[1]
|
||||||
+ camera_smartcam.args[1]
|
+ camera_smartcam.args[1]
|
||||||
+ hub_smartcam.args[1]
|
+ hub_smartcam.args[1]
|
||||||
|
+ vacuums_smart.args[1]
|
||||||
)
|
)
|
||||||
diffs: set[FixtureInfo] = set(FIXTURE_DATA) - set(categorized_fixtures)
|
diffs: set[FixtureInfo] = set(FIXTURE_DATA) - set(categorized_fixtures)
|
||||||
if diffs:
|
if diffs:
|
||||||
print(diffs)
|
|
||||||
for diff in diffs:
|
for diff in diffs:
|
||||||
print(
|
print(
|
||||||
f"No category for file {diff.name} protocol {diff.protocol}, add to the corresponding set (BULBS, PLUGS, ..)"
|
f"No category for file {diff.name} protocol {diff.protocol}, add to the corresponding set (BULBS, PLUGS, ..)"
|
||||||
)
|
)
|
||||||
raise Exception(f"Missing category for {diff.name}")
|
raise Exception(f"Missing category for {diffs}")
|
||||||
|
|
||||||
|
|
||||||
check_categories()
|
check_categories()
|
||||||
|
334
tests/fixtures/smart/RV30_Plus(US)_1.0_1.2.2.json
vendored
Normal file
334
tests/fixtures/smart/RV30_Plus(US)_1.0_1.2.2.json
vendored
Normal file
@ -0,0 +1,334 @@
|
|||||||
|
{
|
||||||
|
"component_nego": {
|
||||||
|
"component_list": [
|
||||||
|
{
|
||||||
|
"id": "device",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "iot_cloud",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "time",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "firmware",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "quick_setup",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "clean",
|
||||||
|
"ver_code": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "battery",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "consumables",
|
||||||
|
"ver_code": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "direction_control",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "button_and_led",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "speaker",
|
||||||
|
"ver_code": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "schedule",
|
||||||
|
"ver_code": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "wireless",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "map",
|
||||||
|
"ver_code": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "auto_change_map",
|
||||||
|
"ver_code": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "ble_whole_setup",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "dust_bucket",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "inherit",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "mop",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "do_not_disturb",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "device_local_time",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "charge_pose_clean",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "continue_breakpoint_sweep",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "goto_point",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "furniture",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "map_cloud_backup",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "dev_log",
|
||||||
|
"ver_code": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"discovery_result": {
|
||||||
|
"device_id": "00000000000000000000000000000000",
|
||||||
|
"device_model": "RV30 Plus(US)",
|
||||||
|
"device_type": "SMART.TAPOROBOVAC",
|
||||||
|
"factory_default": false,
|
||||||
|
"ip": "127.0.0.123",
|
||||||
|
"is_support_iot_cloud": true,
|
||||||
|
"mac": "AC-15-A2-00-00-00",
|
||||||
|
"mgt_encrypt_schm": {
|
||||||
|
"encrypt_type": "AES",
|
||||||
|
"http_port": 4433,
|
||||||
|
"is_support_https": true
|
||||||
|
},
|
||||||
|
"obd_src": "tplink",
|
||||||
|
"owner": "00000000000000000000000000000000"
|
||||||
|
},
|
||||||
|
"getAutoChangeMap": {
|
||||||
|
"auto_change_map": true
|
||||||
|
},
|
||||||
|
"getAutoDustCollection": {
|
||||||
|
"auto_dust_collection": 1
|
||||||
|
},
|
||||||
|
"getBatteryInfo": {
|
||||||
|
"battery_percentage": 100
|
||||||
|
},
|
||||||
|
"getCleanRecords": {
|
||||||
|
"lastest_day_record": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"record_list": [],
|
||||||
|
"record_list_num": 0,
|
||||||
|
"total_area": 0,
|
||||||
|
"total_number": 0,
|
||||||
|
"total_time": 0
|
||||||
|
},
|
||||||
|
"getConsumablesInfo": {
|
||||||
|
"charge_contact_time": 0,
|
||||||
|
"edge_brush_time": 0,
|
||||||
|
"filter_time": 0,
|
||||||
|
"main_brush_lid_time": 0,
|
||||||
|
"rag_time": 0,
|
||||||
|
"roll_brush_time": 0,
|
||||||
|
"sensor_time": 0
|
||||||
|
},
|
||||||
|
"getCurrentVoiceLanguage": {
|
||||||
|
"name": "bb053ca2c5605a55090fcdb952f3902b",
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
"getDoNotDisturb": {
|
||||||
|
"do_not_disturb": true,
|
||||||
|
"e_min": 480,
|
||||||
|
"s_min": 1320
|
||||||
|
},
|
||||||
|
"getMapInfo": {
|
||||||
|
"auto_change_map": true,
|
||||||
|
"current_map_id": 0,
|
||||||
|
"map_list": [],
|
||||||
|
"map_num": 0,
|
||||||
|
"version": "LDS"
|
||||||
|
},
|
||||||
|
"getMopState": {
|
||||||
|
"mop_state": false
|
||||||
|
},
|
||||||
|
"getVacStatus": {
|
||||||
|
"err_status": [
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"errorCode_id": [
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"prompt": [],
|
||||||
|
"promptCode_id": [],
|
||||||
|
"status": 6
|
||||||
|
},
|
||||||
|
"get_device_info": {
|
||||||
|
"auto_pack_ver": "0.0.49.1720",
|
||||||
|
"avatar": "",
|
||||||
|
"board_sn": "22420ABD10A80A74",
|
||||||
|
"custom_sn": "222A056000059",
|
||||||
|
"device_id": "0000000000000000000000000000000000000000",
|
||||||
|
"fw_id": "00000000000000000000000000000000",
|
||||||
|
"fw_ver": "1.2.2 Build 240627 Rel.162730",
|
||||||
|
"has_set_location_info": false,
|
||||||
|
"hw_id": "00000000000000000000000000000000",
|
||||||
|
"hw_ver": "1.0",
|
||||||
|
"ip": "127.0.0.123",
|
||||||
|
"lang": "",
|
||||||
|
"latitude": 0,
|
||||||
|
"linux_ver": "V6.45.2670418356",
|
||||||
|
"location": "Home",
|
||||||
|
"longitude": 0,
|
||||||
|
"mac": "AC-15-A2-00-00-00",
|
||||||
|
"mcu_ver": "1.1.2703.116",
|
||||||
|
"model": "RV30 Plus",
|
||||||
|
"nickname": "I01BU0tFRF9OQU1FIw==",
|
||||||
|
"oem_id": "00000000000000000000000000000000",
|
||||||
|
"overheated": false,
|
||||||
|
"region": "America/Chicago",
|
||||||
|
"rssi": -49,
|
||||||
|
"signal_level": 3,
|
||||||
|
"specs": "",
|
||||||
|
"ssid": "I01BU0tFRF9TU0lEIw==",
|
||||||
|
"time_diff": -360,
|
||||||
|
"total_ver": "1.3.8",
|
||||||
|
"type": "SMART.TAPOROBOVAC"
|
||||||
|
},
|
||||||
|
"get_device_time": {
|
||||||
|
"region": "America/Chicago",
|
||||||
|
"time_diff": -360,
|
||||||
|
"timestamp": 1732911696
|
||||||
|
},
|
||||||
|
"get_fw_download_state": {
|
||||||
|
"auto_upgrade": false,
|
||||||
|
"download_progress": 0,
|
||||||
|
"reboot_time": 5,
|
||||||
|
"status": 0,
|
||||||
|
"upgrade_time": 5
|
||||||
|
},
|
||||||
|
"get_inherit_info": null,
|
||||||
|
"get_latest_fw": {
|
||||||
|
"fw_size": 0,
|
||||||
|
"fw_ver": "1.2.2 Build 240627 Rel.162730",
|
||||||
|
"hw_id": "",
|
||||||
|
"need_to_upgrade": false,
|
||||||
|
"oem_id": "",
|
||||||
|
"release_date": "",
|
||||||
|
"release_note": "",
|
||||||
|
"type": 0
|
||||||
|
},
|
||||||
|
"get_next_event": {},
|
||||||
|
"get_schedule_rules": {
|
||||||
|
"enable": false,
|
||||||
|
"rule_list": [],
|
||||||
|
"schedule_rule_max_count": 32,
|
||||||
|
"start_index": 0,
|
||||||
|
"sum": 0
|
||||||
|
},
|
||||||
|
"get_wireless_scan_info": {
|
||||||
|
"ap_list": [
|
||||||
|
{
|
||||||
|
"key_type": "wpa2_psk",
|
||||||
|
"signal_level": 2,
|
||||||
|
"ssid": "I01BU0tFRF9TU0lEIw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key_type": "wpa2_psk",
|
||||||
|
"signal_level": 2,
|
||||||
|
"ssid": "I01BU0tFRF9TU0lEIw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key_type": "wpa2_psk",
|
||||||
|
"signal_level": 2,
|
||||||
|
"ssid": "I01BU0tFRF9TU0lEIw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key_type": "wpa2_psk",
|
||||||
|
"signal_level": 2,
|
||||||
|
"ssid": "I01BU0tFRF9TU0lEIw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key_type": "wpa2_psk",
|
||||||
|
"signal_level": 2,
|
||||||
|
"ssid": "I01BU0tFRF9TU0lEIw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key_type": "wpa2_psk",
|
||||||
|
"signal_level": 2,
|
||||||
|
"ssid": "I01BU0tFRF9TU0lEIw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key_type": "wpa2_psk",
|
||||||
|
"signal_level": 1,
|
||||||
|
"ssid": "I01BU0tFRF9TU0lEIw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key_type": "wpa2_psk",
|
||||||
|
"signal_level": 1,
|
||||||
|
"ssid": "I01BU0tFRF9TU0lEIw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key_type": "wpa2_psk",
|
||||||
|
"signal_level": 1,
|
||||||
|
"ssid": "I01BU0tFRF9TU0lEIw=="
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"start_index": 0,
|
||||||
|
"sum": 9,
|
||||||
|
"wep_supported": true
|
||||||
|
},
|
||||||
|
"qs_component_nego": {
|
||||||
|
"component_list": [
|
||||||
|
{
|
||||||
|
"id": "quick_setup",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "iot_cloud",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "firmware",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "ble_whole_setup",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "inherit",
|
||||||
|
"ver_code": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"extra_info": {
|
||||||
|
"device_model": "RV30 Plus",
|
||||||
|
"device_type": "SMART.TAPOROBOVAC"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user