Hi,
I’d like to share my (more or less) first custom Home Assistant integration. The main idea was taken from this wonderful project: GitHub - oscarb/relative-brightness-light-group: Light group for Home Assistant that maintains relative brightness between lights as group brightness is changed. · GitHub. However, since it is no longer maintained and lacks some features that I consider necessary for this integration, I decided to create my own.

This custom Home Assistant integration that creates light groups with relative brightness control. This integration is built upon the codebase of the official Home Assistant group integration, extending its native functionality.
Unlike standard light groups, this integration maintains the relative brightness ratio between lights when adjusting the group brightness. Changes to color, effects, and other attributes are only applied to lights that are currently on — off lights are never accidentally turned on by attribute changes.
https://github.com/Cheerpipe/relative-light-group
This integration creates light groups that adjust brightness relatively instead of absolutely.
Instead of forcing all lights to the same brightness, it preserves their relative levels — so brighter lights stay brighter and dimmer ones stay dimmer.
It also avoids common issues with standard groups, like turning on lights unintentionally when changing attributes.
Features
- Relative Brightness — When you change the group brightness, each on-light’s brightness is adjusted proportionally. Brighter lights stay brighter, dimmer lights stay dimmer.
- Only-On-Lights — Color, effect, color temperature, and other visual attribute changes are only sent to lights that are currently on. Off lights remain off.
- Remember on/off state — If enabled, when the group is turned off and on again, only the lights that were previously on will turn on.
- Remember brightness — If enabled, the group remembers each light’s individual brightness. Ratios are preserved even after hitting brightness limits. Individual brightness can only be changed directly on each light, not from the group.
- Optimistic State Debounce — Prevents UI “bouncing” (slider jumping) by ignoring member state updates for a short period after a group command is sent.
- Configurable Debounce Time — Adjust the debounce window (default 2000ms) to match your network’s latency.
- Native Group Features — Supports the same standard options as the native integration: selecting light entities, “All entities must be on”, and “Hide members”.
- Config Flow UI — Create and configure groups entirely through the Home Assistant UI (Settings → Helpers).
- Multi-language — Localized in English, Spanish, German, French, Italian, and Portuguese.