{ "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json", "mbmap": 2, "vendor": "Fronius", "model": "Primo 5", "models": ["Primo 5"], "vendor_website": "fronius.com", "revision": 3, "revised": "2026-11-10", "source": "Fronius, \"Fronius Datamanager Modbus TCP & RTU\" (42,0410,2049, 033-24022026) and \"Modbus SunSpec Maps, State Codes and Events\" (archive 1.1.7); https://www.fronius.com/~/downloads/Solar%20Energy/Operating%20Instructions/42,0410,2049.pdf", "sources": [ {"title": "Fronius Datamanager Modbus TCP & RTU", "version": "42,0410,2049 033-24022026", "date": "2026-02", "url": "https://www.fronius.com/~/downloads/Solar%20Energy/Operating%20Instructions/42,0410,2049.pdf", "note": "addressing, device IDs, data types, unavailable values"}, {"title": "Modbus SunSpec Maps, State Codes and Events (register map spreadsheets)", "version": "archive 1.1.7", "date": "2024-04", "url": "https://www.fronius.com/~/downloads/Solar%20Energy/Operating%20Instructions/SE_EI_Modbus_Sunspec_Maps_State_Codes_Events_EN.zip", "note": "float models 111-113, 120-123, 160"} ], "notes": [ "Fronius inverters with the Datamanager 2.0, read through SunSpec models (float models 111-113, 120-123, 160).", "Addresses are the register numbers printed in the manual (1-based): the first register, 40001, is sent on the wire as 40000.", "Register positions after the inverter model change with the SunSpec model type (float or integer with scale factors), selected in the Datamanager web interface or in register 216.", "A value the device cannot provide is returned as the unavailable value of its type (see sentinels).", "Single-phase inverter: the phase B and C values read as unavailable." ], "unit_id": 1, "byte_order": "big", "word_order": "big", "address_base": 1, "x_status": "official", "enums": { "sunspec_state": {"1": "Off", "2": "Sleeping", "3": "Starting", "4": "Running (MPPT)", "5": "Throttled", "6": "Shutting down", "7": "Fault", "8": "Standby"}, "fronius_state": {"1": "Off", "2": "Sleeping", "3": "Starting", "4": "Running (MPPT)", "5": "Throttled", "6": "Shutting down", "7": "Fault", "8": "Standby", "9": "No SolarNet communication", "10": "No communication with inverter", "11": "Overcurrent on SolarNet plug", "12": "Inverter being updated", "13": "AFCI event"}, "disabled_enabled": {"0": "Disabled", "1": "Enabled"}, "model_type": {"1": "Float", "2": "Integer with scale factors"}, "der_type": {"4": "PV"} }, "sentinels": {"uint16": {"0xFFFF": "Not available"}, "int16": {"-32768": "Not available"}, "uint32": {"0xFFFFFFFF": "Not available"}}, "registers": [ {"name": "Active state code", "area": "holding", "address": 214, "type": "uint16", "access": "R"}, {"name": "SunSpec model type", "area": "holding", "address": 216, "type": "uint16", "access": "RW", "enum": "model_type"}, {"name": "Site power", "area": "holding", "address": 500, "type": "uint32", "unit": "W", "access": "R"}, {"name": "Site energy today", "area": "holding", "address": 502, "type": "uint64", "unit": "Wh", "access": "R"}, {"name": "Site energy this year", "area": "holding", "address": 506, "type": "uint64", "unit": "Wh", "access": "R"}, {"name": "Site energy total", "area": "holding", "address": 510, "type": "uint64", "unit": "Wh", "access": "R"}, {"name": "SunSpec identifier", "area": "holding", "address": 40001, "type": "uint32", "access": "R", "reference": "0x53756E53"}, {"name": "Common model ID", "area": "holding", "address": 40003, "type": "uint16", "access": "R", "reference": 1}, {"name": "Manufacturer", "area": "holding", "address": 40005, "type": "string", "length": 16, "access": "R", "reference": "Fronius"}, {"name": "Device model", "area": "holding", "address": 40021, "type": "string", "length": 16, "access": "R"}, {"name": "Options (Datamanager firmware)", "area": "holding", "address": 40037, "type": "string", "length": 8, "access": "R"}, {"name": "Inverter software version", "area": "holding", "address": 40045, "type": "string", "length": 8, "access": "R"}, {"name": "Serial number", "area": "holding", "address": 40053, "type": "string", "length": 16, "access": "R"}, {"name": "Modbus device address", "area": "holding", "address": 40069, "type": "uint16", "access": "R"}, {"name": "AC current", "area": "holding", "address": 40072, "type": "float32", "unit": "A", "access": "R"}, {"name": "AC current phase A", "area": "holding", "address": 40074, "type": "float32", "unit": "A", "access": "R"}, {"name": "AC current phase B", "area": "holding", "address": 40076, "type": "float32", "unit": "A", "access": "R"}, {"name": "AC current phase C", "area": "holding", "address": 40078, "type": "float32", "unit": "A", "access": "R"}, {"name": "AC voltage A-B", "area": "holding", "address": 40080, "type": "float32", "unit": "V", "access": "R"}, {"name": "AC voltage B-C", "area": "holding", "address": 40082, "type": "float32", "unit": "V", "access": "R"}, {"name": "AC voltage C-A", "area": "holding", "address": 40084, "type": "float32", "unit": "V", "access": "R"}, {"name": "AC voltage phase A to neutral", "area": "holding", "address": 40086, "type": "float32", "unit": "V", "access": "R"}, {"name": "AC voltage phase B to neutral", "area": "holding", "address": 40088, "type": "float32", "unit": "V", "access": "R"}, {"name": "AC voltage phase C to neutral", "area": "holding", "address": 40090, "type": "float32", "unit": "V", "access": "R"}, {"name": "AC power", "area": "holding", "address": 40092, "type": "float32", "unit": "W", "access": "R"}, {"name": "AC frequency", "area": "holding", "address": 40094, "type": "float32", "unit": "Hz", "access": "R"}, {"name": "AC apparent power", "area": "holding", "address": 40096, "type": "float32", "unit": "VA", "access": "R"}, {"name": "AC reactive power", "area": "holding", "address": 40098, "type": "float32", "unit": "var", "access": "R"}, {"name": "Power factor", "area": "holding", "address": 40100, "type": "float32", "unit": "%", "access": "R"}, {"name": "AC lifetime energy", "area": "holding", "address": 40102, "type": "float32", "unit": "Wh", "access": "R", "description": "Documented as possibly imprecise"}, {"name": "DC current", "area": "holding", "address": 40104, "type": "float32", "unit": "A", "access": "R", "description": "Not available when the inverter has several DC inputs; use the string registers"}, {"name": "DC voltage", "area": "holding", "address": 40106, "type": "float32", "unit": "V", "access": "R", "description": "Not available when the inverter has several DC inputs; use the string registers"}, {"name": "DC power", "area": "holding", "address": 40108, "type": "float32", "unit": "W", "access": "R"}, {"name": "Operating state", "area": "holding", "address": 40118, "type": "uint16", "access": "R", "enum": "sunspec_state"}, {"name": "Fronius operating state", "area": "holding", "address": 40119, "type": "uint16", "access": "R", "enum": "fronius_state"}, {"name": "Event flags 1", "area": "holding", "address": 40120, "type": "uint32", "access": "R"}, {"name": "Event flags 2", "area": "holding", "address": 40122, "type": "uint32", "access": "R"}, {"name": "Vendor event flags 1", "area": "holding", "address": 40124, "type": "uint32", "access": "R"}, {"name": "Vendor event flags 2", "area": "holding", "address": 40126, "type": "uint32", "access": "R"}, {"name": "Vendor event flags 3", "area": "holding", "address": 40128, "type": "uint32", "access": "R"}, {"name": "Vendor event flags 4", "area": "holding", "address": 40130, "type": "uint32", "access": "R"}, {"name": "Model ID (120)", "area": "holding", "address": 40132, "type": "uint16", "access": "R", "reference": 120}, {"name": "DER type", "area": "holding", "address": 40134, "type": "uint16", "access": "R", "reference": 4, "enum": "der_type"}, {"name": "Rated power", "area": "holding", "address": 40135, "type": "uint16", "unit": "W", "scale_factor": "WRtg_SF", "access": "R"}, {"name": "WRtg_SF", "area": "holding", "address": 40136, "type": "int16", "description": "Scale factor (power of ten)", "access": "R"}, {"name": "Rated apparent power", "area": "holding", "address": 40137, "type": "uint16", "unit": "VA", "scale_factor": "VARtg_SF", "access": "R"}, {"name": "VARtg_SF", "area": "holding", "address": 40138, "type": "int16", "description": "Scale factor (power of ten)", "access": "R"}, {"name": "Rated reactive power Q1", "area": "holding", "address": 40139, "type": "int16", "unit": "var", "scale_factor": "VArRtg_SF", "access": "R"}, {"name": "Rated reactive power Q4", "area": "holding", "address": 40142, "type": "int16", "unit": "var", "scale_factor": "VArRtg_SF", "access": "R"}, {"name": "VArRtg_SF", "area": "holding", "address": 40143, "type": "int16", "description": "Scale factor (power of ten)", "access": "R"}, {"name": "Rated current", "area": "holding", "address": 40144, "type": "uint16", "unit": "A", "scale_factor": "ARtg_SF", "access": "R"}, {"name": "ARtg_SF", "area": "holding", "address": 40145, "type": "int16", "description": "Scale factor (power of ten)", "access": "R"}, {"name": "Minimum power factor Q1", "area": "holding", "address": 40146, "type": "int16", "scale_factor": "PFRtg_SF", "access": "R"}, {"name": "Minimum power factor Q4", "area": "holding", "address": 40149, "type": "int16", "scale_factor": "PFRtg_SF", "access": "R"}, {"name": "PFRtg_SF", "area": "holding", "address": 40150, "type": "int16", "description": "Scale factor (power of ten)", "access": "R"}, {"name": "Rated energy storage", "area": "holding", "address": 40151, "type": "uint16", "unit": "Wh", "scale_factor": "WHRtg_SF", "access": "R"}, {"name": "WHRtg_SF", "area": "holding", "address": 40152, "type": "int16", "description": "Scale factor (power of ten)", "access": "R"}, {"name": "Maximum charge rate", "area": "holding", "address": 40155, "type": "uint16", "unit": "W", "scale_factor": "MaxChaRte_SF", "access": "R"}, {"name": "MaxChaRte_SF", "area": "holding", "address": 40156, "type": "int16", "description": "Scale factor (power of ten)", "access": "R"}, {"name": "Maximum discharge rate", "area": "holding", "address": 40157, "type": "uint16", "unit": "W", "scale_factor": "MaxDisChaRte_SF", "access": "R"}, {"name": "MaxDisChaRte_SF", "area": "holding", "address": 40158, "type": "int16", "description": "Scale factor (power of ten)", "access": "R"}, {"name": "Model ID (121)", "area": "holding", "address": 40160, "type": "uint16", "access": "R", "reference": 121}, {"name": "Maximum power setting", "area": "holding", "address": 40162, "type": "uint16", "unit": "W", "scale_factor": "WMax_SF", "access": "RW"}, {"name": "Reference voltage", "area": "holding", "address": 40163, "type": "uint16", "unit": "V", "scale_factor": "VRef_SF", "access": "R"}, {"name": "Reference voltage offset", "area": "holding", "address": 40164, "type": "int16", "unit": "V", "scale_factor": "VRefOfs_SF", "access": "RW"}, {"name": "Maximum apparent power setting", "area": "holding", "address": 40167, "type": "uint16", "unit": "VA", "scale_factor": "VAMax_SF", "access": "RW"}, {"name": "Maximum reactive power Q1", "area": "holding", "address": 40168, "type": "int16", "unit": "var", "scale_factor": "VARMax_SF", "access": "R"}, {"name": "Maximum reactive power Q4", "area": "holding", "address": 40171, "type": "int16", "unit": "var", "scale_factor": "VARMax_SF", "access": "R"}, {"name": "Minimum power factor setting Q1", "area": "holding", "address": 40173, "type": "int16", "scale_factor": "PFMin_SF", "access": "R"}, {"name": "Minimum power factor setting Q4", "area": "holding", "address": 40176, "type": "int16", "scale_factor": "PFMin_SF", "access": "R"}, {"name": "WMax_SF", "area": "holding", "address": 40182, "type": "int16", "description": "Scale factor (power of ten)", "access": "R"}, {"name": "VRef_SF", "area": "holding", "address": 40183, "type": "int16", "description": "Scale factor (power of ten)", "access": "R"}, {"name": "VRefOfs_SF", "area": "holding", "address": 40184, "type": "int16", "description": "Scale factor (power of ten)", "access": "R"}, {"name": "VAMax_SF", "area": "holding", "address": 40186, "type": "int16", "description": "Scale factor (power of ten)", "access": "R"}, {"name": "VARMax_SF", "area": "holding", "address": 40187, "type": "int16", "description": "Scale factor (power of ten)", "access": "R"}, {"name": "PFMin_SF", "area": "holding", "address": 40189, "type": "int16", "description": "Scale factor (power of ten)", "access": "R"}, {"name": "Model ID (122)", "area": "holding", "address": 40192, "type": "uint16", "access": "R", "reference": 122}, {"name": "PV connection status", "area": "holding", "address": 40194, "type": "uint16", "access": "R"}, {"name": "Storage connection status", "area": "holding", "address": 40195, "type": "uint16", "access": "R"}, {"name": "Grid connection status", "area": "holding", "address": 40196, "type": "uint16", "access": "R"}, {"name": "Active energy", "area": "holding", "address": 40197, "type": "uint64", "unit": "Wh", "access": "R", "description": "Documented as possibly imprecise"}, {"name": "Active controls", "area": "holding", "address": 40227, "type": "uint32", "access": "R"}, {"name": "Time source", "area": "holding", "address": 40229, "type": "string", "length": 4, "access": "R"}, {"name": "Timestamp", "area": "holding", "address": 40233, "type": "uint32", "unit": "s", "access": "R"}, {"name": "Model ID (123)", "area": "holding", "address": 40238, "type": "uint16", "access": "R", "reference": 123}, {"name": "Connect window", "area": "holding", "address": 40240, "type": "uint16", "unit": "s", "access": "RW"}, {"name": "Connect revert time", "area": "holding", "address": 40241, "type": "uint16", "unit": "s", "access": "RW"}, {"name": "Connect control", "area": "holding", "address": 40242, "type": "uint16", "access": "RW"}, {"name": "Power limit", "area": "holding", "address": 40243, "type": "uint16", "unit": "%", "scale_factor": "WMaxLimPct_SF", "access": "RW"}, {"name": "Power limit window", "area": "holding", "address": 40244, "type": "uint16", "unit": "s", "access": "RW"}, {"name": "Power limit revert time", "area": "holding", "address": 40245, "type": "uint16", "unit": "s", "access": "RW"}, {"name": "Power limit ramp time", "area": "holding", "address": 40246, "type": "uint16", "unit": "s", "access": "RW"}, {"name": "Power limit enable", "area": "holding", "address": 40247, "type": "uint16", "access": "RW", "enum": "disabled_enabled"}, {"name": "Power factor setpoint", "area": "holding", "address": 40248, "type": "int16", "scale_factor": "OutPFSet_SF", "access": "RW"}, {"name": "Power factor window", "area": "holding", "address": 40249, "type": "uint16", "unit": "s", "access": "RW"}, {"name": "Power factor revert time", "area": "holding", "address": 40250, "type": "uint16", "unit": "s", "access": "RW"}, {"name": "Power factor ramp time", "area": "holding", "address": 40251, "type": "uint16", "unit": "s", "access": "RW"}, {"name": "Power factor enable", "area": "holding", "address": 40252, "type": "uint16", "access": "RW", "enum": "disabled_enabled"}, {"name": "Reactive power limit", "area": "holding", "address": 40254, "type": "int16", "unit": "%", "scale_factor": "VArPct_SF", "access": "RW"}, {"name": "Reactive power window", "area": "holding", "address": 40256, "type": "uint16", "unit": "s", "access": "RW"}, {"name": "Reactive power revert time", "area": "holding", "address": 40257, "type": "uint16", "unit": "s", "access": "RW"}, {"name": "Reactive power ramp time", "area": "holding", "address": 40258, "type": "uint16", "unit": "s", "access": "RW"}, {"name": "Reactive power mode", "area": "holding", "address": 40259, "type": "uint16", "access": "R"}, {"name": "Reactive power enable", "area": "holding", "address": 40260, "type": "uint16", "access": "RW", "enum": "disabled_enabled"}, {"name": "WMaxLimPct_SF", "area": "holding", "address": 40261, "type": "int16", "description": "Scale factor (power of ten)", "access": "R"}, {"name": "OutPFSet_SF", "area": "holding", "address": 40262, "type": "int16", "description": "Scale factor (power of ten)", "access": "R"}, {"name": "VArPct_SF", "area": "holding", "address": 40263, "type": "int16", "description": "Scale factor (power of ten)", "access": "R"}, {"name": "Model ID (160)", "area": "holding", "address": 40264, "type": "uint16", "access": "R", "reference": 160}, {"name": "DCA_SF", "area": "holding", "address": 40266, "type": "int16", "description": "Scale factor (power of ten)", "access": "R"}, {"name": "DCV_SF", "area": "holding", "address": 40267, "type": "int16", "description": "Scale factor (power of ten)", "access": "R"}, {"name": "DCW_SF", "area": "holding", "address": 40268, "type": "int16", "description": "Scale factor (power of ten)", "access": "R"}, {"name": "DCWH_SF", "area": "holding", "address": 40269, "type": "int16", "description": "Scale factor (power of ten)", "access": "R"}, {"name": "Multi-MPPT event flags", "area": "holding", "address": 40270, "type": "uint32", "access": "R"}, {"name": "Number of DC inputs", "area": "holding", "address": 40272, "type": "uint16", "access": "R"}, {"name": "String 1 label", "area": "holding", "address": 40275, "type": "string", "length": 8, "access": "R"}, {"name": "String 1 DC current", "area": "holding", "address": 40283, "type": "uint16", "unit": "A", "scale_factor": "DCA_SF", "access": "R"}, {"name": "String 1 DC voltage", "area": "holding", "address": 40284, "type": "uint16", "unit": "V", "scale_factor": "DCV_SF", "access": "R"}, {"name": "String 1 DC power", "area": "holding", "address": 40285, "type": "uint16", "unit": "W", "scale_factor": "DCW_SF", "access": "R"}, {"name": "String 1 DC energy", "area": "holding", "address": 40286, "type": "uint32", "unit": "Wh", "scale_factor": "DCWH_SF", "access": "R"}, {"name": "String 1 timestamp", "area": "holding", "address": 40288, "type": "uint32", "unit": "s", "access": "R"}, {"name": "String 1 status", "area": "holding", "address": 40291, "type": "uint16", "access": "R"}, {"name": "String 2 label", "area": "holding", "address": 40295, "type": "string", "length": 8, "access": "R"}, {"name": "String 2 DC current", "area": "holding", "address": 40303, "type": "uint16", "unit": "A", "scale_factor": "DCA_SF", "access": "R"}, {"name": "String 2 DC voltage", "area": "holding", "address": 40304, "type": "uint16", "unit": "V", "scale_factor": "DCV_SF", "access": "R"}, {"name": "String 2 DC power", "area": "holding", "address": 40305, "type": "uint16", "unit": "W", "scale_factor": "DCW_SF", "access": "R"}, {"name": "String 2 DC energy", "area": "holding", "address": 40306, "type": "uint32", "unit": "Wh", "scale_factor": "DCWH_SF", "access": "R"}, {"name": "String 2 timestamp", "area": "holding", "address": 40308, "type": "uint32", "unit": "s", "access": "R"}, {"name": "String 2 status", "area": "holding", "address": 40311, "type": "uint16", "access": "R"} ] }