mirror of
				https://github.com/python-kasa/python-kasa.git
				synced 2025-10-31 04:31:54 +00:00 
			
		
		
		
	Add L900-10 fixture and it's additional component requests (#629)
This commit is contained in:
		| @@ -282,6 +282,7 @@ At the moment, the following devices have been confirmed to work: | ||||
| * Tapo P110 (plug) | ||||
| * Tapo L530E (bulb) | ||||
| * Tapo L900-5 (led strip) | ||||
| * Tapo L900-10 (led strip) | ||||
| * Kasa KS205 (Wifi/Matter Wall Switch) | ||||
| * Kasa KS225 (Wifi/Matter Wall Dimmer Switch) | ||||
|  | ||||
|   | ||||
| @@ -220,7 +220,7 @@ async def _make_requests_or_exit( | ||||
|     final = {} | ||||
|     try: | ||||
|         end = len(requests) | ||||
|         step = 10  # Break the requests down as there seems to be a size limit | ||||
|         step = 5  # Break the requests down as there seems to be a size limit | ||||
|         for i in range(0, end, step): | ||||
|             x = i | ||||
|             requests_step = requests[x : x + step] | ||||
|   | ||||
| @@ -347,4 +347,11 @@ COMPONENT_REQUESTS = { | ||||
|     "light_effect": [SmartRequest.get_dynamic_light_effect_rules()], | ||||
|     "bulb_quick_control": None, | ||||
|     "on_off_gradually": [SmartRequest.get_raw_request("get_on_off_gradually_info")], | ||||
|     "light_strip": None, | ||||
|     "light_strip_lighting_effect": [ | ||||
|         SmartRequest.get_raw_request("get_lighting_effect") | ||||
|     ], | ||||
|     "music_rhythm": None,  # music_rhythm_enable in device_info | ||||
|     "segment": [SmartRequest.get_raw_request("get_device_segment")], | ||||
|     "segment_effect": [SmartRequest.get_raw_request("get_segment_effect_rule")], | ||||
| } | ||||
|   | ||||
| @@ -44,7 +44,7 @@ SUPPORTED_DEVICES = SUPPORTED_IOT_DEVICES + SUPPORTED_SMART_DEVICES | ||||
|  | ||||
| # Tapo bulbs | ||||
| BULBS_SMART_VARIABLE_TEMP = {"L530E"} | ||||
| BULBS_SMART_LIGHT_STRIP = {"L900-5"} | ||||
| BULBS_SMART_LIGHT_STRIP = {"L900-5", "L900-10"} | ||||
| BULBS_SMART_COLOR = {"L530E", *BULBS_SMART_LIGHT_STRIP} | ||||
| BULBS_SMART_DIMMABLE = {"KS225"} | ||||
| BULBS_SMART = ( | ||||
|   | ||||
							
								
								
									
										441
									
								
								kasa/tests/fixtures/smart/L900-10(EU)_1.0_1.0.17.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										441
									
								
								kasa/tests/fixtures/smart/L900-10(EU)_1.0_1.0.17.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,441 @@ | ||||
| { | ||||
|     "component_nego": { | ||||
|         "component_list": [ | ||||
|             { | ||||
|                 "id": "device", | ||||
|                 "ver_code": 2 | ||||
|             }, | ||||
|             { | ||||
|                 "id": "light_strip", | ||||
|                 "ver_code": 1 | ||||
|             }, | ||||
|             { | ||||
|                 "id": "light_strip_lighting_effect", | ||||
|                 "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": "brightness", | ||||
|                 "ver_code": 1 | ||||
|             }, | ||||
|             { | ||||
|                 "id": "cloud_connect", | ||||
|                 "ver_code": 1 | ||||
|             }, | ||||
|             { | ||||
|                 "id": "color_temperature", | ||||
|                 "ver_code": 1 | ||||
|             }, | ||||
|             { | ||||
|                 "id": "default_states", | ||||
|                 "ver_code": 1 | ||||
|             }, | ||||
|             { | ||||
|                 "id": "preset", | ||||
|                 "ver_code": 3 | ||||
|             }, | ||||
|             { | ||||
|                 "id": "color", | ||||
|                 "ver_code": 1 | ||||
|             }, | ||||
|             { | ||||
|                 "id": "on_off_gradually", | ||||
|                 "ver_code": 1 | ||||
|             }, | ||||
|             { | ||||
|                 "id": "device_local_time", | ||||
|                 "ver_code": 1 | ||||
|             }, | ||||
|             { | ||||
|                 "id": "iot_cloud", | ||||
|                 "ver_code": 1 | ||||
|             }, | ||||
|             { | ||||
|                 "id": "music_rhythm", | ||||
|                 "ver_code": 3 | ||||
|             }, | ||||
|             { | ||||
|                 "id": "bulb_quick_control", | ||||
|                 "ver_code": 1 | ||||
|             } | ||||
|         ] | ||||
|     }, | ||||
|     "discovery_result": { | ||||
|         "device_id": "00000000000000000000000000000000", | ||||
|         "device_model": "L900-10(EU)", | ||||
|         "device_type": "SMART.TAPOBULB", | ||||
|         "factory_default": false, | ||||
|         "ip": "127.0.0.123", | ||||
|         "is_support_iot_cloud": true, | ||||
|         "mac": "00-00-00-00-00-00", | ||||
|         "mgt_encrypt_schm": { | ||||
|             "encrypt_type": "AES", | ||||
|             "http_port": 80, | ||||
|             "is_support_https": false, | ||||
|             "lv": 2 | ||||
|         }, | ||||
|         "obd_src": "tplink", | ||||
|         "owner": "00000000000000000000000000000000" | ||||
|     }, | ||||
|     "get_antitheft_rules": { | ||||
|         "antitheft_rule_max_count": 1, | ||||
|         "enable": false, | ||||
|         "rule_list": [] | ||||
|     }, | ||||
|     "get_auto_update_info": { | ||||
|         "enable": false, | ||||
|         "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": "light_strip", | ||||
|         "brightness": 100, | ||||
|         "color_temp": 0, | ||||
|         "color_temp_range": [ | ||||
|             9000, | ||||
|             9000 | ||||
|         ], | ||||
|         "default_states": { | ||||
|             "state": { | ||||
|                 "brightness": 100, | ||||
|                 "color_temp": 0, | ||||
|                 "hue": 230, | ||||
|                 "saturation": 96 | ||||
|             }, | ||||
|             "type": "last_states" | ||||
|         }, | ||||
|         "device_id": "0000000000000000000000000000000000000000", | ||||
|         "device_on": false, | ||||
|         "fw_id": "00000000000000000000000000000000", | ||||
|         "fw_ver": "1.0.17 Build 230426 Rel.153230", | ||||
|         "has_set_location_info": true, | ||||
|         "hue": 230, | ||||
|         "hw_id": "00000000000000000000000000000000", | ||||
|         "hw_ver": "1.0", | ||||
|         "ip": "127.0.0.123", | ||||
|         "lang": "en_US", | ||||
|         "latitude": 0, | ||||
|         "lighting_effect": { | ||||
|             "brightness": 100, | ||||
|             "custom": 0, | ||||
|             "display_colors": [ | ||||
|                 [ | ||||
|                     0, | ||||
|                     100, | ||||
|                     100 | ||||
|                 ], | ||||
|                 [ | ||||
|                     30, | ||||
|                     95, | ||||
|                     100 | ||||
|                 ], | ||||
|                 [ | ||||
|                     0, | ||||
|                     0, | ||||
|                     100 | ||||
|                 ] | ||||
|             ], | ||||
|             "enable": 0, | ||||
|             "id": "TapoStrip_5NiN0Y8GAUD78p4neKk9EL", | ||||
|             "name": "Sunset" | ||||
|         }, | ||||
|         "longitude": 0, | ||||
|         "mac": "00-00-00-00-00-00", | ||||
|         "model": "L900", | ||||
|         "music_rhythm_enable": false, | ||||
|         "music_rhythm_mode": "single_lamp", | ||||
|         "nickname": "I01BU0tFRF9OQU1FIw==", | ||||
|         "oem_id": "00000000000000000000000000000000", | ||||
|         "overheated": false, | ||||
|         "region": "Europe/London", | ||||
|         "rssi": -58, | ||||
|         "saturation": 96, | ||||
|         "signal_level": 2, | ||||
|         "specs": "", | ||||
|         "ssid": "I01BU0tFRF9TU0lEIw==", | ||||
|         "time_diff": 0, | ||||
|         "type": "SMART.TAPOBULB" | ||||
|     }, | ||||
|     "get_device_time": { | ||||
|         "region": "Europe/London", | ||||
|         "time_diff": 0, | ||||
|         "timestamp": 1704909087 | ||||
|     }, | ||||
|     "get_device_usage": { | ||||
|         "power_usage": { | ||||
|             "past30": 15, | ||||
|             "past7": 0, | ||||
|             "today": 0 | ||||
|         }, | ||||
|         "saved_power": { | ||||
|             "past30": 69, | ||||
|             "past7": 1, | ||||
|             "today": 0 | ||||
|         }, | ||||
|         "time_usage": { | ||||
|             "past30": 84, | ||||
|             "past7": 1, | ||||
|             "today": 0 | ||||
|         } | ||||
|     }, | ||||
|     "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": 786432, | ||||
|         "fw_ver": "1.1.0 Build 230905 Rel.184939", | ||||
|         "hw_id": "00000000000000000000000000000000", | ||||
|         "need_to_upgrade": true, | ||||
|         "oem_id": "00000000000000000000000000000000", | ||||
|         "release_date": "2023-10-13", | ||||
|         "release_note": "Modifications and Bug Fixes:\n1. Enhanced stability and performance.\n2. Enhanced the local communication security.", | ||||
|         "type": 2 | ||||
|     }, | ||||
|     "get_lighting_effect": { | ||||
|         "brightness": 100, | ||||
|         "custom": 0, | ||||
|         "direction": 1, | ||||
|         "display_colors": [ | ||||
|             [ | ||||
|                 0, | ||||
|                 100, | ||||
|                 100 | ||||
|             ], | ||||
|             [ | ||||
|                 30, | ||||
|                 95, | ||||
|                 100 | ||||
|             ], | ||||
|             [ | ||||
|                 0, | ||||
|                 0, | ||||
|                 100 | ||||
|             ] | ||||
|         ], | ||||
|         "duration": 600, | ||||
|         "enable": 0, | ||||
|         "expansion_strategy": 2, | ||||
|         "id": "TapoStrip_5NiN0Y8GAUD78p4neKk9EL", | ||||
|         "name": "Sunset", | ||||
|         "repeat_times": 1, | ||||
|         "run_time": 0, | ||||
|         "segments": [ | ||||
|             0 | ||||
|         ], | ||||
|         "sequence": [ | ||||
|             [ | ||||
|                 30, | ||||
|                 0, | ||||
|                 100 | ||||
|             ], | ||||
|             [ | ||||
|                 30, | ||||
|                 20, | ||||
|                 100 | ||||
|             ], | ||||
|             [ | ||||
|                 30, | ||||
|                 50, | ||||
|                 99 | ||||
|             ], | ||||
|             [ | ||||
|                 30, | ||||
|                 60, | ||||
|                 98 | ||||
|             ], | ||||
|             [ | ||||
|                 30, | ||||
|                 70, | ||||
|                 97 | ||||
|             ], | ||||
|             [ | ||||
|                 30, | ||||
|                 75, | ||||
|                 95 | ||||
|             ], | ||||
|             [ | ||||
|                 30, | ||||
|                 80, | ||||
|                 93 | ||||
|             ], | ||||
|             [ | ||||
|                 30, | ||||
|                 90, | ||||
|                 90 | ||||
|             ], | ||||
|             [ | ||||
|                 30, | ||||
|                 95, | ||||
|                 85 | ||||
|             ], | ||||
|             [ | ||||
|                 30, | ||||
|                 100, | ||||
|                 80 | ||||
|             ], | ||||
|             [ | ||||
|                 20, | ||||
|                 100, | ||||
|                 70 | ||||
|             ], | ||||
|             [ | ||||
|                 20, | ||||
|                 100, | ||||
|                 60 | ||||
|             ], | ||||
|             [ | ||||
|                 15, | ||||
|                 100, | ||||
|                 50 | ||||
|             ], | ||||
|             [ | ||||
|                 10, | ||||
|                 100, | ||||
|                 40 | ||||
|             ], | ||||
|             [ | ||||
|                 0, | ||||
|                 100, | ||||
|                 30 | ||||
|             ], | ||||
|             [ | ||||
|                 0, | ||||
|                 100, | ||||
|                 0 | ||||
|             ] | ||||
|         ], | ||||
|         "spread": 1, | ||||
|         "trans_sequence": [], | ||||
|         "transition": 60000, | ||||
|         "type": "pulse" | ||||
|     }, | ||||
|     "get_next_event": {}, | ||||
|     "get_on_off_gradually_info": { | ||||
|         "enable": false | ||||
|     }, | ||||
|     "get_preset_rules": { | ||||
|         "start_index": 0, | ||||
|         "states": [ | ||||
|             { | ||||
|                 "brightness": 50, | ||||
|                 "color_temp": 9000, | ||||
|                 "hue": 0, | ||||
|                 "saturation": 100 | ||||
|             }, | ||||
|             { | ||||
|                 "brightness": 100, | ||||
|                 "color_temp": 0, | ||||
|                 "hue": 240, | ||||
|                 "saturation": 100 | ||||
|             }, | ||||
|             { | ||||
|                 "brightness": 100, | ||||
|                 "color_temp": 0, | ||||
|                 "hue": 0, | ||||
|                 "saturation": 100 | ||||
|             }, | ||||
|             { | ||||
|                 "brightness": 100, | ||||
|                 "color_temp": 0, | ||||
|                 "hue": 120, | ||||
|                 "saturation": 100 | ||||
|             } | ||||
|         ], | ||||
|         "sum": 7 | ||||
|     }, | ||||
|     "get_schedule_rules": { | ||||
|         "enable": false, | ||||
|         "rule_list": [], | ||||
|         "schedule_rule_max_count": 16, | ||||
|         "start_index": 0, | ||||
|         "sum": 0 | ||||
|     }, | ||||
|     "get_wireless_scan_info": { | ||||
|         "ap_list": [], | ||||
|         "wep_supported": false | ||||
|     }, | ||||
|     "qs_component_nego": { | ||||
|         "component_list": [ | ||||
|             { | ||||
|                 "id": "quick_setup", | ||||
|                 "ver_code": 3 | ||||
|             }, | ||||
|             { | ||||
|                 "id": "sunrise_sunset", | ||||
|                 "ver_code": 1 | ||||
|             }, | ||||
|             { | ||||
|                 "id": "inherit", | ||||
|                 "ver_code": 1 | ||||
|             }, | ||||
|             { | ||||
|                 "id": "iot_cloud", | ||||
|                 "ver_code": 1 | ||||
|             }, | ||||
|             { | ||||
|                 "id": "firmware", | ||||
|                 "ver_code": 2 | ||||
|             } | ||||
|         ], | ||||
|         "extra_info": { | ||||
|             "device_model": "L900", | ||||
|             "device_type": "SMART.TAPOBULB" | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Steven B
					Steven B