This is an open source information for controlling bluetooth-enabled RGB splicing floor lamp. The one I have got is from TEMU.
The lamp requires Raingel app for iOS and Android to be controlled. It broadcasts a bluetooth service with name "VC-BLELIGHT".
The model I've got mentions AMill KBB-1 on a box label, there is some similarly looking photos of the lamp here.
This repository contains some Python code using bleak library to control the lamp. It's protocol is relatively simple.
The code here is proof of concept. It is not a real application, but you can create your scripts based on it, by copying the code and modifying it.
This script was tested on macOS and Linux (on Raspberry Pi).
Both platforms require some patience to get the bluetooth working.
On macOS: you have to add terminal to Bluetooth permissions, otherwise the library will crash. Also Mac does not expose BLE addresses, it just returns random UUID specific to your machine.
On Linux (Raspberry Pi, Ubuntu 24.10): bleak often returns error "bleak.exc.BleakDBusError: [org.bluez.Error.NotAvailable] br-connection-profile-unavailable" when connecting to the lamp. Setting ControllerMode = le in /etc/bluetooth/main.conf helps.
There may be some additional errors when iOS/Android app was used, sometimes the lamp remembers the phone address and refuses to connect to other devices.
I couldn't get the script to work on Raspberry Pi OS 2024-11-19.
Make sure you have all the bleak dependencies installed.
Install bleak library in virtual environment:
python3 -m venv venv
source venv/bin/activate
pip install bleak
Run the script:
python3 demo.py
The files in this repository are licensed under CC0: https://creativecommons.org/publicdomain/zero/1.0/ (No rights reserved and no warranties)