Update ks240 fixture with child device query info (#890)

The fixture now includes the queries returned directly from the child devices which is stored under child_devices along with valid device ids.

Also fixes a bug in the test_cli.py::test_wifi_scan which fails with more than 9 networks.
This commit is contained in:
Steven B 2024-05-01 16:05:37 +01:00 committed by GitHub
parent 3fc131dfd2
commit b2194a1c62
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 436 additions and 19 deletions

View File

@ -1,4 +1,310 @@
{ {
"child_devices": {
"SCRUBBED_CHILD_DEVICE_ID_1": {
"component_nego": {
"component_list": [
{
"id": "device",
"ver_code": 2
},
{
"id": "firmware",
"ver_code": 2
},
{
"id": "quick_setup",
"ver_code": 3
},
{
"id": "time",
"ver_code": 1
},
{
"id": "schedule",
"ver_code": 2
},
{
"id": "countdown",
"ver_code": 2
},
{
"id": "antitheft",
"ver_code": 1
},
{
"id": "account",
"ver_code": 1
},
{
"id": "synchronize",
"ver_code": 1
},
{
"id": "sunrise_sunset",
"ver_code": 1
},
{
"id": "cloud_connect",
"ver_code": 1
},
{
"id": "iot_cloud",
"ver_code": 1
},
{
"id": "device_local_time",
"ver_code": 1
},
{
"id": "default_states",
"ver_code": 1
},
{
"id": "brightness",
"ver_code": 1
},
{
"id": "preset",
"ver_code": 1
},
{
"id": "on_off_gradually",
"ver_code": 2
},
{
"id": "dimmer_calibration",
"ver_code": 1
},
{
"id": "overheat_protection",
"ver_code": 1
}
]
},
"get_antitheft_rules": {
"antitheft_rule_max_count": 1,
"enable": false,
"rule_list": []
},
"get_connect_cloud_state": {
"status": 0
},
"get_countdown_rules": {
"countdown_rule_max_count": 1,
"enable": false,
"rule_list": []
},
"get_device_info": {
"avatar": "switch_ks240",
"bind_count": 1,
"brightness": 44,
"category": "kasa.switch.outlet.sub-dimmer",
"default_states": {
"re_power_type": "always_off",
"re_power_type_capability": [
"last_states",
"always_on",
"always_off"
],
"type": "last_states"
},
"device_id": "SCRUBBED_CHILD_DEVICE_ID_1",
"device_on": true,
"fade_off_time": 5,
"fade_on_time": 5,
"fw_id": "00000000000000000000000000000000",
"fw_ver": "1.0.4 Build 230721 Rel.184322",
"gradually_off_mode": 0,
"gradually_on_mode": 0,
"has_set_location_info": true,
"hw_id": "00000000000000000000000000000000",
"hw_ver": "1.0",
"lang": "en_US",
"latitude": 0,
"led_off": 0,
"longitude": 0,
"mac": "F0A731000000",
"max_fade_off_time": 60,
"max_fade_on_time": 60,
"model": "KS240",
"nickname": "I01BU0tFRF9OQU1FIw==",
"oem_id": "00000000000000000000000000000000",
"on_off": 1,
"on_time": 67955,
"original_device_id": "0000000000000000000000000000000000000000",
"overheat_status": "normal",
"preset_state": [
{
"brightness": 100
},
{
"brightness": 75
},
{
"brightness": 50
},
{
"brightness": 25
},
{
"brightness": 1
}
],
"region": "America/Chicago",
"specs": "",
"status_follow_edge": true,
"type": "SMART.KASASWITCH"
},
"get_device_usage": {
"time_usage": {
"past30": 41994,
"past7": 8874,
"today": 236
}
},
"get_next_event": {},
"get_on_off_gradually_info": {
"off_state": {
"duration": 5,
"enable": false,
"max_duration": 60
},
"on_state": {
"duration": 5,
"enable": false,
"max_duration": 60
}
},
"get_preset_rules": {
"brightness": [
100,
75,
50,
25,
1
]
},
"get_schedule_rules": {
"enable": false,
"rule_list": [],
"schedule_rule_max_count": 32,
"start_index": 0,
"sum": 0
}
},
"SCRUBBED_CHILD_DEVICE_ID_2": {
"component_nego": {
"component_list": [
{
"id": "device",
"ver_code": 2
},
{
"id": "firmware",
"ver_code": 2
},
{
"id": "quick_setup",
"ver_code": 3
},
{
"id": "time",
"ver_code": 1
},
{
"id": "schedule",
"ver_code": 2
},
{
"id": "countdown",
"ver_code": 2
},
{
"id": "account",
"ver_code": 1
},
{
"id": "synchronize",
"ver_code": 1
},
{
"id": "sunrise_sunset",
"ver_code": 1
},
{
"id": "cloud_connect",
"ver_code": 1
},
{
"id": "iot_cloud",
"ver_code": 1
},
{
"id": "device_local_time",
"ver_code": 1
},
{
"id": "fan_control",
"ver_code": 1
},
{
"id": "overheat_protection",
"ver_code": 1
}
]
},
"get_connect_cloud_state": {
"status": 0
},
"get_countdown_rules": {
"countdown_rule_max_count": 1,
"enable": false,
"rule_list": []
},
"get_device_info": {
"avatar": "switch_ks240",
"bind_count": 1,
"category": "kasa.switch.outlet.sub-fan",
"device_id": "SCRUBBED_CHILD_DEVICE_ID_2",
"device_on": true,
"fan_sleep_mode_on": false,
"fan_speed_level": 4,
"fw_id": "00000000000000000000000000000000",
"fw_ver": "1.0.4 Build 230721 Rel.184322",
"has_set_location_info": true,
"hw_id": "00000000000000000000000000000000",
"hw_ver": "1.0",
"lang": "en_US",
"latitude": 0,
"longitude": 0,
"mac": "F0A731000000",
"model": "KS240",
"nickname": "I01BU0tFRF9OQU1FIw==",
"oem_id": "00000000000000000000000000000000",
"original_device_id": "0000000000000000000000000000000000000000",
"overheat_status": "normal",
"region": "America/Chicago",
"specs": "",
"status_follow_edge": true,
"type": "SMART.KASASWITCH"
},
"get_device_usage": {
"time_usage": {
"past30": 6786,
"past7": 6786,
"today": 236
}
},
"get_next_event": {},
"get_schedule_rules": {
"enable": false,
"rule_list": [],
"schedule_rule_max_count": 32,
"start_index": 0,
"sum": 0
}
}
},
"component_nego": { "component_nego": {
"component_list": [ "component_list": [
{ {
@ -210,7 +516,7 @@
"ver_code": 1 "ver_code": 1
} }
], ],
"device_id": "000000000000000000000000000000000000000001" "device_id": "SCRUBBED_CHILD_DEVICE_ID_1"
}, },
{ {
"component_list": [ "component_list": [
@ -271,7 +577,7 @@
"ver_code": 1 "ver_code": 1
} }
], ],
"device_id": "000000000000000000000000000000000000000000" "device_id": "SCRUBBED_CHILD_DEVICE_ID_2"
} }
], ],
"start_index": 0, "start_index": 0,
@ -283,10 +589,10 @@
"avatar": "switch_ks240", "avatar": "switch_ks240",
"bind_count": 1, "bind_count": 1,
"category": "kasa.switch.outlet.sub-fan", "category": "kasa.switch.outlet.sub-fan",
"device_id": "000000000000000000000000000000000000000000", "device_id": "SCRUBBED_CHILD_DEVICE_ID_2",
"device_on": false, "device_on": true,
"fan_sleep_mode_on": false, "fan_sleep_mode_on": false,
"fan_speed_level": 1, "fan_speed_level": 4,
"fw_id": "00000000000000000000000000000000", "fw_id": "00000000000000000000000000000000",
"fw_ver": "1.0.4 Build 230721 Rel.184322", "fw_ver": "1.0.4 Build 230721 Rel.184322",
"has_set_location_info": true, "has_set_location_info": true,
@ -309,7 +615,7 @@
{ {
"avatar": "switch_ks240", "avatar": "switch_ks240",
"bind_count": 1, "bind_count": 1,
"brightness": 100, "brightness": 44,
"category": "kasa.switch.outlet.sub-dimmer", "category": "kasa.switch.outlet.sub-dimmer",
"default_states": { "default_states": {
"re_power_type": "always_off", "re_power_type": "always_off",
@ -320,14 +626,14 @@
], ],
"type": "last_states" "type": "last_states"
}, },
"device_id": "000000000000000000000000000000000000000001", "device_id": "SCRUBBED_CHILD_DEVICE_ID_1",
"device_on": false, "device_on": true,
"fade_off_time": 1, "fade_off_time": 5,
"fade_on_time": 1, "fade_on_time": 5,
"fw_id": "00000000000000000000000000000000", "fw_id": "00000000000000000000000000000000",
"fw_ver": "1.0.4 Build 230721 Rel.184322", "fw_ver": "1.0.4 Build 230721 Rel.184322",
"gradually_off_mode": 1, "gradually_off_mode": 0,
"gradually_on_mode": 1, "gradually_on_mode": 0,
"has_set_location_info": true, "has_set_location_info": true,
"hw_id": "00000000000000000000000000000000", "hw_id": "00000000000000000000000000000000",
"hw_ver": "1.0", "hw_ver": "1.0",
@ -341,8 +647,8 @@
"model": "KS240", "model": "KS240",
"nickname": "I01BU0tFRF9OQU1FIw==", "nickname": "I01BU0tFRF9OQU1FIw==",
"oem_id": "00000000000000000000000000000000", "oem_id": "00000000000000000000000000000000",
"on_off": 0, "on_off": 1,
"on_time": 0, "on_time": 67951,
"original_device_id": "0000000000000000000000000000000000000000", "original_device_id": "0000000000000000000000000000000000000000",
"overheat_status": "normal", "overheat_status": "normal",
"preset_state": [ "preset_state": [
@ -391,7 +697,7 @@
"nickname": "I01BU0tFRF9OQU1FIw==", "nickname": "I01BU0tFRF9OQU1FIw==",
"oem_id": "00000000000000000000000000000000", "oem_id": "00000000000000000000000000000000",
"region": "America/Chicago", "region": "America/Chicago",
"rssi": -39, "rssi": -37,
"signal_level": 3, "signal_level": 3,
"specs": "", "specs": "",
"ssid": "I01BU0tFRF9TU0lEIw==", "ssid": "I01BU0tFRF9TU0lEIw==",
@ -401,7 +707,7 @@
"get_device_time": { "get_device_time": {
"region": "America/Chicago", "region": "America/Chicago",
"time_diff": -360, "time_diff": -360,
"timestamp": 1708643384 "timestamp": 1714553757
}, },
"get_fw_download_state": { "get_fw_download_state": {
"auto_upgrade": false, "auto_upgrade": false,
@ -410,6 +716,12 @@
"status": 0, "status": 0,
"upgrade_time": 5 "upgrade_time": 5
}, },
"get_homekit_info": {
"mfi_setup_code": "000-00-000",
"mfi_setup_id": "0000",
"mfi_token_token": "0000000000000000000000000000000000/00000000000000000000000/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000+00000000000000000=",
"mfi_token_uuid": "00000000-0000-0000-0000-000000000000"
},
"get_latest_fw": { "get_latest_fw": {
"fw_size": 786432, "fw_size": 786432,
"fw_ver": "1.0.5 Build 231204 Rel.172150", "fw_ver": "1.0.5 Build 231204 Rel.172150",
@ -434,9 +746,114 @@
} }
}, },
"get_wireless_scan_info": { "get_wireless_scan_info": {
"ap_list": [], "ap_list": [
{
"bssid": "000000000000",
"channel": 0,
"cipher_type": 2,
"key_type": "wpa2_psk",
"signal_level": 3,
"ssid": "I01BU0tFRF9TU0lEIw=="
},
{
"bssid": "000000000000",
"channel": 0,
"cipher_type": 2,
"key_type": "wpa2_psk",
"signal_level": 3,
"ssid": "I01BU0tFRF9TU0lEIw=="
},
{
"bssid": "000000000000",
"channel": 0,
"cipher_type": 2,
"key_type": "wpa2_psk",
"signal_level": 2,
"ssid": "I01BU0tFRF9TU0lEIw=="
},
{
"bssid": "000000000000",
"channel": 0,
"cipher_type": 2,
"key_type": "wpa2_psk",
"signal_level": 2,
"ssid": "I01BU0tFRF9TU0lEIw=="
},
{
"bssid": "000000000000",
"channel": 0,
"cipher_type": 2,
"key_type": "wpa2_psk",
"signal_level": 2,
"ssid": "I01BU0tFRF9TU0lEIw=="
},
{
"bssid": "000000000000",
"channel": 0,
"cipher_type": 2,
"key_type": "wpa2_psk",
"signal_level": 2,
"ssid": "I01BU0tFRF9TU0lEIw=="
},
{
"bssid": "000000000000",
"channel": 0,
"cipher_type": 2,
"key_type": "wpa2_psk",
"signal_level": 1,
"ssid": "I01BU0tFRF9TU0lEIw=="
},
{
"bssid": "000000000000",
"channel": 0,
"cipher_type": 2,
"key_type": "wpa2_psk",
"signal_level": 1,
"ssid": "I01BU0tFRF9TU0lEIw=="
},
{
"bssid": "000000000000",
"channel": 0,
"cipher_type": 2,
"key_type": "wpa2_psk",
"signal_level": 1,
"ssid": "I01BU0tFRF9TU0lEIw=="
},
{
"bssid": "000000000000",
"channel": 0,
"cipher_type": 2,
"key_type": "wpa2_psk",
"signal_level": 1,
"ssid": "I01BU0tFRF9TU0lEIw=="
},
{
"bssid": "000000000000",
"channel": 0,
"cipher_type": 2,
"key_type": "wpa2_psk",
"signal_level": 1,
"ssid": "I01BU0tFRF9TU0lEIw=="
},
{
"bssid": "000000000000",
"channel": 0,
"cipher_type": 2,
"key_type": "wpa2_psk",
"signal_level": 1,
"ssid": "I01BU0tFRF9TU0lEIw=="
},
{
"bssid": "000000000000",
"channel": 0,
"cipher_type": 2,
"key_type": "wpa2_psk",
"signal_level": 1,
"ssid": "I01BU0tFRF9TU0lEIw=="
}
],
"start_index": 0, "start_index": 0,
"sum": 0, "sum": 13,
"wep_supported": false "wep_supported": false
}, },
"qs_component_nego": { "qs_component_nego": {

View File

@ -196,7 +196,7 @@ async def test_wifi_scan(dev, runner):
res = await runner.invoke(wifi, ["scan"], obj=dev) res = await runner.invoke(wifi, ["scan"], obj=dev)
assert res.exit_code == 0 assert res.exit_code == 0
assert re.search(r"Found \d wifi networks!", res.output) assert re.search(r"Found [\d]+ wifi networks!", res.output)
@device_smart @device_smart