Add EP40M Fixture (#1238)

Add fixture for
[EP40M](https://www.kasasmart.com/us/products/smart-plugs/smart-wifi-outdoor-plug-ep40m),
Smart Wi-Fi Outdoor Plug (Matter).
This commit is contained in:
Ryan Nitcher 2024-11-08 17:47:56 -07:00 committed by GitHub
parent 4026e8a80c
commit 6039760186
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 880 additions and 2 deletions

View File

@ -183,7 +183,7 @@ The following devices have been tested and confirmed as working. If your device
### Supported Kasa devices ### Supported Kasa devices
- **Plugs**: EP10, EP25<sup>\*</sup>, HS100<sup>\*\*</sup>, HS103, HS105, HS110, KP100, KP105, KP115, KP125, KP125M<sup>\*</sup>, KP401 - **Plugs**: EP10, EP25<sup>\*</sup>, HS100<sup>\*\*</sup>, HS103, HS105, HS110, KP100, KP105, KP115, KP125, KP125M<sup>\*</sup>, KP401
- **Power Strips**: EP40, HS107, HS300, KP200, KP303, KP400 - **Power Strips**: EP40, EP40M<sup>\*</sup>, HS107, HS300, KP200, KP303, KP400
- **Wall Switches**: ES20M, HS200, HS210, HS220<sup>\*\*</sup>, KP405, KS200M, KS205<sup>\*</sup>, KS220M, KS225<sup>\*</sup>, KS230, KS240<sup>\*</sup> - **Wall Switches**: ES20M, HS200, HS210, HS220<sup>\*\*</sup>, KP405, KS200M, KS205<sup>\*</sup>, KS220M, KS225<sup>\*</sup>, KS230, KS240<sup>\*</sup>
- **Bulbs**: KL110, KL120, KL125, KL130, KL135, KL50, KL60, LB110 - **Bulbs**: KL110, KL120, KL125, KL130, KL135, KL50, KL60, LB110
- **Light Strips**: KL400L5, KL420L5, KL430 - **Light Strips**: KL400L5, KL420L5, KL430

View File

@ -54,6 +54,8 @@ Some newer Kasa devices require authentication. These are marked with <sup>*</su
- **EP40** - **EP40**
- Hardware: 1.0 (US) / Firmware: 1.0.2 - Hardware: 1.0 (US) / Firmware: 1.0.2
- **EP40M**
- Hardware: 1.0 (US) / Firmware: 1.1.0<sup>\*</sup>
- **HS107** - **HS107**
- Hardware: 1.0 (US) / Firmware: 1.0.8 - Hardware: 1.0 (US) / Firmware: 1.0.8
- **HS300** - **HS300**

View File

@ -108,7 +108,7 @@ SWITCHES_SMART = {
} }
SWITCHES = {*SWITCHES_IOT, *SWITCHES_SMART} SWITCHES = {*SWITCHES_IOT, *SWITCHES_SMART}
STRIPS_IOT = {"HS107", "HS300", "KP303", "KP200", "KP400", "EP40"} STRIPS_IOT = {"HS107", "HS300", "KP303", "KP200", "KP400", "EP40"}
STRIPS_SMART = {"P300", "P304M", "TP25"} STRIPS_SMART = {"P300", "P304M", "TP25", "EP40M"}
STRIPS = {*STRIPS_IOT, *STRIPS_SMART} STRIPS = {*STRIPS_IOT, *STRIPS_SMART}
DIMMERS_IOT = {"ES20M", "HS220", "KS220M", "KS230", "KP405"} DIMMERS_IOT = {"ES20M", "HS220", "KS220M", "KS230", "KP405"}

View File

@ -0,0 +1,876 @@
{
"child_devices": {
"SCRUBBED_CHILD_DEVICE_ID_1": {
"component_nego": {
"component_list": [
{
"id": "device",
"ver_code": 2
},
{
"id": "quick_setup",
"ver_code": 3
},
{
"id": "time",
"ver_code": 1
},
{
"id": "device_local_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": "firmware",
"ver_code": 2
},
{
"id": "default_states",
"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": "tape_lights",
"bind_count": 1,
"category": "plug.powerstrip.sub-plug",
"default_states": {
"type": "last_states"
},
"device_id": "SCRUBBED_CHILD_DEVICE_ID_1",
"device_on": false,
"fw_id": "00000000000000000000000000000000",
"fw_ver": "1.1.0 Build 240415 Rel.171219",
"has_set_location_info": true,
"hw_id": "00000000000000000000000000000000",
"hw_ver": "1.0",
"is_usb": false,
"latitude": 0,
"longitude": 0,
"mac": "F0090D000000",
"model": "EP40M",
"nickname": "I01BU0tFRF9OQU1FIw==",
"oem_id": "00000000000000000000000000000000",
"on_time": 0,
"original_device_id": "0000000000000000000000000000000000000000",
"overheat_status": "normal",
"position": 2,
"region": "America/Denver",
"slot_number": 2,
"status_follow_edge": true,
"type": "SMART.KASAPLUG"
},
"get_device_usage": {
"time_usage": {
"past30": 2,
"past7": 2,
"today": 0
}
},
"get_next_event": {},
"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": "quick_setup",
"ver_code": 3
},
{
"id": "time",
"ver_code": 1
},
{
"id": "device_local_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": "firmware",
"ver_code": 2
},
{
"id": "default_states",
"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": "house",
"bind_count": 1,
"category": "plug.powerstrip.sub-plug",
"default_states": {
"type": "last_states"
},
"device_id": "SCRUBBED_CHILD_DEVICE_ID_2",
"device_on": false,
"fw_id": "00000000000000000000000000000000",
"fw_ver": "1.1.0 Build 240415 Rel.171219",
"has_set_location_info": true,
"hw_id": "00000000000000000000000000000000",
"hw_ver": "1.0",
"is_usb": false,
"latitude": 0,
"longitude": 0,
"mac": "F0090D000000",
"model": "EP40M",
"nickname": "I01BU0tFRF9OQU1FIw==",
"oem_id": "00000000000000000000000000000000",
"on_time": 0,
"original_device_id": "0000000000000000000000000000000000000000",
"overheat_status": "normal",
"position": 1,
"region": "America/Denver",
"slot_number": 2,
"status_follow_edge": true,
"type": "SMART.KASAPLUG"
},
"get_device_usage": {
"time_usage": {
"past30": 842,
"past7": 842,
"today": 249
}
},
"get_next_event": {
"desired_states": {
"on": true
},
"e_time": 0,
"id": "S1",
"s_time": 1729382340,
"type": 1
},
"get_schedule_rules": {
"enable": true,
"rule_list": [
{
"day": 19,
"desired_states": {
"on": true
},
"e_action": "none",
"e_min": 0,
"e_type": "normal",
"enable": true,
"id": "S1",
"mode": "repeat",
"month": 10,
"s_min": 1081,
"s_type": "sunset",
"time_offset": -15,
"week_day": 127,
"year": 2024
},
{
"day": 19,
"desired_states": {
"on": false
},
"e_action": "none",
"e_min": 0,
"e_type": "normal",
"enable": true,
"id": "S2",
"mode": "repeat",
"month": 10,
"s_min": 1330,
"s_type": "normal",
"time_offset": 0,
"week_day": 127,
"year": 2024
}
],
"schedule_rule_max_count": 32,
"start_index": 0,
"sum": 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": "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": "control_child",
"ver_code": 2
},
{
"id": "child_device",
"ver_code": 2
},
{
"id": "matter",
"ver_code": 2
},
{
"id": "overheat_protection",
"ver_code": 1
}
]
},
"discovery_result": {
"device_id": "00000000000000000000000000000000",
"device_model": "EP40M(US)",
"device_type": "SMART.KASAPLUG",
"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": "matter",
"owner": "00000000000000000000000000000000"
},
"get_auto_update_info": {
"enable": true,
"random_range": 120,
"time": 180
},
"get_child_device_component_list": {
"child_component_list": [
{
"component_list": [
{
"id": "device",
"ver_code": 2
},
{
"id": "quick_setup",
"ver_code": 3
},
{
"id": "time",
"ver_code": 1
},
{
"id": "device_local_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": "firmware",
"ver_code": 2
},
{
"id": "default_states",
"ver_code": 1
},
{
"id": "overheat_protection",
"ver_code": 1
}
],
"device_id": "SCRUBBED_CHILD_DEVICE_ID_1"
},
{
"component_list": [
{
"id": "device",
"ver_code": 2
},
{
"id": "quick_setup",
"ver_code": 3
},
{
"id": "time",
"ver_code": 1
},
{
"id": "device_local_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": "firmware",
"ver_code": 2
},
{
"id": "default_states",
"ver_code": 1
},
{
"id": "overheat_protection",
"ver_code": 1
}
],
"device_id": "SCRUBBED_CHILD_DEVICE_ID_2"
}
],
"start_index": 0,
"sum": 2
},
"get_child_device_list": {
"child_device_list": [
{
"avatar": "tape_lights",
"bind_count": 1,
"category": "plug.powerstrip.sub-plug",
"default_states": {
"type": "last_states"
},
"device_id": "SCRUBBED_CHILD_DEVICE_ID_1",
"device_on": false,
"fw_id": "00000000000000000000000000000000",
"fw_ver": "1.1.0 Build 240415 Rel.171219",
"has_set_location_info": true,
"hw_id": "00000000000000000000000000000000",
"hw_ver": "1.0",
"is_usb": false,
"latitude": 0,
"longitude": 0,
"mac": "F0090D000000",
"model": "EP40M",
"nickname": "I01BU0tFRF9OQU1FIw==",
"oem_id": "00000000000000000000000000000000",
"on_time": 0,
"original_device_id": "0000000000000000000000000000000000000000",
"overheat_status": "normal",
"position": 2,
"region": "America/Denver",
"slot_number": 2,
"status_follow_edge": true,
"type": "SMART.KASAPLUG"
},
{
"avatar": "house",
"bind_count": 1,
"category": "plug.powerstrip.sub-plug",
"default_states": {
"type": "last_states"
},
"device_id": "SCRUBBED_CHILD_DEVICE_ID_2",
"device_on": false,
"fw_id": "00000000000000000000000000000000",
"fw_ver": "1.1.0 Build 240415 Rel.171219",
"has_set_location_info": true,
"hw_id": "00000000000000000000000000000000",
"hw_ver": "1.0",
"is_usb": false,
"latitude": 0,
"longitude": 0,
"mac": "F0090D000000",
"model": "EP40M",
"nickname": "I01BU0tFRF9OQU1FIw==",
"oem_id": "00000000000000000000000000000000",
"on_time": 0,
"original_device_id": "0000000000000000000000000000000000000000",
"overheat_status": "normal",
"position": 1,
"region": "America/Denver",
"slot_number": 2,
"status_follow_edge": true,
"type": "SMART.KASAPLUG"
}
],
"start_index": 0,
"sum": 2
},
"get_connect_cloud_state": {
"status": 0
},
"get_device_info": {
"avatar": "",
"device_id": "0000000000000000000000000000000000000000",
"fw_id": "00000000000000000000000000000000",
"fw_ver": "1.1.0 Build 240415 Rel.171219",
"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": "F0-09-0D-00-00-00",
"model": "EP40M",
"nickname": "I01BU0tFRF9OQU1FIw==",
"oem_id": "00000000000000000000000000000000",
"region": "America/Denver",
"rssi": -66,
"signal_level": 2,
"specs": "",
"ssid": "I01BU0tFRF9TU0lEIw==",
"time_diff": -420,
"type": "SMART.KASAPLUG"
},
"get_device_time": {
"region": "America/Denver",
"time_diff": -420,
"timestamp": 1729316541
},
"get_device_usage": {
"time_usage": {
"past30": 842,
"past7": 842,
"today": 249
}
},
"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.1.0 Build 240415 Rel.171219",
"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": "never",
"led_status": false,
"night_mode": {
"end_time": 435,
"night_mode_type": "sunrise_sunset",
"start_time": 1096,
"sunrise_offset": 0,
"sunset_offset": 0
}
},
"get_matter_setup_info": {
"setup_code": "00000000000",
"setup_payload": "00:000000-000000000000"
},
"get_wireless_scan_info": {
"ap_list": [
{
"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": 0,
"key_type": "none",
"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=="
},
{
"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,
"sum": 18,
"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
},
{
"id": "control_child",
"ver_code": 2
},
{
"id": "child_device",
"ver_code": 2
}
],
"extra_info": {
"device_model": "EP40M",
"device_type": "SMART.KASAPLUG",
"is_klap": true
}
}
}