process_app - ignore tuya_mdev_test strings for class names, as they are not valid

pull_schema - use product key when firmware key is not present.
This commit is contained in:
Cossid
2025-12-13 14:00:29 -06:00
parent 2fbdfa9f13
commit 6ce9d7fd00
2 changed files with 19 additions and 10 deletions

View File

@@ -250,29 +250,35 @@ def dump():
device_class = ''
invalid_device_classes = [
'',
'tuya_mdev_test1',
'tuya_mdev_test2',
]
for searchKey in device_class_search_keys:
device_class = find_device_class(searchKey)
if device_class != '':
break
if device_class == '':
if device_class in invalid_device_classes:
device_class = search_device_class_after_compiled_line()
if device_class == '':
if device_class in invalid_device_classes:
device_class = search_device_class_before_compiled_line()
if device_class == '':
if device_class in invalid_device_classes:
device_class = search_device_class_after_chipid("bk7231n")
if device_class == '':
if device_class in invalid_device_classes:
device_class = search_device_class_after_chipid("BK7231NL")
if device_class == '':
if device_class in invalid_device_classes:
device_class = search_device_class_after_chipid("bk7231t")
if device_class == '':
if device_class in invalid_device_classes:
device_class = search_device_class_after_chipid("rtl8720cf_ameba")
if device_class == '' and swv is not None:
if device_class in invalid_device_classes and swv is not None:
device_class = search_device_class_after_swv(swv)
if device_class == '' and swv is not None:
if device_class in invalid_device_classes and swv is not None:
device_class = search_device_class_before_swv(swv)
if device_class != '':
if device_class not in invalid_device_classes:
print(f"[+] Device class: {device_class}")
with open(name_output_file("device_class"), 'w') as f:
f.write(device_class)

View File

@@ -216,6 +216,9 @@ def run(directory: str, output_file_prefix: str, uuid: str, auth_key: str, firmw
if factory_pin is not None and len(factory_pin) > 0:
product_key = factory_pin
if firmware_key is None and product_key is not None:
firmware_key = product_key
if product_key is not None:
data = build_data_active(epoch_time, reduced_token, firmware_key, product_key, software_version, mcu_software_version, baseline_version, cad_version, cd_version, protocol_version, False)
response = connection.request(url, active_params, data, requestType)
@@ -225,7 +228,7 @@ def run(directory: str, output_file_prefix: str, uuid: str, auth_key: str, firmw
response = connection.request(url, active_params, data, requestType)
if response["success"] == False:
if product_key != firmware_key:
if firmware_key != product_key:
if (response is None or (response is not None and response["success"] == False and response["errorCode"] != "EXPIRE")) and firmware_key is not None:
data = build_data_active(epoch_time, reduced_token, firmware_key, firmware_key, software_version, mcu_software_version, baseline_version, cad_version, cd_version, protocol_version, True)
response = connection.request(url, active_params, data, requestType)