Direct Mirror Pair – Two Samotech SM323 Dimmers Behaving as Physically Wired

Direct Mirror Pair – Two Samotech Dimmers Behaving as One

The software equivalent of two physically hardwired dimmers. Push or rotate either one, the other follows within 200 ms.

← Smart Home Guides

Most UK 2-way switching uses a traveler wire between two switch positions, so both switches operate the same load. Hardware 2-way is fine if you have the cabling; impractical if you don’t. This Home Assistant blueprint solves the same problem in software, but goes further: it mirrors brightness exactly as well as on/off, so two Samotech dimmers behave as if they were physically wired in parallel at the load.

Push or rotate either dimmer at the wall, and the other follows in under 200 milliseconds with the same on/off state and the same brightness level. Both dimmers retain their own independent power monitoring and can be installed on entirely different circuits. The pair stays in sync automatically – no app, no scene, no manual sync required.

What this blueprint does

  • On/off state mirrors in both directions – push either dimmer, both come on (or both go off) together
  • Brightness mirrors exactly – rotate one dimmer to 60%, the other follows to 60% within 200 ms
  • Configurable response speed (0 to 2 seconds) to suit fast or slow visual preference
  • Loop prevention via Home Assistant context tracking – the mirror only reacts to real user interaction, never to itself
  • Independent power monitoring preserved on each SM323 (the mirror is software-level only)

Tested combinations

  • Samotech SM323 (1) ↔ Samotech SM323 (2) over ZHA – confirmed working in live HA
  • Push, rotation, and direct UI changes mirror in both directions with no visible lag or flicker
  • Loop-free even under rapid back-and-forth interaction at both ends

Use cases

  • Hallways and landings where a dimmer at each end should both control the corridor light(s)
  • Bedrooms with both a door dimmer and a bedside dimmer controlling the same lights
  • Open-plan kitchen / diner / living with multiple control points around the room
  • Annexes and extensions added without running new traveler wire to existing switch positions
  • Garage workshops and loft conversions where the second switch position was added later

How to wire two SM323 dimmers as a virtual 2-way pair (decoupled mode / smart bulb mode pattern)

The SM323 does not use a master/companion architecture – every dimmer is fully independent, with its own Zigbee radio, MCU and dimming stage. To pair two of them as a virtual 2-way circuit, the wiring is asymmetric:

This is the Samotech approach to decoupled mode (also called smart bulb mode on some brands). The SM323 doesn’t include a firmware-level decoupled toggle – instead, the decoupled behaviour is achieved by installation. By wiring the second SM323 with no load output, its switch position becomes a programmable Zigbee input rather than a direct load controller. Wall presses and rotations still fire over Zigbee, but no light is driven from that switch position. Home Assistant routes those events to the partner dimmer, which physically drives the lamp.

  • First SM323: wired normally to the light fitting. Live in, neutral if available, load out to the light. This is the dimmer that physically drives the lamp(s).
  • Second SM323: wired with live and neutral only, no load connected. The load output is left disconnected. This dimmer powers its Zigbee radio and MCU from the L+N feed but does not drive any light directly from its own switch position.

Because the second dimmer’s load output isn’t used, it can be installed anywhere in the house. There is no requirement for it to share a circuit with the first dimmer, no requirement for it to be near the light it controls, and no requirement for any cabling between the two dimmers. They simply need to be on the same Zigbee mesh.

Practical placements for the second dimmer:

  • At the other end of a hallway from the first – the classic 2-way scenario, no traveler wire required
  • On a different floor – control a landing light from a bedroom switch position
  • In a different room entirely – control the kitchen light from the dining area
  • On a completely separate circuit – the L+N for the second dimmer can come from any nearby supply
  • In a previously single-gang back box you want to repurpose without disturbing existing wiring

Once both dimmers are powered and paired to Home Assistant (via ZHA or Zigbee2MQTT), import the blueprint and select the two SM323 entities. From that point, push or rotate either dimmer at the wall and the light follows from either position.

Important: this virtual 2-way approach only works when you are running Home Assistant. The mirror logic lives in the HA automation, not in the dimmer firmware itself. Without HA, you can still wire two dimmers but only one of them will physically control the light.

Use case: wall control of smart bulbs (Hue, Tradfri, Innr)

The same wiring pattern – first SM323 wired normally, second SM323 with L+N only – works equally well when the “second target” is a smart bulb rather than another dimmer. This solves one of the longest-standing pain points in the smart-bulb ecosystem: how to give Philips Hue, IKEA Tradfri, Innr, or any other Zigbee smart bulb a proper UK wall control without cutting their mains power.

Configuration for the smart-bulb use case:

  • SM323 wired with L+N only, no load – installed at the desired wall switch position (anywhere in the house, on any circuit)
  • The smart bulb(s) on their own circuit, always powered at the mains, never switched off at the wall
  • Direct Mirror Pair blueprint with the SM323 as “First dimmer” and the bulb’s HA light entity as “Second dimmer”

Now pushing the wall turns the bulb on at the SM323’s brightness. Rotating the wall dims the bulb. App or voice commands on the bulb propagate back to update the SM323’s tracked state, so the next wall press always does the right thing.

Why SM323 + blueprint rather than a smart bulb’s native remote:

  • Hardware wall control – guests and family members instinctively reach for the wall. The SM323 honours that reflex.
  • UK back-box fit – the SM323 fits standard British wiring and 35 mm back boxes. Branded smart-bulb remotes don’t.
  • Power preservation – the bulbs stay on mains always, never accidentally killed by someone flipping a wall switch.
  • True rotary dimming feel – brightness via rotation, not a pre-set scene button.

For multiple smart bulbs in one room (e.g., four Hue downlights in a kitchen), use the Samotech SM-Series Linked Sync Group blueprint instead. It supports 2–5 entities per group, so the SM323 + all the bulbs go into a single group and one wall press controls everything.

What mirrors and what doesn’t:

  • On/off state – mirrors both ways
  • Brightness (0–255) – mirrors both ways
  • Colour (RGB) – does not mirror. The bulb keeps its last colour. Set colour via HA scenes or automations.
  • Colour temperature (CCT) – does not mirror. Same reason.

Compatible bulbs: Philips Hue (via Hue Bridge + HA), IKEA Tradfri (via ZHA, Z2M or Tradfri gateway), Innr, Aqara LED bulbs, generic Zigbee bulbs via Zigbee2MQTT or ZHA. Wi-Fi smart bulbs also work as long as they expose as standard HA light.* entities.

Direct Mirror vs Linked Sync Group

This blueprint is the 2-device specialisation of the broader SM-Series Linked Sync Group blueprint. Both use the same loop-prevention pattern and the same state-trigger logic. The differences:

  • Direct Mirror Pair – exactly two dimmers, optimised for fastest response (200 ms default), cleaner UX with two clear “First / Second” entity inputs
  • Linked Sync Group – two to five devices in a group, supports mixed dimmer/switch hardware, slightly longer default transition (500 ms) for smoother group behaviour

Use Direct Mirror Pair when you have exactly two dimmers acting as a virtual 2-way pair. Use Linked Sync Group when you need three or more devices, or when the group includes a mix of dimmers and on/off switch modules.

How to install

  1. In Home Assistant: Settings → Automations & Scenes → Blueprints → Import Blueprint
  2. Paste this URL: https://raw.githubusercontent.com/samotech-ltd/home-assistant-blueprints/main/samotech-sm-series-direct-mirror-pair.yaml
  3. Click Preview Blueprint then Import Blueprint
  4. Create a new automation from the blueprint
  5. Select the two Samotech dimmers you want to pair
  6. Set the mirror response speed (0.2 seconds is the default and recommended)
  7. Save and enable the automation

Compatible Samotech devices

  • SM323 Zigbee Rotary Dimmer – wall, no neutral, dimmable
  • SM325-ZG Zigbee Dimmer – wall, dimmable (new for 2026)
  • SM309-S Zigbee Dimmer Module – inline, no neutral, dimmable

Both dimmers in the pair should support brightness for the brightness mirror to function. For a mixed dimmer/switch pair, use the SM-Series Linked Sync Group blueprint instead.

Technical notes

Integration: Built and tested against ZHA (Zigbee Home Automation). Also compatible with Zigbee2MQTT – the blueprint uses standard Home Assistant state triggers and light services, which behave identically across both integrations. You can pair a ZHA dimmer with a Zigbee2MQTT dimmer in the same group if you have a mixed setup.

Loop prevention: Uses Home Assistant’s context tracking – when the automation drives a state change on the partner dimmer, the resulting state-change event has a parent_id set. The blueprint condition skips any event with a parent_id, so the mirror only acts on direct user interaction.

Response time: Default 200 ms transition is the practical minimum that still produces smooth brightness ramping on most LED loads. Lower values (down to 0) give snappier on/off response; higher values produce smoother dimming at the cost of perceptible lag.

Download: Raw blueprint YAML at github.com/samotech-ltd/home-assistant-blueprints.

Browse Samotech Zigbee dimmers

From wall mounted rotary dimmers to inline modules and pull cord ceiling dimmers – all with no neutral wire needed and full Home Assistant compatibility.

View all Zigbee dimmers & switches