LeLight
This project started with reverse engineering of app called GM Smart Light which was listed in lamp manual. (copy if original site is not available)
As I found out, there are many apps, which are using the same protocol
Name | package | Link |
---|---|---|
GM Smart Light | com.hm.simpleble | link |
Le Smart Light | cn.lelight.smart.lzg | |
Le+ Pro (simple ble mode) | com.lelight.pro | link |
LeSigMash | link | |
乐智光Pro | link |
As a start point I had the lamp with Iralan brand

And the app

How it works?
Lamp accepts commands by listening ble advertisement packets.
Commands must be sent as BLE advertising packets, not through standard GATT connections. The lamp scans nearby BLE devices and parses the payloads of advertising packets to extract control instructions.
Message contains from:
- device id (called MAC in app)
- group id
- command and command data
- message number
- checksum
- additional random data
Result of reverse engineering is a python library v1ack/smartLightConnector
How to use?
At first, you need to install original app, connect to lamp, and get Current ID (mode)
in app settings
Home Assistant integration
GitHub repo v1ack/lelight
Open in HACS lelight
ESPHome component
GitHub repo v1ack/lelight-esphome