Easy Modbus
  1. Home
  2. Modbus register maps
  3. Fronius
  4. Symo / Primo / Galvo / Symo Hybrid via Datamanager (SunSpec int+SF)

Solar inverter · Modbus register map

Fronius Symo / Primo / Galvo / Symo Hybrid via Datamanager (SunSpec int+SF) Modbus register map

Updated 16 October 2026

Short answer

The Fronius Datamanager publishes each connected inverter as a SunSpec device (unit ID = inverter number) over Modbus TCP, and over RTU on Datamanager 2.0. With the int+SF model type the inverter model is 101/102/103 followed by nameplate, settings, status, immediate controls, multiple-MPPT and storage models. This map covers the 16-bit measurements, state, ratings and every writable control register.

This page lists 152 Modbus registers for the Fronius Symo / Primo / Galvo / Symo Hybrid via Datamanager (SunSpec int+SF) — 31 writable — with the table, 0-based wire address, data type, word order, scale, units and access of each, re-typed from Fronius’s own free documentation (linked below) and checked against it.

Manufacturer
Fronius
Model
Symo / Primo / Galvo / Symo Hybrid via Datamanager (SunSpec int+SF)
Equipment type
Solar inverter
Registers
152 (31 writable)
Transport
Modbus TCP, Modbus RTU
Default unit ID
Not stated
TCP port
502
Documented addressing
1-based (subtract 1 for the wire address)
Firmware
Register map archive version 1.1.7-0 (int+SF map with Symo Hybrid model 124); manual 42,0410,2049 rev. 033-24022026.
Also known as
Fronius Symo, Fronius Primo, Fronius Galvo, Fronius Symo Hybrid, Fronius IG Plus, Datamanager 2.0
Source document
Fronius Datamanager Modbus TCP & RTU (operating instructions) + Inverter_Register_Map_Int&SF_v1.0_with_SYMOHYBRID_MODEL_124.xlsx · 42,0410,2049 (033-24022026) · rev. 2026-02
Download CSV all columns JSON Manufacturer PDF ↗

Integration notes: Fronius Symo / Primo / Galvo / Symo Hybrid via Datamanager (SunSpec int+SF)

Integration in brief

Enable 'Data output via Modbus' = tcp in the Datamanager web UI, choose SunSpec Model Type int+SF, and poll unit ID = inverter number (inverter 00 = 100) on port 502. Read registers 40070-40109 (wire addresses 40069-40108) in one request and scale each value with its _SF register.

Minimum registers to map

Addresses are 0-based wire addresses. Enough to monitor and run the unit; map more as the job needs.

RegisterNameTypeWhyAccess
HR 40069Inverter IDUINT16Inverter model ID (101/102/103) - confirms int+SF layoutRead
HR 40083WINT16AC powerRead
HR 40084W_SFINT16AC power scale factorRead
HR 40107StUINT16Operating stateRead
HR 40232WMaxLimPctUINT16Active power limit %Read/write
HR 40236WMaxLim_EnaUINT16Enable/disable the power limitRead/write
HR 40250WMaxLimPct_SFINT16Power limit scale factorRead

Enable Modbus control & writes

Datamanager web interface > Settings > Modbus: set 'Data output via Modbus' to tcp (or rtu on Datamanager 2.0, factory default rtu there), pick SunSpec Model Type int+SF, and tick 'Inverter control via Modbus' to allow writes to models 123/124. 'Limit control' can restrict write access to listed IP addresses. Turning Modbus output off cancels any active Modbus control commands.

Communication loss & watchdog

Each control in model 123 has a *_RvrtTms fallback timer (0-28800 s) that restarts with every Modbus message received; when it expires the control ends and the next-priority control (e.g. dynamic power reduction) takes over. RvrtTms = 0 (default) means the setting stays until disabled.

Byte order & addressing

Network setup

Watch out for

Fronius Symo / Primo / Galvo / Symo Hybrid via Datamanager (SunSpec int+SF) Modbus registers

Address = 0-based wire address (the documented number is shown under it when it differs) · Order: ABCD = high word first, CDAB = low word first · Scale: engineering value = raw × scale.

152 of 152 shown
Fronius Symo / Primo / Galvo / Symo Hybrid via Datamanager (SunSpec int+SF) Modbus register map
TableAddressNameDescriptionTypeOrderScaleUnitsAccessValues / bits
HR211doc 212F_Delete_DataWrite 0xFFFF to erase ratings stored for this inverter.UINT16Read/write
HR212doc 213F_Store_DataWrite 0xFFFF to permanently store nameplate/settings ratings of all inverters.UINT16Read/write
HR213doc 214F_Active_State_CodeFronius state code currently shown by the inverter.UINT16Read
HR214doc 215F_Reset_All_Event_FlagsWrite 0xFFFF to clear event flags and the active state code.UINT16Read/write
HR215doc 216F_ModelTypeSelects float or int+SF models; write 1 or 2, then 6 to confirm.UINT16Read/write1 = Float models (111-113 / 211-213); 2 = Integer + SF models (101-103 / 201-203)
HR216doc 217F_Storage_Restrictions_View_ModeWhether model 124 reports local (Modbus) or system-wide storage limits.UINT16Read/write0 = Local (default); 1 = Global
HR40002doc 40003Common IDModel ID of this block.UINT16Read
HR40003doc 40004Common LLength of this block in registers.UINT16RegistersRead
HR40004doc 40005MnManufacturer name, reads Fronius.STRING[32]Read
HR40020doc 40021MdInverter model name.STRING[32]Read
HR40036doc 40037OptOptions string (Datamanager firmware on Datamanager units).STRING[16]Read
HR40044doc 40045VrInverter software version.STRING[16]Read
HR40052doc 40053SNSerial number (may fall back to a controller ID).STRING[32]Read
HR40068doc 40069DAModbus device address (unit ID).UINT16Read
HR40069doc 40070Inverter IDModel ID of this block.UINT16Read101 = Single phase; 102 = Split phase; 103 = Three phase
HR40070doc 40071Inverter LLength of this block in registers.UINT16RegistersRead
HR40071doc 40072ATotal AC current.UINT16× 10^SF (HR 40075)ARead
HR40072doc 40073AphAPhase A AC current.UINT16× 10^SF (HR 40075)ARead
HR40073doc 40074AphBPhase B AC current.UINT16× 10^SF (HR 40075)ARead
HR40074doc 40075AphCPhase C AC current.UINT16× 10^SF (HR 40075)ARead
HR40075doc 40076A_SFScale factor (power of ten) for A.INT16Read
HR40076doc 40077PPVphABLine voltage A-B.UINT16× 10^SF (HR 40082)VRead
HR40077doc 40078PPVphBCLine voltage B-C.UINT16× 10^SF (HR 40082)VRead
HR40078doc 40079PPVphCALine voltage C-A.UINT16× 10^SF (HR 40082)VRead
HR40079doc 40080PhVphAPhase A to neutral voltage.UINT16× 10^SF (HR 40082)VRead
HR40080doc 40081PhVphBPhase B to neutral voltage.UINT16× 10^SF (HR 40082)VRead
HR40081doc 40082PhVphCPhase C to neutral voltage.UINT16× 10^SF (HR 40082)VRead
HR40082doc 40083V_SFScale factor (power of ten) for V.INT16Read
HR40083doc 40084WAC active power.INT16× 10^SF (HR 40084)WRead
HR40084doc 40085W_SFScale factor (power of ten) for W.INT16Read
HR40085doc 40086HzGrid frequency.UINT16× 10^SF (HR 40086)HzRead
HR40086doc 40087Hz_SFScale factor (power of ten) for Hz.INT16Read
HR40087doc 40088VAAC apparent power.INT16× 10^SF (HR 40088)VARead
HR40088doc 40089VA_SFScale factor (power of ten) for VA.INT16Read
HR40089doc 40090VArAC reactive power.INT16× 10^SF (HR 40090)VArRead
HR40090doc 40091VAr_SFScale factor (power of ten) for VAr.INT16Read
HR40091doc 40092PFPower factor.INT16× 10^SF (HR 40092)%Read
HR40092doc 40093PF_SFScale factor (power of ten) for PF.INT16Read
HR40095doc 40096WH_SFScale factor (power of ten) for WH.INT16Read
HR40096doc 40097DCADC input current (single-input units only).UINT16× 10^SF (HR 40097)ARead
HR40097doc 40098DCA_SFScale factor (power of ten) for DCA.INT16Read
HR40098doc 40099DCVDC input voltage (single-input units only).UINT16× 10^SF (HR 40099)VRead
HR40099doc 40100DCV_SFScale factor (power of ten) for DCV.INT16Read
HR40100doc 40101DCWTotal DC input power.INT16× 10^SF (HR 40101)WRead
HR40101doc 40102DCW_SFScale factor (power of ten) for DCW.INT16Read
HR40107doc 40108StSunSpec operating state.UINT16Read1 = Off; 2 = Sleeping (auto shutdown); 3 = Starting; 4 = Producing normally (MPPT); 5 = Throttled (power reduction); 6 = Shutting down; 7 = Fault; 8 = Standby
HR40108doc 40109StVndFronius operating state, including codes 9-13.UINT16Read1 = Off; 2 = Sleeping (auto shutdown); 3 = Starting; 4 = Producing normally (MPPT); 5 = Throttled (power reduction); 6 = Shutting down; 7 = Fault; 8 = Standby; 9 = No Solar Net bus init; 10 = No communication with inverter; 11 = Solar Net overcurrent; 12 = Bootloader (updating); 13 = AFCI event (arc detected)
HR40121doc 40122Nameplate IDModel ID of this block.UINT16Read
HR40122doc 40123Nameplate LLength of this block in registers.UINT16RegistersRead
HR40123doc 40124DERTypDevice type; 4 = PV device.UINT16Read
HR40124doc 40125WRtgRated continuous active power.UINT16× 10^SF (HR 40125)WRead
HR40125doc 40126WRtg_SFScale factor (power of ten) for WRtg.INT16Read
HR40126doc 40127VARtgRated apparent power.UINT16× 10^SF (HR 40127)VARead
HR40127doc 40128VARtg_SFScale factor (power of ten) for VARtg.INT16Read
HR40128doc 40129VArRtgQ1Rated reactive power, quadrant 1.INT16× 10^SF (HR 40132)varRead
HR40131doc 40132VArRtgQ4Rated reactive power, quadrant 4.INT16× 10^SF (HR 40132)varRead
HR40132doc 40133VArRtg_SFScale factor (power of ten) for VArRtg.INT16Read
HR40133doc 40134ARtgRated AC current.UINT16× 10^SF (HR 40134)ARead
HR40134doc 40135ARtg_SFScale factor (power of ten) for ARtg.INT16Read
HR40135doc 40136PFRtgQ1Minimum power factor capability, quadrant 1.INT16× 10^SF (HR 40139)cos()Read
HR40138doc 40139PFRtgQ4Minimum power factor capability, quadrant 4.INT16× 10^SF (HR 40139)cos()Read
HR40139doc 40140PFRtg_SFScale factor (power of ten) for PFRtg.INT16Read
HR40140doc 40141WHRtgRated storage energy.UINT16× 10^SF (HR 40141)WhRead
HR40141doc 40142WHRtg_SFScale factor (power of ten) for WHRtg.INT16Read
HR40144doc 40145MaxChaRteMaximum battery charge power.UINT16× 10^SF (HR 40145)WRead
HR40145doc 40146MaxChaRte_SFScale factor (power of ten) for MaxChaRte.INT16Read
HR40146doc 40147MaxDisChaRteMaximum battery discharge power.UINT16× 10^SF (HR 40147)WRead
HR40147doc 40148MaxDisChaRte_SFScale factor (power of ten) for MaxDisChaRte.INT16Read
HR40149doc 40150Settings IDModel ID of this block.UINT16Read
HR40150doc 40151Settings LLength of this block in registers.UINT16RegistersRead
HR40151doc 40152WMaxMaximum active power setting.UINT16× 10^SF (HR 40171)WRead/write
HR40152doc 40153VRefReference voltage at the grid connection point.UINT16× 10^SF (HR 40172)VRead
HR40153doc 40154VRefOfsVoltage offset between grid connection point and inverter.INT16× 10^SF (HR 40173)VRead/write
HR40156doc 40157VAMaxMaximum apparent power setting.UINT16× 10^SF (HR 40175)VARead/write
HR40157doc 40158VARMaxQ1Reactive power limit, quadrant 1.INT16× 10^SF (HR 40176)varRead
HR40160doc 40161VARMaxQ4Reactive power limit, quadrant 4.INT16× 10^SF (HR 40176)varRead
HR40162doc 40163PFMinQ1Minimum power factor setting, quadrant 1.INT16× 10^SF (HR 40178)cos()Read
HR40165doc 40166PFMinQ4Minimum power factor setting, quadrant 4.INT16× 10^SF (HR 40178)cos()Read
HR40171doc 40172WMax_SFScale factor (power of ten) for WMax.INT16Read
HR40172doc 40173VRef_SFScale factor (power of ten) for VRef.INT16Read
HR40173doc 40174VRefOfs_SFScale factor (power of ten) for VRefOfs.INT16Read
HR40175doc 40176VAMax_SFScale factor (power of ten) for VAMax.INT16Read
HR40176doc 40177VARMax_SFScale factor (power of ten) for VARMax.INT16Read
HR40178doc 40179PFMin_SFScale factor (power of ten) for PFMin.INT16Read
HR40181doc 40182Status IDModel ID of this block.UINT16Read
HR40182doc 40183Status LLength of this block in registers.UINT16RegistersRead
HR40183doc 40184PVConnPV inverter connection status bits.BITMAP16Readbit 0 = Connected; bit 1 = Available; bit 2 = Operating; bit 3 = Test
HR40184doc 40185StorConnStorage connection status bits.BITMAP16Readbit 0 = Connected; bit 1 = Available; bit 2 = Operating; bit 3 = Test
HR40185doc 40186ECPConnGrid feed-in status.BITMAP16Readbit 0 = Connected to grid (feeding)
HR40218doc 40219TmSrcSTRING[8]Read
HR40227doc 40228Controls IDModel ID of this block.UINT16Read
HR40228doc 40229Controls LLength of this block in registers.UINT16RegistersRead
HR40229doc 40230Conn_WinTmsRandom start window for connect/disconnect commands.UINT16SecsRead/write
HR40230doc 40231Conn_RvrtTmsFallback timer for the connect/disconnect command; 0 = no fallback.UINT16SecsRead/write
HR40231doc 40232ConnWrite 0 for standby (no feed-in), 1 to resume feed-in.UINT16Read/write0 = Disconnected (standby); 1 = Connected (feeding grid)
HR40232doc 40233WMaxLimPctActive power limit as percent of WMax.UINT16× 10^SF (HR 40250)% WMaxRead/write
HR40233doc 40234WMaxLimPct_WinTmsRandom start window for the power limit.UINT16SecsRead/write
HR40234doc 40235WMaxLimPct_RvrtTmsFallback timer for the power limit; restarts on every Modbus message, 0 = none.UINT16SecsRead/write
HR40235doc 40236WMaxLimPct_RmpTmsRamp time to the new power limit.UINT16SecsRead/write
HR40236doc 40237WMaxLim_EnaStarts (1) or ends (0) the power limit.UINT16Read/write0 = Disabled; 1 = Enabled
HR40237doc 40238OutPFSetFixed power factor setpoint (signed, see sign convention).INT16× 10^SF (HR 40251)cos()Read/write
HR40238doc 40239OutPFSet_WinTmsRandom start window for the power factor setpoint.UINT16SecsRead/write
HR40239doc 40240OutPFSet_RvrtTmsFallback timer for the power factor setpoint; 0 = none.UINT16SecsRead/write
HR40240doc 40241OutPFSet_RmpTmsRamp time to the new power factor.UINT16SecsRead/write
HR40241doc 40242OutPFSet_EnaStarts (1) or ends (0) the fixed power factor mode.UINT16Read/write0 = Disabled; 1 = Enabled
HR40243doc 40244VArMaxPctFixed reactive power as percent of VArMax.INT16× 10^SF (HR 40252)% VArMaxRead/write
HR40245doc 40246VArPct_WinTmsRandom start window for the reactive power setpoint.UINT16SecsRead/write
HR40246doc 40247VArPct_RvrtTmsFallback timer for the reactive power setpoint; 0 = none.UINT16SecsRead/write
HR40247doc 40248VArPct_RmpTmsRamp time to the new reactive power value.UINT16SecsRead/write
HR40248doc 40249VArPct_ModReactive power limit mode (read-only).UINT16Read2 = VAr limit as % of VArMax
HR40249doc 40250VArPct_EnaStarts (1) or ends (0) the fixed reactive power mode.UINT16Read/write0 = Disabled; 1 = Enabled
HR40250doc 40251WMaxLimPct_SFScale factor (power of ten) for WMaxLimPct.INT16Read
HR40251doc 40252OutPFSet_SFScale factor (power of ten) for OutPFSet.INT16Read
HR40252doc 40253VArPct_SFScale factor (power of ten) for VArPct.INT16Read
HR40253doc 40254MPPT IDModel ID of this block.UINT16Read
HR40254doc 40255MPPT LLength of this block in registers.UINT16Read
HR40255doc 40256MPPT DCA_SFScale factor (power of ten) for DCA.INT16Read
HR40256doc 40257MPPT DCV_SFScale factor (power of ten) for DCV.INT16Read
HR40257doc 40258MPPT DCW_SFScale factor (power of ten) for DCW.INT16Read
HR40258doc 40259MPPT DCWH_SFScale factor (power of ten) for DCWH.INT16Read
HR40261doc 40262NNumber of DC inputs reported in this model.UINT16Read
HR40263doc 402641_IDInput number 1.UINT16Read
HR40264doc 402651_IDStrLabel of DC input 1.STRING[16]Read
HR40272doc 402731_DCADC current of input 1.UINT16× 10^SF (HR 40255)ARead
HR40273doc 402741_DCVDC voltage of input 1.UINT16× 10^SF (HR 40256)VRead
HR40274doc 402751_DCWDC power of input 1.UINT16× 10^SF (HR 40257)WRead
HR40280doc 402811_DCStUINT16Read
HR40283doc 402842_IDInput number 2.UINT16Read
HR40284doc 402852_IDStrLabel of DC input 2.STRING[16]Read
HR40292doc 402932_DCADC current of input 2.UINT16× 10^SF (HR 40255)ARead
HR40293doc 402942_DCVDC voltage of input 2.UINT16× 10^SF (HR 40256)VRead
HR40294doc 402952_DCWDC power of input 2.UINT16× 10^SF (HR 40257)WRead
HR40300doc 403012_DCStUINT16Read
HR40303doc 40304Storage IDModel ID of this block.UINT16Read
HR40304doc 40305Storage LLength of this block in registers.UINT16RegistersRead
HR40305doc 40306WchaMaxReference power for InWRte/OutWRte.UINT16× 10^SF (HR 40321)WRead
HR40306doc 40307WchaGraMaximum charge ramp.UINT16× 10^SF (HR 40322)% WChaMax/secRead
HR40307doc 40308WdisChaGraMaximum discharge ramp.UINT16× 10^SF (HR 40322)% WChaMax/secRead
HR40308doc 40309StorCtl_ModActivates the charge and/or discharge limit window.BITMAP16Read/writebit 0 = Charge limit (InWRte) active; bit 1 = Discharge limit (OutWRte) active
HR40310doc 40311MinRsvPctMinimum battery reserve, percent of capacity.UINT16× 10^SF (HR 40324)% WChaMaxRead/write
HR40311doc 40312ChaStateBattery state of charge.UINT16× 10^SF (HR 40325)% AhrRtgRead
HR40314doc 40315ChaStBattery operating status.UINT16Read1 = Off; 2 = Empty; 3 = Discharging; 4 = Charging; 5 = Full; 6 = Holding; 7 = Testing
HR40315doc 40316OutWRteDischarge limit, percent of WChaMax; negative forces charging.INT16× 10^SF (HR 40328)% WChaMaxRead/write
HR40316doc 40317InWRteCharge limit, percent of WChaMax; negative forces discharging.INT16× 10^SF (HR 40328)% WChaMaxRead/write
HR40320doc 40321ChaGriSetAllows or blocks battery charging from the grid.UINT16Read/write0 = PV only (grid charging disabled); 1 = Grid charging enabled
HR40321doc 40322WchaMax_SFScale factor (power of ten) for WchaMax.INT16Read
HR40322doc 40323WchaDisChaGra_SFScale factor (power of ten) for WchaDisChaGra.INT16Read
HR40324doc 40325MinRsvPct_SFScale factor (power of ten) for MinRsvPct.INT16Read
HR40325doc 40326ChaState_SFScale factor (power of ten) for ChaState.INT16Read
HR40328doc 40329InOutWRte_SFScale factor (power of ten) for InOutWRte.INT16Read
HR40329doc 40330End IDEnd-of-map marker, reads 0xFFFF.UINT16Read
HR40330doc 40331End LEnd block length, reads 0.UINT16RegistersRead

Notes on this map

Check it against the live device. A register map tells you what the controller can expose; the unit in front of you may differ by firmware or options. Read a few registers and compare them with the unit’s own display; for a 32-bit value the float and byte-order decoder shows all four word orders at once, so a wrong word order or scale is obvious. New to this? Read what a register map is and why addresses are off by one.

Questions about the Fronius Symo / Primo / Galvo / Symo Hybrid via Datamanager (SunSpec int+SF)

What Modbus registers does the Fronius Symo / Primo / Galvo / Symo Hybrid via Datamanager (SunSpec int+SF) have?

This map lists 152 registers: 152 holding registers. 31 of them can be written. Registers vary with firmware, options and configuration, so confirm against the device.

Are the Fronius Symo / Primo / Galvo / Symo Hybrid via Datamanager (SunSpec int+SF) Modbus addresses 0-based or 1-based?

The manufacturer's document numbers registers 1-based (subtract 1 for the wire address). Every address on this page is the 0-based wire address you put in the request; the documented number is shown under it where it differs. Fronius numbers registers from 1 (SunSpec base register 40001) and says to send the register number minus one: register 40001 is requested at address 40000 (0x9C40). The manual's RTU example reads register 40005 with address bytes 9C 44. Fronius registers 212-217 follow the same rule (212 -> 211).

What are the minimum Modbus registers to integrate the Fronius Symo / Primo / Galvo / Symo Hybrid via Datamanager (SunSpec int+SF)?

Start with HR 40069 Inverter ID (Inverter model ID (101/102/103) - confirms int+SF layout); HR 40083 W (AC power); HR 40084 W_SF (AC power scale factor); HR 40107 St (Operating state); HR 40232 WMaxLimPct (Active power limit %); HR 40236 WMaxLim_Ena (Enable/disable the power limit); HR 40250 WMaxLimPct_SF (Power limit scale factor).

How do I enable Modbus control of the Fronius Symo / Primo / Galvo / Symo Hybrid via Datamanager (SunSpec int+SF)?

Datamanager web interface > Settings > Modbus: set 'Data output via Modbus' to tcp (or rtu on Datamanager 2.0, factory default rtu there), pick SunSpec Model Type int+SF, and tick 'Inverter control via Modbus' to allow writes to models 123/124. 'Limit control' can restrict write access to listed IP addresses. Turning Modbus output off cancels any active Modbus control commands.

What happens when the Fronius Symo / Primo / Galvo / Symo Hybrid via Datamanager (SunSpec int+SF) loses Modbus communication?

Each control in model 123 has a *_RvrtTms fallback timer (0-28800 s) that restarts with every Modbus message received; when it expires the control ends and the next-priority control (e.g. dynamic power reduction) takes over. RvrtTms = 0 (default) means the setting stays until disabled.

Where is the official Fronius Symo / Primo / Galvo / Symo Hybrid via Datamanager (SunSpec int+SF) Modbus documentation?

The source is Fronius Datamanager Modbus TCP & RTU (operating instructions) + Inverter_Register_Map_Int&SF_v1.0_with_SYMOHYBRID_MODEL_124.xlsx (42,0410,2049 (033-24022026)), revision 2026-02, published free by Fronius at https://www.fronius.com/en/~/downloads/Solar%20Energy/Operating%20Instructions/42,0410,2049.pdf.

More Fronius Modbus register maps

Source: Fronius Datamanager Modbus TCP & RTU (operating instructions) + Inverter_Register_Map_Int&SF_v1.0_with_SYMOHYBRID_MODEL_124.xlsx · 42,0410,2049 (033-24022026) · rev. 2026-02. Register numbers, types, scaling and units are reproduced as published; descriptions are our own.