mirror of
				https://github.com/python-kasa/python-kasa.git
				synced 2025-11-04 06:32:07 +00:00 
			
		
		
		
	Add S220 fixture (#1419)
Add S220 (hub-connected) fixture, thanks to @chrisnewmanuk. Drafted as requires adding `subg.plugswitch.switch` as a supported child device category. ref https://github.com/home-assistant/core/issues/133973#issuecomment-2569967648
This commit is contained in:
		@@ -198,7 +198,7 @@ The following devices have been tested and confirmed as working. If your device
 | 
			
		||||
 | 
			
		||||
- **Plugs**: P100, P110, P110M, P115, P125M, P135, TP15
 | 
			
		||||
- **Power Strips**: P210M, P300, P304M, P306, TP25
 | 
			
		||||
- **Wall Switches**: S500D, S505, S505D
 | 
			
		||||
- **Wall Switches**: S220, S500D, S505, S505D
 | 
			
		||||
- **Bulbs**: L510B, L510E, L530E, L630
 | 
			
		||||
- **Light Strips**: L900-10, L900-5, L920-5, L930-5
 | 
			
		||||
- **Cameras**: C100, C210, C225, C325WB, C520WS, TC65, TC70
 | 
			
		||||
 
 | 
			
		||||
@@ -224,6 +224,8 @@ All Tapo devices require authentication.<br>Hub-Connected Devices may work acros
 | 
			
		||||
 | 
			
		||||
### Wall Switches
 | 
			
		||||
 | 
			
		||||
- **S220**
 | 
			
		||||
  - Hardware: 1.0 (EU) / Firmware: 1.9.0
 | 
			
		||||
- **S500D**
 | 
			
		||||
  - Hardware: 1.0 (US) / Firmware: 1.0.5
 | 
			
		||||
- **S505**
 | 
			
		||||
 
 | 
			
		||||
@@ -121,7 +121,7 @@ DIMMERS = {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
HUBS_SMART = {"H100", "KH100"}
 | 
			
		||||
SENSORS_SMART = {"T310", "T315", "T300", "T100", "T110", "S200B", "S200D"}
 | 
			
		||||
SENSORS_SMART = {"T310", "T315", "T300", "T100", "T110", "S200B", "S200D", "S220"}
 | 
			
		||||
THERMOSTATS_SMART = {"KE100"}
 | 
			
		||||
 | 
			
		||||
WITH_EMETER_IOT = {"HS110", "HS300", "KP115", "KP125", *BULBS_IOT}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										158
									
								
								tests/fixtures/smart/child/S220(EU)_1.0_1.9.0.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										158
									
								
								tests/fixtures/smart/child/S220(EU)_1.0_1.9.0.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,158 @@
 | 
			
		||||
{
 | 
			
		||||
    "component_nego": {
 | 
			
		||||
        "component_list": [
 | 
			
		||||
            {
 | 
			
		||||
                "id": "device",
 | 
			
		||||
                "ver_code": 2
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
                "id": "quick_setup",
 | 
			
		||||
                "ver_code": 3
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
                "id": "trigger_log",
 | 
			
		||||
                "ver_code": 1
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
                "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": "delay_action",
 | 
			
		||||
                "ver_code": 1
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
                "id": "battery_detect",
 | 
			
		||||
                "ver_code": 1
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
                "id": "firmware",
 | 
			
		||||
                "ver_code": 1
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
                "id": "localSmart",
 | 
			
		||||
                "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": "switch",
 | 
			
		||||
        "battery_percentage": 100,
 | 
			
		||||
        "bind_count": 2,
 | 
			
		||||
        "category": "subg.plugswitch.switch",
 | 
			
		||||
        "device_id": "SCRUBBED_CHILD_DEVICE_ID_4",
 | 
			
		||||
        "device_on": false,
 | 
			
		||||
        "fw_ver": "1.9.0 Build 231106 Rel.164353",
 | 
			
		||||
        "has_set_location_info": true,
 | 
			
		||||
        "hw_id": "00000000000000000000000000000000",
 | 
			
		||||
        "hw_ver": "1.0",
 | 
			
		||||
        "is_low": false,
 | 
			
		||||
        "jamming_rssi": -103,
 | 
			
		||||
        "jamming_signal_level": 2,
 | 
			
		||||
        "lastOnboardingTimestamp": 1733332989,
 | 
			
		||||
        "latitude": 0,
 | 
			
		||||
        "led_off": 0,
 | 
			
		||||
        "longitude": 0,
 | 
			
		||||
        "mac": "D84489000000",
 | 
			
		||||
        "model": "S220",
 | 
			
		||||
        "nickname": "I01BU0tFRF9OQU1FIw==",
 | 
			
		||||
        "oem_id": "00000000000000000000000000000000",
 | 
			
		||||
        "original_device_id": "0000000000000000000000000000000000000000",
 | 
			
		||||
        "parent_device_id": "0000000000000000000000000000000000000000",
 | 
			
		||||
        "position": 1,
 | 
			
		||||
        "region": "Europe/London",
 | 
			
		||||
        "rssi": -42,
 | 
			
		||||
        "signal_level": 3,
 | 
			
		||||
        "slot_number": 2,
 | 
			
		||||
        "specs": "EU",
 | 
			
		||||
        "status": "online",
 | 
			
		||||
        "status_follow_edge": false,
 | 
			
		||||
        "type": "SMART.TAPOSWITCH"
 | 
			
		||||
    },
 | 
			
		||||
    "get_device_usage": {
 | 
			
		||||
        "time_usage": {
 | 
			
		||||
            "past30": 1124,
 | 
			
		||||
            "past7": 0,
 | 
			
		||||
            "today": 0
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "get_fw_download_state": {
 | 
			
		||||
        "cloud_cache_seconds": 1,
 | 
			
		||||
        "download_progress": 0,
 | 
			
		||||
        "reboot_time": 5,
 | 
			
		||||
        "status": 0,
 | 
			
		||||
        "upgrade_time": 5
 | 
			
		||||
    },
 | 
			
		||||
    "get_latest_fw": {
 | 
			
		||||
        "fw_size": 0,
 | 
			
		||||
        "fw_ver": "1.9.0 Build 231106 Rel.164353",
 | 
			
		||||
        "hw_id": "",
 | 
			
		||||
        "need_to_upgrade": false,
 | 
			
		||||
        "oem_id": "",
 | 
			
		||||
        "release_date": "",
 | 
			
		||||
        "release_note": "",
 | 
			
		||||
        "type": 0
 | 
			
		||||
    },
 | 
			
		||||
    "get_next_event": {},
 | 
			
		||||
    "get_schedule_rules": {
 | 
			
		||||
        "enable": false,
 | 
			
		||||
        "rule_list": [],
 | 
			
		||||
        "schedule_rule_max_count": 32,
 | 
			
		||||
        "start_index": 0,
 | 
			
		||||
        "sum": 0
 | 
			
		||||
    },
 | 
			
		||||
    "get_trigger_logs": {
 | 
			
		||||
        "logs": [],
 | 
			
		||||
        "start_id": 0,
 | 
			
		||||
        "sum": 0
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user