From 6ce9d7fd00027a79ec5d277798c6c4ce0909bf80 Mon Sep 17 00:00:00 2001 From: Cossid Date: Sat, 13 Dec 2025 14:00:29 -0600 Subject: [PATCH] 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. --- profile-building/process_app.py | 24 +++++++++++++++--------- profile-building/pull_schema.py | 5 ++++- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/profile-building/process_app.py b/profile-building/process_app.py index f5bfab2..0dee7ef 100644 --- a/profile-building/process_app.py +++ b/profile-building/process_app.py @@ -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) diff --git a/profile-building/pull_schema.py b/profile-building/pull_schema.py index 4612f8b..8dcc9c3 100644 --- a/profile-building/pull_schema.py +++ b/profile-building/pull_schema.py @@ -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)