* 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.
Rework payload trigger to be delayed after tuya.device.active instead of off of tuya.device.uuid.pskkey.get as that does not get called if psk is present.
Allow tuya.device.upgrade.silent.get to trigger an upgrade if mqtt has not triggered it yet, but disallow duplicate upgrade requests within a short period.
Add timestamps to log output and add extra line for readability before http client requests
Add start request logging for static files for better timing logging
Change action hook from tuya.device.dynamic.config.get to tuya.device.uuid.pskkey.get as it always comes later and starts the clock for flashing
add response for tuya.device.upgrade.status.update.json to hush default endpoint notice.
* Make get_input.py use cloudcutter-data API
* Save device and profile objects, add base response schema
* Serve device schema and base responses
* Build UDP payload based on profile data
* Undo printing the datagram content
* Fix writing profile data in Docker
* Specify endpoint schema directory on CLI
* Fix reading device schema
* Download profile data when specifying device name
* Add instructions for choosing profiles by firmware version
* Remove all legacy profiles
* List available custom firmware projects in INSTRUCTIONS.md
* Schema - Use a tuya.device.dynamic.config.get.json that works with all SDKs.
* Fix run_flash.sh file mode
Co-authored-by: Kuba Szczodrzyński <kuba@szczodrzynski.pl>
* Sort input and display lists, remove extra spaces.
* Add -f to rm to silently fail when no file exists (avoid showing unncessary errors).
* Add device and ap preamble for FLSNT BR30 RGBWCT bulb.
* Update common.sh
Co-authored-by: Moogle Troupe <ffxivmusicbard@gmail.com>
* fix thumb address on gadgets for a few profiles
* WIP: working on MJ fan controller profile
* WIP: MJ fan profile - fixing addrs
* WIP: MJ SmartLife test payload
* Set MartinJerry/US-FC-01 Mlambert-49FT and Treatlife DS02F profiles to the same payload
* MJ US-FC-01, Mlambert 49Ft, Treatlife DS02F schemas
Co-authored-by: Khaled Nassar <khalednassar@users.noreply.github.com>