* Initial RTL8720CF support * Fix RTL8720CF_OTA file validation. * be a bit more robust on chip string matching * Really rough refactor of haxomatic for RTL8720CF, not complete. * Update RTL8720CF 2.3.0 haxomatic hex match strings * Remove length validation from authkey/uuid so it can work with both Tuya and CloudCutter generated keys. * Fix bk7231 string detection Add second RTL8720CF 2.3.0 profile * Refactor haxomatic to be more modular and maintainable. * haxomatic - minor cleanup * profile-building - Pull PSK when pulling schema. * Haxomatic - Search all binaries for patch patterns. Update known RTL8720CF match pattern identifiers. * Change network to custom 10.204.0.1/24 network (204 = 0xCC) Send multiple DNS servers, which may help devices that hang after DHCP Spend less time sending wifi connect requests so AP can start listening sooner. * Update exploit for new offsets. * Haxomatic - Add 1.0.x SDK * Update haxomatic for newer found patterns. * Minor tweaks * Updates to profile-building * Add storage parsing to extract_rtl8720cf * Switch to bk7231tools to extract rtl8720cf storage to remove an unneeded dependency. * remove debug code * Add special case for sdk identification for single build missing standard string. * Find swv before device_class, as we may want to search directly after it. * Update comments, seek entire bin for storage. * Add missing new address in profile. Add ability to process inactive OTA app. * Update documentation. * fix typo. * Fix a type in beken extract. * Add haxomatic pattern for oddball BK7231N 2.3.1 SDK. * Haxomatic - Add RTL8720CF 2.3.1 SDK pattern. * Fix copy/paste typo * profile-building - proceess_app - add more device class match strings. * one more * profile-building - better log SDK data * Add a special thanks section. * fix typo * Clean up documentation. * documentation - use numbered lists. * process_app - add another device class identifier.
Profiles moved
"Legacy" device profiles have been migrated to a new format.
The new repository of devices and profiles can be found here:
https://github.com/tuya-cloudcutter/tuya-cloudcutter.github.io
If you'd like to submit a profile you generated, create a pull request to the repo above, not tuya-cloudcutter.
Testing custom profiles
After generating a profile, you'll get two files in profile-classic directory. You can rename the one in profile-classic/devices/ however you want, and update its manufacturer and name strings. Do not change any other fields, as well as the file in profile-classic/profiles/.
These two files can be added to tuya-cloudcutter.github.io repository in a pull request.
To test the profile locally, you can copy the 2 JSONs (without any parent directories) to a subdirectory in device-profiles, like this:
device-profiles/
├─ your-device-name/
│ ├─ your-device-name.json
│ ├─ oem-bk7231n-dctrl-switch-1.1.0-sdk-2.3.1-40.00.json
and run sudo ./tuya-cloudcutter.sh -p your-device-name.