mirror of
				https://github.com/python-kasa/python-kasa.git
				synced 2025-10-31 04:31:54 +00:00 
			
		
		
		
	Do not crash on missing build number in fw version (#1500)
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				CI / Perform linting checks (3.13) (push) Has been cancelled
				
			
		
			
				
	
				CodeQL checks / Analyze (python) (push) Has been cancelled
				
			
		
			
				
	
				CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (false, macos-latest, 3.11) (push) Has been cancelled
				
			
		
			
				
	
				CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (false, macos-latest, 3.12) (push) Has been cancelled
				
			
		
			
				
	
				CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (false, macos-latest, 3.13) (push) Has been cancelled
				
			
		
			
				
	
				CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (false, ubuntu-latest, 3.11) (push) Has been cancelled
				
			
		
			
				
	
				CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (false, ubuntu-latest, 3.12) (push) Has been cancelled
				
			
		
			
				
	
				CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (false, ubuntu-latest, 3.13) (push) Has been cancelled
				
			
		
			
				
	
				CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (false, windows-latest, 3.11) (push) Has been cancelled
				
			
		
			
				
	
				CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (false, windows-latest, 3.12) (push) Has been cancelled
				
			
		
			
				
	
				CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (false, windows-latest, 3.13) (push) Has been cancelled
				
			
		
			
				
	
				CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (true, ubuntu-latest, 3.11) (push) Has been cancelled
				
			
		
			
				
	
				CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (true, ubuntu-latest, 3.12) (push) Has been cancelled
				
			
		
			
				
	
				CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (true, ubuntu-latest, 3.13) (push) Has been cancelled
				
			
		
			
				
	
				Stale / stale (push) Has been cancelled
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	CI / Perform linting checks (3.13) (push) Has been cancelled
				
			CodeQL checks / Analyze (python) (push) Has been cancelled
				
			CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (false, macos-latest, 3.11) (push) Has been cancelled
				
			CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (false, macos-latest, 3.12) (push) Has been cancelled
				
			CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (false, macos-latest, 3.13) (push) Has been cancelled
				
			CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (false, ubuntu-latest, 3.11) (push) Has been cancelled
				
			CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (false, ubuntu-latest, 3.12) (push) Has been cancelled
				
			CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (false, ubuntu-latest, 3.13) (push) Has been cancelled
				
			CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (false, windows-latest, 3.11) (push) Has been cancelled
				
			CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (false, windows-latest, 3.12) (push) Has been cancelled
				
			CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (false, windows-latest, 3.13) (push) Has been cancelled
				
			CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (true, ubuntu-latest, 3.11) (push) Has been cancelled
				
			CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (true, ubuntu-latest, 3.12) (push) Has been cancelled
				
			CI / Python ${{ matrix.python-version}} on ${{ matrix.os }}${{ fromJSON('[" (extras)", ""]')[matrix.extras == ''] }} (true, ubuntu-latest, 3.13) (push) Has been cancelled
				
			Stale / stale (push) Has been cancelled
				
			Co-authored-by: Steven B <51370195+sdb9696@users.noreply.github.com>
This commit is contained in:
		| @@ -725,15 +725,6 @@ async def get_smart_test_calls(protocol: SmartProtocol): | ||||
|     successes = [] | ||||
|     child_device_components = {} | ||||
|  | ||||
|     extra_test_calls = [ | ||||
|         SmartCall( | ||||
|             module="temp_humidity_records", | ||||
|             request=SmartRequest.get_raw_request("get_temp_humidity_records").to_dict(), | ||||
|             should_succeed=False, | ||||
|             child_device_id="", | ||||
|         ), | ||||
|     ] | ||||
|  | ||||
|     click.echo("Testing component_nego call ..", nl=False) | ||||
|     responses = await _make_requests_or_exit( | ||||
|         protocol, | ||||
| @@ -812,8 +803,6 @@ async def get_smart_test_calls(protocol: SmartProtocol): | ||||
|             click.echo(f"Skipping {component_id}..", nl=False) | ||||
|             click.echo(click.style("UNSUPPORTED", fg="yellow")) | ||||
|  | ||||
|     test_calls.extend(extra_test_calls) | ||||
|  | ||||
|     # Child component calls | ||||
|     for child_device_id, child_components in child_device_components.items(): | ||||
|         test_calls.append( | ||||
| @@ -839,12 +828,6 @@ async def get_smart_test_calls(protocol: SmartProtocol): | ||||
|             else: | ||||
|                 click.echo(f"Skipping {component_id}..", nl=False) | ||||
|                 click.echo(click.style("UNSUPPORTED", fg="yellow")) | ||||
|         # Add the extra calls for each child | ||||
|         for extra_call in extra_test_calls: | ||||
|             extra_child_call = dataclasses.replace( | ||||
|                 extra_call, child_device_id=child_device_id | ||||
|             ) | ||||
|             test_calls.append(extra_child_call) | ||||
|  | ||||
|     return test_calls, successes | ||||
|  | ||||
|   | ||||
| @@ -425,6 +425,7 @@ COMPONENT_REQUESTS = { | ||||
|             "get_trigger_logs", SmartRequest.GetTriggerLogsParams() | ||||
|         ) | ||||
|     ], | ||||
|     "temp_humidity_record": [SmartRequest.get_raw_request("get_temp_humidity_records")], | ||||
|     "double_click": [SmartRequest.get_raw_request("get_double_click_info")], | ||||
|     "child_device": [ | ||||
|         SmartRequest.get_raw_request("get_child_device_list"), | ||||
|   | ||||
| @@ -48,7 +48,7 @@ async def state(ctx, dev: Device): | ||||
|     ) | ||||
|     echo( | ||||
|         f"Firmware:     {dev.device_info.firmware_version}" | ||||
|         f" {dev.device_info.firmware_build}" | ||||
|         f"{' ' + build if (build := dev.device_info.firmware_build) else ''}" | ||||
|     ) | ||||
|     echo(f"MAC (rssi):   {dev.mac} ({dev.rssi})") | ||||
|     if verbose: | ||||
|   | ||||
| @@ -161,7 +161,7 @@ class DeviceInfo: | ||||
|     device_type: DeviceType | ||||
|     hardware_version: str | ||||
|     firmware_version: str | ||||
|     firmware_build: str | ||||
|     firmware_build: str | None | ||||
|     requires_auth: bool | ||||
|     region: str | None | ||||
|  | ||||
|   | ||||
| @@ -760,7 +760,10 @@ class IotDevice(Device): | ||||
|         device_family = sys_info.get("type", sys_info.get("mic_type")) | ||||
|         device_type = IotDevice._get_device_type_from_sys_info(info) | ||||
|         fw_version_full = sys_info["sw_ver"] | ||||
|         firmware_version, firmware_build = fw_version_full.split(" ", maxsplit=1) | ||||
|         if " " in fw_version_full: | ||||
|             firmware_version, firmware_build = fw_version_full.split(" ", maxsplit=1) | ||||
|         else: | ||||
|             firmware_version, firmware_build = fw_version_full, None | ||||
|         auth = bool(discovery_info and ("mgt_encrypt_schm" in discovery_info)) | ||||
|  | ||||
|         return DeviceInfo( | ||||
|   | ||||
| @@ -913,7 +913,10 @@ class SmartDevice(Device): | ||||
|             components, device_family | ||||
|         ) | ||||
|         fw_version_full = di["fw_ver"] | ||||
|         firmware_version, firmware_build = fw_version_full.split(" ", maxsplit=1) | ||||
|         if " " in fw_version_full: | ||||
|             firmware_version, firmware_build = fw_version_full.split(" ", maxsplit=1) | ||||
|         else: | ||||
|             firmware_version, firmware_build = fw_version_full, None | ||||
|         _protocol, devicetype = device_family.split(".") | ||||
|         # Brand inferred from SMART.KASAPLUG/SMART.TAPOPLUG etc. | ||||
|         brand = devicetype[:4].lower() | ||||
|   | ||||
| @@ -103,7 +103,10 @@ class SmartCamChild(SmartChildDevice, SmartCamDevice): | ||||
|         model = cifp["device_model"] | ||||
|         device_type = SmartCamDevice._get_device_type_from_sysinfo(cifp) | ||||
|         fw_version_full = cifp["sw_ver"] | ||||
|         firmware_version, firmware_build = fw_version_full.split(" ", maxsplit=1) | ||||
|         if " " in fw_version_full: | ||||
|             firmware_version, firmware_build = fw_version_full.split(" ", maxsplit=1) | ||||
|         else: | ||||
|             firmware_version, firmware_build = fw_version_full, None | ||||
|         return DeviceInfo( | ||||
|             short_name=model, | ||||
|             long_name=model, | ||||
|   | ||||
| @@ -47,7 +47,10 @@ class SmartCamDevice(SmartDevice): | ||||
|         long_name = discovery_info["device_model"] if discovery_info else short_name | ||||
|         device_type = SmartCamDevice._get_device_type_from_sysinfo(basic_info) | ||||
|         fw_version_full = basic_info["sw_version"] | ||||
|         firmware_version, firmware_build = fw_version_full.split(" ", maxsplit=1) | ||||
|         if " " in fw_version_full: | ||||
|             firmware_version, firmware_build = fw_version_full.split(" ", maxsplit=1) | ||||
|         else: | ||||
|             firmware_version, firmware_build = fw_version_full, None | ||||
|         return DeviceInfo( | ||||
|             short_name=basic_info["device_model"], | ||||
|             long_name=long_name, | ||||
|   | ||||
							
								
								
									
										426
									
								
								tests/fixtures/smart/child/T310(US)_1.0_1.5.0.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										426
									
								
								tests/fixtures/smart/child/T310(US)_1.0_1.5.0.json
									
									
									
									
										vendored
									
									
								
							| @@ -75,7 +75,6 @@ | ||||
|             } | ||||
|         ] | ||||
|     }, | ||||
|     "get_auto_update_info": -1001, | ||||
|     "get_connect_cloud_state": { | ||||
|         "status": 0 | ||||
|     }, | ||||
| @@ -84,25 +83,25 @@ | ||||
|         "avatar": "sensor_t310", | ||||
|         "bind_count": 1, | ||||
|         "category": "subg.trigger.temp-hmdt-sensor", | ||||
|         "current_humidity": 49, | ||||
|         "current_humidity_exception": 0, | ||||
|         "current_temp": 21.7, | ||||
|         "current_humidity": 61, | ||||
|         "current_humidity_exception": 1, | ||||
|         "current_temp": 21.0, | ||||
|         "current_temp_exception": 0, | ||||
|         "device_id": "SCRUBBED_CHILD_DEVICE_ID_1", | ||||
|         "fw_ver": "1.5.0 Build 230105 Rel.180832", | ||||
|         "fw_ver": "1.5.0", | ||||
|         "hw_id": "00000000000000000000000000000000", | ||||
|         "hw_ver": "1.0", | ||||
|         "jamming_rssi": -111, | ||||
|         "jamming_signal_level": 1, | ||||
|         "lastOnboardingTimestamp": 1724637745, | ||||
|         "mac": "F0A731000000", | ||||
|         "jamming_rssi": -108, | ||||
|         "jamming_signal_level": 2, | ||||
|         "lastOnboardingTimestamp": 1690859014, | ||||
|         "mac": "788CB5000000", | ||||
|         "model": "T310", | ||||
|         "nickname": "I01BU0tFRF9OQU1FIw==", | ||||
|         "oem_id": "00000000000000000000000000000000", | ||||
|         "parent_device_id": "0000000000000000000000000000000000000000", | ||||
|         "region": "Australia/Canberra", | ||||
|         "report_interval": 16, | ||||
|         "rssi": -46, | ||||
|         "region": "Pacific/Auckland", | ||||
|         "report_interval": 8, | ||||
|         "rssi": -56, | ||||
|         "signal_level": 3, | ||||
|         "specs": "US", | ||||
|         "status": "online", | ||||
| @@ -110,8 +109,6 @@ | ||||
|         "temp_unit": "celsius", | ||||
|         "type": "SMART.TAPOSENSOR" | ||||
|     }, | ||||
|     "get_device_time": -1001, | ||||
|     "get_device_usage": -1001, | ||||
|     "get_fw_download_state": { | ||||
|         "cloud_cache_seconds": 1, | ||||
|         "download_progress": 0, | ||||
| @@ -121,7 +118,7 @@ | ||||
|     }, | ||||
|     "get_latest_fw": { | ||||
|         "fw_size": 0, | ||||
|         "fw_ver": "1.5.0 Build 230105 Rel.180832", | ||||
|         "fw_ver": "1.5.0", | ||||
|         "hw_id": "", | ||||
|         "need_to_upgrade": false, | ||||
|         "oem_id": "", | ||||
| @@ -129,10 +126,405 @@ | ||||
|         "release_note": "", | ||||
|         "type": 0 | ||||
|     }, | ||||
|     "get_temp_humidity_records": { | ||||
|         "local_time": 1739107441, | ||||
|         "past24h_humidity": [ | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             58, | ||||
|             57, | ||||
|             57, | ||||
|             57, | ||||
|             56, | ||||
|             56, | ||||
|             55, | ||||
|             55, | ||||
|             55, | ||||
|             55, | ||||
|             54, | ||||
|             54, | ||||
|             55, | ||||
|             56, | ||||
|             57, | ||||
|             57, | ||||
|             58, | ||||
|             58, | ||||
|             58, | ||||
|             58, | ||||
|             59, | ||||
|             59, | ||||
|             59, | ||||
|             59, | ||||
|             59, | ||||
|             59, | ||||
|             59, | ||||
|             59, | ||||
|             59, | ||||
|             60, | ||||
|             60, | ||||
|             60, | ||||
|             60, | ||||
|             60, | ||||
|             60, | ||||
|             60, | ||||
|             60, | ||||
|             61, | ||||
|             82, | ||||
|             59, | ||||
|             60, | ||||
|             61, | ||||
|             61, | ||||
|             61, | ||||
|             61 | ||||
|         ], | ||||
|         "past24h_humidity_exception": [ | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             1, | ||||
|             22, | ||||
|             0, | ||||
|             0, | ||||
|             1, | ||||
|             1, | ||||
|             1, | ||||
|             1 | ||||
|         ], | ||||
|         "past24h_temp": [ | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             213, | ||||
|             213, | ||||
|             212, | ||||
|             211, | ||||
|             210, | ||||
|             208, | ||||
|             207, | ||||
|             206, | ||||
|             205, | ||||
|             204, | ||||
|             203, | ||||
|             202, | ||||
|             201, | ||||
|             202, | ||||
|             203, | ||||
|             205, | ||||
|             206, | ||||
|             208, | ||||
|             209, | ||||
|             210, | ||||
|             210, | ||||
|             211, | ||||
|             211, | ||||
|             212, | ||||
|             212, | ||||
|             212, | ||||
|             212, | ||||
|             212, | ||||
|             212, | ||||
|             212, | ||||
|             213, | ||||
|             213, | ||||
|             213, | ||||
|             213, | ||||
|             213, | ||||
|             213, | ||||
|             213, | ||||
|             215, | ||||
|             254, | ||||
|             221, | ||||
|             214, | ||||
|             212, | ||||
|             211, | ||||
|             210, | ||||
|             210 | ||||
|         ], | ||||
|         "past24h_temp_exception": [ | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             -1000, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             4, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0, | ||||
|             0 | ||||
|         ], | ||||
|         "temp_unit": "celsius" | ||||
|     }, | ||||
|     "get_trigger_logs": { | ||||
|         "logs": [], | ||||
|         "start_id": 0, | ||||
|         "sum": 0 | ||||
|     }, | ||||
|     "qs_component_nego": -1001 | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Teemu R.
					Teemu R.