{
  "spec_version": 1,
  "slug": "ibc-homeone",
  "manufacturer": "IBC Solar",
  "model": "HomeOne hybrid inverter",
  "category": "Solar inverter",
  "supplier_url": "https://www.ibc-solar.com/",
  "default_configuration": {
    "protocol": "modbus_tcp",
    "port": 502,
    "unit_id": 3,
    "addressing": "zero_based",
    "byte_order": "BigEndian",
    "word_order": "HighFirst"
  },
  "coils": [],
  "discrete_inputs": [],
  "input_registers": [
    {
      "address": 1600,
      "count": 2,
      "name": "PV total power",
      "data_type": "UInt32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 1604,
      "count": 2,
      "name": "PV total energy",
      "data_type": "UInt32",
      "units": "kWh",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 1618,
      "count": 2,
      "name": "Battery power",
      "data_type": "Int32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Signed; the cited template's comment says positive means discharging."
    },
    {
      "address": 1621,
      "count": 1,
      "name": "Battery state of charge",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 60038,
      "count": 2,
      "name": "External meter power, phase L1",
      "data_type": "Int32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Signed; the cited template's comment says positive means import."
    },
    {
      "address": 60040,
      "count": 2,
      "name": "External meter power, phase L2",
      "data_type": "Int32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 60042,
      "count": 2,
      "name": "External meter power, phase L3",
      "data_type": "Int32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    }
  ],
  "holding_registers": [],
  "combined_registers": [],
  "notes": "Source: the evcc meter template https://raw.githubusercontent.com/evcc-io/evcc/master/templates/definition/meter/ibc-homeone.yaml, used as a secondary source; no IBC Solar register document was retrieved. Modbus TCP runs on the inverter's own Ethernet port (marked RJ45-7 in the template's requirement note), not through the WiFi dongle, and the grid values come from the external smart meter wired to the inverter - so the meter rows read 0 or nonsense on a unit without that meter. The template offers RS-485 and TCP access on port 502 with unit ID 3; this seed records the TCP path (port 502, unit ID 3) because the template states no serial framing. Address convention, quoted from the template: the registers are the documented ADDR(DEC) minus the leading reference digit minus 1 (documented input register 31601 -> 1600, documented meter register 360039 -> 60038); this file lists those wire addresses and declares zero_based addressing. The map is deliberately short because that is all the cited template publishes: it reports grid power per phase, PV power and energy, battery power and SoC, and nothing else."
}
