From 753afb75ac89b6378398272cdf3a7d3e795962f0 Mon Sep 17 00:00:00 2001 From: Teemu Rytilahti Date: Mon, 11 Nov 2024 15:05:12 +0100 Subject: [PATCH 1/4] Add P110M fixture --- README.md | 2 +- SUPPORTED.md | 2 + tests/device_fixtures.py | 1 + tests/fixtures/smart/P110M(AU)_1.0_1.2.3.json | 405 ++++++++++++++++++ 4 files changed, 409 insertions(+), 1 deletion(-) create mode 100644 tests/fixtures/smart/P110M(AU)_1.0_1.2.3.json diff --git a/README.md b/README.md index 0da595a84..18a4905f3 100644 --- a/README.md +++ b/README.md @@ -192,7 +192,7 @@ The following devices have been tested and confirmed as working. If your device ### Supported Tapo\* devices -- **Plugs**: P100, P110, P115, P125M, P135, TP15 +- **Plugs**: P100, P110, P110M, P115, P125M, P135, TP15 - **Power Strips**: P300, P304M, TP25 - **Wall Switches**: S500D, S505, S505D - **Bulbs**: L510B, L510E, L530E, L630 diff --git a/SUPPORTED.md b/SUPPORTED.md index 7452b69a4..4e29d6b89 100644 --- a/SUPPORTED.md +++ b/SUPPORTED.md @@ -186,6 +186,8 @@ All Tapo devices require authentication.
Hub-Connected Devices may work acros - Hardware: 1.0 (EU) / Firmware: 1.0.7 - Hardware: 1.0 (EU) / Firmware: 1.2.3 - Hardware: 1.0 (UK) / Firmware: 1.3.0 +- **P110M** + - Hardware: 1.0 (AU) / Firmware: 1.2.3 - **P115** - Hardware: 1.0 (EU) / Firmware: 1.2.3 - **P125M** diff --git a/tests/device_fixtures.py b/tests/device_fixtures.py index 1726ee8cb..99388d65e 100644 --- a/tests/device_fixtures.py +++ b/tests/device_fixtures.py @@ -83,6 +83,7 @@ PLUGS_SMART = { "P100", "P110", + "P110M", "P115", "KP125M", "EP25", diff --git a/tests/fixtures/smart/P110M(AU)_1.0_1.2.3.json b/tests/fixtures/smart/P110M(AU)_1.0_1.2.3.json new file mode 100644 index 000000000..a40cd9d86 --- /dev/null +++ b/tests/fixtures/smart/P110M(AU)_1.0_1.2.3.json @@ -0,0 +1,405 @@ +{ + "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": "localSmart", + "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": 2 + }, + { + "id": "current_protection", + "ver_code": 1 + } + ] + }, + "discovery_result": { + "device_id": "00000000000000000000000000000000", + "device_model": "P110M(AU)", + "device_type": "SMART.TAPOPLUG", + "factory_default": false, + "ip": "127.0.0.123", + "is_support_iot_cloud": true, + "mac": "F0-09-0D-00-00-00", + "mgt_encrypt_schm": { + "encrypt_type": "KLAP", + "http_port": 80, + "is_support_https": false, + "lv": 2 + }, + "obd_src": "tplink", + "owner": "00000000000000000000000000000000" + }, + "get_auto_off_config": { + "delay_min": 120, + "enable": false + }, + "get_auto_update_info": { + "enable": false, + "random_range": 120, + "time": 180 + }, + "get_connect_cloud_state": { + "status": 1 + }, + "get_current_power": { + "current_power": 168 + }, + "get_device_info": { + "auto_off_remain_time": 0, + "auto_off_status": "off", + "avatar": "plug", + "charging_status": "normal", + "default_states": { + "state": {}, + "type": "last_states" + }, + "device_id": "0000000000000000000000000000000000000000", + "device_on": true, + "fw_id": "00000000000000000000000000000000", + "fw_ver": "1.2.3 Build 240617 Rel.153525", + "has_set_location_info": false, + "hw_id": "00000000000000000000000000000000", + "hw_ver": "1.0", + "ip": "127.0.0.123", + "lang": "", + "latitude": 0, + "longitude": 0, + "mac": "F0-09-0D-00-00-00", + "model": "P110M", + "nickname": "redacted", + "oem_id": "00000000000000000000000000000000", + "on_time": 186533, + "overcurrent_status": "normal", + "overheat_status": "normal", + "power_protection_status": "normal", + "region": "Australia/Sydney", + "rssi": -53, + "signal_level": 2, + "specs": "", + "ssid": "redacted", + "time_diff": 600, + "type": "SMART.TAPOPLUG" + }, + "get_device_time": { + "region": "Australia/Sydney", + "time_diff": 600, + "timestamp": 946958455 + }, + "get_electricity_price_config": { + "constant_price": 0, + "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_fw_download_state": { + "auto_upgrade": false, + "download_progress": 0, + "reboot_time": 5, + "status": 0, + "upgrade_time": 5 + }, + "get_led_info": { + "bri_config": { + "bri_type": "overall", + "overall_bri": 50 + }, + "led_rule": "always", + "led_status": true, + "night_mode": { + "end_time": 420, + "night_mode_type": "sunrise_sunset", + "start_time": 1140, + "sunrise_offset": 0, + "sunset_offset": 0 + } + }, + "get_matter_setup_info": { + "setup_code": "00000000000", + "setup_payload": "00:0000000000000000000" + }, + "get_max_power": { + "max_power": 2465 + }, + "get_next_event": {}, + "get_protection_power": { + "enabled": true, + "protection_power": 1120 + }, + "get_wireless_scan_info": { + "ap_list": [ + { + "bssid": "000000000000", + "channel": 0, + "cipher_type": 2, + "key_type": "wpa2_psk", + "signal_level": 3, + "ssid": "redacted" + }, + { + "bssid": "000000000000", + "channel": 0, + "cipher_type": 2, + "key_type": "wpa2_psk", + "signal_level": 1, + "ssid": "redacted" + }, + { + "bssid": "000000000000", + "channel": 0, + "cipher_type": 2, + "key_type": "wpa2_psk", + "signal_level": 1, + "ssid": "redacted" + } + ], + "start_index": 0, + "sum": 3, + "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": "P110M", + "device_type": "SMART.TAPOPLUG", + "is_klap": true + } + } +} From 993e422042ffd1c46e8581174aaecd6e65315421 Mon Sep 17 00:00:00 2001 From: Teemu Rytilahti Date: Mon, 11 Nov 2024 15:11:41 +0100 Subject: [PATCH 2/4] Fix redactions --- tests/fixtures/smart/P110M(AU)_1.0_1.2.3.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/fixtures/smart/P110M(AU)_1.0_1.2.3.json b/tests/fixtures/smart/P110M(AU)_1.0_1.2.3.json index a40cd9d86..85fc55f8e 100644 --- a/tests/fixtures/smart/P110M(AU)_1.0_1.2.3.json +++ b/tests/fixtures/smart/P110M(AU)_1.0_1.2.3.json @@ -149,7 +149,7 @@ "longitude": 0, "mac": "F0-09-0D-00-00-00", "model": "P110M", - "nickname": "redacted", + "nickname": "I01BU0tFRF9OQU1FIw==", "oem_id": "00000000000000000000000000000000", "on_time": 186533, "overcurrent_status": "normal", @@ -159,7 +159,7 @@ "rssi": -53, "signal_level": 2, "specs": "", - "ssid": "redacted", + "ssid": "I01BU0tFRF9TU0lEIw==", "time_diff": 600, "type": "SMART.TAPOPLUG" }, @@ -342,7 +342,7 @@ "cipher_type": 2, "key_type": "wpa2_psk", "signal_level": 3, - "ssid": "redacted" + "ssid": "I01BU0tFRF9TU0lEIw==" }, { "bssid": "000000000000", @@ -350,7 +350,7 @@ "cipher_type": 2, "key_type": "wpa2_psk", "signal_level": 1, - "ssid": "redacted" + "ssid": "I01BU0tFRF9TU0lEIw==" }, { "bssid": "000000000000", @@ -358,7 +358,7 @@ "cipher_type": 2, "key_type": "wpa2_psk", "signal_level": 1, - "ssid": "redacted" + "ssid": "I01BU0tFRF9TU0lEIw==" } ], "start_index": 0, From ec81cfd6dc1664dfb66f04f0646df393e169c7b5 Mon Sep 17 00:00:00 2001 From: Teemu Rytilahti Date: Mon, 11 Nov 2024 15:13:07 +0100 Subject: [PATCH 3/4] Device has an emeter --- tests/device_fixtures.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/device_fixtures.py b/tests/device_fixtures.py index 99388d65e..af1baf3c2 100644 --- a/tests/device_fixtures.py +++ b/tests/device_fixtures.py @@ -124,7 +124,7 @@ THERMOSTATS_SMART = {"KE100"} WITH_EMETER_IOT = {"HS110", "HS300", "KP115", "KP125", *BULBS_IOT} -WITH_EMETER_SMART = {"P110", "P115", "KP125M", "EP25", "P304M"} +WITH_EMETER_SMART = {"P110", "P110M", "P115", "KP125M", "EP25", "P304M"} WITH_EMETER = {*WITH_EMETER_IOT, *WITH_EMETER_SMART} DIMMABLE = {*BULBS, *DIMMERS} From 6bcf6e89bc20859fdaf9fe75981a062bfc347d41 Mon Sep 17 00:00:00 2001 From: Steven B <51370195+sdb9696@users.noreply.github.com> Date: Sat, 23 Nov 2024 10:11:01 +0000 Subject: [PATCH 4/4] Add get_energy_usage from EU model --- tests/fixtures/smart/P110M(AU)_1.0_1.2.3.json | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tests/fixtures/smart/P110M(AU)_1.0_1.2.3.json b/tests/fixtures/smart/P110M(AU)_1.0_1.2.3.json index 85fc55f8e..efb88c85e 100644 --- a/tests/fixtures/smart/P110M(AU)_1.0_1.2.3.json +++ b/tests/fixtures/smart/P110M(AU)_1.0_1.2.3.json @@ -124,8 +124,21 @@ "get_connect_cloud_state": { "status": 1 }, + "get_energy_usage": { + "today_runtime": 306, + "month_runtime": 12572, + "today_energy": 173, + "month_energy": 6110, + "local_time": "2024-11-22 21:03:25", + "electricity_charge": [ + 0, + 0, + 0 + ], + "current_power": 74116 + }, "get_current_power": { - "current_power": 168 + "current_power": 74 }, "get_device_info": { "auto_off_remain_time": 0,