Direct control of Amaran lights over Bluetooth. No desktop app required.
by wesbosTypeScript
Last 12 weeks · 22 commits
1 of 6 standards met
Hi! Thanks for publishing this project! I noticed that declares the license as , but the repository doesn’t include a standalone file. Would you be open to adding one? That would make the intended licensing clearer for GitHub users and downstream projects, and it would also allow GitHub to detect and display the license automatically. Assuming MIT is still the intended license, you could use this template: . Thanks again for making this available.
The ESP32 firmware (and the pure-TS mesh-controller.ts) fully replace the Mac-side PyMeshSDK control path. Nothing in the build or runtime depends on PyMeshSDK anymore — generate_config.py reads mesh keys straight from amaran.db via sqlite3, and the 0x26 packet formats it reverse-engineered are now implemented natively in mesh-controller.ts and the firmware's telink.c. Delete src/pymesh-controller.py and vendor/PyMeshSDK/PyMeshSDK.so (14 MB). Drop the py:* scripts from package.json. README/DIRECT-BLE-CONTROL: remove the fallback instructions; keep the research history with a clear deprecation note and the app-bundle path to reproduce it if ever needed.
Nice work cranking this out, @wesbos ! Was following the other thread. I'm excited to try this out but a bit sketched out by the 14mb binary file in the PyMeshSDK folder. I don't know how closely you were following Claude's process, but is there a way we could either include the uncompiled source code or grab the source package as a postinstall script? Maybe it's using this? https://development.pycom.io/firmwareapi/pycom/network/bluetooth/ble_mesh/
Repository: wesbos/amaran-BLE-control. Description: Direct control of Amaran lights over Bluetooth. No desktop app required. Stars: 20, Forks: 3. Primary language: TypeScript. Languages: TypeScript (57.4%), C (40.3%), JavaScript (1.6%), CMake (0.7%). Open PRs: 0, open issues: 1. Last activity: 1mo ago. Community health: 28%. Top contributors: wesbos.