Skip to content

Installation and Setup

Varitras edited this page Nov 3, 2026 · 3 revisions

Installation and Setup

At the inverter

The integration reads the inverter over Modbus TCP and needs these settings on the Modbus page of the inverter's web interface (labels as the web interface shows them in English):

  • Modbus Server via TCP activated, Modbus Port 502.
  • SunSpec Model Type int + SF. With float the inverter model is not found and the setup reports that Modbus did not answer.
  • Inverter Address 1 and Meter Address Offset 200.
  • Allow Control on, which the Modbus controls (battery modes, AC limit, power factor, inverter connection) need. Reading works without it.
  • Optionally Restrict Control to Home Assistant's address, so only it may control the inverter over Modbus; reading stays open to every host.

With a Web API login the setup sets all of this itself (see Web API). Without one, set it by hand first.

Modbus TCP is unencrypted. Keep the inverter on a trusted local network and never expose port 502 to the internet.

Installation

Minimum Home Assistant version: 2026.9.0. The integration borrows its Modbus connection from Home Assistant's own modbus integration.

HACS: in HACS, open the menu (three dots, top right) → Custom repositories, add https://github.com/callifo/fronius_modbus with the type Integration, open the repository in HACS, download it and restart Home Assistant.

Manual: copy custom_components/fronius_modbus/ into the custom_components/ directory of your Home Assistant configuration and restart.

Then add it under Settings → Devices & services → Add integration → Fronius Modbus, or accept the card under Discovered. Add one entry per inverter.

Discovery

The inverter announces itself over mDNS (_Fronius-SE-Inverter._tcp.local.), and Home Assistant offers it under Discovered with its model name. Adding it opens the setup with the host filled in.

  • mDNS stays within one network segment. An inverter in another subnet is found only if the router repeats mDNS between them; otherwise add it by hand.
  • An inverter announced with an IPv6 address only is not offered; add it by hand with its IPv4 address.
  • An inverter already set up is not offered again, also when its entry uses a host name: the serial number it announces is matched against the one it reports over Modbus.
  • An entry set up with an IPv4 address follows the inverter to a new address it announces: the host, a generated title and the stored Web API token move with it; a title you gave the entry stays. It moves only when the old address no longer reports the inverter's serial number over Modbus and the announced one does; an announced address that does not answer yet is read again for a few minutes. An entry set up with a host name is left as it is, since the name finds the new address itself.

Whenever the serial number cannot be read at the entry's address, even for a single failed read, a device in your network that sends mDNS and answers Modbus with the inverter's serial number could take the entry. If that is a concern, set the entry up with a host name.

Setup parameters

Parameter Default Meaning
Host - The inverter's IP address or host name.
Web API access role Customer Customer, Technician (adds the export limit control) or Without the web API (Modbus only). See Web API.
Update interval (seconds) 10 The Modbus poll. Minimum 5.
Grid meter power update interval (seconds, 0 = with the update interval) 0 Reads the primary meter's power on its own, 1 to 60 s and shorter than the update interval; 0 leaves it to the Modbus poll. See How Data Updates.
Web API update interval (seconds) 60 The Web API poll, separate from the Modbus poll. 5 to 3600.
Modbus IP restriction Keep the inverter's setting What the integration does with the inverter's Restrict Control setting whenever it writes the Modbus settings (see below).

With a role, a second step asks for its password. The password is not stored; the integration keeps a derived token (see Web API).

If the inverter's Modbus is on and uses the float model type, the setup asks before it switches to int + SF: an external device that reads the float models may no longer work after the switch. Closing the dialog leaves the inverter as it is and ends the setup.

The setup checks that the inverter answers over Modbus before it creates the entry, and refuses a device whose SunSpec common model does not name Fronius as the manufacturer. A Fronius model other than Primo GEN24, Symo GEN24, Verto or Tauro is set up, with a warning in the log that it is untested.

Modbus IP restriction

Choice What it writes
Keep the inverter's setting Nothing: Restrict Control stays as the inverter has it.
Restrict control to allowed hosts and allow this Home Assistant Switches Restrict Control on. If it was on, Home Assistant's address is added to the hosts already allowed. If it was off, every host could control the inverter, and Home Assistant's address becomes the only allowed one: add any other device that controls the inverter over Modbus, such as an energy manager, in the inverter's web interface.
Lift the restriction Switches Restrict Control off: every host may control the inverter over Modbus. It stays off until you choose otherwise.

Reading over Modbus stays open to every host either way. Without the web API nothing is written, so the choice has no effect.

Configure and Reconfigure

Both change the settings of the setup: host, role, the intervals and the Modbus IP restriction. Both check that the inverter answers before the change is saved, and both refuse a host another entry already serves.

  • Configure always offers the password step, so a stored token can be replaced; leave the password empty to keep it.
  • Reconfigure asks for the password only when no stored token exists for the host and role.

A change reloads the entry. Switching an existing entry to Without the web API removes the entities that need the login; their history stays (see Web API).

Removal

  1. Undo the controls you set: Storage Control Mode to Auto, AC limit enable and Power factor control to Disabled, Inverter connection to Enabled, and disable the automations that drive them. The inverter keeps what was written over Modbus, with no timeout, also after the entry is gone.
  2. Settings → Devices & services → Fronius Modbus, open the entry's menu and choose Delete. What the recorder already stored stays in its database.
  3. The stored Web API token for the entry's host and role is deleted with it, unless another entry still uses them.
  4. The Modbus settings the integration wrote on the inverter (Modbus TCP, SunSpec model type, Allow Control, Restrict Control, port and addresses) stay as they are; change them in the inverter's web interface if you no longer need them.
  5. For a HACS installation, remove the integration in HACS as well.

Clone this wiki locally