{
  "format": "voltrus-modbus-poll-template",
  "version": 1,
  "device": {
    "vendor": "Fronius",
    "model": "Smart Meter SunSpec (float)",
    "series": "Fronius energy meters read through the Fronius Datamanager"
  },
  "page": "https://voltrus.id/registers/fronius/sunspec-modbus-meter/",
  "source": {
    "title": "Fronius Datamanager Modbus TCP & RTU, Operating Instructions",
    "url": "https://www.fronius.com/~/downloads/Solar%20Energy/Operating%20Instructions/42,0410,2049.pdf",
    "document": "Document 42,0410,2049, edition 031-14062024 (English US section). Checked against the copy of that vendor URL archived at web.archive.org on 2024-07-10; the live vendor URL returned HTTP 404 on 2026-10-24, so a newer edition could not be checked.",
    "fetched": "2026-10-24"
  },
  "addressing": "Block addresses are 0-based wire addresses, the ones Modbus Poll shows.",
  "wordOrder": null,
  "blocks": [
    {
      "name": "Common_SID",
      "address": 40000,
      "quantity": 2,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "Common_ID",
      "address": 40002,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "Common_L",
      "address": 40003,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "Common_Mn",
      "address": 40004,
      "quantity": 16,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "Common_Md",
      "address": 40020,
      "quantity": 16,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "Common_Opt",
      "address": 40036,
      "quantity": 8,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "Common_Vr",
      "address": 40044,
      "quantity": 8,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "Common_SN",
      "address": 40052,
      "quantity": 16,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "Common_DA",
      "address": 40068,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "Meter_ID",
      "address": 40069,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "Meter_L",
      "address": 40070,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "Meter_A",
      "address": 40071,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_AphA",
      "address": 40073,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_AphB",
      "address": 40075,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_AphC",
      "address": 40077,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_PhV",
      "address": 40079,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_PhVphA",
      "address": 40081,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_PhVphB",
      "address": 40083,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_PhVphC",
      "address": 40085,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_PPV",
      "address": 40087,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_PPVphAB",
      "address": 40089,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_PPVphBC",
      "address": 40091,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_PPVphCA",
      "address": 40093,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_Hz",
      "address": 40095,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_W",
      "address": 40097,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_WphA",
      "address": 40099,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_WphB",
      "address": 40101,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_WphC",
      "address": 40103,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_VA",
      "address": 40105,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_VAphA",
      "address": 40107,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_VAphB",
      "address": 40109,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_VAphC",
      "address": 40111,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_VAR",
      "address": 40113,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_VARphA",
      "address": 40115,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_VARphB",
      "address": 40117,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_VARphC",
      "address": 40119,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_PF",
      "address": 40121,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_PFphA",
      "address": 40123,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_PFphB",
      "address": 40125,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_PFphC",
      "address": 40127,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_TotWhExp",
      "address": 40129,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_TotWhImp",
      "address": 40137,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_TotVAhExp",
      "address": 40145,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_TotVAhImp",
      "address": 40153,
      "quantity": 1,
      "type": "float32",
      "area": "holding"
    },
    {
      "name": "Meter_Evt",
      "address": 40193,
      "quantity": 2,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "End_ID",
      "address": 40195,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "End_L",
      "address": 40196,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    }
  ],
  "registers": [
    {
      "name": "Common_SID",
      "description": "SunSpec identifier \"SunS\"",
      "addressInManual": 40001,
      "address": 40000,
      "area": "holding",
      "type": "uint32",
      "registers": 2,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Common_ID",
      "description": "Model identifier",
      "addressInManual": 40003,
      "address": 40002,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Common_L",
      "description": "Model length",
      "addressInManual": 40004,
      "address": 40003,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Common_Mn",
      "description": "Manufacturer",
      "addressInManual": 40005,
      "address": 40004,
      "area": "holding",
      "type": "string",
      "registers": 16,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Common_Md",
      "description": "Device model",
      "addressInManual": 40021,
      "address": 40020,
      "area": "holding",
      "type": "string",
      "registers": 16,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Common_Opt",
      "description": "Options",
      "addressInManual": 40037,
      "address": 40036,
      "area": "holding",
      "type": "string",
      "registers": 8,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Common_Vr",
      "description": "Meter software version",
      "addressInManual": 40045,
      "address": 40044,
      "area": "holding",
      "type": "string",
      "registers": 8,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Common_SN",
      "description": "Meter serial number",
      "addressInManual": 40053,
      "address": 40052,
      "area": "holding",
      "type": "string",
      "registers": 16,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Common_DA",
      "description": "Modbus device address",
      "addressInManual": 40069,
      "address": 40068,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_ID",
      "description": "Meter model identifier (211, 212 or 213)",
      "addressInManual": 40070,
      "address": 40069,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_L",
      "description": "Meter model length",
      "addressInManual": 40071,
      "address": 40070,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_A",
      "description": "AC total current",
      "addressInManual": 40072,
      "address": 40071,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "A",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_AphA",
      "description": "AC phase A current",
      "addressInManual": 40074,
      "address": 40073,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "A",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_AphB",
      "description": "AC phase B current",
      "addressInManual": 40076,
      "address": 40075,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "A",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_AphC",
      "description": "AC phase C current",
      "addressInManual": 40078,
      "address": 40077,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "A",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_PhV",
      "description": "AC voltage average, phase to neutral",
      "addressInManual": 40080,
      "address": 40079,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "V",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_PhVphA",
      "description": "AC voltage phase A to neutral",
      "addressInManual": 40082,
      "address": 40081,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "V",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_PhVphB",
      "description": "AC voltage phase B to neutral",
      "addressInManual": 40084,
      "address": 40083,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "V",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_PhVphC",
      "description": "AC voltage phase C to neutral",
      "addressInManual": 40086,
      "address": 40085,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "V",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_PPV",
      "description": "AC voltage average, phase to phase",
      "addressInManual": 40088,
      "address": 40087,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "V",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_PPVphAB",
      "description": "AC voltage phase A to B",
      "addressInManual": 40090,
      "address": 40089,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "V",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_PPVphBC",
      "description": "AC voltage phase B to C",
      "addressInManual": 40092,
      "address": 40091,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "V",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_PPVphCA",
      "description": "AC voltage phase C to A",
      "addressInManual": 40094,
      "address": 40093,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "V",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_Hz",
      "description": "AC frequency",
      "addressInManual": 40096,
      "address": 40095,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "Hz",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_W",
      "description": "AC power",
      "addressInManual": 40098,
      "address": 40097,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "W",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_WphA",
      "description": "AC power phase A",
      "addressInManual": 40100,
      "address": 40099,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "W",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_WphB",
      "description": "AC power phase B",
      "addressInManual": 40102,
      "address": 40101,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "W",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_WphC",
      "description": "AC power phase C",
      "addressInManual": 40104,
      "address": 40103,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "W",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_VA",
      "description": "AC apparent power",
      "addressInManual": 40106,
      "address": 40105,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "VA",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_VAphA",
      "description": "AC apparent power phase A",
      "addressInManual": 40108,
      "address": 40107,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "VA",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_VAphB",
      "description": "AC apparent power phase B",
      "addressInManual": 40110,
      "address": 40109,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "VA",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_VAphC",
      "description": "AC apparent power phase C",
      "addressInManual": 40112,
      "address": 40111,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "VA",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_VAR",
      "description": "AC reactive power",
      "addressInManual": 40114,
      "address": 40113,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "VAr",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_VARphA",
      "description": "AC reactive power phase A",
      "addressInManual": 40116,
      "address": 40115,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "VAr",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_VARphB",
      "description": "AC reactive power phase B",
      "addressInManual": 40118,
      "address": 40117,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "VAr",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_VARphC",
      "description": "AC reactive power phase C",
      "addressInManual": 40120,
      "address": 40119,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "VAr",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_PF",
      "description": "Power factor",
      "addressInManual": 40122,
      "address": 40121,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_PFphA",
      "description": "Power factor phase A",
      "addressInManual": 40124,
      "address": 40123,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_PFphB",
      "description": "Power factor phase B",
      "addressInManual": 40126,
      "address": 40125,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_PFphC",
      "description": "Power factor phase C",
      "addressInManual": 40128,
      "address": 40127,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_TotWhExp",
      "description": "Total energy exported",
      "addressInManual": 40130,
      "address": 40129,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "Wh",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_TotWhImp",
      "description": "Total energy imported",
      "addressInManual": 40138,
      "address": 40137,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "Wh",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_TotVAhExp",
      "description": "Total apparent energy exported",
      "addressInManual": 40146,
      "address": 40145,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "VAh",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_TotVAhImp",
      "description": "Total apparent energy imported",
      "addressInManual": 40154,
      "address": 40153,
      "area": "holding",
      "type": "float32",
      "registers": 2,
      "unit": "VAh",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "Meter_Evt",
      "description": "Events",
      "addressInManual": 40194,
      "address": 40193,
      "area": "holding",
      "type": "uint32",
      "registers": 2,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "End_ID",
      "description": "End block identifier",
      "addressInManual": 40196,
      "address": 40195,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "End_L",
      "description": "End block length",
      "addressInManual": 40197,
      "address": 40196,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "R"
    }
  ]
}
