-
Notifications
You must be signed in to change notification settings - Fork 184
Inverter: Fronius
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.
The code works with the following Fronius inverters
- Fronius Primo Gen24 Plus (all sizes)
- Fronius Symo Gen24 Plus (all sizes)
- Fronius Symo Hybrid 3.0/4.0/5.0-3-S (ℹ️ no longer available for purchase)
ℹ️ 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:
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".
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)
Make sure that the settings in the "USER_SETTINGS.h" file are correct. The line:
#define BYD_MODBUS //Enable this line to emulate a "BYD 11kWh HVM battery" over Modbus RTU
Needs to be uncommented for the software to emulate the BYD protocol over Modbus. Next step is then to select the battery that you intend to use, for instance if you use LEAF battery, make sure the following line is uncommented:
#define NISSAN_LEAF_BATTERY
After setting this up, flash the board!
When turning the system on, follow this startup procedure. Work quick, to avoid the inverter getting stuck in battery not detected mode.
- 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
- 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 #4 IGN in all Leaf batteries
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
If you see "Battery not detected" in the Fronius apps;
Then verify the following
- Make sure High Voltage is present on inverter battery input
- 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
- 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
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 (currently solar/wind only 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. Developer has have made a prototype version (branch dev-1.1-battery), which should be able to control 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.