77 Commits

Author SHA1 Message Date
Cossid
b28723ae61 Add RTL8720CF support (#857)
* 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.
2025-11-25 17:18:58 -06:00
Cossid
a9cc60684c Allow passing UUID, AuthKey, and PSKKey to skip the exploit stage.
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.
2023-11-10 23:57:32 -06:00
Cossid
9faccf7528 Add tuya.device.property.save response. 2023-04-25 14:43:30 -05:00
Cossid
7a40fc56b0 Add MQTT logging for better understanding of what is going on (includes some flash status updates)
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.
2023-02-04 11:54:49 -06:00
Cossid
302f2a9fb0 Clarify sudo requirements in instructions. 2023-01-21 09:39:25 -06:00
Cossid
be2f9b2901 *.md - Update remaining references from run_detach/flash to tuya-cloudcutter. 2023-01-11 10:47:17 -06:00
Kuba Szczodrzyński
210aed18b6 Add README about locally testing profiles 2022-12-02 18:59:01 +01:00
Kuba Szczodrzyński
48a5995fca Refactor get_input.py to click, allow selection of local custom profiles 2022-12-01 21:09:06 +01:00
Kuba Szczodrzyński
2623061f97 Add short profiles migration README 2022-11-30 22:47:40 +01:00
Cossid
661f18dcb8 Schema - Use a tuya.device.dynamic.config.get.json that works with all SDKs (#2)
* 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>
2022-11-30 18:20:37 +01:00
Kuba Szczodrzyński
21e762c48f Remove all legacy profiles 2022-11-30 18:04:34 +01:00
Kuba Szczodrzyński
29752b133b Save device and profile objects, add base response schema 2022-11-30 18:01:15 +01:00
Cossid
ab69466415 Merge pull request #181 from Cossid/cloudy-bay-correction-verified
Correct profile for Cloudy Bay recessed light, verified.
2022-11-21 12:47:22 -06:00
Cossid
e089049cfb Merge pull request #153 from Cossid/ultrapro-wfd4001-switch
Add new device UltraPro WFD4001 Switch
2022-11-21 12:46:44 -06:00
Cossid
2391808831 Correct profile for Cloudy Bay recessed light, verified. 2022-11-15 17:43:28 -06:00
Petar Koretic
df52c21e7d Add LSC 3000273-970717 profile - closes #145
Same as Arlec ALD092CHA
2022-10-28 17:25:39 +02:00
Cossid
c1ac9789d7 Add new device UltraPro WFD4001 Switch 2022-10-17 18:51:16 -05:00
Cossid
547051a586 Add profile for Euarne BR30 RGBWCT (duplicate of Tuya-Generic E27-A60-RGBCWW-V1. This model used both SmartLife- and Nexxt Home- ap preamble prefixes while working with the same profile. 2022-06-21 23:39:49 -05:00
Cossid
0417691ac4 Add profile for Helloify A19 RGB+CT bulbs. Copied from PHOPOLLO SBE2606 as it worked without modification. Scenes might be broken, but RGB + CT works fine. (#103) 2022-06-13 06:45:17 -04:00
Khaled Nassar
79bfb7dcf4 gh-98: Add profile for WB2S LSPA9 with BL0937 2022-06-10 16:15:55 +02:00
Khaled Nassar
68fbdae65e gh-94: Add profile for Aldi/Lightway SMART-AL2017-TGTS 2022-06-10 14:35:17 +02:00
Khaled Nassar
7fe2e0d4e5 gh-91: Add profile for generic E27 Smart Life RGBCW bulb - WB2L BK7231N chip 2022-06-10 10:30:08 +02:00
Khaled Nassar
987d0b831f gh-90: Add profile for Calex E27 A60 RGBCCT 429004.1 v2.0 2022-06-10 10:05:38 +02:00
Khaled Nassar
47a2f4e3f1 gh-88: Add profile for Treatlife SL10 - 2nd version of firmware 2022-06-10 09:49:23 +02:00
Khaled Nassar
daf4dfe8a6 gh-87: Add profile for Ayococr X5P 2022-06-10 09:23:07 +02:00
Khaled Nassar
659114f333 gh-86: Add profile for Qiachip 110V220V Light and Fan Controller (FLC-220VFLC-110V) 2022-06-10 09:15:03 +02:00
Khaled Nassar
f26b1c435c gh-85: Add profile for Gosund Smart Switch SW5-A-V2.1 2022-06-10 08:58:22 +02:00
Khaled Nassar
ae335d1293 gh-83: Profile for WiFi Curtain Switch WF-CS01 2022-06-10 08:51:37 +02:00
Cossid
db623ee661 New device flsnt br30 rgbwct (#99)
* 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>
2022-05-24 12:48:30 -04:00
openshwprojects
41f82d20b0 added profile for Mycket outdoor power metering socket PE-01E_IP44 with BL0937 and WB2S (BK7231T) module 2022-05-23 13:59:12 +02:00
Moogle Troupe
26fcb5746b Add "1.0.8" version of ledvance profile (#82) 2022-04-29 19:16:56 -04:00
Khaled Nassar
165573650f Add generic profiles for 2 and 4 gang wifi switches, seems to match the other brands so far 2022-04-29 13:31:12 +02:00
Khaled Nassar
b62d424484 MINCO HEAT DS-102 2 Gang WiFi Switch - issue #77 2022-04-29 13:28:39 +02:00
Khaled Nassar
43e27acaad Fcmila Spotlight GU10 - SKUH92973 - issue #76 2022-04-29 13:24:21 +02:00
Khaled Nassar
62feef5f9e Add DIY WiFi switch ZN268131 profile - issue #65 2022-04-23 20:36:38 +02:00
Khaled Nassar
074dbde52c Revert "Renamed LEDVANCE Classic from E27 to B27 - issue #72"
This reverts commit 4100511690.
2022-04-23 12:25:05 +02:00
Khaled Nassar
4100511690 Renamed LEDVANCE Classic from E27 to B27 - issue #72 2022-04-23 12:01:59 +02:00
Khaled Nassar
6a66056b34 Add profile for treatlife DS03 Smart Ceiling + Dimmer switch - issue #73 2022-04-23 11:37:40 +02:00
Khaled Nassar
4df02c2052 Profile for LEDVANCE Smart+ A60 E27 WW/CW - issue #72 2022-04-23 08:31:34 +02:00
Moogle Troupe
ce48d6f7ad fix thumb address on gadgets for a few profiles (#71)
* 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>
2022-04-21 16:40:05 -04:00
Moogle Troupe
2301af5561 Create profile (#69)
finish #68
2022-04-19 13:01:03 -04:00
tony
c9a1a2e70a Support PHOPOLLO Bulb 12 Pack 2022-04-18 14:57:03 -04:00
Khaled Nassar
6b49436e1c QIACHIP smart switch - issue #62 2022-04-17 12:33:36 +02:00
Khaled Nassar
2f106f8897 Tuya generic WiFi Switch - 3 Gang - issue #59 2022-04-17 12:02:40 +02:00
Khaled Nassar
4536bf69ff Device profile for CASENL CA/K1-094 - issue #58 2022-04-17 11:54:19 +02:00
Khaled Nassar
2e05e82272 Merge pull request #57 from tuya-cloudcutter/device/issue-55
Add Lonsonho X804A 4 gang WiFi switch full profile for #55
2022-04-12 20:18:19 +02:00
Khaled Nassar
77fe0e813b Merge pull request #51 from tuya-cloudcutter/device/issue-27
Add full profile for Treatlife ST10 - issue #27
2022-04-12 20:18:10 +02:00
Khaled Nassar
d37d9488d0 Merge pull request #52 from tuya-cloudcutter/device/issue-31
Avatar ASL04 TV backlight full profile for issue #31
2022-04-12 20:18:02 +02:00
Khaled Nassar
6e6affd540 Merge pull request #53 from tuya-cloudcutter/device/issue-33
Initial profile for Calex 900023.1 for issue #33
2022-04-12 20:17:53 +02:00
Khaled Nassar
4d20f8a3b3 Merge pull request #45 from tuya-cloudcutter/device/issue-32
Calex UK 4-way plug 900018.1 v1.0 - issue #32
2022-04-12 20:17:43 +02:00