Created
June 12, 2026 00:09
-
-
Save spotshare-nick/2a698939956470f0b84179a01714a87e to your computer and use it in GitHub Desktop.
Home Assistant blueprint: Inovelli VZM31-SN LED Brightness Sync (mirror a bulb's brightness onto the switch LED bar, Smart Bulb Mode)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| blueprint: | |
| name: VZM31-SN LED Brightness Sync | |
| description: > | |
| Mirror a controlled light's brightness onto an Inovelli VZM31-SN switch's LED | |
| bar (the switch's internal level). For Smart Bulb Mode switches, where the LED | |
| bar is decoupled from the bulb and would otherwise drift. Pauses while a | |
| "dimming guard" input_boolean is ON, so it won't fight a hold-to-dim loop. | |
| domain: automation | |
| input: | |
| source_light: | |
| name: Source light (the bulb) | |
| description: The light whose brightness the LED bar should mirror. | |
| selector: | |
| entity: | |
| filter: | |
| domain: light | |
| switch_led: | |
| name: Switch LED light | |
| description: The Inovelli switch's own light entity (this drives the LED bar). | |
| selector: | |
| entity: | |
| filter: | |
| domain: light | |
| dimming_guard: | |
| name: Dimming guard (input_boolean) | |
| description: > | |
| While this boolean is ON, syncing is paused. Hold-to-dim turns it ON during | |
| an active dim so the sync doesn't fight the loop, then OFF on release. | |
| selector: | |
| entity: | |
| filter: | |
| domain: input_boolean | |
| mode: restart | |
| variables: | |
| source_light: !input source_light | |
| switch_led: !input switch_led | |
| trigger: | |
| - platform: state | |
| entity_id: !input source_light | |
| attribute: brightness | |
| - platform: state | |
| entity_id: !input source_light | |
| to: "off" | |
| - platform: state | |
| entity_id: !input source_light | |
| to: "on" | |
| condition: | |
| - condition: state | |
| entity_id: !input dimming_guard | |
| state: "off" | |
| action: | |
| - choose: | |
| - conditions: "{{ states(source_light) == 'off' }}" | |
| sequence: | |
| - action: light.turn_off | |
| target: | |
| entity_id: !input switch_led | |
| default: | |
| - action: light.turn_on | |
| target: | |
| entity_id: !input switch_led | |
| data: | |
| brightness: "{{ state_attr(source_light, 'brightness') | int(0) }}" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment