{
  "spec_version": 1,
  "slug": "solax-x3-mic-g2",
  "manufacturer": "SolaX Power",
  "model": "X3-MIC / X3-PRO G2 (three-phase string)",
  "category": "Solar inverter",
  "supplier_url": "https://www.solaxpower.com/downloads/",
  "default_configuration": {
    "protocol": "modbus_tcp",
    "port": 502,
    "unit_id": 1,
    "addressing": "zero_based",
    "byte_order": "BigEndian",
    "word_order": "HighFirst",
    "native_interface": "rs485",
    "serial": {
      "parity": "None",
      "baud_rate": 9600,
      "data_bits": 8,
      "stop_bits": 1
    }
  },
  "coils": [],
  "discrete_inputs": [],
  "input_registers": [
    {
      "address": 1028,
      "count": 1,
      "name": "AC voltage R",
      "data_type": "UInt16",
      "units": "V",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 1029,
      "count": 1,
      "name": "AC voltage S",
      "data_type": "UInt16",
      "units": "V",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 1030,
      "count": 1,
      "name": "AC voltage T",
      "data_type": "UInt16",
      "units": "V",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 1034,
      "count": 1,
      "name": "AC current R",
      "data_type": "UInt16",
      "units": "A",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 1035,
      "count": 1,
      "name": "AC current S",
      "data_type": "UInt16",
      "units": "A",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 1036,
      "count": 1,
      "name": "AC current T",
      "data_type": "UInt16",
      "units": "A",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 1038,
      "count": 1,
      "name": "AC active power (Pac)",
      "data_type": "UInt16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 1059,
      "count": 2,
      "name": "Total yield",
      "data_type": "UInt32",
      "units": "kWh",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 1083,
      "count": 2,
      "name": "Grid power",
      "data_type": "Int32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Positive means export to the grid, negative means import."
    },
    {
      "address": 1087,
      "count": 2,
      "name": "Total energy consumed from grid",
      "data_type": "UInt32",
      "units": "kWh",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R"
    }
  ],
  "holding_registers": [],
  "combined_registers": [],
  "notes": "Register map from the evcc template https://raw.githubusercontent.com/evcc-io/evcc/master/templates/definition/meter/solax-g2.yaml (SolaX X3-MIC G2, X3-PRO G2 and the rebadged Qcells Q.VOLT P5T-X/P17T-X). RS-485 device with 9600 8N1 factory settings and slave address 1; the PocketLAN/PocketWiFi dongle serves the same map as Modbus TCP on port 502. All entries are input registers. Grid power is signed: positive means export to the grid."
}
