mirror of
https://github.com/python-kasa/python-kasa.git
synced 2026-11-06 11:57:26 +00:00
Add KP125M(US) hw 1.0 fw 1.4.1 and S505D(US) hw 1.0 fw 1.4.0 fixtures (#1836)
Two fixtures from devices that advertise the TPAP encryption type: KP125M(US) fw 1.4.1 from RayMa, and S505D(US) fw 1.4.0 Build 260611 from michael-bohr (dumped with `devtools/dump_devinfo.py`). Their commits keep their authorship, and `SUPPORTED.md` is regenerated. --------- Co-authored-by: RayMa <88625717+RayWangyangMa@users.noreply.github.com> Co-authored-by: michael-bohr <mjbohr@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -56,6 +56,7 @@ Some newer Kasa devices require authentication. These are marked with [^1] in th
|
|||||||
- **KP125M**
|
- **KP125M**
|
||||||
- Hardware: 1.0 (US) / Firmware: 1.1.3[^1]
|
- Hardware: 1.0 (US) / Firmware: 1.1.3[^1]
|
||||||
- Hardware: 1.0 (US) / Firmware: 1.2.3[^1]
|
- Hardware: 1.0 (US) / Firmware: 1.2.3[^1]
|
||||||
|
- Hardware: 1.0 (US) / Firmware: 1.4.1[^1]
|
||||||
- **KP401**
|
- **KP401**
|
||||||
- Hardware: 1.0 (US) / Firmware: 1.0.0
|
- Hardware: 1.0 (US) / Firmware: 1.0.0
|
||||||
|
|
||||||
@@ -274,6 +275,7 @@ All Tapo devices require authentication.<br>Hub-Connected Devices may work acros
|
|||||||
- Hardware: 1.0 (US) / Firmware: 1.0.2
|
- Hardware: 1.0 (US) / Firmware: 1.0.2
|
||||||
- **S505D**
|
- **S505D**
|
||||||
- Hardware: 1.0 (US) / Firmware: 1.1.0
|
- Hardware: 1.0 (US) / Firmware: 1.1.0
|
||||||
|
- Hardware: 1.0 (US) / Firmware: 1.4.0
|
||||||
- **S515D**
|
- **S515D**
|
||||||
- Hardware: 1.6 (US) / Firmware: 1.0.4
|
- Hardware: 1.6 (US) / Firmware: 1.0.4
|
||||||
- **TS15**
|
- **TS15**
|
||||||
|
|||||||
@@ -149,6 +149,12 @@ async def discovery_mock(request: pytest.FixtureRequest, mocker: MockerFixture):
|
|||||||
return patch_discovery({DISCOVERY_MOCK_IP: fixture_info}, mocker)
|
return patch_discovery({DISCOVERY_MOCK_IP: fixture_info}, mocker)
|
||||||
|
|
||||||
|
|
||||||
|
def _xfail_tpap(discovery_result: dict) -> None:
|
||||||
|
"""Mark tests of devices that advertise TPAP as expected to fail."""
|
||||||
|
if discovery_result.get("mgt_encrypt_schm", {}).get("encrypt_type") == "TPAP":
|
||||||
|
pytest.xfail("TPAP encryption is not supported yet")
|
||||||
|
|
||||||
|
|
||||||
def create_discovery_mock(ip: str, fixture_data: dict):
|
def create_discovery_mock(ip: str, fixture_data: dict):
|
||||||
"""Mock discovery and patch protocol queries to use Fake protocols."""
|
"""Mock discovery and patch protocol queries to use Fake protocols."""
|
||||||
|
|
||||||
@@ -194,6 +200,7 @@ def create_discovery_mock(ip: str, fixture_data: dict):
|
|||||||
encrypt_type = discovery_result["mgt_encrypt_schm"].get(
|
encrypt_type = discovery_result["mgt_encrypt_schm"].get(
|
||||||
"encrypt_type", discovery_result.get("encrypt_info", {}).get("sym_schm")
|
"encrypt_type", discovery_result.get("encrypt_info", {}).get("sym_schm")
|
||||||
)
|
)
|
||||||
|
_xfail_tpap(discovery_result)
|
||||||
|
|
||||||
if not (login_version := discovery_result["mgt_encrypt_schm"].get("lv")) and (
|
if not (login_version := discovery_result["mgt_encrypt_schm"].get("lv")) and (
|
||||||
et := discovery_result.get("encrypt_type")
|
et := discovery_result.get("encrypt_type")
|
||||||
@@ -380,6 +387,7 @@ def discovery_data(request: pytest.FixtureRequest, mocker: MockerFixture):
|
|||||||
mocker.patch("kasa.IotProtocol.query", return_value=fixture_data)
|
mocker.patch("kasa.IotProtocol.query", return_value=fixture_data)
|
||||||
mocker.patch("kasa.SmartProtocol.query", return_value=fixture_data)
|
mocker.patch("kasa.SmartProtocol.query", return_value=fixture_data)
|
||||||
if "discovery_result" in fixture_data:
|
if "discovery_result" in fixture_data:
|
||||||
|
_xfail_tpap(fixture_data["discovery_result"]["result"])
|
||||||
return fixture_data["discovery_result"].copy()
|
return fixture_data["discovery_result"].copy()
|
||||||
else:
|
else:
|
||||||
return {"system": {"get_sysinfo": fixture_data["system"]["get_sysinfo"]}}
|
return {"system": {"get_sysinfo": fixture_data["system"]["get_sysinfo"]}}
|
||||||
|
|||||||
614
tests/fixtures/smart/KP125M(US)_1.0_1.4.1.json
vendored
Normal file
614
tests/fixtures/smart/KP125M(US)_1.0_1.4.1.json
vendored
Normal file
@@ -0,0 +1,614 @@
|
|||||||
|
{
|
||||||
|
"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": "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": "auto_off",
|
||||||
|
"ver_code": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "energy_unit",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "energy_monitoring",
|
||||||
|
"ver_code": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "power_protection",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "charging_protection",
|
||||||
|
"ver_code": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "matter",
|
||||||
|
"ver_code": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "current_protection",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "tpap",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "noc",
|
||||||
|
"ver_code": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"discovery_result": {
|
||||||
|
"error_code": 0,
|
||||||
|
"result": {
|
||||||
|
"device_id": "00000000000000000000000000000000",
|
||||||
|
"device_model": "KP125M(US)",
|
||||||
|
"device_type": "SMART.KASAPLUG",
|
||||||
|
"factory_default": false,
|
||||||
|
"ip": "127.0.0.123",
|
||||||
|
"is_support_iot_cloud": true,
|
||||||
|
"mac": "50-91-E3-00-00-00",
|
||||||
|
"mgt_encrypt_schm": {
|
||||||
|
"encrypt_type": "TPAP",
|
||||||
|
"http_port": 80,
|
||||||
|
"is_support_https": false,
|
||||||
|
"lv": 2
|
||||||
|
},
|
||||||
|
"obd_src": "tplink",
|
||||||
|
"owner": "00000000000000000000000000000000",
|
||||||
|
"protocol_version": 1,
|
||||||
|
"tpap": {
|
||||||
|
"dac": 1,
|
||||||
|
"noc": 1,
|
||||||
|
"pake": [
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"port": 80,
|
||||||
|
"tls": 0
|
||||||
|
},
|
||||||
|
"tpap_preferred": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"get_antitheft_rules": {
|
||||||
|
"antitheft_rule_max_count": 1,
|
||||||
|
"enable": false,
|
||||||
|
"rule_list": []
|
||||||
|
},
|
||||||
|
"get_auto_off_config": {
|
||||||
|
"delay_min": 120,
|
||||||
|
"enable": false
|
||||||
|
},
|
||||||
|
"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_current_power": {
|
||||||
|
"current_power": 0
|
||||||
|
},
|
||||||
|
"get_device_info": {
|
||||||
|
"auto_off_remain_time": 0,
|
||||||
|
"auto_off_status": "off",
|
||||||
|
"avatar": "fan",
|
||||||
|
"charging_status": "normal",
|
||||||
|
"default_states": {
|
||||||
|
"type": "last_states"
|
||||||
|
},
|
||||||
|
"device_id": "0000000000000000000000000000000000000000",
|
||||||
|
"device_on": false,
|
||||||
|
"fw_id": "00000000000000000000000000000000",
|
||||||
|
"fw_ver": "1.4.1 Build 260721 Rel.065650",
|
||||||
|
"has_set_location_info": true,
|
||||||
|
"hw_id": "00000000000000000000000000000000",
|
||||||
|
"hw_ver": "1.0",
|
||||||
|
"ip": "127.0.0.123",
|
||||||
|
"lang": "zh_TW",
|
||||||
|
"latitude": 0,
|
||||||
|
"longitude": 0,
|
||||||
|
"mac": "50-91-E3-00-00-00",
|
||||||
|
"model": "KP125M",
|
||||||
|
"nickname": "I01BU0tFRF9OQU1FIw==",
|
||||||
|
"oem_id": "00000000000000000000000000000000",
|
||||||
|
"on_time": 0,
|
||||||
|
"overcurrent_status": "normal",
|
||||||
|
"power_protection_status": "normal",
|
||||||
|
"region": "America/Regina",
|
||||||
|
"rssi": -43,
|
||||||
|
"signal_level": 3,
|
||||||
|
"specs": "",
|
||||||
|
"ssid": "I01BU0tFRF9TU0lEIw==",
|
||||||
|
"time_diff": -360,
|
||||||
|
"type": "SMART.KASAPLUG"
|
||||||
|
},
|
||||||
|
"get_device_time": {
|
||||||
|
"region": "America/Regina",
|
||||||
|
"time_diff": -360,
|
||||||
|
"timestamp": 1788123201
|
||||||
|
},
|
||||||
|
"get_device_usage": {
|
||||||
|
"power_usage": {
|
||||||
|
"past30": 10,
|
||||||
|
"past30_mwh": 10000,
|
||||||
|
"past7": 0,
|
||||||
|
"past7_mwh": 0,
|
||||||
|
"today": 0,
|
||||||
|
"today_mwh": 0
|
||||||
|
},
|
||||||
|
"saved_power": {
|
||||||
|
"past30": 64,
|
||||||
|
"past30_mwh": 64000,
|
||||||
|
"past7": 0,
|
||||||
|
"past7_mwh": 0,
|
||||||
|
"today": 0,
|
||||||
|
"today_mwh": 0
|
||||||
|
},
|
||||||
|
"time_usage": {
|
||||||
|
"past30": 74,
|
||||||
|
"past7": 0,
|
||||||
|
"today": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"get_electricity_price_config": {
|
||||||
|
"constant_price": 150,
|
||||||
|
"time_of_use_config": {
|
||||||
|
"summer": {
|
||||||
|
"midpeak": 0,
|
||||||
|
"offpeak": 0,
|
||||||
|
"onpeak": 0,
|
||||||
|
"period": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"weekday_config": [
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"weekend_config": [
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"winter": {
|
||||||
|
"midpeak": 0,
|
||||||
|
"offpeak": 0,
|
||||||
|
"onpeak": 0,
|
||||||
|
"period": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"weekday_config": [
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"weekend_config": [
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": "constant"
|
||||||
|
},
|
||||||
|
"get_emeter_data": {
|
||||||
|
"current_ma": 0,
|
||||||
|
"energy_mwh": 0,
|
||||||
|
"energy_wh": 0,
|
||||||
|
"power_mw": 0,
|
||||||
|
"voltage_mv": 120445
|
||||||
|
},
|
||||||
|
"get_emeter_vgain_igain": {
|
||||||
|
"igain": 10595,
|
||||||
|
"vgain": 117725
|
||||||
|
},
|
||||||
|
"get_energy_usage": {
|
||||||
|
"current_power": 0,
|
||||||
|
"electricity_charge": [
|
||||||
|
1661,
|
||||||
|
607,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"local_time": "2026-08-30 14:53:22",
|
||||||
|
"month_energy": 10,
|
||||||
|
"month_energy_mwh": 10000,
|
||||||
|
"month_runtime": 74,
|
||||||
|
"today_energy": 0,
|
||||||
|
"today_energy_mwh": 0,
|
||||||
|
"today_runtime": 0
|
||||||
|
},
|
||||||
|
"get_fw_download_state": {
|
||||||
|
"auto_upgrade": false,
|
||||||
|
"download_progress": 0,
|
||||||
|
"reboot_time": 5,
|
||||||
|
"status": 0,
|
||||||
|
"upgrade_time": 5
|
||||||
|
},
|
||||||
|
"get_latest_fw": {
|
||||||
|
"fw_size": 0,
|
||||||
|
"fw_ver": "1.4.1 Build 260721 Rel.065650",
|
||||||
|
"hw_id": "",
|
||||||
|
"need_to_upgrade": false,
|
||||||
|
"oem_id": "",
|
||||||
|
"release_date": "",
|
||||||
|
"release_note": "",
|
||||||
|
"type": 0
|
||||||
|
},
|
||||||
|
"get_led_info": {
|
||||||
|
"led_rule": "always",
|
||||||
|
"led_status": false,
|
||||||
|
"night_mode": {
|
||||||
|
"end_time": 377,
|
||||||
|
"night_mode_type": "sunrise_sunset",
|
||||||
|
"start_time": 1199,
|
||||||
|
"sunrise_offset": 0,
|
||||||
|
"sunset_offset": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"get_matter_setup_info": {
|
||||||
|
"setup_code": "00000000000",
|
||||||
|
"setup_payload": "00:000000.000000000000"
|
||||||
|
},
|
||||||
|
"get_max_power": {
|
||||||
|
"max_power": 1888
|
||||||
|
},
|
||||||
|
"get_next_event": {},
|
||||||
|
"get_protection_power": {
|
||||||
|
"enabled": false,
|
||||||
|
"protection_power": 0
|
||||||
|
},
|
||||||
|
"get_schedule_rules": {
|
||||||
|
"enable": true,
|
||||||
|
"rule_list": [
|
||||||
|
{
|
||||||
|
"day": 11,
|
||||||
|
"desired_states": {
|
||||||
|
"on": false
|
||||||
|
},
|
||||||
|
"e_action": "none",
|
||||||
|
"e_min": 0,
|
||||||
|
"e_type": "normal",
|
||||||
|
"enable": false,
|
||||||
|
"id": "S1",
|
||||||
|
"mode": "repeat",
|
||||||
|
"month": 2,
|
||||||
|
"s_min": 540,
|
||||||
|
"s_type": "normal",
|
||||||
|
"time_offset": 0,
|
||||||
|
"week_day": 127,
|
||||||
|
"year": 2026
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"day": 10,
|
||||||
|
"desired_states": {
|
||||||
|
"on": true
|
||||||
|
},
|
||||||
|
"e_action": "none",
|
||||||
|
"e_min": 0,
|
||||||
|
"e_type": "normal",
|
||||||
|
"enable": false,
|
||||||
|
"id": "S2",
|
||||||
|
"mode": "repeat",
|
||||||
|
"month": 2,
|
||||||
|
"s_min": 1020,
|
||||||
|
"s_type": "normal",
|
||||||
|
"time_offset": 0,
|
||||||
|
"week_day": 127,
|
||||||
|
"year": 2026
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"schedule_rule_max_count": 32,
|
||||||
|
"start_index": 0,
|
||||||
|
"sum": 2
|
||||||
|
},
|
||||||
|
"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": 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=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bssid": "000000000000",
|
||||||
|
"channel": 0,
|
||||||
|
"cipher_type": 0,
|
||||||
|
"key_type": "none",
|
||||||
|
"signal_level": 1,
|
||||||
|
"ssid": "I01BU0tFRF9TU0lEIw=="
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"start_index": 0,
|
||||||
|
"sum": 13,
|
||||||
|
"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": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "iot_cloud",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "inherit",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "firmware",
|
||||||
|
"ver_code": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"extra_info": {
|
||||||
|
"device_model": "KP125M",
|
||||||
|
"device_type": "SMART.KASAPLUG",
|
||||||
|
"is_klap": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
426
tests/fixtures/smart/S505D(US)_1.0_1.4.0.json
vendored
Normal file
426
tests/fixtures/smart/S505D(US)_1.0_1.4.0.json
vendored
Normal file
@@ -0,0 +1,426 @@
|
|||||||
|
{
|
||||||
|
"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": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "localSmart",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "overheat_protection",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "matter",
|
||||||
|
"ver_code": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "tpap",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "noc",
|
||||||
|
"ver_code": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"discovery_result": {
|
||||||
|
"error_code": 0,
|
||||||
|
"result": {
|
||||||
|
"device_id": "00000000000000000000000000000000",
|
||||||
|
"device_model": "S505D(US)",
|
||||||
|
"device_type": "SMART.TAPOSWITCH",
|
||||||
|
"factory_default": false,
|
||||||
|
"ip": "127.0.0.123",
|
||||||
|
"is_support_iot_cloud": true,
|
||||||
|
"mac": "78-20-51-00-00-00",
|
||||||
|
"mgt_encrypt_schm": {
|
||||||
|
"encrypt_type": "TPAP",
|
||||||
|
"http_port": 80,
|
||||||
|
"is_support_https": false,
|
||||||
|
"lv": 2
|
||||||
|
},
|
||||||
|
"obd_src": "tplink",
|
||||||
|
"owner": "00000000000000000000000000000000",
|
||||||
|
"protocol_version": 1,
|
||||||
|
"tpap": {
|
||||||
|
"dac": 1,
|
||||||
|
"noc": 1,
|
||||||
|
"pake": [
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"port": 80,
|
||||||
|
"tls": 0
|
||||||
|
},
|
||||||
|
"tpap_preferred": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"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": "hang_lamp_1",
|
||||||
|
"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.4.0 Build 260611 Rel.011905",
|
||||||
|
"has_set_location_info": false,
|
||||||
|
"hw_id": "00000000000000000000000000000000",
|
||||||
|
"hw_ver": "1.0",
|
||||||
|
"ip": "127.0.0.123",
|
||||||
|
"lang": "",
|
||||||
|
"latitude": 0,
|
||||||
|
"longitude": 0,
|
||||||
|
"mac": "78-20-51-00-00-00",
|
||||||
|
"model": "S505D",
|
||||||
|
"nickname": "I01BU0tFRF9OQU1FIw==",
|
||||||
|
"oem_id": "00000000000000000000000000000000",
|
||||||
|
"on_time": 1591,
|
||||||
|
"overheat_status": "normal",
|
||||||
|
"region": "America/New_York",
|
||||||
|
"rssi": -37,
|
||||||
|
"signal_level": 3,
|
||||||
|
"specs": "",
|
||||||
|
"ssid": "I01BU0tFRF9TU0lEIw==",
|
||||||
|
"time_diff": -300,
|
||||||
|
"type": "SMART.TAPOSWITCH"
|
||||||
|
},
|
||||||
|
"get_device_time": {
|
||||||
|
"region": "America/New_York",
|
||||||
|
"time_diff": -300,
|
||||||
|
"timestamp": 1792079777
|
||||||
|
},
|
||||||
|
"get_device_usage": {
|
||||||
|
"time_usage": {
|
||||||
|
"past30": 27,
|
||||||
|
"past7": 27,
|
||||||
|
"today": 27
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"get_fw_download_state": {
|
||||||
|
"auto_upgrade": false,
|
||||||
|
"download_progress": 0,
|
||||||
|
"reboot_time": 5,
|
||||||
|
"status": 0,
|
||||||
|
"upgrade_time": 5
|
||||||
|
},
|
||||||
|
"get_inherit_info": {
|
||||||
|
"inherit_status": false
|
||||||
|
},
|
||||||
|
"get_latest_fw": {
|
||||||
|
"fw_size": 0,
|
||||||
|
"fw_ver": "1.4.0 Build 260611 Rel.011905",
|
||||||
|
"hw_id": "",
|
||||||
|
"need_to_upgrade": false,
|
||||||
|
"oem_id": "",
|
||||||
|
"release_date": "",
|
||||||
|
"release_note": "",
|
||||||
|
"type": 0
|
||||||
|
},
|
||||||
|
"get_led_info": {
|
||||||
|
"led_rule": "always",
|
||||||
|
"led_status": false,
|
||||||
|
"night_mode": {
|
||||||
|
"end_time": 420,
|
||||||
|
"night_mode_type": "custom",
|
||||||
|
"start_time": 1320
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"get_matter_setup_info": {
|
||||||
|
"setup_code": "00000000000",
|
||||||
|
"setup_payload": "00:-000000000000000000"
|
||||||
|
},
|
||||||
|
"get_next_event": {},
|
||||||
|
"get_on_off_gradually_info": {
|
||||||
|
"off_state": {
|
||||||
|
"duration": 1,
|
||||||
|
"enable": true,
|
||||||
|
"max_duration": 60
|
||||||
|
},
|
||||||
|
"on_state": {
|
||||||
|
"duration": 1,
|
||||||
|
"enable": true,
|
||||||
|
"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
|
||||||
|
},
|
||||||
|
"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": 2,
|
||||||
|
"ssid": "I01BU0tFRF9TU0lEIw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bssid": "000000000000",
|
||||||
|
"channel": 0,
|
||||||
|
"cipher_type": 2,
|
||||||
|
"key_type": "wpa3_sae",
|
||||||
|
"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": "wpa3_sae",
|
||||||
|
"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": "wpa3_sae",
|
||||||
|
"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": 0,
|
||||||
|
"key_type": "none",
|
||||||
|
"signal_level": 1,
|
||||||
|
"ssid": "I01BU0tFRF9TU0lEIw=="
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"start_index": 0,
|
||||||
|
"sum": 14,
|
||||||
|
"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": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "iot_cloud",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "inherit",
|
||||||
|
"ver_code": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "firmware",
|
||||||
|
"ver_code": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"extra_info": {
|
||||||
|
"device_model": "S505D",
|
||||||
|
"device_type": "SMART.TAPOSWITCH",
|
||||||
|
"is_klap": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user