Monitor and control your Lepro LED devices from Home Assistant.
This custom integration logs in to Lepro Cloud, retrieves your lights and strips, and exposes them as controllable lights in HA.
⚠️ This is a third‑party project, not affiliated with Lepro.
- Login with your Lepro account (email + password).
- Automatically discovers all Lepro lights and strips in your account.
- Sensors for:
- Connection state and online/offline status
- Device model, firmware, and MAC address
- Brightness, color temperature, and RGB values
- Turn lights on/off, set brightness, color, and effects.
- Automatic token renewal to maintain connectivity.
- Make sure you have HACS installed in Home Assistant.
- In Home Assistant: HACS → Integrations → ⋮ (three dots) → Custom repositories.
Addhttps://github.com/Sanji78/lepro_ledas Category: Integration. - Find Lepro LED in HACS and click Download.
- Restart Home Assistant.
- Copy the folder
custom_components/lepro_ledfrom this repository into your Home Assistant config folder:<config>/custom_components/lepro_led
- Restart Home Assistant.
- Home Assistant → Settings → Devices & services → Add Integration.
- Search for Lepro LED.
- Enter your Lepro email and password.
- On success, entities will be created for each device.
region: Europe, United States, North America, Far Eastlanguage: includesen,it, andja
- Lights: control on/off, brightness, color temperature, RGB color, effects.
- Sensors: connection status, device model, firmware, MAC, online/offline.
- Buttons: (if applicable, e.g., factory reset or effect presets).
Notes:
- Credentials are stored in Home Assistant’s config entries.
- The integration communicates with Lepro’s cloud API (internet required).
The B* protocol does not behave like strip-focused d50 control, so support has been implemented by comparing Home Assistant traffic with the official app's MQTT payloads.
- RGB mode is driven by
d2=1plusd5. - White/static mode is driven by
d2=0plusd3andd4. - Some B* behavior is still under active investigation and may require more protocol tuning.
| Field | Observed meaning | Notes |
|---|---|---|
d1 |
Power state | 1 on, 0 off |
d2 |
Mode | 0 = white/static, 1 = RGB |
d3 |
White brightness | In white mode, app writes values like 250, 500, 750, 1000 |
d4 |
White-mode companion value | Observed as 500 in app-driven white mode |
d5 |
RGB payload body | Observed format: {hue_hex}{03E8}{value_hex} |
d30 |
Extra device state field | Seen in reports, but not required by the official app's RGB writes |
d52 |
Generic brightness field | Used by other devices/modes, but not the app's main B* white write path |
| Scenario | App payload |
|---|---|
| Red 100% | {'d2': 1, 'd5': '000003E803E8'} |
| Green 100% | {'d2': 1, 'd5': '007803E803E8'} |
| Blue 100% | {'d2': 1, 'd5': '00F003E803E8'} |
| White 25% | {'d2': 0, 'd3': 250, 'd4': 500} |
| White 50% | {'d2': 0, 'd3': 500, 'd4': 500} |
| White 75% | {'d2': 0, 'd3': 750, 'd4': 500} |
| White 100% | {'d2': 0, 'd3': 1000, 'd4': 500} |
These values were captured from the official app via MQTT logging and are included here so future protocol work has a stable reference.
- Home Assistant: 2024.8 or newer (earlier may work, untested).
- Check Settings → System → Logs for messages under
custom_components.lepro_led. - If login fails, verify email/password by signing into the official Lepro app.
- If entities don’t update, ensure Home Assistant can reach the internet.
PRs and issues are welcome. Please open an issue with logs if you hit a bug.
If this project helps you, consider buying me a coffee:
PayPal.
..and yes... 😊 the paypal account is correct. Thank you so much!