From 50d7f4268eec911587612e1de2188f609718d3c0 Mon Sep 17 00:00:00 2001 From: gimpy88 <64541114+gimpy88@users.noreply.github.com> Date: Tue, 2 Jul 2024 22:15:58 -0400 Subject: [PATCH 1/4] Updated KS225 fixture. --- .../fixtures/smart/KS225(US)_1.0_1.1.0.json | 320 ++++++++++++++++++ 1 file changed, 320 insertions(+) create mode 100644 kasa/tests/fixtures/smart/KS225(US)_1.0_1.1.0.json diff --git a/kasa/tests/fixtures/smart/KS225(US)_1.0_1.1.0.json b/kasa/tests/fixtures/smart/KS225(US)_1.0_1.1.0.json new file mode 100644 index 000000000..fcbd4c011 --- /dev/null +++ b/kasa/tests/fixtures/smart/KS225(US)_1.0_1.1.0.json @@ -0,0 +1,320 @@ +{ + "component_nego": { + "component_list": [ + { + "id": "device", + "ver_code": 2 + }, + { + "id": "firmware", + "ver_code": 2 + }, + { + "id": "quick_setup", + "ver_code": 3 + }, + { + "id": "inherit", + "ver_code": 1 + }, + { + "id": "time", + "ver_code": 1 + }, + { + "id": "wireless", + "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": "led", + "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 + }, + { + "id": "matter", + "ver_code": 2 + } + ] + }, + "discovery_result": { + "device_id": "00000000000000000000000000000000", + "device_model": "KS225(US)", + "device_type": "SMART.KASASWITCH", + "factory_default": false, + "ip": "127.0.0.123", + "is_support_iot_cloud": true, + "mac": "3C-52-A1-00-00-00", + "mgt_encrypt_schm": { + "encrypt_type": "KLAP", + "http_port": 80, + "is_support_https": false, + "lv": 2 + }, + "obd_src": "tplink", + "owner": "" + }, + "get_antitheft_rules": { + "antitheft_rule_max_count": 1, + "enable": false, + "rule_list": [] + }, + "get_auto_update_info": { + "enable": true, + "random_range": 120, + "time": 180 + }, + "get_connect_cloud_state": { + "status": 0 + }, + "get_countdown_rules": { + "countdown_rule_max_count": 1, + "enable": false, + "rule_list": [] + }, + "get_device_info": { + "avatar": "switch_s500d", + "brightness": 100, + "default_states": { + "re_power_type": "always_off", + "re_power_type_capability": [ + "last_states", + "always_on", + "always_off" + ], + "type": "last_states" + }, + "device_id": "0000000000000000000000000000000000000000", + "device_on": true, + "fw_id": "00000000000000000000000000000000", + "fw_ver": "1.1.0 Build 240411 Rel.150716", + "has_set_location_info": true, + "hw_id": "00000000000000000000000000000000", + "hw_ver": "1.0", + "ip": "127.0.0.123", + "lang": "en_US", + "latitude": 0, + "longitude": 0, + "mac": "3C-52-A1-00-00-00", + "model": "KS225", + "nickname": "I01BU0tFRF9OQU1FIw==", + "oem_id": "00000000000000000000000000000000", + "on_time": 2924, + "overheat_status": "normal", + "region": "America/Toronto", + "rssi": -48, + "signal_level": 3, + "specs": "", + "ssid": "I01BU0tFRF9TU0lEIw==", + "time_diff": -300, + "type": "SMART.KASASWITCH" + }, + "get_device_time": { + "region": "America/Toronto", + "time_diff": -300, + "timestamp": 1719971593 + }, + "get_device_usage": { + "time_usage": { + "past30": 1335, + "past7": 592, + "today": 50 + } + }, + "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.1.0 Build 240411 Rel.150716", + "hw_id": "", + "need_to_upgrade": false, + "oem_id": "", + "release_date": "", + "release_note": "", + "type": 0 + }, + "get_led_info": { + "bri_config": { + "bri_type": "overall", + "overall_bri": 50 + }, + "led_rule": "always", + "led_status": false, + "night_mode": { + "end_time": 349, + "night_mode_type": "sunrise_sunset", + "start_time": 1267, + "sunrise_offset": 0, + "sunset_offset": 0 + } + }, + "get_matter_setup_info": { + "setup_code": "00000000000", + "setup_payload": "00:0000000000000000000" + }, + "get_next_event": {}, + "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 + }, + "get_wireless_scan_info": { + "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": 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": 1, + "key_type": "wpa2_psk", + "signal_level": 1, + "ssid": "I01BU0tFRF9TU0lEIw==" + } + ], + "start_index": 0, + "sum": 5, + "wep_supported": false + }, + "qs_component_nego": { + "component_list": [ + { + "id": "quick_setup", + "ver_code": 3 + }, + { + "id": "sunrise_sunset", + "ver_code": 1 + }, + { + "id": "ble_whole_setup", + "ver_code": 1 + }, + { + "id": "matter", + "ver_code": 2 + }, + { + "id": "iot_cloud", + "ver_code": 1 + }, + { + "id": "inherit", + "ver_code": 1 + }, + { + "id": "firmware", + "ver_code": 2 + } + ], + "extra_info": { + "device_model": "KS225", + "device_type": "SMART.KASASWITCH", + "is_klap": true + } + } +} From 2e61fb04fc41a6bb12358a526416af53473762d5 Mon Sep 17 00:00:00 2001 From: gimpy88 <64541114+gimpy88@users.noreply.github.com> Date: Wed, 3 Jul 2024 02:57:05 -0400 Subject: [PATCH 2/4] Updated KP400 fixture. Updated SUPPORTED.md --- SUPPORTED.md | 2 + kasa/tests/fixtures/KP400(US)_3.0_1.0.3.json | 45 ++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 kasa/tests/fixtures/KP400(US)_3.0_1.0.3.json diff --git a/SUPPORTED.md b/SUPPORTED.md index 08ae8ada3..4a8a10ed5 100644 --- a/SUPPORTED.md +++ b/SUPPORTED.md @@ -65,6 +65,7 @@ Some newer Kasa devices require authentication. These are marked with **\* + - Hardware: 1.0 (US) / Firmware: 1.1.0\* - **KS230** - Hardware: 1.0 (US) / Firmware: 1.0.14 - **KS240** diff --git a/kasa/tests/fixtures/KP400(US)_3.0_1.0.3.json b/kasa/tests/fixtures/KP400(US)_3.0_1.0.3.json new file mode 100644 index 000000000..e93eea8f8 --- /dev/null +++ b/kasa/tests/fixtures/KP400(US)_3.0_1.0.3.json @@ -0,0 +1,45 @@ +{ + "system": { + "get_sysinfo": { + "alias": "#MASKED_NAME#", + "child_num": 2, + "children": [ + { + "alias": "#MASKED_NAME#", + "id": "8006521377E30159055A751347B5A5E321A8D0A100", + "next_action": { + "type": -1 + }, + "on_time": 4024, + "state": 1 + }, + { + "alias": "#MASKED_NAME#", + "id": "8006521377E30159055A751347B5A5E321A8D0A101", + "next_action": { + "type": -1 + }, + "on_time": 4024, + "state": 1 + } + ], + "deviceId": "0000000000000000000000000000000000000000", + "err_code": 0, + "feature": "TIM", + "hwId": "00000000000000000000000000000000", + "hw_ver": "3.0", + "latitude_i": 0, + "led_off": 0, + "longitude_i": 0, + "mac": "3C:52:A1:00:00:00", + "mic_type": "IOT.SMARTPLUGSWITCH", + "model": "KP400(US)", + "ntc_state": 0, + "oemId": "00000000000000000000000000000000", + "rssi": -75, + "status": "new", + "sw_ver": "1.0.3 Build 220803 Rel.172301", + "updating": 0 + } + } +} From 0db124f8d53ba501c5f81f3620dbabb35d40e4bc Mon Sep 17 00:00:00 2001 From: gimpy88 <64541114+gimpy88@users.noreply.github.com> Date: Wed, 3 Jul 2024 03:03:34 -0400 Subject: [PATCH 3/4] Updated KS200 fixture. --- .../tests/fixtures/KS200M(US)_1.0_1.0.11.json | 96 +++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 kasa/tests/fixtures/KS200M(US)_1.0_1.0.11.json diff --git a/kasa/tests/fixtures/KS200M(US)_1.0_1.0.11.json b/kasa/tests/fixtures/KS200M(US)_1.0_1.0.11.json new file mode 100644 index 000000000..3eb480c3a --- /dev/null +++ b/kasa/tests/fixtures/KS200M(US)_1.0_1.0.11.json @@ -0,0 +1,96 @@ +{ + "smartlife.iot.LAS": { + "get_config": { + "devs": [ + { + "dark_index": 0, + "enable": 0, + "hw_id": 0, + "level_array": [ + { + "adc": 390, + "name": "cloudy", + "value": 15 + }, + { + "adc": 300, + "name": "overcast", + "value": 12 + }, + { + "adc": 222, + "name": "dawn", + "value": 9 + }, + { + "adc": 222, + "name": "twilight", + "value": 9 + }, + { + "adc": 111, + "name": "total darkness", + "value": 4 + }, + { + "adc": 2400, + "name": "custom", + "value": 97 + } + ], + "max_adc": 2450, + "min_adc": 0 + } + ], + "err_code": 0, + "ver": "1.0" + } + }, + "smartlife.iot.PIR": { + "get_config": { + "array": [ + 80, + 50, + 20, + 0 + ], + "cold_time": 60000, + "enable": 0, + "err_code": 0, + "max_adc": 4095, + "min_adc": 0, + "trigger_index": 1, + "version": "1.0" + } + }, + "system": { + "get_sysinfo": { + "active_mode": "none", + "alias": "#MASKED_NAME#", + "dev_name": "Smart Light Switch with PIR", + "deviceId": "0000000000000000000000000000000000000000", + "err_code": 0, + "feature": "TIM", + "hwId": "00000000000000000000000000000000", + "hw_ver": "1.0", + "icon_hash": "", + "latitude_i": 0, + "led_off": 0, + "longitude_i": 0, + "mac": "3C:52:A1:00:00:00", + "mic_type": "IOT.SMARTPLUGSWITCH", + "model": "KS200M(US)", + "next_action": { + "type": -1 + }, + "obd_src": "tplink", + "oemId": "00000000000000000000000000000000", + "on_time": 0, + "relay_state": 0, + "rssi": -40, + "status": "new", + "sw_ver": "1.0.11 Build 230113 Rel.151038", + "updating": 0 + } + } +} From 6c5b330f74c225bd6cd10e3489949a9cdfef16b0 Mon Sep 17 00:00:00 2001 From: gimpy88 <64541114+gimpy88@users.noreply.github.com> Date: Wed, 3 Jul 2024 03:05:18 -0400 Subject: [PATCH 4/4] Updated SUPPORTED.md again. --- SUPPORTED.md | 1 + 1 file changed, 1 insertion(+) diff --git a/SUPPORTED.md b/SUPPORTED.md index 4a8a10ed5..e3ffcd1ec 100644 --- a/SUPPORTED.md +++ b/SUPPORTED.md @@ -82,6 +82,7 @@ Some newer Kasa devices require authentication. These are marked with *\*