Quick Summary (TL;DR)
Use the built-in Home Assistant Fronius integration and its Solar API connection first. It is a maintained, local-polling integration for supported Fronius inverters and dataloggers, not a cloud scraper. For ordinary production, status and power-flow monitoring it normally requires only a reachable inverter, the Solar API enabled where necessary, and correct meter commissioning. A Fronius Smart Meter is required for measured household grid-flow data; an inverter on its own cannot measure your home’s import and export.
Enable Modbus TCP as an addition when you need the data or controls that Solar API does not expose. The current official Home Assistant Fronius integration can use both interfaces: Solar API for its main monitoring data, and optional SunSpec Modbus TCP for per-MPPT DC measurements, relevant battery energy counters and supported control entities. You do not normally have to replace the integration with handwritten YAML to gain those features. Home Assistant’s Fronius documentation explains this hybrid design.
Keep the inverter’s grid-connection and export-limit settings under the installer’s control. Solar API is read-only; Modbus can write inverter and battery setpoints if separately authorised. A Home Assistant AC output limit is not the same as a grid export limit, and an automation must never bypass a distribution-network requirement. For most owners, read-only monitoring is the safer and cheaper starting point.
The important distinction: two interfaces, one supported integration
This is not a simple competition between a Fronius-specific plugin and a generic Modbus client. The official Fronius integration in Home Assistant already understands the Solar API, the devices behind a Fronius Datamanager, and an optional SunSpec Modbus connection. Its configuration page accepts the inverter host and a Modbus port, defaulting to 502 when Modbus is enabled. Home Assistant can discover the inverter, or you can add it manually from Settings → Devices & services. You can retain the same integration when you later enable Modbus.
The Fronius Solar API is a locally served HTTP/JSON interface. The SunSpec interface is a Modbus TCP server that exposes standardised models and some manufacturer-specific implementation details. Neither interface needs Fronius Solar.web to deliver local readings when the local network and inverter are operating. Solar.web remains useful for remote monitoring, manufacturer support and historical portal functions, but it is a separate service. Local polling is not a guarantee that an inverter stays awake all night or that lost samples are replayed after a network outage.
| Decision | Solar API (JSON) | Modbus TCP (SunSpec) | Practical recommendation |
|---|---|---|---|
| First Home Assistant setup | Official integration; automatically manages supported API endpoints | Optional enhancement inside the same official integration | Start with Solar API, add Modbus only for a reason. |
| Live production and status | Yes, subject to inverter and firmware | Inverter power/status registers | Use the official Fronius integration rather than duplicating sensors. |
| Grid import/export | With an appropriately located, commissioned Fronius meter | Meter models can be exposed by the inverter when present | A protocol cannot substitute for a physical meter. |
| Per-MPPT DC readings | Not exposed by the standard Solar API integration | Per-tracker values where supported | Enable Modbus for string-level visibility. |
| Battery energy counters | Solar API reports battery power and status, not direct battery energy totals | Certain hybrid models expose battery charge/discharge counters | Check exact hybrid model and battery configuration. |
| Write inverter settings | No: read-only | Possible only where supported and authorised | Leave control disabled for monitoring-only systems. |
| Configuration effort | Usually low | Low for official integration; high for manual registers | Avoid hand-maintained maps unless necessary. |
| Security exposure | Unauthenticated read access on the LAN when enabled | Modbus has no native strong authentication; writes may be enabled | Restrict network access; never port-forward. |
Check your Fronius hardware before choosing a connection
The Fronius name covers several generations of hardware. An older SnapINverter with a Datamanager 2.0 is not configured like a GEN24, and a Fronius Smart Meter is not itself a Modbus TCP server merely because it speaks Modbus RTU to the inverter. For a correct installation plan, record the exact inverter type, firmware or bundle version, communications hardware, battery type, smart-meter model, meter placement and the role of any additional inverters. Also record whether you have owner or installer-level access to the relevant communications menus.
| Installation family | Local Solar API route | Modbus route | Points to verify |
|---|---|---|---|
| Primo/Symo/Eco and other SnapINverter models with Datamanager | Via integrated Datamanager 2.0 or compatible Datalogger Web | Datamanager Modbus TCP when enabled | Datamanager hardware/firmware; SolarNet topology; which meters are attached. |
| GEN24 and GEN24 Plus (Primo/Symo regional variants) | Inverter’s local web interface; may need manual activation | Communication → Modbus → TCP server | Model-specific PV, battery and backup capabilities; firmware; meter and grid profile. |
| Tauro and Verto / Verto Plus | Listed by the official Home Assistant integration where Solar API is available | Communication → Modbus where supported | Product variant, installed firmware and data model; avoid assuming GEN24 parity. |
| Fronius Smart Meter behind an inverter | Meter data relayed through the inverter or Datamanager | Meter SunSpec model via the inverter’s Modbus interface where supported | Meter location, phases, direction, unit ID and commissioning. |
| Multi-inverter SolarNet installation | Datamanager can provide a system-level view | One Datamanager may serve multiple inverters on its ring | Avoid counting aggregate and per-inverter totals twice. |
The maintained Home Assistant compatibility list names families including GEN24, Primo, Symo, Symo Hybrid, Tauro and Verto, but that does not mean every product has the same entities, battery features or write controls. The Fronius Datamanager 2.0 technical page confirms its Ethernet/WLAN interfaces support both Solar API and Modbus TCP SunSpec. A GEN24 has its own communications interface, so buying a Datamanager 2.0 solely to give a GEN24 a network connection would normally be the wrong purchasing decision.
Regional model numbers matter. For example, a North American Primo GEN24 208–240 V product and a European Symo GEN24 three-phase model have different electrical characteristics and grid approvals even if their monitoring interfaces share names. Verify the exact model’s local product sheet and country approval with the installer. Do not buy an imported inverter, battery, logger or meter solely because a forum post shows the same Modbus register or the same-looking enclosure.
What the Solar API actually provides
The Solar API is a documented HTTP interface returning JSON. It is intended for local monitoring rather than inverter control. Typical queries can return cumulative site power flow, individual inverter measurements, connected-meter values and supported accessory data. The set of available fields depends on the product family, installed devices, firmware and whether the value is meaningful at that moment. The official Fronius Solar API documentation portal and Solar API V1 operating instructions are the primary references; do not treat a third-party sample JSON response as a universal schema.
| API request | Purpose | Important limitation |
|---|---|---|
/solar_api/v1/GetPowerFlowRealtimeData.fcgi | Site-level PV, load, grid and battery power flow where configured | Missing meter or storage changes available values; signs and source boundaries need checking. |
/solar_api/v1/GetInverterRealtimeData.cgi | Inverter-specific power, voltage, current, energy and status collections | Request parameters and DataCollection support differ by family; not every value is always present. |
/solar_api/v1/GetMeterRealtimeData.cgi | Read values from a supported meter attached to the Fronius system | A meter must exist, be commissioned and be addressed correctly. |
/solar_api/v1/GetStorageRealtimeData.cgi | Read storage measurements when the system exposes them | Battery telemetry is model-dependent; does not imply writable battery control. |
A safe connectivity check can be performed from a browser or a terminal on the same trusted LAN. The following is a read-only example with a documentation-only IP address. Replace it with the actual inverter IP or local hostname. It is not a cloud API key and does not change any inverter setting.
http://192.0.2.10/solar_api/v1/GetPowerFlowRealtimeData.fcgi
A valid JSON response demonstrates that the host is reachable and the endpoint is available; it does not prove the meter is correctly oriented, that export is permitted, or that Home Assistant has a continuous energy counter. Read the response status and check which keys are present rather than assuming missing fields are zero. The Fronius API documentation specifies that fields not implemented by a device can be omitted. An HTTP 404 on a GEN24 may mean the API is disabled rather than the inverter lacking the capability.
For GEN24, Fronius’s operating instructions place the activation control under Communication → Solar API. Fronius says the unauthenticated interface is factory-disabled on relevant newer firmware and can be enabled when a third-party application needs it. Home Assistant notes the default-disabled behaviour for GEN24 units delivered with firmware 1.14.1 or later. Firmware upgrades and factory resets can affect the setting; check the actual unit instead of relying on its purchase date.
The Solar API V1 manual limits real-time request concurrency and recommends spacing requests, so adding multiple REST polling tools at aggressive intervals can create the very gaps that users mistake for Wi-Fi faults. Let the maintained integration manage normal polling. If you are troubleshooting, a few manual requests are useful; a homebrew script hitting several endpoints every second is not a better integration strategy.
What Modbus TCP adds—and what it does not
Fronius implements Modbus TCP using SunSpec models. The protocol exposes inverter and, where connected and supported, meter and storage data in registers. It is a good fit for integration with industrial controllers and for values missing from the JSON view. However, Modbus does not automatically give you higher accuracy: the measurement still comes from the inverter’s electronics or an attached meter. If the source is misconfigured, both protocols can faithfully report the wrong physical interpretation.
The current official Home Assistant Fronius integration reads optional Modbus data for each MPP tracker. The documentation lists MPPT DC power and energy, DC current and voltage (the latter disabled by default), a PV energy total, and on supported hybrid inverters battery charging and discharging energy totals. These are polled every minute in the official integration. They are not a promise of per-panel or per-optimiser monitoring, and MPPT energy is not necessarily equivalent to AC energy delivered to the home.
| SunSpec concept | GEN24 / Fronius documentation | What can go wrong |
|---|---|---|
| TCP port | GEN24 interface supports selectable 502 or 1502 | Client set to 502 while device listens on 1502. |
| Inverter unit ID | GEN24 Modbus TCP inverter unit ID is 1 | Using meter ID for inverter registers. |
| Meter unit ID | Configurable; Fronius example/default 200 for first meter | Reading the wrong device or assuming meter is always present. |
| Model format | float (111/112/113 inverter; 211/212/213 meter) or int + SF (101/102/103; 201/202/203) | Decoding a float register as an integer or ignoring scale factors. |
| Register locations | Dynamic SunSpec model list; discover model start and apply offsets | Hard-coded address from a different firmware or model type. |
| Address numbering | SunSpec register 40001 maps to zero-based Modbus address 40000 | Classic off-by-one errors and impossible values. |
| Polling | Fronius recommends sequential queries, at least one-second timeout, and batching registers | Parallel scripts overload or contend for the server. |
| Write access | Separate inverter-control permission, with priority and restriction settings | Unintended persistent power or battery setpoint. |
Fronius explicitly warns that SunSpec register addresses can change with the dynamic model composition. Read the SunSpec signature and model headers to discover the correct start offsets rather than copying a register address from a spreadsheet without its model context. The GEN24 Modbus TCP/RTU operating instructions explain both the one-based register notation and the difference between float and integer-plus-scale-factor model sets. This is particularly important for custom PLC, Node-RED or ESP32AliExpress price implementations.
If you use the official Fronius integration, leave the inverter’s float/int+SF format as it is: Home Assistant documents automatic detection. Do not change the device-wide data model merely to match an old community YAML example. A custom generic Modbus client may require manual scale-factor, endianness, signed-value and unavailable-value handling. Its maintenance burden is part of the cost, even if the Modbus client software itself is free.
Configuration walkthrough: monitoring first, Modbus second
Step 1 — identify the local address. Use the router’s DHCP reservation or a known local DNS name so the integration can reconnect after a router restart. Check that the inverter is awake and reachable from the Home Assistant host. A laptop on the same Wi-Fi does not prove that a Home Assistant VM on an isolated VLAN can reach the inverter.
Step 2 — confirm the Solar API. On GEN24, check Communication → Solar API and enable it only if you intend to use a trusted local application. On older Datamanager systems, verify that the hardware and firmware expose the endpoint. Test a single read-only API URL, then remove temporary diagnostic tools. Do not expose the interface to the internet; the local API is not an authenticated public service.
Step 3 — add the official Fronius integration. In Home Assistant, open Settings → Devices & services → Add integration → Fronius, select a discovered device or enter its host manually. Allow the integration to populate sensors while the inverter is producing. Check device names and physical meaning, not merely whether an entity exists. Some PV-related entities may appear only after sunrise; nighttime discovery can be misleading.
Step 4 — validate the meter boundary. If you need grid import/export, confirm a compatible Fronius Smart Meter is installed and commissioned at the correct point. The Fronius integration can expose meter data, but an inverter’s output power is not a substitute for measured grid power. Compare live readings against the meter display with known loads and then compare cumulative counters over a billing period.
Step 5 — enable optional Modbus only when needed. On GEN24, Tauro and Verto, open Communication → Modbus and enable the TCP server; on Datamanager, use Settings → Modbus and choose TCP data output. Note the selected port. The official Fronius integration checks again periodically for the Modbus interface, and the documentation says optional Modbus entities can appear automatically once the server answers. You can reconfigure or reload the integration when troubleshooting.
Step 6 — keep control permissions separate. Do not turn on “Inverter control via Modbus” merely to read MPPT power. Monitoring does not require a writable inverter. If an authorised installer deliberately enables control for a defined use case, document grid limits, fallback behaviour, priorities, permitted commands, owner responsibility and a recovery procedure before creating automations.
Step 7 — monitor for a week. Check sunrise/sunset availability, sensor units, negative signs, cumulative energy behaviour and whether the grid-flow entity becomes stale during Wi-Fi outages. Review the Energy dashboard statistics and recorder history. A successful five-minute commissioning test does not establish reliable year-round monitoring.
Solar API polling frequency versus Modbus polling
For the maintained Fronius integration, Home Assistant documents a 10-second interval for SolarNet power-flow data and one-minute intervals for inverter, meter, storage and Ohmpilot measurements. It also documents slower retry intervals when an endpoint fails or the inverter enters a night power-saving state. Optional Modbus MPPT measurements are updated every minute. These are integration defaults as documented in October 2026, not measured latency benchmarks for every Fronius model.
A generic Modbus YAML configuration exposes a scan_interval setting and can be polled at other rates, but shorter is not always better. Fronius recommends sequential requests with sensible timeouts and combining adjacent register reads. Multiple clients can compete for resources; an EV charger, building management system and Home Assistant may all query the same inverter. Choose an interval that fits the decision being made and confirm stability under realistic traffic.
| Use case | What data is needed | Practical polling approach | Main caveat |
|---|---|---|---|
| Daily yield / Energy dashboard | Monotonic AC energy totals and grid import/export counters | Official Fronius integration; prefer counters over reconstructing from watts | Correct source boundary and statistics matter more than seconds. |
| PV availability alert | Inverter status and recent generation | Default local polling is generally sufficient | Do not mistake nighttime sleep for a fault. |
| String fault investigation | Per-MPPT DC power, current and voltage | Enable optional Modbus MPPT entities | Different roof aspects and shading invalidate naive comparisons. |
| Surplus-solar EV charging | Grid-point net power plus charger’s safe local control | Use a compatible dedicated charger/controller with robust failsafes | A 10-second poll alone does not guarantee compliant current regulation. |
| Industrial BMS / PLC | Documented SunSpec models and verified data scaling | Controlled Modbus client with serialised reads | Dynamic register layout, access restrictions and write priority. |
| Tariff or billing reconciliation | Utility-meter import/export kWh and matching periods | Billing meter remains authoritative | Solar API data is not automatically revenue-grade. |
A solar automation should consider stale data, hysteresis and minimum on/off times rather than switch a load whenever a power reading crosses a single threshold. For example, a cloud passing over the panels can cause a short-lived fall in PV power; a charger or immersion heater should follow its own manufacturer-approved control scheme. Fronius Solar API readings are useful inputs to a supervisory decision, not a substitute for the charger’s protective electronics.
Meter placement, sign conventions and Home Assistant Energy
The inverter’s power flow view is a derived picture of the system. It combines inverter, battery and meter measurements which may arrive at slightly different times. Small instantaneous imbalances are therefore not proof of a faulty inverter. The crucial issue is where the meter sits. Fronius distinguishes a meter on the feed-in path (grid connection) from one on the consumption path. The correct Home Assistant entities depend on that choice.
For a meter on the feed-in path, Home Assistant’s Fronius guide recommends the meter’s Energy real consumed counter for grid consumption and Energy real produced for return to grid. For a consumption-path meter, the official guide instead recommends integrating the SolarNet grid-import and grid-export power sensors. Those approaches are not interchangeable. Confirm the commissioned meter location before configuring the Energy dashboard; a wrong selection can double-count consumption or treat export as import.
On the Solar API power-flow data, Home Assistant’s own integration documentation labels the displayed grid power as positive when fed into the grid and negative when consumed from the grid; load and battery power have their own documented conventions. The Fronius Modbus meter model describes signs in relation to the meter location, which can differ. Never apply a blanket “positive always means import” rule across Solar API, meter Modbus and custom ESPHome sensors.
| Value | Correct physical meaning | Common mistake |
|---|---|---|
| PV AC energy (kWh) | AC energy delivered by the inverter over time | Using instantaneous kW as a kWh counter. |
| PV string / MPPT energy | May be DC-side energy on GEN24; implementation varies by device | Adding it to AC yield as if it were extra production. |
| Grid import energy | Electricity crossing the supply boundary into the home | Equating household load with grid import while PV is generating. |
| Grid export energy | Electricity crossing the supply boundary to the grid | Counting inverter output as export even when the house consumes it. |
| Battery charge/discharge energy | Energy through the battery measurement boundary | Assuming charge and discharge are identical or loss-free. |
| Battery state of charge (%) | A percentage of the battery’s defined capacity | Treating 80% SOC as 80 kWh or as a guaranteed usable reserve. |
The official Fronius integration recommends the inverter’s Energy total AC counter for solar production where there is no battery. Where a battery is connected, its guidance uses an integral of SolarNet Power photovoltaics to avoid confusing AC inverter output with solar-only production. Modbus PV energy total can be a DC string measurement on GEN24, and Home Assistant explicitly warns that it may exceed AC yield because of conversion losses. Consult the Energy dashboard section of the Fronius integration before choosing counters.
When the device provides only a power sensor, Home Assistant’s Integral helper can estimate energy from sampled power, but this can drift through missed readings or downtime. A native monotonic kWh counter is generally preferable when it represents the correct boundary. For import/export reconciliation, use the actual utility bill dates, opening and closing meter readings and tariff definitions. Our Energy Dashboard troubleshooting guide covers related entity and statistics pitfalls, while the ESP32 Modbus energy-meter guide is relevant if you are comparing an independent wired meter with the Fronius-connected meter.
Modbus control: an attractive feature with serious limits
The Solar API is read-only. The optional Modbus path can expose controls in the current official Home Assistant integration, but only if the inverter supports the relevant SunSpec models and an authorised person has enabled inverter control via Modbus. Documented Home Assistant entities include AC output power limiting, battery charge/discharge power limits, battery minimum reserve and associated enable switches. Their availability depends on hardware, battery, firmware and the inverter’s own control-priority settings.
An AC power limit is expressed as a percentage of nominal inverter output, not as a watt-based export cap at the property boundary. It can limit all inverter AC delivery, including power used by the home. The grid operator’s export requirement is normally enforced by the approved system design and its dynamic power-reduction arrangement. Home Assistant warns that certain Modbus priorities and a persistent 100% AC limit can override an export constraint. Do not configure or test those settings without the installer and, where applicable, the network operator’s approval.
Another subtlety is persistence. Home Assistant documents an optional “Revert the AC power limit if Home Assistant stops” mechanism: when enabled, the inverter can relinquish that particular Home Assistant limit after an hour without renewed commands. It does not apply to all battery setpoints. Battery charge/discharge limits and reserve settings may persist after Home Assistant is offline or the integration has been removed. A control automation needs a deliberately tested fail-safe state, an independent means of recovery and a written record of who can change it.
Battery charge power limit is a power-rate control, not a target maximum state of charge. Home Assistant states that the Fronius Modbus interface does not provide a maximum SOC setpoint; a home automation can approximate a charge ceiling using SOC and power limits, but it creates its own failure modes and should not be presented as a manufacturer battery-management feature. The inverter and battery BMS remain responsible for protection. Never bypass protective functions, alter grid-code parameters, or use a general-purpose automation as the only protection against overcharge, islanding or export breaches.
A practical read-only diagnostics workflow
When the official integration fails, begin with reachability and source configuration rather than editing random registers. The sequence below isolates the most common causes without changing any electrical or grid-control setting.
| Symptom | Check first | Next action |
|---|---|---|
| No Fronius device discovered | Home Assistant host can reach inverter IP; LAN/VLAN rules; inverter awake | Add manually by IP/DNS; confirm Solar API enabled. |
| HTTP 404 from a GEN24 Solar API URL | Communication → Solar API switch | Enable only on trusted LAN if local monitoring is needed. |
| API works in browser but HA setup fails | Same network path from HA host; firewall; host entered correctly | Check HA integration logs and local DNS; avoid public IP. |
| PV sensors missing at night | Inverter sleeping; no non-zero PV data yet | Recheck after sunrise before concluding unsupported. |
| No grid import/export readings | Smart Meter present, meter location, configuration | Ask installer to verify wiring/commissioning; do not invent a virtual meter. |
| No MPPT sensors | Modbus TCP enabled, correct port, inverter awake | Wait for optional entity discovery or reload integration. |
| No Modbus control entities | Control permission deliberately disabled, unsupported models | Leave disabled unless there is an approved need; consult installer. |
| Modbus reads nonsense values | Wrong unit ID, float/int+SF, address offset, signedness | Use current Fronius SunSpec model map; stop manual polling until decoded. |
| Values update slowly or intermittently | Night mode, busy logger, multiple polling clients | Remove duplicate pollers; follow vendor request timing. |
| Energy dashboard overcounts solar | AC total and DC PV string energy both selected | Use one correctly bounded source; rebuild statistics only with care. |
For a more advanced commissioning record, note the firmware version and network address, take a daytime snapshot of inverter AC power, meter grid power, and any battery power, then compare the Home Assistant entities at approximately the same moment. Repeat once with a known household load change and once after sunset. The goal is to verify signs, plausible magnitude and meter position, not to prove revenue-grade calibration. Keep screenshots or exported values with timestamps; do not treat a five-second mismatch as a physical energy deficit.
When a separate generic Modbus integration makes sense
A separate generic Modbus integration can be appropriate for an industrial control system, a device not covered by the official integration, a verified register not yet surfaced as an entity, or a carefully isolated research project. Home Assistant itself recommends trying a maintained device-specific integration before hand-mapping registers. The generic Modbus integration requires register addresses, types, unit IDs and polling parameters in YAML; it does not know which Fronius model is connected or how the inverter has composed its SunSpec blocks.
For a Fronius inverter, do not paste a generic sample register map into production. Discover the SunSpec model list, identify the current inverter/meter model, confirm data format and zero-based offsets, and validate the decoded value against the manufacturer interface. Read-only registers should be tested first. Do not enable control in the inverter merely to see whether a register write works. A generic Modbus setup also opens another client connection; check whether the inverter or existing building-management equipment imposes a practical connection limit.
If the objective is simply to show the power of one separate household circuit, the inverter’s Modbus interface is the wrong tool: a Fronius inverter cannot measure a circuit it is not wired to measure. Use a correctly specified, professionally installed circuit meter or an appropriate energy-monitoring smart plugAliExpress price instead. Modbus is a data transport, not a sensor and not a licence to add unapproved CTs inside a consumer unit.
Purchase and installation costs: what you actually need
For an already networked, compatible Fronius inverter, enabling the official Home Assistant integration typically adds no dedicated communications hardware. It still requires a functioning Home Assistant host, reliable LAN and correctly configured inverter. An older inverter without the necessary Datamanager or Datalogger Web hardware may need a compatible, correctly installed communications component; verify the exact inverter compatibility and availability before ordering. GEN24 normally has the relevant network interface built in.
| Item | When it is needed | Cost and compatibility consideration |
|---|---|---|
| Home Assistant host | Required if you do not already run Home Assistant | Existing Green, mini PCAliExpress price, Raspberry Pi or server may suffice; allow for storage, backup and power. |
| LAN cable / switch port | Recommended when inverter Wi-Fi is unreliable or segregated | Check physical cable route, router location, PoE assumptions and electrician/IT labour. |
| Datamanager 2.0 / compatible logger | Only for specific older inverter configurations lacking a supported interface | Confirm supported inverter family, firmware, module variant and installation service; not a GEN24 default purchase. |
| Fronius Smart Meter | Needed for measured grid-flow data if none is installed | Check single-/three-phase supply, approved meter model, current rating/CT option, wiring and meter placement. |
| Modbus TCP gateway | Usually not needed for a networked GEN24 or Datamanager 2.0 | Do not confuse inverter TCP server with RS485 meter wiring; avoid buying an unnecessary bridge. |
| Electrician/installer commissioning | Needed for meter installation, inverter electrical changes and approved control settings | Include testing, labelling, DNO/grid paperwork where applicable, and access credentials. |
| Network segmentation / firewall rules | Recommended when exposing local unauthenticated interfaces | May require managed router/switch expertise; never expose API/Modbus ports on WAN. |
| Solar.web subscription or cloud service | Not required for Home Assistant local API/Modbus monitoring | Optional remote/cloud features have separate terms; verify any paid tier before purchase. |
There is no defensible universal installed price for a Fronius meter or communications retrofit. Costs depend on supply phase count, meter location, panel space, installer rates, cabling, existing CTs, enclosure requirements and country. For UK installations, the electrician must follow the applicable edition of BS 7671 and relevant distribution-network connection requirements; other countries use their own wiring and grid-code rules. Fronius regional product approvals, network permissions and the installer’s design take precedence over an internet tutorial.
Avoid false economy: a cheap third-party meter that Home Assistant can read directly may still not satisfy the inverter’s approved meter compatibility, export control or battery-management requirements. Conversely, a Fronius Smart Meter is not automatically the best instrument for separately measuring every household appliance. Decide whether the meter is needed by the inverter’s control scheme, by Home Assistant’s dashboard, or by independent billing reconciliation before choosing hardware.
Reliability and security: local does not mean risk-free
The Solar API can provide readings without an internet connection, but it does not necessarily archive all missed values for Home Assistant. A disconnected HA server, router or inverter can leave gaps in sampled power history; a persistent device energy counter may allow the cumulative total to catch up later, depending on the entity and firmware. For a long-term energy dashboard, stable counter semantics, correct device classes and recorder statistics matter more than a beautiful real-time graph.
Fronius documents that enabled Solar API access is unauthenticated for devices on the local network. That is convenient for integration but a reason to restrict network reachability. Modbus TCP similarly should be confined to trusted hosts; enabling inverter control increases the consequence of an unauthorised connection. Use a dedicated trusted network or carefully scoped firewall rules, secure the Home Assistant host, update firmware under installer guidance and avoid forwarding ports 80, 502 or 1502 from the internet.
A router’s guest Wi-Fi may prevent Home Assistant from discovering or connecting to the inverter even though the mobile app still works via the vendor cloud. Likewise, moving Home Assistant into a VM, NAS container or separate VLAN may require explicit routing and firewall permission. For troubleshooting, test from the actual Home Assistant host rather than assuming a laptop’s connectivity is equivalent. A static DHCP reservation is usually simpler than assigning a manual static address that conflicts with the router’s allocation.
Where a building has an EV charger, battery and heat pump, avoid creating several independent automations that each believe they own the grid export target. Treat Fronius inverter protection, DNO-approved export control, charger current limits and battery BMS constraints as independent safety layers. Home Assistant can optimise within those boundaries but should fail safely when a meter becomes unavailable. A software dashboard must never become the sole safety or regulatory control mechanism.
Worked examples: three different homeowners
Example A: a GEN24 PV system with no battery and no Fronius Smart Meter
The owner wants to see generation and receive a production alert. Solar API through the official Fronius integration is the straightforward choice. The inverter can report its AC production and status, but it cannot calculate accurate household import/export without a correctly located grid meter. Modbus is optional and mainly interesting for MPPT detail. Buying a meter is justified if grid-flow measurement or inverter-approved export control requires it—not merely to get another chart.
Example B: a GEN24 Plus hybrid with a compatible battery and grid meter
The owner wants PV production, grid import/export, battery state and energy flows. Begin with Solar API and the Fronius integration, confirm the commissioned meter location, then enable Modbus TCP if supported battery energy counters or MPPT detail are useful. Use AC solar energy and correctly bounded battery charge/discharge values; do not add DC string energy to AC production. Battery control should remain disabled unless a documented, approved operating plan justifies it.
Example C: an older Symo with Datamanager 2.0 in a multi-inverter system
The owner already has a working SolarNet and Solar.web installation and wants a local Home Assistant dashboard. Connect to the Datamanager host rather than assuming every inverter has a separate TCP endpoint. Confirm which devices the Datamanager exposes and avoid adding both site-level cumulative totals and the same inverters’ totals as separate solar plants. Modbus can supplement with available SunSpec data, but the Datamanager and inverter firmware should be checked before assuming GEN24 features are available.
Final recommendation
For the great majority of Fronius owners: use the official Fronius integration, with Solar API enabled, and only add Modbus TCP when you can name the missing measurement or approved control requirement. This keeps the installation maintainable, preserves a local data path and avoids duplicating counters. If you need grid import/export, prioritise a properly commissioned meter. If you need MPPT or supported battery energy counters, the official integration’s optional Modbus support is a better first choice than manual register YAML.
For an engineer building a separate BMS or PLC interface, Modbus TCP is valuable, but it comes with register discovery, model-version control, scaling, timeout and cybersecurity responsibilities. For battery or export control, the technical feasibility of writing a register is not sufficient authority to change it. Treat firmware updates and grid-code settings as controlled changes, and record how the system behaves when Home Assistant, the LAN or the meter fails.
Frequently asked questions
Do I need Fronius Solar.web or an internet connection for Home Assistant?
No for the documented local Solar API and Modbus paths: Home Assistant polls the inverter or Datamanager on the LAN. You still need the local network, an awake inverter and a supported interface. Solar.web provides separate remote features, and an internet outage does not guarantee that every missing sample will be backfilled.
Can I enable both Solar API and Modbus TCP?
Yes on supported models. The maintained Home Assistant Fronius integration is explicitly designed to use Solar API as its main data source and optional Modbus for additional sensors and authorised controls. It is not necessary to install two competing integrations for ordinary Fronius monitoring.
Why are MPPT energy and inverter total energy different?
On some GEN24 devices, MPPT energy is a DC-side measure before conversion losses while inverter total energy is AC output. Other inverter families may expose different semantics. Do not add both; compare definitions in the current Home Assistant Fronius documentation and the actual device readings.
Can I use Modbus to cap export at 3.68 kW?
Do not assume so. An inverter AC power limit is not a dynamic export limit at the grid connection point. UK export arrangements, including any relevant DNO-approved limitations, must be implemented and commissioned as required for the installation. Consult the qualified installer; never use an unverified Home Assistant write as the sole export-control mechanism.
Will a Fronius Smart Meter work with every inverter or country?
No. The meter must be supported by the exact inverter family and firmware, suited to the supply configuration, installed in the approved location and commissioned correctly. The fact that a third-party Modbus tool can decode a meter is not proof that the inverter accepts it for its own control functions.
Is Modbus always faster or more accurate than Solar API?
No. It can expose different registers and allow a custom poll interval, but the same physical sensors and meter configuration may underlie both. Faster polling can overload a communications module, and accuracy depends on sensor placement, calibration and correct decoding. For the Home Assistant Energy dashboard, stable cumulative energy is usually more important than very fast power samples.
Official documentation and further reading
- Home Assistant — Fronius integration: supported families, Solar API polling, optional Modbus entities, Energy dashboard and control cautions.
- Fronius — Solar API (JSON) open interface: official manuals and compatibility documentation.
- Fronius — Solar API V1 operating instructions (PDF): endpoint syntax, DataCollections, request pacing and model-specific fields.
- Fronius — GEN24 Modbus TCP and RTU operating instructions: unit IDs, SunSpec model formats, address offsets, polling and control settings.
- Fronius — Datamanager 2.0 technical information: interface and networking capabilities for compatible installations.
- Fronius — Symo GEN24 operating instructions: local Solar API activation, Modbus and installer-specific settings.
- Home Assistant — generic Modbus integration: when custom register mapping is justified.
- Home Assistant — Energy management documentation and Utility Meter helper: energy statistics and consumption tracking.
Research and verification note — 14 October 2026: Product and integration behaviour above was checked against first-party Fronius manuals, official Fronius product/interface documentation and the current Home Assistant Fronius/Modbus documentation. The article does not claim hands-on tests, universal firmware compatibility, measured polling benchmarks, quoted installed prices, guaranteed savings or unsupported affiliate relationships. Check the actual product revision, firmware, country approval, installer settings and official documentation again before buying equipment or enabling control.