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 *\*