Add fixture for RV30 Plus

This commit is contained in:
Teemu Rytilahti 2024-11-30 00:56:02 +01:00
parent d122b48788
commit 22200f00a7
3 changed files with 343 additions and 3 deletions

View File

@ -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"

View File

@ -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()

View 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"
}
}
}