Compare

Shelly vs Sonoff relays: which to put in the wall

For in-wall relays only: Shelly is local the moment you power it up and its PM models meter watts; Sonoff wins on Zigbee, no-neutral boxes and price.

On this page
  1. The short answer
  2. Protocol matters more than brand
  3. Which parts meter power
  4. Neutral wires, box depth, and load ratings
  5. Cloud dependency: the real tradeoff
  6. What flashing costs, and when you can skip it
  7. Beyond in-wall relays: plugs and fan controllers
  8. Integration with Home Assistant
  9. What happens when the network drops

This is the Shelly-or-Sonoff decision for relays: the modules that let Home Assistant control lights, fans, and other dumb devices that weren’t designed to be smart. Both brands have their place, and I’ll say up front which one I’d buy for each job. (If the question is the brands themselves rather than in-wall relays, or you want Aqara in the mix, the Aqara vs Shelly vs Sonoff comparison is the page for that.)

The short answer

Buy Shelly when the relay has to measure power, or when you want it local the moment you power it up. Shelly’s metered models report watts, volts and amps over a local HTTP/RPC API and MQTT with no account anywhere in the path, and Home Assistant’s native Shelly integration finds them on the network by itself. Nothing to flash, nothing to sign into.

Buy Sonoff when you already run a Zigbee coordinator, or when the switch box has no neutral wire. Sonoff’s Zigbee relays join ZHA or Zigbee2MQTT and are local from the first pairing, with no vendor account and nothing to flash either. And the no-neutral ZBMINI-L2 solves a wiring problem Shelly’s current in-wall relay does not.

The rest of this article is the reasoning behind those two paragraphs, in the order the decisions actually come up: radio, metering, wiring, cloud, firmware, and what breaks when the network does.

Protocol matters more than brand

The first thing to decide is whether you want Wi-Fi, Zigbee, or Z-Wave.

Shelly offers devices in Wi-Fi (the Plus/Gen lines), Bluetooth (the BLU series), and Z-Wave (the Wave line). Their current Gen4 relays widen that list again, adding Zigbee 3.0 and Matter alongside Wi-Fi, though only one radio profile is active at a time: a Gen4 ships in the Matter profile and a five-press on the device button switches it to Zigbee. In the catalog, the Shelly Plus 1 is a solid basic relay and the Shelly Plus 2PM adds power monitoring. One note on generations before you buy: Shelly has discontinued the Gen2 “Plus” models, the Plus 1 and Plus 2PM included - every Plus variant now reads unavailable on Shelly’s own store and the Plus multipacks sit in its discontinued-products collection (checked 2026-09-07). The Shelly 1 Gen4 and Shelly 2PM Gen4 are the current versions of those two parts and are what to buy new; the Plus units stay fine if you already own one.

If Wi-Fi congestion is the thing you are trying to avoid, Shelly’s Wave line is the same hardware idea on Z-Wave: the Shelly Wave 1PM for a single metered circuit (with Z-Wave Long Range support), the smaller Shelly Wave 1PM Mini for cramped boxes, the Shelly Wave 2PM for two circuits from one module, and the DIN-rail Shelly Wave Pro 1PM if you would rather wire at the panel than behind a switch. I run both the Wave 1PM and the Wave 1PM Mini in my own house. All four need a Z-Wave controller on your Home Assistant box.

Sonoff’s relay line splits three ways, and the split matters more than the brand name does. Its Zigbee relays - the no-neutral SONOFF ZBMINI-L2 and its neutral-required sibling the ZBMINIR2 - join any Zigbee coordinator through ZHA or Zigbee2MQTT, alongside cheap Zigbee sensors like the SONOFF SNZB-02D. Its Matter relay, the SONOFF MINI Extreme R4 (Matter), speaks Matter over Wi-Fi and pairs directly to a Matter controller like Home Assistant, with no bridge or Thread border router required. And its older Wi-Fi parts run eWeLink firmware, which is where the flashing conversation below starts.

If you already have a Zigbee coordinator, Sonoff’s Zigbee devices are cheap and work well. If you want to avoid yet another protocol stack, Shelly’s Wi-Fi devices are simpler to set up.

Which parts meter power

For a lot of buyers this is the whole decision, and it does not split by brand - it splits by SKU. Shelly simply has far more metered models.

On the Shelly side the metering is in the model name: a PM suffix means it measures. The Shelly Plus 2PM meters each of its two channels independently (10A per channel, 16A total), and the current 1PM Gen4 and 2PM Gen4 do the same. The plain models do not: the Shelly Plus 1 and the current Shelly 1 Gen4 switch a load but report no watts, volts or amps at all - Shelly’s own spec sheet for the 1 Gen4 lists no voltmeter and no ammeter, just an internal temperature sensor. Shelly has discontinued both the Shelly Plus 1 and the Shelly Plus 2PM, so the Shelly 1 Gen4 and Shelly 2PM Gen4 are the ones to buy new. If you want measurement without switching, the Shelly Plus PM Mini Gen3 is a meter with no relay in it. Every model in the Wave list above meters as well.

Sonoff’s in-wall relays don’t meter. Sonoff’s own specification pages for the ZBMINI-L2, the ZBMINIR2 and the MINI Extreme R4 list no power or energy statistics - they are switches, and they are priced like switches. Sonoff’s metering lives in its plugs instead: the SONOFF S31 has energy monitoring built in, while the SONOFF S40 Lite deliberately drops it (that is exactly what separates the Lite from the full S40).

So: if per-circuit energy data is the reason you are buying a relay at all, buy a Shelly PM model and stop reading here. If you just need a load switched, Sonoff is competing on price and wiring, not on data.

Neutral wires, box depth, and load ratings

The physical constraints usually settle this before the software does, and they are the part people discover with the switch plate already off the wall.

Neutral wire. Shelly’s current in-wall relay needs one - the Shelly 1 Gen4’s spec sheet answers “no” to whether the neutral can be skipped, because the module is supplied from line and neutral. (Don’t confuse that with a nearby spec: the relay’s output contacts are potential-free, which is a different thing from how the device itself is powered.) The Sonoff ZBMINI-L2 is the answer when the box has only a switch loop, because it is built to run without a neutral. That capability has a real cost: it draws so little that it joins your Zigbee network as an end device and will not repeat for anything else. The neutral-required ZBMINIR2 is the sibling that does route, and Sonoff rates it to extend the mesh for up to 64 Zigbee end devices. No-neutral or mesh routing - not both.

Load rating. These modules are not interchangeable on capacity, and the cheapest one is also the weakest. The ZBMINI-L2 is rated 6A: 1,380W resistive at 230V, 720W at 120V, and only 300W/150W of LED load. The ZBMINIR2 and the MINI Extreme R4 are both 10A / 2,400W at 240V. Shelly’s 1 Gen4 and 1PM Gen4 switch 16A at 240V (or 10A at 30V DC). Two things for North American readers: those wattage figures are voltage-dependent, so a 240V number roughly halves on a 120V circuit, and Shelly sells a separate UL-certified US SKU rated 15A, which at 120V works out around 1,800W rather than the 3,680W on the 240V sheet. Check which SKU is in the cart.

Box depth. Every part named here hides behind the switch you already have rather than replacing it, so depth is the constraint, not faceplate style. The Mini and Extreme variants exist specifically for boxes that are already full of wire nuts; the full-size Wave 2PM is the one most likely not to fit.

Dry contacts. Shelly’s plain 1-series relays have potential-free output contacts, which means they can switch a circuit that isn’t the one powering them - a garage door trigger, a 24V AC irrigation valve, a low-voltage doorbell. If that is the job, the absence of power metering on those models stops mattering.

Cloud dependency: the real tradeoff

Here’s where the two brands diverge significantly.

Sonoff devices ship with eWeLink firmware out of the box, and the app side of it is cloud-first. The stock firmware does answer on your local network, though, so there are two local routes rather than one: drive the stock firmware over your LAN with the official eWeLink Smart Home add-on or the SonoffLAN custom integration, or replace it with Tasmota or ESPHome (my guide on when Shelly beats Tasmota and when it does not covers that tradeoff). Neither LAN route is a core Home Assistant integration, and both still need your eWeLink account credentials, because the local protocol is encrypted and the keys come from the account. Flashing drops the account entirely, but check the chip first: Sonoff’s newer BL602-based plugs run neither Tasmota nor ESPHome. The SONOFF iHost is their attempt at a local hub, but it’s not as mature as Home Assistant.

Shelly devices ship with local-first firmware by default. They work directly with Home Assistant over HTTP or MQTT without any cloud account. This makes Shelly the easier choice if you want to plug and play.

If you don’t mind flashing firmware and want the cheapest option, Sonoff is fine. If you want to minimize tinkering, Shelly wins here.

What flashing costs, and when you can skip it

Flashing is the classic answer to eWeLink, and it works: Tasmota or ESPHome turns a Sonoff into a device with its own web UI, MQTT, and no account anywhere. Three things are worth knowing before you plan a build around it.

Flashability is chip-bound, not brand-bound. “It’s a Sonoff, so it takes Tasmota” is not true. Tasmota runs on Espressif chips only. The ESP8266-based SONOFF S31 is a supported target; the SONOFF S40 Lite runs a Bouffalo Lab BL602 and takes neither Tasmota nor ESPHome, so the community option there is OpenBeken instead. Look up the silicon in the exact SKU before you buy something for flashing.

It usually means opening the case. Most of these parts need a serial adapter and a steady hand rather than a browser tab, and hardware revisions change the answer over time - the SONOFF iFan04-L Smart Ceiling Fan Controller is a good example, where newer revisions may need serial flashing rather than an over-the-air update. Budget an evening for the first one.

You can often skip it entirely. Sonoff’s Zigbee relays never need flashing: pair them to a coordinator and they are local immediately, no eWeLink account in the path. Neither does a Shelly, which already ships as the thing a flashed device is trying to become - local API, MQTT, no account. If flashing sounds like a chore rather than a hobby, that is the argument for Shelly in one sentence.

Beyond in-wall relays: plugs and fan controllers

If you need to track energy usage, Shelly has better options in this price range. The Shelly Plus PM Mini Gen3 is tiny and provides power monitoring. The Shelly Plug US Gen4 is a smart plug with the same capability in North America; the similarly named Shelly Plus Plug S is the European Schuko model.

Sonoff’s SONOFF S31 also has power monitoring, but the selection is narrower.

For controlling ceiling fans, the SONOFF iFan04-L Smart Ceiling Fan Controller is a 4-relay controller that works with many fan brands. I haven’t run one; Shelly doesn’t have a direct equivalent, which is why it comes up.

For Matter support, the SONOFF MINI Extreme R4 (Matter) is notable, though Matter in Home Assistant is still maturing. Either way, my roundup of the best local in-wall relays lists specific models worth buying.

Integration with Home Assistant

Both work well once configured, but the setup paths differ, and the difference shows up on day one.

Shelly is the shortest path. Gen2 and later devices talk to Home Assistant over Shelly’s RPC API, and the native integration discovers them on the network with no account and no pairing code. (Gen1 hardware uses the older CoIoT protocol, which has to be switched on in the device’s web UI first.) The Wave models are the exception: they are Z-Wave, so they join through Z-Wave JS and need a Z-Wave controller rather than your Wi-Fi.

Sonoff Zigbee relays need a coordinator and then nothing else. Pair them through ZHA or Zigbee2MQTT to something like the SONOFF Zigbee 3.0 USB Dongle Plus (E) or a ConBee III if you prefer, and they are local from that moment, with no vendor account involved.

Wi-Fi Sonoff devices on stock firmware need either the official eWeLink Smart Home add-on or the SonoffLAN custom integration; the stock firmware itself gives you no web UI and no MQTT. With Tasmota, they integrate cleanly via MQTT.

The SONOFF MINI Extreme R4 (Matter) is the odd one out, and the easiest Sonoff to live with: it pairs over Matter, which is a core Home Assistant integration, so there is no add-on, no HACS repository and no eWeLink account in the control path.

What happens when the network drops

This is a local-first site, so it is worth being precise about what an outage actually costs you rather than waving at “local control”.

A Shelly relay does not die with your Wi-Fi. In the default input mode the physical switch is wired to the module’s own input and the module drives its own output; the network is not in that path at all. Shelly’s documentation describes the device as able to work standalone on a local Wi-Fi network, and it offers a Detached Switch mode explicitly defined as separating the input from the output - a mode that only needs to exist because the default is a direct, on-device coupling. With the router down, the paddle still turns the light on. What an outage costs you is remote control and automations, not the wall switch.

The inverse is the caveat, and it applies to both brands. If you enable detached mode - Shelly calls it Detached Switch, Sonoff calls it Detach Relay, and both the ZBMINIR2 and the MINI Extreme R4 offer it - so that the paddle only fires Home Assistant automations, then a Home Assistant or network outage does take your wall switch with it. That is a deliberate trade for cleaner scene control, not a bug, but make it knowingly and not on a bedroom light. If keeping the paddle alive is the whole reason you are here, my roundup of smart switches that keep the physical button covers the replacement switches that do it without a relay behind them.

Zigbee moves the single point of failure rather than removing it. A Sonoff Zigbee relay does not care whether your ISP is up - it cares whether your coordinator and Home Assistant are up, since those two are the path from a button press to a light. A Shelly on Wi-Fi has the same dependency for automations, plus a router in the path.

Stock eWeLink firmware has a failure mode of its own worth knowing. Because the LAN protocol is encrypted and the per-device keys come from your eWeLink account, the local routes are not account-free: the add-on and SonoffLAN both need those credentials, and the official add-on falls back to the cloud for devices that don’t answer locally. Flashed Tasmota or ESPHome has no such dependency, and neither does a Shelly.

Keep going

All articles →
Article

Aqara vs Shelly vs Sonoff: which ecosystem for local-first smart homes?

Shelly for Wi-Fi relays with a real local API, Sonoff for the cheapest Zigbee, Aqara for polished Zigbee and Thread sensors. Where each wins, and the one I build on.

Read article →
Article

Best local in-wall relays for Home Assistant

The best hidden relay modules for local-first smart homes, especially when you want to keep existing switches and still get strong Home Assistant control.

Read article →
Article

Shelly at IFA 2026: ThreadLink, a Matter wall panel, and a EUR 39.90 camera

Shelly's IFA 2026 announcements: ThreadLink turns the Gen4 Thread radio into a full IP network, firmware 2.8.0 makes the Wall Display a Matter controller, and a EUR 39.90 camera does RTSP. What is local, what is not.

Read article →
New guides and product notes, no inbox required. Follow via RSS →