Integration of a Fronius Symo Gen 24 plus Inverter via Modbus TCP

I just tried to change it by connecting direct to access point on 192.168.250.181 and it still wont let my save changes. I’m logged in as Technician.

Thoughts?

Yeah thats what I have started doing. I dont have a consumption meter so i take my load measures from the powerwall sensors and create a scaling factor that is devided by 2 and sent to both inverters.

I keep my inverters in throttled mode all the time and just send the watt max % scaling factor to my inverters when I am getting charged for FIT
When my solar feed in is at a positive price i send the 100% command

My scaling factor acts as the trigger with a filter setup to stop duplicate scaling factors from triggering the flow.

Have also setup some switches so i can switch between node red limiting my inverters then back to HA automations if needed.
I had to configure dummy sensors to get around the HA compulsory modbus sensor change.

Scaling factor reading from a HA sensor (Used for self consumption of solar, no send to grid):

Close up pics of the flow


2 Likes

Figured it out - Not sure why this worked but it did:

Did it on phone - navigated to the page via IP on Safari, changed the priority, then refreshed as it was spinning its wheel, then tried it again, and it saved.

refreshthepage

1 Like

Edited the wrong post…

1 Like

You are onto it. Worked like a charm. What is with that? Anyway, thanks. Now onto the rest of the setup.

Oh wow this is awesome. This is exactly what I want to be able to do.
I am choosing between this and sungrow system. Fronius seems to really work well with 3 phase which my system is.

Thank you for sharing this info.

Did you work out how to control your byd with home assistant via fronius ?

Hey all, just wanted to post my SUMMER Flow (still in WIP) in case anyone is interested.

1 Like

Hi I’ve recently just joined this forum is there anyone on this chat that is still active, regarding the topic?

Hi all i am buying a BMS system from China for high voltage battery system for solar storage i am using the Fronius Symo Gen 24 plus inverter, the supplier is asking me for the BMS to Inverter communication Protocol. This is an example of a protocol that they require

Voltronic Power
Inverter and BMS 485 communication Protocol

  1. BMS Pin Definition
    1.1 BMS Card

    Definition
    PIN 4 RS485B
    PIN 5 RS485A

1.2 Remote Box

Definition

PIN 3 RS485B
PIN 5 RS485A

  1. Communication parameter configuration
    Baud rate Start bit Data bit Parity bit Stop bit
    9600 1 8 N 1

  2. Communication frame format
    Device query command format
    Index 1 2 3 4 5
    Function Slave ID Command type Start Address of data Data Length *CRC
    Bytes 1 1 2 2 2
    BMS address Function code MSB LSB MSB LSB LSB MSB
    *The CRC check range is all of the bytes before the CRC field,

Command type table
Index Command type Description
1 0x03 Read Data
2 0x10 Write Data

BMS normal response format
Index 1 2 3 4 5
Function Slave ID Command type Data Length Data information CRC
Bytes 1 1 2 Data length * 2 2
BMS address Function code MSB LSB MSB LSB LSB MSB

BMS abnormal response format
Index 1 2 3 4
Function Slave ID Command type + 128 Error code CRC
Bytes 1 1 1 2

Error code
Index Error code Note
1 0x01 Slave ID should be within 1~16. Slave ID error if out of range
2 0x02 Command type error if command didn’t exist,
3 0x03 CRC error

  1. Command lists
    4.1 Version information
    Data Address Byte Size Parameter Parameter Unit
    0x0001 2 Protocol type
    0x0002 2 Protocol version
    0x0003 4 BMS firmware version
    0x0005 4 BMS hardware version

4.2 BMS general status parameters inquiry
Data Address Byte Size Parameter Parameter Unit
0x0010 2 Number of cell: L pcs
0x0N11 2 Cell N20+1 voltage 0.1V
0x0N12 2 Cell N
20+2 voltage
0x0N13 2 Cell N20+3 voltage
0x0N14 2 Cell N
20+4 voltage
0x0N15 2 Cell N20+5 voltage
0x0N16 2 Cell N
20+6 voltage
0x0N17 2 Cell N20+7 voltage
0x0N18 2 Cell N
20+8 voltage
0x0N19 2 Cell N20+9 voltage
0x0N1A 2 Cell N
20+10 voltage
0x0N1B 2 Cell N20+11 voltage
0x0N1C 2 Cell N
20+12 voltage
0x0N1D 2 Cell N20+13 voltage
0x0N1E 2 Cell N
20+14 voltage
0x0N1F 2 Cell N20+15 voltage
0x0N20 2 Cell N
20+16 voltage
0x0N21 2 Cell N20+17 voltage
0x0N22 2 Cell N
20+18 voltage
0x0N23 2 Cell N20+19 voltage
0x0N24 2 Cell N20+20 voltage
0x0025 2 Number of temperature sensor: M pcs
0x0N26 2 Temperature Sensor N
10+1 0.1K
(Kelvin temperature)
0x0N27 2 Temperature Sensor N10+2
0x0N28 2 Temperature Sensor N
10+3
0x0N29 2 Temperature Sensor N10+4
0x0N2A 2 Temperature Sensor N
10+5
0x0N2B 2 Temperature Sensor N10+6
0x0N2C 2 Temperature Sensor N
10+7
0x0N2D 2 Temperature Sensor N10+8
0x0N2E 2 Temperature Sensor N
10+9
0x0N2F 2 Temperature Sensor N*10+10
0x0030 2 Module charge current 0.1A
0x0031 2 Module discharge current 0.1A
0x0032 2 Module voltage 0.1V
0x0033 2 SOC %
0x0034 4 Module total capacity mAH
*If the parameter doesn’t exist, return 0x0000

4.3 BMS warning information inquiry
Data Address Byte Size Parameter Note
0x0N40 2 Number of cell: L
0x0N41 2 Cell N20+1/ N20+2 voltage state 00H: normal
01H: below lower limit
02H: above higher limit
F0H: other error
0x0N42 2 Cell N20+3/ N20+4 voltage state
0x0N43 2 Cell N20+5/ N20+6 voltage state
0x0N44 2 Cell N20+7/ N20+8 voltage state
0x0N45 2 Cell N20+9/ N20+10 voltage state
0x0N46 2 Cell N20+11/ N20+12 voltage state
0x0N47 2 Cell N20+13/ N20+14 voltage state
0x0N48 2 Cell N20+15/ N20+16 voltage state
0x0N49 2 Cell N20+17/ N20+18 voltage state
0x0N4A 2 Cell N20+19/ N20+20 voltage state
0x0050 2 Number of temperature sensor: M
0x0N51 2 BMS Temperature N10+1/ N10+2 state 00H: normal
01H: below lower limit
02H: above higher limit
F0H: other error
0x0N52 2 BMS Temperature N10+3/ N10+4 state
0x0N53 2 BMS Temperature N10+5/ N10+6 state
0x0N54 2 BMS Temperature N10+7/ N10+8 state
0x0N55 2 BMS Temperature N10+9/ N10+10 state
0x0060 2 Module charge voltage state 00H: normal
01H: below lower limit
02H: above higher limit
F0H: other error
0x0061 2 Module discharge voltage state
0x0062 2 Cell charge voltage state
0x0063 2 Cell discharge voltage state
0x0064 2 Module charge current state
0x0065 2 Module discharge current state
0x0066 2 Module charge temperature state
0x0067 2 Module discharge temperature state
0x0068 2 Cell charge temperature state
0x0069 2 Cell discharge temperature state
*If the parameter didn’t exist, return 0x0000

4.4 BMS charger and discharge information inquiry
Data Address Byte Size Parameter Parameter Unit
0x0070 2 Charge voltage limit 0.1V
0x0071 2 Discharge voltage limit 0.1V
0x0072 2 Charge current limit 0.1A
0x0073 2 Discharge current limit 0.1A
0x0074 2 Charge, discharge status

Charge, discharge status:
Bit Content Note
7 Charge enable 1: yes 0: request stop charge
6 Discharge enable 1: yes 0: request stop discharge
5 Charge immediately 1: request: 0: no request
4 Charge immediately2 1: request: 0: no request
3 Full charge request 1: request: 0: no request
2
1
0
0x0075 4 Run time to empty S

*Bit 5: Set when SoC is very low, like 5~9%, device need charge immediately until this flag disappear.
*Bit 4: Set when SoC is low, like 10~14%, it will be better that device charge immediately until this flag disappear.
*Bit 3: Set when BMS need device fully charged.

Hi,

This thread is so big, hard to check all posts.
I am currently looking for a solution to set the minimum state of charge for my battery. So that i can set it to 100% if there will be bad weather or something like that.

Any ideas?

This thread is more likely to help you and a lot less posts. Also it is important to understand the modbus guides from Fronius and the settings you need to make

1 Like

Hej Steffan
Jeg er dansk og vil meget gerne chatte med dig omkring en løsning.
Jeg har Modbus adgang fra HA og Node-Red til min Fronius Gen 24 10+ inverter, men får fejl som illegal data address (register not supported by device). Jeg tænker der er en åbenlys grund jeg har overset.
Er du på FB i Dansk Home Assistant gruppen, eller hvordan er det nemmest at række ud?

Tjenare, då har du antagligen fel typeset på i din inverter. Kolla så du har Int + SF och icke float påslaget.
MVH Friskens