I have been working on the Cync (C by GE / Savant) IoT devices. So far I have created a web server that acts like the cloud controller locally. This works fairly well, but it can’t add devices to the mesh and required DNS h8jack/override. This means you must use the cync app to pair the devices to the mesh and then you can use a script to export device data and use the http bridge to control them locally.
I would like to explore the possibility of using an esp32 and Arduino IDE with the ble library to make a device that can have complete local control and bypass the cync app. There is some work already accomplished for the BLE data structs using Linux, bleak (or bluepy) python libs and the bleak userland dbus mechanism.
The problem with the Linux setup is that it sort of works but only for specific devices and is basically impossible to debug. The way the BT userland stuff is setup doesn’t allow for “non standard” communication, which cync bulbs seem to use.
The existing Linux work references telink mesh and was inspired by python-laravel. However, the newer cync wifi/bt devices use rtl8720CM. The newer devices work with the older bt only devices, so the characteristics and such seem to be the same, it’s just trying to figure out the pairing process.
Basically I am wondering if anyone has any experience with btle and esp32? There are several examples I can follow but, I am wondering if anyone can point me towards a SDK and examples using btle for the rtl8720CM. I have searched but haven’t come up with anything concrete. Idk if I should try and follow the telink docs or if there is specific stuff for the rtl8720cm.
The project that already has btle Linux work done is cync2mqtt. There is encryption stuff going on that I haven’t had time to break down to understand. I am just in the planning phase right now.
TIA!