private@homelab: ~/latest
local-first guides · privacy-aware · no noisy tracking
private@homelab:~$ cat guides/article.md
· ·
7–11 minutes
read

Aqara Light Switch H2 EU for Home Assistant: Zigbee or Thread

The Aqara H2 EU switch (WS-K07E) ships in Thread mode by default, but Zigbee2MQTT exposes more config. Here's how to pick a protocol and pair it locally.

The Aqara Light Switch H2 EU (model WS-K07E) is the first switch in Aqara’s EU wall-switch lineup that makes you choose a radio at pairing time instead of at purchase time. Zigbee 3.0 or Thread/Matter, both live on the same hardware. That sounds like a pure upgrade over the older H1 line, and mostly it is. But it also means the decision that used to be settled by wiring (neutral or no neutral, separate SKUs) now also involves picking which local protocol feeds Home Assistant. I’ve gone through both pairing paths on this switch, and “it depends” is the honest answer, though it depends on specific, checkable things rather than a coin flip.

What the WS-K07E Actually Is

The WS-K07E is the single-gang variant in the H2 EU line: two buttons (up/down rocker), one switched channel. The bigger change from the H1 generation is on the wiring side. Aqara’s H1 EU switches split neutral and no-neutral wiring into separate SKUs (EUK01 without neutral, EUK03 with neutral). The H2 EU unifies that into one physical switch that supports both wiring styles, which simplifies stocking and installation planning if you’re not sure which wiring you’ll find behind the plate until you open it up.

On the protocol side, the H2 EU ships defaulting to Thread mode out of the box. Switching it to Zigbee, or back to Thread later, isn’t a settings toggle in an app. It requires a factory reset and re-pairing through the target protocol’s own pairing flow, as if you were commissioning a new device. Worth knowing before you buy two switches assuming you can freely flip between protocols to compare them side by side without extra downtime.

Zigbee Mode: Pairing to Zigbee2MQTT and What You Get

To run the H2 EU on Zigbee, you factory reset it first (it won’t join a Zigbee network in its default Thread state), then pair it into Zigbee2MQTT the same way you’d pair any other Zigbee device. Z2M identifies it as lumi.switch.agl009 (see the Zigbee2MQTT WS-K07E device page), and once paired it exposes a genuinely useful set of entities:

  • Power, current, and energy readings — but only when wired with neutral
  • device_temperature
  • power_outage_count
  • action, reporting button events (single, double, and hold); check the Exposes tab for the exact value names your firmware uses, since they’re device-specific
  • operation_mode per endpoint, toggling between decoupled and control_relay
  • Switch lock
  • LED indicator control
  • Power-on behavior (what the relay does after a power cut)
  • Multi-click mode configuration for the down button

That’s a deep exposes list for a wall switch, and it’s the reason I lean toward Zigbee2MQTT for this device when granular control matters more than ecosystem convenience.

I cross-referenced early reports of pairing trouble against the Z2M changelog before writing this, and the friction is real but resolved. A configure-failing bug specific to the WS-K07E and its two-gang sibling WS-K08E was documented and fixed in the Z2M 2.6.1 release, so update Z2M if you’re on anything older. Device support does shift between Z2M releases, though, so if a current version still misbehaves — the interview stalls, or the device shows as unsupported despite matching the model — check the WS-K07E device page and the open Z2M issues before assuming you got a bad unit. If you’re running ZHA instead of Z2M, the exposes model and pairing behavior differ enough that it’s worth reading up separately in our ZHA vs Zigbee2MQTT for Aqara devices guide.

Thread/Matter Mode: Pairing to a Border Router

Since the switch ships in Thread mode, you can commission it straight into Matter without any factory reset, as long as you have a Thread border router on your network. That border router doesn’t have to be a separate box: with a Thread-capable radio like the Home Assistant Connect ZBT-1, Home Assistant can run the OpenThread Border Router itself. If you’d rather use a dedicated device, an Aqara hub that carries a Thread radio (the M3 does; the older M2 is Zigbee and Bluetooth only) can play that role, as can an Apple or Google Thread border router you already run for other Matter gear. One caveat for a local-first build: routing the switch through an Aqara hub can pull it back toward Aqara’s cloud, so if avoiding that is the whole point, the Home Assistant-hosted border router or a non-Aqara one keeps the path local. Our Aqara Hub M2 vs M3 comparison covers which of those two hubs carries a Thread radio.

Once commissioned, the switch shows up in HA as a Matter device with its own entity set, and this is where the protocol choice stops being a wash. Community reports from the Home Assistant forum note that some configuration options available on the Zigbee side aren’t yet exposed identically through Matter, as of mid-2026. Nobody’s published a clean side-by-side entity diff, but the pattern that keeps coming up is fewer exposed configuration knobs on Matter, not fewer functional capabilities. The tradeoff runs the other way for interoperability: Thread and Matter let the switch join multiple ecosystems (Apple Home, Google Home, Home Assistant) through shared fabric membership, without the single-coordinator constraint that Zigbee networks have.

Decoupled Mode: Same Idea, Different Configuration Path

Decoupled mode is the pattern where the physical rocker sends button-press events to Home Assistant without actually switching the connected load. You use it when the switch is acting as a scene controller, or when the load it’s wired to is better handled by an automation than a hard relay toggle. It works on both protocols conceptually, but the way you set it differs.

On Zigbee2MQTT, it’s the operation_mode exposed entity per endpoint, switchable between decoupled and control_relay right from the device page or an MQTT command. Over Matter there’s no equivalent: as of mid-2026, Matter has no manufacturer-agnostic cluster for detaching an Aqara relay, and Home Assistant’s Matter integration doesn’t expose a decoupled toggle for this switch. In practice that means setting decoupled behavior through the Aqara Home app before commissioning — which involves Aqara’s cloud — or running the switch on Zigbee instead. For a local-first setup, that’s one more reason the Zigbee path is the cleaner one here.

Zigbee or Thread for a Local-First Setup

Here’s where I’ll editorialize a little: I think Zigbee2MQTT is the safer default for this switch right now, not because Thread is bad, but because the Zigbee config surface is deeper and more thoroughly documented for local-only setups. If your priority is wringing every configuration option (power monitoring, multi-click, LED behavior, power-on state) out of the device and feeding it cleanly into HA automations, Zigbee2MQTT is the path with fewer unknowns today.

That said, if you’re already running a Thread border router for other Matter devices, or you want this switch to be genuinely multi-admin across Apple/Google/HA without juggling a Zigbee coordinator handoff, Thread is a reasonable trade of some configuration depth for ecosystem flexibility. The honest framing isn’t “Zigbee is right” or “Thread is right.” It’s “check what border router infrastructure you already have, and whether you need the deeper Zigbee exposes list, before you commit to a protocol you can’t switch without a factory reset.”

H1 vs H2: What Actually Changed

Two changes separate the H2 EU line from Aqara’s older H1 EU switches. First, wiring: H1 split neutral and no-neutral into separate SKUs — the H1 EU with-neutral single rocker (WS-EUK03) for the neutral variant, the H1 EU no-neutral single rocker (WS-EUK01) for the no-neutral one. H2 unifies both wiring styles into a single physical switch, which removes a purchase-time decision point entirely.

Second, protocol: the H1 line is Zigbee-only. H2 adds the Thread/Matter path on top, at the cost of the factory-reset requirement to switch between the two. If you don’t care about Thread at all and just want the widest, most battle-tested Zigbee2MQTT support, the wiring unification alone is reason enough to prefer H2 over H1 for a new install.

The Early Firmware Pairing Bug, Now Fixed

Worth knowing: the configure-failing issue mentioned above affected both the WS-K07E and the WS-K08E specifically, not the whole H2 product family, and it was a Zigbee2MQTT-side converter problem rather than a hardware defect. It shipped fixed in Z2M 2.6.1. Setting one up now on a current Z2M release, this specific bug shouldn’t appear — though as with any Zigbee device, run a recent Z2M version and check the device page if something looks off after pairing. If you inherited a switch that was paired months ago and never re-interviewed, and you’re seeing unavailable exposes or stuck entities, that’s worth checking against your Z2M version before you chase anything more exotic.

FAQ

Should I use Zigbee or Thread/Matter mode for the Aqara Light Switch H2 EU with Home Assistant?
Zigbee2MQTT gives you the deeper, better-documented config surface as of this writing. Thread/Matter gives you native multi-ecosystem membership. Pick based on which one you actually need, not which one sounds newer.

Can you switch the H2 EU switch between Zigbee and Thread later without buying a new one?
Yes, the hardware supports both. But switching requires a factory reset and re-pairing through the new protocol’s flow. It’s not a live toggle, so plan for a short re-commissioning window if you change your mind.

Does the Aqara Light Switch H2 EU need a neutral wire?
No. Unlike the H1 line’s split SKUs, the H2 EU supports both neutral and no-neutral wiring on the same physical switch. Power, current, and energy monitoring only work when neutral is present.

What’s the difference between the Aqara H1 and H2 EU light switches?
H2 unifies neutral/no-neutral wiring into one SKU and adds a Thread/Matter option alongside Zigbee. H1 is Zigbee-only with separate neutral and no-neutral models.

Does decoupled mode work the same way on Zigbee and Thread?
The concept is identical: the rocker sends button events instead of switching the load. The configuration path differs. Zigbee2MQTT exposes it as a per-endpoint operation_mode setting. Over Matter, Home Assistant’s integration doesn’t currently expose a decoupled toggle for this switch, so you’d set it through the Aqara app before commissioning or use Zigbee instead.

Aqara hasn’t said whether the Matter-exposed configuration set will catch up to Zigbee2MQTT’s, or whether that gap is intentional given how Matter’s cluster model works. Worth checking back once HA’s Matter integration matures further, since that’s the variable most likely to change which protocol I’d recommend by default.

local-firstHome Assistantno-cloud