Inverter: Fronius - dalathegreat/Battery-Emulator GitHub Wiki
[!CAUTION] Working with high voltage is dangerous. Always follow local laws and regulations regarding high voltage work. If you are unsure about the rules in your country, consult a licensed electrician for more information.
Fronius inverter wiki page
Types of compatible Fronius inverters
The code works with the following Fronius inverters
- Fronius Primo Gen24 Plus (all sizes) â
- Fronius Symo Gen24 Plus (all sizes) â
- Fronius Symo Gen24 Plus SC 12.0 â
- Fronius Symo Hybrid 3.0/4.0/5.0-3-S â (âšī¸ Legacy product, no longer available for purchase)
On this date (23.04.2025) Fronius deployed a new software version that momentarily broke compatibility with Battery-Emulator
- Installed: ROW 1.35.8-1 (Working â ) Works with BE versions below 8.11.0
- New: ROW 1.36.5-1 (Breaks â ) Works with BE versions above 8.12.0
It is recommended to always use latest software version of both the Fronius inverter and the Battery-Emulator
Hardware limitation :zap:
All Fronius GEN24 inverters are capped to max 22A on the battery port. This means that if you have a high voltage battery (450V), you will see much higher charge/discharge speed (22A x 450V = 10kW), compared to a low voltage battery (22A x 250V = 5,5kW)
Keep this amperage limit of 22A in mind when designing a battery system for the fronius
Software limitation :floppy_disk:
âšī¸ There is a NON-Plus variant of Gen24 available, for this you have to purchase a battery license before you can add a battery to the configuration. Contact your installer incase "Battery Operation" feature is missing!
This can also be seen from the label on the inverter, incase "Plus" is missing:
Setting up the Fronius inverter for DIY battery
You will need a technician login to the inverter to make changes to the setup. Contact your solar installer incase you don't have the technician login!
âšī¸ You will also need a Fronius Smartmeter so that the system can measure consumption and generation. The Fronius Smart Meter models "63A-3", "TS 65A-3" and "IP"(wireless) are all compatible.
To use a Fronius inverter with a used EV battery, it needs to be setup for battery operation. This is done via the "Solar.start" app, under components, add battery, and select "BYD Premium HVS/M".
Notes on Scaled SOC + Fronius min/max SOC
In the Fronius settings it is possible to define "SOC minimum" and "SOC maximum". If you are using the Rescale SOC functionality in the Battery-Emulator, you will be applying double-rescaling of the usable capacity. It is recommended to only have one of the systems restrict the SOC window, which simplifies any troubleshooting.
Example of double-rescaling:
After adding the battery, connect the LilyGo Modbus terminals to the inverter according to this diagram (LEAF battery example)
When the low voltage communication is handled, also connect the high voltage side (LEAF battery example)
Which protocol to use
For this inverter type, use the option called "BYD 11kWh HVM battery over Modbus" under the "Inverter Protocol" setting. Also select the Inverter interface as "Modbus"
Starting and stopping the system
When turning the system on, follow this startup procedure. Work quick, to avoid the inverter getting stuck in battery not detected mode.
Startup
- First start the Fronius inverter via AC switch
- Turn on the Solar DC switch
- Turn on the Battery DC switch
- Start the LEAF battery BMS* with 12V
- Start the LilyGo hardware with 5V
- Then either handle precharge/contactor closing manually or let the LilyGo hardware handle it automatically
Shutdown
- Turn off the LEAF BMS*, cut the 12V supply to it. Wait 60seconds
- LilyGo status LED will turn red. The Fronius inverter will within 30seconds stop using the battery.
- After 30s has passed, turn off the contactors incase the LilyGo isn't setup to automatically handle them
- Turn off the Fronius inverter via AC switch
- Turn off the Battery DC switch
- Turn off the Solar DC switch
NOTE: LEAF BMS is controlled via terminal #2 IGN in all Leaf batteries
Day to day monitoring
The performance of the system can be tracked with the app "Solar.web". This app gives direct info on current output/input, SOC% level of battery, graphs, and more. No settings can be changed via this app, but it is a great tool for visualizations and quick status checks. img
Troubleshooting
Battery not detected
If you see "Battery not detected" in the Fronius apps;
Then verify the following
- Make sure High Voltage is present on inverter battery input. Also make sure the DC isolator switch on the front of the Fronius is turned ON
- Next step is checking that Modbus connection is active. Check the Events page, if you see this MODBUS_INVERTER_MISSING event;
It means that the Modbus connection is down. Verify that:
- Polarity of M0+ and MO- is correct
- Protective earth is attached in both Inverter and Battery side
- Check that wires are seated correctly in the Fronius connector. It is very easy to miss that the wires are not pushed in all the way.
- Try a different powersupply for the LilyGo. Powering it via USB from a computer can cause noise on the signal output. Powerbank or phone charger might have cleaner voltage output. If you see strange modbus errors, your powersupply might be noisy
- Make sure the Battery-Emulator has a good modbus connection to the Inverter
- Use shielded wires for a stable connection
- If you see "ModbusServerRTU.cpp [ 252] serve: RTU receive: E5 - Packet length error" in the USB output on the LilyGo, it is an indication that wiring is not perfect and occasionally get corrupted
Invalid battery size detected
If you see this error, it might be because the battery you are using is having higher allowed maxvoltage than the Fronius inverter accepts. A good example is using BYD Atto3 battery (Max 460V), with a Fronius Primo single phase inverter, that only can take 450.
A quick solution is to enable the "450V maxvoltage cap" setting. This fakes it so that all batteries appear as 450V max.
NOTE: This setting should not be used with Fronius Symo 3-phase inverters. These inverters are OK with battery voltages up to 700VDC
Advanced control of energy (Spot price, scheduled charge/discharge etc.)
Once you have your battery connected to the Fronius, it is possible to add additional hardware into the mix for advanced control of how energy should flow in the system. This is useful for those with spot-price electricity, or a nightly tarriff. Below are some examples you can utilize to control the Fronius Gen24 directly via Modbus TCP
- You can setup forced nightly charging via the webinterface of the Gen24 (Requires connecting to the inverter directly, not available via SolarWeb). This is very useful if you have a cheap night-tarriff, and want to charge the battery during the night and use the energy during the day
- Arska-node
- Reads Nordpool electricity prices (from EntsoE/Elering) and renewal energy forecast (solar from Open Meteo, solar/wind from Finnish FMI) as well as local real-time net power consumption/sales (smart meter HAN P1-port -tested in FI, Shelly 3EM). Based on this and time based data (+ optional ds18b20) the system updates variables (https://github.com/Netgalleria/arska-node/wiki/Channels#variables ) which are used in channel rules deciding whether the channel should be up/down/charging/discharging. Arska has also basic load management functionality (limits loads if consumption exceeds given limits). So far users have used the system mainly to optimise self-consumption of PV production and for scheduling flexible consumption at the cheapest time and selling any surplus when the price is high. Arska has controlled (through GPIO, Shelly and Tasmota relays) water boilers and (underfloor) heating. According to the developer, version 1.3 controls the Fronius GEN24 charging/discharging parameters (nWRte, OutWRte, StorCtl_Mod) based on given channel rules.
- Info on how to control Fronius Modbus via Homeassistant (German) https://www.libe.net/byd-modbus
- SBAM Charge Fronius battery using SolCast weather forecast.
Notes on offgrid/backup power use
Gen24 inverters that are smaller than 6.0kW do not support running full backup mode. On these smaller inverters, your best bet is to utilize the PVpoint outlet to get power out of the battery.
Smartmeter is mandatory for battery use!
Also note, that Fronius officially supports 2000h offgrid per yer on the Gen24. Exceeding this hour count voids the warranty.
To get around this offgrid limitation, you can create a microgrid using a 48V battery that powers a small inverter, and then connect the Gen24 to this microgrid. Then it will be essentially offgrid, without incrementing the 2000h max counter. Example of this running successfully has been done with a Victron a 7.2kwh(LV) , and FroniusGen24 with a 75Kwh battery(HV)
Notes on capacity reporting
Fronius supports 22kWh BYD batteries, and the protocol has a max value of 65535 Wh (unsigned 16bit value) for reporting Wh towards inverter. That means we have to restrict reported Wh number towards the inverter, for example when using a 75kWh Tesla battery, it will show up as max 60kWh in Fronius portal.
Note that this is just a REPORTED value, you can still use the full capacity of the battery. For instance, a 400kWh battery will show up as 60kWh, but the inverter will still use the full 400kWh