
The Shelly 3EM Gen3 is a DIN-rail three-phase energy meter with integrated current transformers (up to 63 A per phase). It connects to the local network over Wi-Fi and exposes real-time measurements via the Gen2+/Gen3 HTTP RPC API. TapHome polls the device over HTTP on port 80 — no cloud connection is required.
The template provides four energy meter devices: one combined total meter and three individual phase meters (A, B, C). Each meter reports instantaneous active power and cumulative energy consumption, with per-phase meters also exposing voltage, current, power factor, and grid frequency as service attributes.
Hardware connection
The Shelly 3EM Gen3 is available in two variants — the 3EM-63W (wire model) and the 3EM-63T (flat terminal model). Both mount above or below DIN-rail circuit breakers.
The device requires a Y (star) 4-wire connection:
- LA, LB, LC — three live inputs, one per phase
- N — neutral input
- Power supply is drawn between phase LA and neutral (220-240 V~ 50/60 Hz)
External protection should be rated at 63 A with characteristic B or C and a 6 kA rating.
The maximum safe operating voltage is 280 V per phase. The current range is 0-63 A with 130 A saturation. Exceeding these limits may damage the device.
Configuration
The Shelly 3EM Gen3 connects over Wi-Fi. During TapHome template import, enter the device’s IP address (default placeholder 192.168.0.1).
Authentication
TapHome does not support HTTP Digest Authentication. Make sure authentication is disabled on the Shelly device before adding it to TapHome. This can be configured in the Shelly web UI under Settings → Authentication.
Profile selection
The Shelly 3EM Gen3 supports two profiles — Triphase (default) and Monophase. The TapHome template is designed for the Triphase profile, which exposes a single EM component (em:0) with per-phase and total readings. Ensure the device is set to the Triphase profile (factory default).
ECO mode
If ECO mode is enabled on the Shelly device, it may cause communication timeouts due to the 3-second module poll interval used by TapHome. Disable ECO mode for reliable operation.
Device capabilities
Total energy metering
The Total Energy Meter device provides a combined view of all three phases:
- Active power —
total_act_powerfromEM.GetStatus, converted from W to kW (divided by 1000) - Cumulative energy —
total_actfromEMData.GetStatus, converted from Wh to kWh (divided by 1000) - Total current (service attribute) — sum of current across all three phases
Per-phase energy metering
Three individual phase meters (Phase A, Phase B, Phase C) provide detailed per-phase measurements. Each phase meter reports:
- Active power — instantaneous power in kW (converted from W)
- Cumulative energy — total energy consumption in kWh (converted from Wh)
Each phase meter also exposes four service attributes:
- Electric Current — phase current in A
- Electric Voltage — phase voltage in V
- Power Factor — dimensionless ratio of real to apparent power
- Grid Frequency — network frequency in Hz
The per-phase meters use a 15-second poll interval (compared to the 3-second module poll interval), which is sufficient for energy monitoring purposes.
Module diagnostics
The template exposes four module-level service attributes:
- Wifi — connected Wi-Fi network SSID
- IP Address — device IP address on the local network
- Signal Strength — Wi-Fi RSSI in dBm
- MAC — device MAC address
Two service actions are available:
- Update FW — triggers a firmware update to the latest stable release
- Reboot — triggers a device reboot
The module read script also checks for available firmware updates and pending restart requirements, displaying warnings in TapHome when either condition is detected.
Additional capabilities
The Shelly 3EM Gen3 also exposes apparent power per phase and total, neutral current, and returned (feed-in) energy counters per phase and total. Phase sequence error detection and historical data storage with 1-minute resolution are available natively. These capabilities can be added in a future template update.
Troubleshooting
Device not responding
- Verify the Shelly is connected to Wi-Fi and has a valid IP address
- Try using the mDNS hostname (
Shelly3EM63G3-XXXXXXXXXXXX.local) instead of the IP address — the IP may have changed after a DHCP renewal - Open
http://{device-ip}/rpc/Shelly.GetDeviceInfoin a browser — if it responds with JSON, the device is reachable - Check that TapHome Core and Shelly are on the same network / VLAN
ct_type_not_set error
If the EM component reports a ct_type_not_set error, the current transformer type has not been configured. Set the CT type via the Shelly web UI or by calling EM.SetConfig with the appropriate ct_type value. Use EM.GetCTTypes to list supported types.
Phase sequence error
If the phase_sequence error appears in EM.GetStatus, the phases are connected in reverse order (A-C-B instead of A-B-C). Either rewire the phases in the correct sequence or enable monitor_phase_sequence in the EM configuration to suppress the error if the reversed order is intentional.
Gen2+/Gen3 Shelly devices support up to 6 concurrent HTTP connections. This is more than Gen1 devices (2 connections), but keep in mind that each polling system (TapHome, Home Assistant, etc.) consumes connections. Avoid running too many integrations on the same device simultaneously.