Shelly Pro 3EM Home Assistant Setup: Local Data and Solar Import Export

Set up Shelly Pro 3EM with Home Assistant locally: discover the official integration, identify correct import/export kWh sensors, configure the Energy dashboard and validate three-phase solar data.

Quick Summary (TL;DR)

The quickest reliable Shelly Pro 3EM and Home Assistant setup is to have a qualified electrician install and commission the meter, connect its Ethernet or Wi-Fi interface to your local network, then add it using Home Assistant’s built-in Shelly integration. This is an official local integration: Shelly Cloud, MQTT, an ESP32AliExpress price gateway and a custom dashboard template are not prerequisites. Use the integration’s actual cumulative energy entities for the Energy dashboard; instantaneous power (W) is for live monitoring, not historical kWh accounting.

For a solar household, measure the correct electrical boundary. A Pro 3EM at the grid connection can report energy passing between the house and grid, including returned energy when correctly oriented and mapped. It does not automatically report total solar generation, battery charging or household consumption merely because export is visible. Those quantities require the inverter, battery system or additional independently located meters. Three-phase import/export accounting can also differ from the supplier meter’s netting method.

Critical checks: match each CT to its voltage phase, verify direction under a known load, compare measured grid power with an independent reference, select cumulative import and export counters in kWh, and allow statistics to accumulate before judging the dashboard. Shelly Pro 3EM 120 A, Pro 3EM 400 A, Pro 3EM-3CT63 and Pro 3EM v2 are distinct hardware variants; check your exact label, supported CTs and firmware before applying a guide or buying accessories.

What this setup measures — and what it cannot

A Shelly Pro 3EM is a DIN-rail energy meterAliExpress price with three voltage inputs, current-transformer (CT) inputs, per-phase measurements and network connectivity. The standard 120 A model supports Ethernet, Wi-Fi and Bluetooth; Shelly documents local MQTT, HTTP/RPC and WebSocket interfaces. Home Assistant integrates through its official Shelly integration. The important planning decision is where the electrician places the CTs, not which energy card you install later.

Measurement pointWhat you can inferWhat it does not prove
Three CTs around the incoming grid phasesSigned instantaneous grid power and cumulative energy in the metered direction, subject to device/firmware accountingTotal PV generation, battery flow or the output of each appliance
CTs around the AC output of one PV inverterAC energy flowing through that inverter feedGross DC production, battery losses or grid import
CTs on a separate EV charger feedEnergy delivered into the charger circuitEnergy stored in the vehicle battery; conversion losses are excluded
A CT on one phase onlyThat phase’s current/power when a matching phase voltage is measuredA whole three-phase household total
One CT clamped around line and neutral togetherNormally near-zero residual current because the opposing currents cancelUsable load or grid energy

For the common goal “show what I buy from and send back to the grid”, position the Pro 3EM at the grid connection boundary, upstream of the circuits to be counted but within the installation design approved by the electrician. A three-phase PV installation may import on one phase while exporting on another at the same instant. Whether billing nets those phases, and over what interval, is a matter for the utility meter and local tariff rather than Home Assistant.

Choose the correct Pro 3EM variant and components

Device familyDistinctive selection pointDo not assume
Shelly Pro 3EM (standard 120 A)DIN-rail meter; per-phase CT measurement; Ethernet and Wi-Fi; documented 120 A compatible CTsAny 120 A CT on the market will be calibrated correctly
Shelly Pro 3EM v2Newer model/revision with its own published specifications and firmware featuresEvery v2 menu, entity or capability exists unchanged on the older Pro 3EM
Shelly Pro 3EM-400High-current variant designed for its documented 400 A CT configurationIt can replace a 120 A unit merely by changing a software ratio
Shelly Pro 3EM-3CT63Variant supplied for the 3CT63 compact CT arrangementIt shares the standard 120 A hardware/CT wiring and accuracy assumptions

The exact model number appears on the label and in the device information page. On the standard model, Shelly lists SPEM-003CEBEU as the model identifier and describes an RJ45 Ethernet port and three main CT inputs with an optional neutral input. Shelly’s documentation also describes an optional switch add-on: the base Pro 3EM has no built-in load-switching relay. Monitoring a house does not give it the ability to interrupt its incoming supply.

Before purchasing, account for the meter itself, correct manufacturer-supported CTs, DIN-rail space, a compliant supply/protection arrangement, cabinet and Ethernet access, installation/commissioning labour, and any need for a separate PV or battery meter. These costs vary greatly with the consumer unit and region; a product-only web price is not an installed-price estimate.

Safety boundary: the procedures below cover software and read-only verification. Opening a distribution board, adding phase voltage connections, moving CTs, calibrating live metering circuits or changing the supply arrangement are tasks for a suitably qualified electrician working to local rules. CT secondaries must be handled according to their type and manufacturer instructions, particularly for current-output CTs; do not disconnect an energised CT secondary casually.

Network preparation: Ethernet or Wi-Fi

For a meter inside a metal distribution enclosure, Ethernet is often the more predictable choice if an appropriate cable route and port are already available. The Shelly can work locally without connecting it to the manufacturer cloud, but the meter and Home Assistant host still need an IP path to one another. Use a DHCP reservation so the address stays stable after router changes. Wi-Fi remains viable when the signal is good at the actual cabinet; a phone showing a strong signal outside the cabinet is not a valid proxy.

  1. Ask the installer to power and commission the exact meter model using Shelly’s manufacturer instructions, including firmware, CT type, phase mapping and protection checks.
  2. Connect Ethernet (with the device powered off where the manufacturer requires this) or configure Wi-Fi through the device interface. Find its IP address in the router and reserve it by DHCP.
  3. From a trusted computer on the same permitted local network, open the meter’s web interface using its address. Confirm current data, the exact model, configured CT type, firmware and interface status.
  4. Keep the device on a trusted IoT network with routing/firewall access to the Home Assistant host. Do not forward Shelly’s web interface or RPC ports to the public internet.
  5. Allow network discovery where applicable. If discovery is blocked across VLANs, Home Assistant can add the meter by IP address using the integration’s manual configuration.

Do not confuse local operation with a requirement to disable every internet-facing feature. A site may intentionally retain firmware updates or remote vendor control. What matters is that the native Home Assistant data path works directly to the meter. Where Enhanced Security/HTTPS is enabled on supported firmware, follow the Home Assistant Shelly integration documentation for certificate handling. Changing TLS settings is not a remedy for a missing CT.

Add the Pro 3EM with the official Shelly integration

  1. In Home Assistant, open Settings → Devices & services. If the Pro 3EM is under Discovered, choose Configure. Otherwise select Add integration → Shelly.
  2. If asked, enter the meter’s local IP address or hostname. Do not choose a generic MQTT or Modbus integration merely because the device can speak those protocols.
  3. After setup, open the device page and inspect the actual entities created by your version of Home Assistant, Shelly firmware and specific model. Record the entity IDs before configuring the Energy dashboard.
  4. Check live active power, per-phase current, voltage and cumulative energy counters. Verify updates over several minutes and test after briefly isolating internet access at the router, not by disconnecting any electrical cables.
  5. Rename the device and entities descriptively (for example “Grid meter — incoming supply”), then label the separate solar inverter and EV circuit sources to avoid confusing measurements later.

Home Assistant documents that Gen2+ Shelly devices use the RPC protocol, communicate directly with the device and normally need no manual WebSocket configuration for mains-powered units. Some diagnostic entities are disabled by default and polled at intervals rather than pushed continuously. Do not assume a missing diagnostics entity means the energy entities are offline.

If discovery fails

SymptomFirst checkNext step
Web interface works but device is not discoveredIs the meter in a different VLAN or subnet?Add Shelly manually using its reserved IP; verify allowed local connections and service discovery rules
Meter discovered but shown unavailableIP changed or HTTPS/certificate mode differsCheck IP reservation, firmware, TLS setting, firewall and host reachability
No electrical readingsCT type not selected, commissioning not finished or measurement errorAsk installer to inspect the device status and wired metering inputs
Power entities update but one diagnostic entity does notSome Gen2+ diagnostics are polled or disabled by defaultInspect entity settings before changing network architecture
Home Assistant has a Shelly device but the readings represent the wrong sourceMeter placement or labels do not match assumptionsDocument physical CT location and correct the dashboard source mapping

Understand the critical entities before using the Energy dashboard

This is the most common source of apparently broken energy reports. Power is a rate measured in watts (W) and can change sign when grid direction reverses. Energy is the integrated quantity over time measured in watt-hours (Wh) or kilowatt-hours (kWh). For example, a constant 2,000 W import for 30 minutes is 1,000 Wh, or 1 kWh. Home Assistant’s Energy dashboard requires statistics-compatible energy entities for its historical accounting; watts alone are not a cumulative grid-import counter.

Device conceptUnit / signTypical Home Assistant use
Total active powerW, generally signed according to CT orientationReal-time grid power card, load-shedding input, sign validation
Phase A/B/C active powerW, may be positive or negativePhase imbalance, finding a reversed clamp
Total active energyWh on Shelly RPC; HA may present converted unitsGrid import only if measurement boundary and counter meaning match
Total active returned energyWh on Shelly RPC; converted for HA as appropriateGrid export only if measurement boundary and counter meaning match
PV inverter lifetime productionUsually kWhSolar production source, separate from grid meter
Battery charge / discharge countersUsually kWhBattery charging and discharging sources, if supported and measured

The Shelly API distinguishes measurement and accumulated counters: EM.GetStatus exposes per-phase instantaneous fields such as a_act_power and total_act_power; EMData.GetStatus exposes counters including a_total_act_energy, a_total_act_ret_energy, total_act and total_act_ret, defined in Wh. These are API names, not guaranteed Home Assistant entity IDs. The native integration may choose friendly labels and manage conversion or statistics attributes. Check the actual device entities instead of blindly copying a screenshot or YAML from another firmware version.

Depending on the exact model, Home Assistant version and integration behaviour, some totals might not appear automatically or may be disabled. Verify with Settings → Devices & services → Shelly → your device → Entities, and inspect Developer tools → States before deciding whether a custom template is needed. Prefer supported native counters to home-made integration of power because firmware and Home Assistant both handle accumulated data more robustly when configured correctly.

Configure grid import and export in the Energy dashboard

  1. Open Settings → Dashboards → Energy and locate the Electricity grid section.
  2. Choose Add grid connection. Under energy consumed from the grid, select the cumulative imported-energy sensor measured by the Pro 3EM at the grid boundary.
  3. If the installation can export, add the cumulative returned/exported energy sensor to the corresponding return-to-grid field. Do not put total signed power into either historical energy field.
  4. Where your version offers a live grid-power field, use the signed grid power entity only for that separate live measurement; confirm its sign convention.
  5. Save, then inspect the first statistics periods. Historic totals before Home Assistant started recording the entity may not be reconstructed automatically merely because the Shelly has local history.
  6. Cross-check a complete day of positive grid-import and grid-export increments against the Shelly device data and, with appropriate caveats, the supplier’s meter.

If the energy entity is absent from the selector, Home Assistant’s Energy FAQ says to check device_class: energy, suitable state_class (often total_increasing for monotonic import/export counters), supported units such as kWh, Recorder availability and the Settings → Developer tools → Statistics errors view. Never apply total_increasing to a net signed cumulative energy sensor that legitimately decreases; that can produce false resets or distorted totals.

Home Assistant offers distinct energy sections for electricity grid, solar panels and batteries. Add a solar production source only when you have a source that measures PV generation, normally the inverter integration or a separately installed PV AC meter. When reading a battery, distinguish energy into the battery from energy discharged; do not count the same power twice.

Solar example: why grid export is not solar production

Suppose a house’s PV inverter produces 4.0 kW while household loads use 1.5 kW. Ignoring battery flow and losses for this simple example, the meter at the grid boundary sees approximately 2.5 kW export. Its returned-energy counter may rise; its import counter does not need to rise. If the homeowner maps that 2.5 kW to the dashboard’s solar production field, the resulting history understates generation and also breaks self-consumption calculations.

QuantityIllustrative valueMeasurement source
Solar generation4.0 kWInverter AC output meter or vendor generation sensor
Household consumption1.5 kWDerived from independently validated flows, or separately metered
Grid exchange−2.5 kW (export)Pro 3EM at the grid connection
Solar self-consumption1.5 kW under the stated assumptionsGeneration less exported power, when no battery or other complicating flows

Over one hour of constant operating conditions, those numerical values correspond to 4.0 kWh PV production, 1.5 kWh used locally and 2.5 kWh exported. Real systems vary continuously; a simple snapshot must not be interpreted as the day’s energy without integration. Battery charging, AC coupling, meter location, multiple inverters and simultaneous import/export on three phases change the accounting.

A three-phase import/export trap

Imagine phase powers at one instant are A = +1,200 W (import), B = −800 W (export) and C = −300 W (export), using the convention that positive means import. The algebraic total is +100 W grid import. Separately counting the positive phase and negative phases gives 1,200 W of per-phase imports and 1,100 W of per-phase exports at that instant. Both descriptions can be numerically valid but are different accounting methods. Supplier metering may use algebraic netting or per-phase counting according to meter design and local tariff rules. Never overwrite real cumulative counters with a template that nets phases without first determining which interpretation your meter, utility bill and energy model require.

Shelly documents an EMData.GetNetEnergies RPC method for specified time intervals on applicable firmware. This is different from simply subtracting two lifetime counters, and it does not by itself prove alignment with your electricity supplier’s register accounting. Review the method’s available periods and timestamp restrictions in Shelly’s API reference before using it for custom analytics.

Commissioning checks that catch most incorrect measurements

These are read-only acceptance checks that a homeowner can coordinate with the qualified installer; any actual clamp movement, voltage measurement or cabinet work is the installer’s responsibility. Keep a written phase-to-phase map of voltage input, CT location, orientation and cable description. Without it, a negative reading could be solar export, a reversed CT or a wrongly matched voltage phase.

  1. Baseline: record the Shelly model, firmware, CT type, location and its initial per-phase voltage/current/power and cumulative counter values. A misconfigured CT type may be reported as ct_type_not_set.
  2. Known load: observe a suitably isolated, known single-phase appliance switching on. The corresponding phase’s grid import should rise by a plausible amount when other sources are stable; a 2 kW resistive load is easier to interpret than a variable-speed inverter.
  3. Sign and phase: with no PV/battery export active, net household load should normally show grid import, not negative grid power. If one phase goes the wrong way, have the installer investigate phase pairing or the CT reverse setting.
  4. Solar: on a bright interval with PV greater than household load, compare grid return to the inverter’s independently measured production and household loads. Returned grid energy is not necessarily all PV generated.
  5. Energy increments: compare cumulative import/export before and after a controlled observation period. Multiply average power by hours for a rough reasonableness check, allowing for changing loads.
  6. Persistence: verify the same entity IDs are available after a controlled Home Assistant reboot and a router/internet outage. Verify no duplicate grid connection has been added during troubleshooting.

Shelly’s EM API includes configurable per-phase reverse options and CT type selection on supported devices. These can alter the meaning of historical readings and may require a device restart. They are for a properly commissioned installation, not a shortcut to conceal an electrically incorrect phase association. Never reset energy counters casually to “fix” a chart: previous long-term statistics, utility comparisons and imported historical data may become harder to reconcile.

Local RPC diagnostics: optional, read-only

The native integration is normally sufficient. Developers may additionally inspect Shelly’s documented HTTP RPC endpoints from a trusted LAN client. The following requests are examples using a placeholder IP; they do not change configuration, do not require installing MQTT and should not be exposed publicly. The exact RPC response varies with model and firmware. Use a browser for these GET requests where local HTTPS policy permits; when enhanced security is enabled, consult the vendor’s documentation for the proper secure URL and certificate handling.

http://SHELLY_LOCAL_IP/rpc/Shelly.GetDeviceInfo
http://SHELLY_LOCAL_IP/rpc/EM.GetStatus?id=0
http://SHELLY_LOCAL_IP/rpc/EMData.GetStatus?id=0

The EM response can contain a_voltage, a_current, a_act_power, b_act_power, c_act_power and total_act_power (all-phase total power in W). The EMData response can contain total_act and total_act_ret in Wh, alongside per-phase accumulated counters. This lets you check whether an apparent Home Assistant issue originates in the raw meter measurements or in the dashboard entity mapping. These API labels are documented for Shelly’s EM and EMData components; verify support against your actual model.

If you need a read-only status snapshot for support, collect the timestamp, firmware version, component values and a few minutes of trends. Do not post credentials, Wi-Fi passwords, precise household electricity profiles or publicly accessible device endpoints in a forum. Do not call counter-reset or calibration RPC methods during routine troubleshooting.

Update intervals, statistics and what “real time” means

Instantaneous power can change many times in a minute, while recorded energy totals and Home Assistant statistics are aggregated on different schedules. Shelly describes local device history with one-minute records for its standard Pro 3EM; Home Assistant’s long-term statistics collect compatible energy sensor growth and retained history at their own intervals. A graph that updates in batches is not necessarily an integration fault. Focus first on whether a stable cumulative counter eventually increments by the expected kWh.

Use event-driven local updates provided by the native integration unless a specific project requires a custom acquisition interval. The official Home Assistant Shelly documentation notes Gen2+ RPC-based device updates and certain disabled-by-default diagnostic entities polled every 60 seconds. Setting up a parallel MQTT feed and REST polling for the same measurements can create duplicate entities and make it harder to identify the authoritative energy source.

For important automations such as peak-power warnings or EV charging control, set rational hysteresis, minimum dwell times and explicit data-freshness checks. A missed network update is not a valid reason for an automation to assume zero grid import or zero CT current. Home Assistant is useful for supervisory automation, but protection and anti-islanding remain the responsibility of certified equipment and local electrical safeguards.

Troubleshooting: symptoms, causes and sensible remedies

ProblemLikely causeAction
Import and export appear swappedCT orientation, wrong boundary or sign conventionAsk installer to verify CT phase mapping and reverse configuration; check a known-load test
One phase shows unreasonable power factor or negative readingsVoltage phase and CT current do not correspondHave installer inspect phase association and CT position, not merely add a minus sign in HA
Solar production equals exported grid energyGrid return counter used as PV generationUse a genuine inverter/generation counter in Solar panels; keep grid return under Electricity grid
Energy entity does not appear in Energy dashboardWrong state_class/device_class/unit, Recorder exclusion or statistics issueInspect States, entity settings and Developer tools → Statistics per HA FAQ
Meter web interface works but Home Assistant unavailableVLAN/firewall, changed IP, HTTPS security modeUse reserved IP, native Shelly integration, local routing and certificate settings
Day totals jump after a counter resetNew meter cycle, firmware reset or custom templateCheck source counter behaviour and Recorder statistics before editing historical values
Home Assistant total differs from billDifferent placement, tariff interval, phase netting or accuracyConfirm wiring and accounting period; billing meter is authoritative
Energy chart says power is negative at nightReversed CT or wrongly selected “total power” sourceValidate with PV/battery off and a known load; do not blindly multiply by −1
Energy is correct but live dashboard looks delayedPush/poll and statistics aggregation cadenceCompare source timestamp, native entity and card refresh; allow normal aggregation

Security, reliability and maintenance

  • Use a dedicated IoT subnet if that is your network policy, but allow the exact permitted paths between the meter and Home Assistant. Block unsolicited inbound internet access to the meter.
  • Keep the Shelly firmware and Home Assistant integration updated through planned maintenance. Firmware can affect features, TLS behaviour and entity representations; review release notes before making changes.
  • Prefer a stable IP reservation over hand-editing static network settings across devices. Document the device identifier, CT positions and which entity is your grid-import/export source.
  • Back up Home Assistant and retain a note of initial energy counters. A dashboard migration or device replacement is easier when you know precisely what each counter measured.
  • Do not expose high-frequency per-appliance consumption data externally without considering privacy. Energy profiles can indicate household occupancy.
  • Avoid critical safety or grid-compliance control loops that depend solely on Home Assistant, Wi-Fi, MQTT or an unofficial automation.

Worked setup checklist: grid metering now, PV later

StageAcceptance criterionWho usually completes it
Meter selectionExact Pro 3EM variant and manufacturer-supported CT configuration match supplyInstaller and buyer
Electrical commissioningVoltage phases, CT direction and current ratings checked with test equipmentQualified electrician
NetworkingStable accessible local IP over Ethernet or reliable Wi-FiHomeowner or network administrator
HA discoveryOfficial Shelly integration shows one correctly named device and live entitiesHomeowner
Grid energySeparate accumulated import and return counters behave plausiblyHomeowner with electrician
Solar productionSeparate inverter/AC generation data source added when installedSolar installer and homeowner
Final reconciliationImported/exported kWh increments checked against utility meter over an agreed periodHomeowner and installer

A good commissioning record is more useful than a dozen complicated templates. It should answer: Which physical conductor does each CT surround? Which voltage phase does it reference? Where is the grid boundary? Which entity records returned energy? Which instrument reports inverter generation? If any answer is unknown, pause before using the measurements to control expensive equipment or estimate savings.

Frequently asked questions

Can I use a Shelly Pro 3EM entirely without Shelly Cloud?

Yes, for the documented local network functions and the official Home Assistant integration. Home Assistant states that its Gen2+ Shelly integration communicates directly with the device and does not require a cloud connection. Cloud services may still be useful for vendor remote-access features, but they are a separate decision.

Do I need MQTT, an ESP32 or Modbus to get the readings?

No. Use the official Shelly integration first. MQTT and RPC are documented advanced interfaces, but duplicating all three paths adds maintenance with little benefit for an ordinary Home Assistant Energy dashboard. An ESP32AliExpress price/ESPHome gateway is more relevant to custom meters without a supported direct integration.

Does the Pro 3EM show how much energy my solar panels produce?

Only when the meter is physically installed to measure the solar production circuit; a meter installed at the grid entry reports exchange with the grid. Use the inverter’s own validated lifetime-production entity or a separate AC production meter for the Solar panels section.

Should I use the total or add each phase together?

Prefer the correctly classified whole-grid import and export counters from your actual meter/integration when their semantics match the utility boundary. Adding three positive import counters or three negative returns can produce a different interpretation from netting signed power across phases, especially with PV. Do not assume the totals and utility billing are identical without validation.

Can Shelly Pro 3EM switch off loads or act as electrical protection?

The base Pro 3EM is a monitor, not a protective circuit breaker and it has no built-in relay. Shelly documents optional external switching using a compatible add-on/contactor arrangement; that requires an appropriate engineered electrical design. Do not use Home Assistant automations to replace mandatory electrical protection.

Why does the Energy dashboard not show data immediately?

It relies on compatible long-term statistics, not just a current reading. Confirm the entity state attributes, supported energy units and Recorder inclusion, then wait for statistics accumulation. If there are statistics errors, resolve them before recreating the entire integration.

Recommended next reading

For a broader comparison of sensor methods, read ESP32 energy monitoring: pulse meters vs CT clamps vs PZEM vs Modbus. If you want to understand phase orientation and sensor electronics before selecting hardware, see ESP32 CT clamp energy monitoring. For alternative register-based meters, the site’s SDM120/SDM630 Modbus guide explains the different data path. For device-class and long-term-statistics problems, use Energy dashboard troubleshooting.

Related planned pieces in this series cover the Pro 3EM versus Shelly EM hardware decision and solar metering architectures; those links should be added only when those drafts are actually published at their verified URLs.

Official documentation and references

Editorial note: This is a documentation-based software setup and measurement interpretation guide prepared in October 2026, not a hands-on product review or an electrical wiring tutorial. Firmware revisions, availability, entity naming and network security can change. Where practical, compare dashboard counters with a separate trusted meter and have electrical work performed by a qualified professional.

CONTINUE EXPLORING / SMART HOME & ESPHOME

Read next

Practical guides related to this article.

Explore the topic →
HARDWARE DECISION GUIDEChoosing Home Assistant hardware?

Compare practical options before you choose hardware.

Compare options →