Group of dimming lights with physical controls

I have two dimmers controlling lights in a Group of lights, no travel wire.

Operating on the group works fine from HA applications. However, it falls apart (group members act independently) when physical buttons are pressed on each dimmer.

In search results, I see there are some intricate sync solutions, but groups are also suggested. Are the groups good only for having centralised control from Home Assistant, or can they truly keep lights in sync? Am I missing something in the config for the true sync?

state:
  translated: "Off"
  raw: "off"
  last_changed: "2026-03-26T23:50:48.597Z"
  last_updated: "2026-03-26T23:50:48.597Z"
attributes:
  supported_color_modes:
    - brightness
  color_mode: null
  brightness: null
  entity_id:
    - light.br_east
    - light.br_north
  icon: mdi:lightbulb-group
  friendly_name: Bedroom Group
  supported_features: 32

Not 100% sure about your setup here.

I use the following 2 automations to sync my zigbee lights, zigbee dimmer and home assistant.
On/Off state:

alias: Guestroom ceiling [sync on off]
description: ""
triggers:
  - trigger: state
    entity_id:
      - light.guestroom_ceiling_light
  - trigger: state
    entity_id:
      - light.guestroom_ceiling_dimmer
  - trigger: state
    entity_id: light.guestroom_ceiling_light
    attribute: brightness
  - trigger: state
    entity_id: light.guestroom_ceiling_dimmer
    attribute: brightness
conditions: []
actions:
  - choose:
      - conditions:
          condition: template
          value_template: "{{ is_state(trigger.to_state.entity_id, 'on') }}"
        sequence:
          - data:
              brightness: "{{ state_attr(trigger.to_state.entity_id, \"brightness\") }}"
              transition: 2
            action: light.turn_on
            target:
              entity_id: >-
                {% if trigger.from_state.entity_id == entity_1 %} {{ entity_2 }}
                {% else %} {{ entity_1 }} {% endif %}
    default:
      - target:
          entity_id: >-
            {% if trigger.from_state.entity_id == entity_1 %} {{ entity_2 }} {%
            else %} {{ entity_1 }} {% endif %}
        action: light.turn_off
        data:
          transition: 2
mode: single
max_exceeded: silent
variables:
  entity_1: light.guestroom_ceiling_dimmer
  entity_2: light.guestroom_ceiling_light

Sync brightness:

alias: Guestroom [sync brightness]
description: ""
triggers:
  - entity_id: light.guestroom_ceiling_dimmer
    attribute: brightness
    trigger: state
  - entity_id: light.guestroom_ceiling_light
    attribute: brightness
    trigger: state
conditions:
  - condition: template
    value_template: "{{ trigger.to_state.state == 'on' }}"
actions:
  - action: light.turn_on
    metadata: {}
    data:
      brightness: "{{ state_attr(trigger.to_state.entity_id, 'brightness') | int }}"
    target:
      entity_id: >-
        {% if trigger.from_state.entity_id == entity_1 %} {{ entity_2 }} {% else
        %} {{ entity_1 }} {% endif %}
mode: single
variables:
  entity_1: light.guestroom_ceiling_dimmer
  entity_2: light.guestroom_ceiling_light

[I’ve tried to do it in one, but it got too complex]

2 Likes

Great, this is a meaningful setup.

My question, though, is if there is a straight setting for a Group of lights ot keep them synced without such custom code. Looking at your effort I assume the answer is a “No”.

You state

Which i believe is similar to my setup, i don’t have any physical connection between the dimmer and the light. That works pretty ok, until the light brightness state is operated from HA; it won’t update the dimmer state. And since the light(s) cannot be grouped with the dimmer, i need this solution :woozy_face:

1 Like

That is the answer, thank you!