Track consumption and solar production with the Shelly EM Gen4, 2-channel meter up to 120 A. WiFi 6, Zigbee, Matter, MQTT: native Home Assistant integration, 30 days of local history and dry contact output for load shedding.
The Shelly EM has been the reference for embedded consumption monitoring for years, and this Gen4 version sticks to the winning formula: two measurement channels via current clamps up to 120 A, bidirectional measurement that distinguishes energy consumed from energy produced, and a dry contact output to control a contactor. Concretely, this covers the three most requested use cases in energy automation: monitoring the home's overall consumption, measuring photovoltaic production with grid import and export, and load shedding on a water heater or heat pump.
On the integration side, it's nearly flawless. The native Home Assistant integration works entirely locally with instantaneous measurement feedback via RPC/WebSocket, with no cloud at all. The module has a built-in real-time clock and stores at least 30 days of minute-resolution data, exportable as CSV: in case of network outage, nothing is lost. MQTT support, webhooks and scripting complete the picture, and the module is officially recognized by Zigbee2MQTT with its two channels and relay. It even acts as a Zigbee router to strengthen the network mesh.
A few honest reservations despite everything. Only one 50 A clamp is supplied when the module handles two channels, so you need to plan for a second clamp to unlock full potential. Switching between Matter and Zigbee profiles remains the weak point of the Gen4 platform, with a sometimes finicky procedure, and in Zigbee only essential measurements come through: for embedded history, power factor and CSV export, WiFi remains the best option. Finally, the module is single-phase and in embedded box format: for three-phase, you need to look at the Shelly 3EM, and for clean DIN rail mounting, the Shelly Pro EM-50 is the way to go. Compared to the Shelly EM Gen3, the price difference of around ten euros is easily justified by the addition of Zigbee, Matter and WiFi 6.
Ultimately, the Shelly EM Gen4 is in my view the most comprehensive embedded energy meter on the market for a Home Assistant ecosystem, with unique protocol versatility in this price range. I give it a rating of 4.5/5, mainly appreciating its bidirectional measurement, local storage and exemplary integration, with the Zigbee side's youth preventing it from reaching the maximum score.
Type: single-phase 2-channel energy meter with current clamps (contact-free measurement)
Current clamps: 1 included 50 A clamp, compatible with 80 A and 120 A clamps (up to 120 A per channel)
Measurements: active and apparent power, consumed and produced energy (bidirectional), voltage, current, power factor
Accuracy: ±2% on voltage and current from 1 to 50 A, ±5% below 1 A
Dry contact output: 2 A max relay at 240 V AC for controlling a contactor (load shedding, water heater)
Connectivity: WiFi 6 (802.11 b/g/n/ax, 2.4 GHz), Bluetooth 5 LE, Zigbee (router function), Matter
Open protocols: MQTT, HTTP/HTTPS, WebSocket, RPC, webhooks, mJS scripting
Home automation integration: Home Assistant (native integration, local control), Zigbee2MQTT (S4EM-002CXCEU model), Jeedom, MQTT
Voice assistants: Amazon Alexa, Google Home, Apple Home via Matter
Local storage: minimum 30 days of data at 1-minute resolution, real-time clock, CSV and JSON export
Processor: ESP32-C6 with 16 MB flash memory
Power supply: 110-240 V AC, 50/60 Hz, own consumption less than 1 W
Dimensions and weight: 37 x 42 x 16 mm for 26 g, embedded box format
Operating temperature: -20 °C to 40 °C
Protections: overheating, overvoltage, overcurrent, overpower, internal temperature sensor