3557 lines
113 KiB
Python
3557 lines
113 KiB
Python
class SolaxRegistersInfo:
|
|
_registers = {
|
|
# input registers
|
|
"grid_voltage": {
|
|
"address": 0x0000,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Grid voltage",
|
|
},
|
|
"grid_current": {
|
|
"address": 0x0001,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 10,
|
|
"signed": True,
|
|
"data_unit": "A",
|
|
"data_length": 1,
|
|
"description": "Grid current",
|
|
},
|
|
"grid_power": {
|
|
"address": 0x0002,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "W",
|
|
"data_length": 1,
|
|
"description": "Grid power",
|
|
},
|
|
"pv_voltage_1": {
|
|
"address": 0x0003,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "PV Voltage 1",
|
|
},
|
|
"pv_voltage_2": {
|
|
"address": 0x0004,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "PV Voltage 2",
|
|
},
|
|
"pv_current_1": {
|
|
"address": 0x0005,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "A",
|
|
"data_length": 1,
|
|
"description": "PV Current 1",
|
|
},
|
|
"pv_current_2": {
|
|
"address": 0x0006,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "A",
|
|
"data_length": 1,
|
|
"description": "PV Current 2",
|
|
},
|
|
"grid_frequency": {
|
|
"address": 0x0007,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "Hz",
|
|
"data_length": 1,
|
|
"description": "Grid frequency",
|
|
},
|
|
"radiator_temperature": {
|
|
"address": 0x0008,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "C",
|
|
"data_length": 1,
|
|
"description": "Radiator temperature",
|
|
},
|
|
"run_mode": {
|
|
"address": 0x0009,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "Inverter status",
|
|
},
|
|
"power_dc1": {
|
|
"address": 0x000A,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "W",
|
|
"data_length": 1,
|
|
"description": "DC Power String 1",
|
|
},
|
|
"power_dc2": {
|
|
"address": 0x000B,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "W",
|
|
"data_length": 1,
|
|
"description": "DC Power String 2",
|
|
},
|
|
"temperature_fault_value": {
|
|
"address": 0x000C,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "C",
|
|
"data_length": 1,
|
|
"description": "Temperature fault value",
|
|
},
|
|
"pv1_volt_fault_value": {
|
|
"address": 0x000D,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "PV1 volt fault value",
|
|
},
|
|
"pv2_volt_fault_value": {
|
|
"address": 0x000E,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "PV2 volt fault value",
|
|
},
|
|
"gfci_fault_value": {
|
|
"address": 0x000F,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_unit": "A",
|
|
"data_length": 1,
|
|
"description": "GFCI fault value",
|
|
},
|
|
"grid_fault_value": {
|
|
"address": 0x0010,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Grid fault value",
|
|
},
|
|
"grid_freq_fault_value_t": {
|
|
"address": 0x0011,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "Hz",
|
|
"data_length": 1,
|
|
"description": "Grid frequency fault value t",
|
|
},
|
|
"dci_fault_value": {
|
|
"address": 0x0012,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_unit": "A",
|
|
"data_length": 1,
|
|
"description": "DCI fault value",
|
|
},
|
|
"time_count_down": {
|
|
"address": 0x0013,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_unit": "second",
|
|
"data_length": 1,
|
|
"description": "Time remaining until the current operation finishes (e.g. checking)",
|
|
},
|
|
"battery_voltage_charge_1": {
|
|
"address": 0x0014,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 10,
|
|
"signed": True,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Battery voltage charge 1",
|
|
},
|
|
"battery_current_charge_1": {
|
|
"address": 0x0015,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 10,
|
|
"signed": True,
|
|
"data_unit": "A",
|
|
"data_length": 1,
|
|
"description": "Battery current charge 1",
|
|
},
|
|
"battery_power_charge1": {
|
|
"address": 0x0016,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "W",
|
|
"data_length": 1,
|
|
"description": "Battery power charge 1",
|
|
},
|
|
"bms_connect_state": {
|
|
"address": 0x0017,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "BMS connect state",
|
|
},
|
|
"temperature_battery": {
|
|
"address": 0x0018,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "C",
|
|
"data_length": 1,
|
|
"description": "Temperature of the battery",
|
|
},
|
|
"bdc_status": {
|
|
"address": 0x0019,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "BDC Status",
|
|
},
|
|
"grid_status": {
|
|
"address": 0x001A,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "Grid Status: 0-OnGrid, 1-OffGrid",
|
|
},
|
|
"mppt_count": {
|
|
"address": 0x001B,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "MPPT Count",
|
|
},
|
|
"battery_capacity": {
|
|
"address": 0x001C,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "%",
|
|
"data_length": 1,
|
|
"description": "Battery charge percentage",
|
|
},
|
|
"output_energy_charge": {
|
|
"address": 0x001D,
|
|
"register_type": "input",
|
|
"data_format": "uint32",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "KWh",
|
|
"data_length": 2,
|
|
"description": "Output energy charge",
|
|
},
|
|
"output_energy_charge_today": {
|
|
"address": 0x0020,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "KWh",
|
|
"data_length": 1,
|
|
"description": "Output energy charge today",
|
|
},
|
|
"input_energy_charge": {
|
|
"address": 0x0021,
|
|
"register_type": "input",
|
|
"data_format": "uint32",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "KWh",
|
|
"data_length": 2,
|
|
"description": "Input energy charge",
|
|
},
|
|
"input_energy_charge_today": {
|
|
"address": 0x0023,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "KWh",
|
|
"data_length": 1,
|
|
"description": "Input energy charge today",
|
|
},
|
|
"bms_charge_max_current": {
|
|
"address": 0x0024,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "A",
|
|
"data_length": 1,
|
|
"description": "BMS charge max current",
|
|
},
|
|
"bms_discharge_max_current": {
|
|
"address": 0x0025,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "A",
|
|
"data_length": 1,
|
|
"description": "BMS discharge max current",
|
|
},
|
|
"bms_battery_capacity": {
|
|
"address": 0x0026,
|
|
"register_type": "input",
|
|
"data_format": "uint32",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "Wh",
|
|
"data_length": 2,
|
|
"description": "BMS Battery Capacity",
|
|
},
|
|
"pcs_major_fault": {
|
|
"address": 0x003E,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "PCS Major Fault",
|
|
},
|
|
"battery_major_fault": {
|
|
"address": 0x003F,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "Battery Major Fault",
|
|
},
|
|
"inv_fault_message": {
|
|
"address": 0x0040,
|
|
"register_type": "input",
|
|
"data_format": "uint32",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 2,
|
|
"description": "Inverter Fault Message: X1:Table 2-4, X2:Table 2-3",
|
|
},
|
|
"mgr_fault_message": {
|
|
"address": 0x0043,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "Manager Fault Message: Table 2-5",
|
|
},
|
|
"bat_bms_fault_message": {
|
|
"address": 0x0044,
|
|
"register_type": "input",
|
|
"data_format": "uint32",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 2,
|
|
"description": "Battery BMS Fault Message - Table 2-6",
|
|
},
|
|
"feed_in_power": {
|
|
"address": 0x0046,
|
|
"register_type": "input",
|
|
"data_format": "int32",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "W",
|
|
"data_length": 2,
|
|
"description": "Feed-in power obtained from Meter or CT",
|
|
},
|
|
"energy_to_grid_meter": {
|
|
"address": 0x0048,
|
|
"register_type": "input",
|
|
"data_format": "uint32",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "KWh",
|
|
"data_length": 2,
|
|
"description": "Energy to grid meter value",
|
|
},
|
|
"energy_from_grid_meter": {
|
|
"address": 0x004A,
|
|
"register_type": "input",
|
|
"data_format": "uint32",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "KWh",
|
|
"data_length": 2,
|
|
"description": "Energy from grid meter value",
|
|
},
|
|
"off_grid_voltage": {
|
|
"address": 0x004C,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Off-Grid Voltage X1",
|
|
},
|
|
"off_grid_current": {
|
|
"address": 0x004D,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "A",
|
|
"data_length": 1,
|
|
"description": "Off-Grid Current X1",
|
|
},
|
|
"off_grid_power": {
|
|
"address": 0x004E,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "VA",
|
|
"data_length": 1,
|
|
"description": "Off Grid Power X1",
|
|
},
|
|
"off_grid_frequency_input_reg": {
|
|
"address": 0x004F,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "Hz",
|
|
"data_length": 1,
|
|
"description": "Off-Grid Frequency",
|
|
},
|
|
"energy_to_grid_today": {
|
|
"address": 0x0050,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "KWh",
|
|
"data_length": 1,
|
|
"description": "The quantity of energy sent to grid today",
|
|
},
|
|
"energy_to_grid_total": {
|
|
"address": 0x0052,
|
|
"register_type": "input",
|
|
"data_format": "uint32",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "KWh",
|
|
"data_length": 2,
|
|
"description": "Total energy sent to grid",
|
|
},
|
|
"lock_state": {
|
|
"address": 0x0054,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "Lock State",
|
|
},
|
|
"bus_volt": {
|
|
"address": 0x0066,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Bus Volt",
|
|
},
|
|
"w_dcv_fault_val": {
|
|
"address": 0x0067,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "W DCV Fault Value",
|
|
},
|
|
"w_overload_fault_val": {
|
|
"address": 0x0068,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "W",
|
|
"data_length": 1,
|
|
"description": "W Overload Fault Value",
|
|
},
|
|
"w_battery_volt_fault_val": {
|
|
"address": 0x0069,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "W Battery Volt Fault Value",
|
|
},
|
|
"grid_voltage_r": {
|
|
"address": 0x006A,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Grid voltage for R phase",
|
|
},
|
|
"grid_current_r": {
|
|
"address": 0x006B,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 10,
|
|
"signed": True,
|
|
"data_unit": "A",
|
|
"data_length": 1,
|
|
"description": "Grid Current R Phase",
|
|
},
|
|
"grid_power_r": {
|
|
"address": 0x006C,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "W",
|
|
"data_length": 1,
|
|
"description": "Grid Power R Phase",
|
|
},
|
|
"grid_frequency_r": {
|
|
"address": 0x006D,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "Hz",
|
|
"data_length": 1,
|
|
"description": "Grid Frequency R Phase",
|
|
},
|
|
"grid_voltage_s": {
|
|
"address": 0x006E,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Grid voltage for S phase",
|
|
},
|
|
"grid_current_s": {
|
|
"address": 0x006F,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 10,
|
|
"signed": True,
|
|
"data_unit": "A",
|
|
"data_length": 1,
|
|
"description": "Grid Current S Phase",
|
|
},
|
|
"grid_power_s": {
|
|
"address": 0x0070,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "W",
|
|
"data_length": 1,
|
|
"description": "Grid Power S Phase",
|
|
},
|
|
"grid_frequency_s": {
|
|
"address": 0x0071,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "Hz",
|
|
"data_length": 1,
|
|
"description": "Grid Frequency S",
|
|
},
|
|
"grid_voltage_t": {
|
|
"address": 0x0072,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Grid voltage for T phase",
|
|
},
|
|
"grid_current_t": {
|
|
"address": 0x0073,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 10,
|
|
"signed": True,
|
|
"data_unit": "A",
|
|
"data_length": 1,
|
|
"description": "Grid Current T Phase",
|
|
},
|
|
"grid_power_t": {
|
|
"address": 0x0074,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "W",
|
|
"data_length": 1,
|
|
"description": "Grid Power T Phase",
|
|
},
|
|
"grid_frequency_t": {
|
|
"address": 0x0075,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "Hz",
|
|
"data_length": 1,
|
|
"description": "Grid Frequency T Phase",
|
|
},
|
|
"off_grid_volt_r": {
|
|
"address": 0x0076,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Off-Grid Volt R Phase",
|
|
},
|
|
"off_grid_current_r": {
|
|
"address": 0x0077,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "A",
|
|
"data_length": 1,
|
|
"description": "Off-Grid Current R Phase",
|
|
},
|
|
"off_grid_power_active_r": {
|
|
"address": 0x0078,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "W",
|
|
"data_length": 1,
|
|
"description": "Off-Grid Active Power R Phase",
|
|
},
|
|
"off_grid_power_s_r": {
|
|
"address": 0x0079,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "VA",
|
|
"data_length": 1,
|
|
"description": "Off-Grid S Power R Phase",
|
|
},
|
|
"off_grid_volt_s": {
|
|
"address": 0x007A,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Off-Grid Volt S Phase",
|
|
},
|
|
"off_grid_current_s": {
|
|
"address": 0x007B,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "A",
|
|
"data_length": 1,
|
|
"description": "Off-Grid Current S Phase",
|
|
},
|
|
"off_grid_power_active_s": {
|
|
"address": 0x007C,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "W",
|
|
"data_length": 1,
|
|
"description": "Off-Grid Active Power S Phase",
|
|
},
|
|
"off_grid_power_s_s": {
|
|
"address": 0x007D,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "VA",
|
|
"data_length": 1,
|
|
"description": "Off-Grid S Power S Phase",
|
|
},
|
|
"off_grid_volt_t": {
|
|
"address": 0x007E,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Off-Grid Volt T Phase",
|
|
},
|
|
"off_grid_current_t": {
|
|
"address": 0x007F,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "A",
|
|
"data_length": 1,
|
|
"description": "Off-Grid Current T Phase",
|
|
},
|
|
"off_grid_power_active_t": {
|
|
"address": 0x0080,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "W",
|
|
"data_length": 1,
|
|
"description": "Off-Grid Active Power T Phase",
|
|
},
|
|
"off_grid_power_s_t": {
|
|
"address": 0x0081,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "VA",
|
|
"data_length": 1,
|
|
"description": "Off-Grid S Power T Phase",
|
|
},
|
|
"feedin_power_r_phase": {
|
|
"address": 0x0082,
|
|
"register_type": "input",
|
|
"data_format": "int32",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "W",
|
|
"data_length": 2,
|
|
"description": "Feedin Power R Phase",
|
|
},
|
|
"feedin_power_s_phase": {
|
|
"address": 0x0084,
|
|
"register_type": "input",
|
|
"data_format": "int32",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "W",
|
|
"data_length": 2,
|
|
"description": "Feedin Power S Phase",
|
|
},
|
|
"feedin_power_t_phase": {
|
|
"address": 0x0086,
|
|
"register_type": "input",
|
|
"data_format": "int32",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "W",
|
|
"data_length": 2,
|
|
"description": "Feedin Power T Phase",
|
|
},
|
|
"ongrid_run_time": {
|
|
"address": 0x0088,
|
|
"register_type": "input",
|
|
"data_format": "int32",
|
|
"si_adj": 10,
|
|
"signed": True,
|
|
"data_unit": "hour",
|
|
"data_length": 2,
|
|
"description": "On-Grid Run Time",
|
|
},
|
|
"offgrid_run_time": {
|
|
"address": 0x008A,
|
|
"register_type": "input",
|
|
"data_format": "int32",
|
|
"si_adj": 10,
|
|
"signed": True,
|
|
"data_unit": "hour",
|
|
"data_length": 2,
|
|
"description": "Off-Grid Run Time",
|
|
},
|
|
"offgrid_yield_total": {
|
|
"address": 0x008E,
|
|
"register_type": "input",
|
|
"data_format": "uint32",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "KWh",
|
|
"data_length": 2,
|
|
"description": "Off-Grid Yield Total",
|
|
},
|
|
"offgrid_yield_today": {
|
|
"address": 0x0090,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "KWh",
|
|
"data_length": 1,
|
|
"description": "Off-Grid Yield Today",
|
|
},
|
|
"echarge_today": {
|
|
"address": 0x0091,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "KWh",
|
|
"data_length": 1,
|
|
"description": "Echarge energy today",
|
|
},
|
|
"echarge_total": {
|
|
"address": 0x0092,
|
|
"register_type": "input",
|
|
"data_format": "uint32",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "KWh",
|
|
"data_length": 2,
|
|
"description": "Echarge Total",
|
|
},
|
|
"solar_energy_total": {
|
|
"address": 0x0094,
|
|
"register_type": "input",
|
|
"data_format": "uint32",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "KWh",
|
|
"data_length": 2,
|
|
"description": "Total solar energy",
|
|
},
|
|
"solar_energy_today": {
|
|
"address": 0x0096,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "KWh",
|
|
"data_length": 1,
|
|
"description": "Solar energy today",
|
|
},
|
|
"feed_in_energy_today": {
|
|
"address": 0x0098,
|
|
"register_type": "input",
|
|
"data_format": "uint32",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "KWh",
|
|
"data_length": 2,
|
|
"description": "Energy to grid meter for today",
|
|
},
|
|
"consumption_energy_today": {
|
|
"address": 0x009A,
|
|
"register_type": "input",
|
|
"data_format": "uint32",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "KWh",
|
|
"data_length": 2,
|
|
"description": "Energy from grid meter for today",
|
|
},
|
|
"inv_volt_r": {
|
|
"address": 0x009C,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Inverter Volt R Phase",
|
|
},
|
|
"inv_volt_s": {
|
|
"address": 0x009D,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Inverter Volt S Phase",
|
|
},
|
|
"inv_volt_t": {
|
|
"address": 0x009E,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Inverter Volt T Phase",
|
|
},
|
|
"feedin_power_meter_2": {
|
|
"address": 0x00A8,
|
|
"register_type": "input",
|
|
"data_format": "int32",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "W",
|
|
"data_length": 2,
|
|
"description": "Power to Grid Meter 2",
|
|
},
|
|
"feedin_energy_total_meter_2": {
|
|
"address": 0x00AA,
|
|
"register_type": "input",
|
|
"data_format": "uint32",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "KWh",
|
|
"data_length": 2,
|
|
"description": "Energy to the grid",
|
|
},
|
|
"consum_energy_total_meter_2": {
|
|
"address": 0x00AC,
|
|
"register_type": "input",
|
|
"data_format": "uint32",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "KWh",
|
|
"data_length": 2,
|
|
"description": "Energy from grid",
|
|
},
|
|
"feedin_energy_today_meter_2": {
|
|
"address": 0x00AE,
|
|
"register_type": "input",
|
|
"data_format": "uint32",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "KWh",
|
|
"data_length": 2,
|
|
"description": "Energy to grid",
|
|
},
|
|
"consum_energy_today_meter_2": {
|
|
"address": 0x00B0,
|
|
"register_type": "input",
|
|
"data_format": "uint32",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "KWh",
|
|
"data_length": 2,
|
|
"description": "Energy from grid",
|
|
},
|
|
"feedin_power_r_phase_meter_2": {
|
|
"address": 0x00B2,
|
|
"register_type": "input",
|
|
"data_format": "int32",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "W",
|
|
"data_length": 2,
|
|
"description": "Feedin Power R Phase Meter 2",
|
|
},
|
|
"feedin_power_s_phase_meter_2": {
|
|
"address": 0x00B4,
|
|
"register_type": "input",
|
|
"data_format": "int32",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "W",
|
|
"data_length": 2,
|
|
"description": "Feedin Power S Phase Meter 2",
|
|
},
|
|
"feedin_power_t_phase_meter_2": {
|
|
"address": 0x00B6,
|
|
"register_type": "input",
|
|
"data_format": "int32",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "W",
|
|
"data_length": 2,
|
|
"description": "Feedin Power T Phase Meter 2",
|
|
},
|
|
"meter_1_communication_state": {
|
|
"address": 0x00B8,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "Meter 1 Communication State: 0:Com Error, 1:Normal",
|
|
},
|
|
"meter_2_communication_state": {
|
|
"address": 0x00B9,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "Meter 2 Communication State: 0:Com Error, 1:Normal",
|
|
},
|
|
"battery_tem_high": {
|
|
"address": 0x00BA,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 10,
|
|
"signed": True,
|
|
"data_unit": "C",
|
|
"data_length": 1,
|
|
"description": "Battery Temperature High",
|
|
},
|
|
"battery_tem_low": {
|
|
"address": 0x00BB,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 10,
|
|
"signed": True,
|
|
"data_unit": "C",
|
|
"data_length": 1,
|
|
"description": "Battery Temperature Low",
|
|
},
|
|
"cell_voltage_high": {
|
|
"address": 0x00BC,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Cell Voltage High",
|
|
},
|
|
"cell_voltage_low": {
|
|
"address": 0x00BD,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Cell Voltage Low",
|
|
},
|
|
"bms_user_soc": {
|
|
"address": 0x00BE,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "%",
|
|
"data_length": 1,
|
|
"description": "BMS User SOC",
|
|
},
|
|
"bms_user_soh": {
|
|
"address": 0x00BF,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "%",
|
|
"data_length": 1,
|
|
"description": "BMS User SOH",
|
|
},
|
|
"grid_reactive_power_total_meter": {
|
|
"address": 0x00C0,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "Var",
|
|
"data_length": 1,
|
|
"description": "Grid Reactive Power Total Meter",
|
|
},
|
|
"grid_reactive_power_r_meter": {
|
|
"address": 0x00C1,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "Var",
|
|
"data_length": 1,
|
|
"description": "Grid Reactive Power Phase R Meter",
|
|
},
|
|
"grid_reactive_power_s_meter": {
|
|
"address": 0x00C2,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "Var",
|
|
"data_length": 1,
|
|
"description": "Grid Reactive Power Phase S Meter",
|
|
},
|
|
"grid_reactive_power_t_meter": {
|
|
"address": 0x00C3,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "Var",
|
|
"data_length": 1,
|
|
"description": "Grid Reactive Power Phase T Meter",
|
|
},
|
|
"grid_power_factor_total_meter": {
|
|
"address": 0x00C4,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 100,
|
|
"signed": True,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "Grid Power Factor Total Meter",
|
|
},
|
|
"grid_power_factor_r_meter": {
|
|
"address": 0x00C5,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 100,
|
|
"signed": True,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "Grid Power Factor Phase R Meter",
|
|
},
|
|
"grid_power_factor_s_meter": {
|
|
"address": 0x00C6,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 100,
|
|
"signed": True,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "Grid Power Factor Phase S Meter",
|
|
},
|
|
"grid_power_factor_t_meter": {
|
|
"address": 0x00C7,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 100,
|
|
"signed": True,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "Grid Power Factor Phase T Meter",
|
|
},
|
|
"grid_frequency_meter": {
|
|
"address": 0x00C8,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "Hz",
|
|
"data_length": 1,
|
|
"description": "Grid Frequency Meter",
|
|
},
|
|
"grid_voltage_total_meter": {
|
|
"address": 0x00C9,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Grid Voltage Total Meter",
|
|
},
|
|
"grid_voltage_r_meter": {
|
|
"address": 0x00CA,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Grid Voltage R Meter",
|
|
},
|
|
"grid_voltage_s_meter": {
|
|
"address": 0x00CB,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Grid Voltage S Meter",
|
|
},
|
|
"grid_voltage_t_meter": {
|
|
"address": 0x00CC,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Grid Voltage T Meter",
|
|
},
|
|
"grid_current_total_meter": {
|
|
"address": 0x00CD,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 10,
|
|
"signed": True,
|
|
"data_unit": "A",
|
|
"data_length": 1,
|
|
"description": "Grid Current Total Meter",
|
|
},
|
|
"grid_current_r_meter": {
|
|
"address": 0x00CE,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 10,
|
|
"signed": True,
|
|
"data_unit": "A",
|
|
"data_length": 1,
|
|
"description": "Grid Current R Meter",
|
|
},
|
|
"grid_current_s_meter": {
|
|
"address": 0x00CF,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 10,
|
|
"signed": True,
|
|
"data_unit": "A",
|
|
"data_length": 1,
|
|
"description": "Grid Current S Meter",
|
|
},
|
|
"grid_current_t_meter": {
|
|
"address": 0x00D0,
|
|
"register_type": "input",
|
|
"data_format": "int16",
|
|
"si_adj": 10,
|
|
"signed": True,
|
|
"data_unit": "A",
|
|
"data_length": 1,
|
|
"description": "Grid Current T Meter",
|
|
},
|
|
"modbus_power_control": {
|
|
"address": 0x0100,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "Modbus Power Control: 0:disable remote contro, 1:enable power control, 2:enable electric quality control, 3:enable SOC target control",
|
|
},
|
|
"target_finish_tag": {
|
|
"address": 0x0101,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "Target Finish Tag: 0:unfinished, 1:finished",
|
|
},
|
|
"active_power_target": {
|
|
"address": 0x0102,
|
|
"register_type": "input",
|
|
"data_format": "int32",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "W",
|
|
"data_length": 2,
|
|
"description": "Active Power Target",
|
|
},
|
|
"w_reactive_power_target": {
|
|
"address": 0x0104,
|
|
"register_type": "input",
|
|
"data_format": "int32",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "Var",
|
|
"data_length": 2,
|
|
"description": "W Reactive Power Target",
|
|
},
|
|
"w_active_power_real": {
|
|
"address": 0x0106,
|
|
"register_type": "input",
|
|
"data_format": "int32",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "W",
|
|
"data_length": 2,
|
|
"description": "W Active Power Real",
|
|
},
|
|
"w_reactive_power_real": {
|
|
"address": 0x0108,
|
|
"register_type": "input",
|
|
"data_format": "int32",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "Var",
|
|
"data_length": 2,
|
|
"description": "W Reactive Power Real",
|
|
},
|
|
"w_active_power_upper": {
|
|
"address": 0x010A,
|
|
"register_type": "input",
|
|
"data_format": "int32",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "W",
|
|
"data_length": 2,
|
|
"description": "W Active Power Upper",
|
|
},
|
|
"w_active_power_lower": {
|
|
"address": 0x010C,
|
|
"register_type": "input",
|
|
"data_format": "int32",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "W",
|
|
"data_length": 2,
|
|
"description": "W Active Power Lower",
|
|
},
|
|
"w_reactive_power_upper": {
|
|
"address": 0x010E,
|
|
"register_type": "input",
|
|
"data_format": "int32",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "Var",
|
|
"data_length": 2,
|
|
"description": "W Reactive Power Upper",
|
|
},
|
|
"w_reactive_power_lower": {
|
|
"address": 0x0110,
|
|
"register_type": "input",
|
|
"data_format": "int32",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "Var",
|
|
"data_length": 2,
|
|
"description": "W Reactive Power Lower",
|
|
},
|
|
"target_energy": {
|
|
"address": 0x0112,
|
|
"register_type": "input",
|
|
"data_format": "int32",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "Wh",
|
|
"data_length": 2,
|
|
"description": "Target Energy",
|
|
},
|
|
"charge_discharge_power": {
|
|
"address": 0x0114,
|
|
"register_type": "input",
|
|
"data_format": "int32",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "W",
|
|
"data_length": 2,
|
|
"description": "Charge Discharge Power",
|
|
},
|
|
"chargeable_electric_capacity": {
|
|
"address": 0x0116,
|
|
"register_type": "input",
|
|
"data_format": "uint32",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "Wh",
|
|
"data_length": 2,
|
|
"description": "Chargeable Electric Capacity",
|
|
},
|
|
"dischargeable_electric_capacity": {
|
|
"address": 0x0118,
|
|
"register_type": "input",
|
|
"data_format": "uint32",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "Wh",
|
|
"data_length": 2,
|
|
"description": "Dischargeable Electric Capacity",
|
|
},
|
|
"time_of_duration": {
|
|
"address": 0x011A,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "second",
|
|
"data_length": 1,
|
|
"description": "time_of_duration",
|
|
},
|
|
"target_soc": {
|
|
"address": 0x011B,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "%",
|
|
"data_length": 1,
|
|
"description": "Target SOC",
|
|
},
|
|
"soc_upper": {
|
|
"address": 0x011C,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "%",
|
|
"data_length": 1,
|
|
"description": "SOC Upper",
|
|
},
|
|
"soc_lower": {
|
|
"address": 0x011D,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "%",
|
|
"data_length": 1,
|
|
"description": "SOC Lower",
|
|
},
|
|
"remote_control_timeout": {
|
|
"address": 0x011E,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "second",
|
|
"data_length": 1,
|
|
"description": "Remote Control Timeout: 4-65535",
|
|
},
|
|
"w_battery_force_charge_flag": {
|
|
"address": 0x011F,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "W Battery Force Charge Flag: 0:No Action, 1:Force Charge",
|
|
},
|
|
"w_bms_relay_state": {
|
|
"address": 0x0120,
|
|
"register_type": "input",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "W BMS Relay State: 0:OFF, 1:ON",
|
|
},
|
|
# holding registers
|
|
"serial_number": {
|
|
"address": 0x0000,
|
|
"register_type": "holding",
|
|
"data_format": "varchar",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 7,
|
|
"description": "Inverter' serial number",
|
|
},
|
|
"factory_name": {
|
|
"address": 0x0007,
|
|
"register_type": "holding",
|
|
"data_format": "varchar",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 7,
|
|
"description": "Factory name",
|
|
},
|
|
"module_name": {
|
|
"address": 0x000E,
|
|
"register_type": "holding",
|
|
"data_format": "varchar",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 7,
|
|
"description": "Module name",
|
|
},
|
|
"start_time": { # modified
|
|
"address": 0x0016,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "second",
|
|
"data_length": 1,
|
|
"description": "Launch wait time",
|
|
},
|
|
"reconnection_time": {
|
|
"address": 0x0017,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "second",
|
|
"data_length": 1,
|
|
"description": "Reconnection time",
|
|
}, # done
|
|
"checking_time": {
|
|
"address": 0x0018,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "second",
|
|
"data_length": 1,
|
|
"description": "Checking time",
|
|
}, # done
|
|
"vac_min_protect": {
|
|
"address": 0x0019,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Allowed minimum grid voltage",
|
|
}, # done
|
|
"vac_max_protect": {
|
|
"address": 0x001A,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Allowed maximum grid voltage",
|
|
}, # done
|
|
"fac_min_protect": {
|
|
"address": 0x001B,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "Hz",
|
|
"data_length": 1,
|
|
"description": "Allowed minimum grid frequency",
|
|
}, # done
|
|
"fac_max_protect": {
|
|
"address": 0x001C,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "Hz",
|
|
"data_length": 1,
|
|
"description": "Allowed maximum grid frequency",
|
|
}, # done
|
|
"safety_code": { # 0-500
|
|
"address": 0x001D,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "Safety type",
|
|
}, # done
|
|
"mate_box_enable": { # 0 or 1
|
|
"address": 0x001E,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "0:Disable 1:Enable",
|
|
}, # done
|
|
"grid_10_min_avg_protect": {
|
|
"address": 0x001F,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "10minutes over voltage protect",
|
|
},
|
|
"vac_min_slow_protect": {
|
|
"address": 0x0020,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Grid undervoltage protect value",
|
|
},
|
|
"vac_max_slow_protect": {
|
|
"address": 0x0021,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Grid overvoltage protect value",
|
|
},
|
|
"fac_min_slow_protect": {
|
|
"address": 0x0022,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "Hz",
|
|
"data_length": 1,
|
|
"description": "Grid underfrequency protect value",
|
|
},
|
|
"fac_max_slow_protect": {
|
|
"address": 0x0023,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "Hz",
|
|
"data_length": 1,
|
|
"description": "Grid overfrequency protect value",
|
|
},
|
|
"power_limits_percent": {
|
|
"address": 0x0025,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "%",
|
|
"data_length": 1,
|
|
"description": "Output power limits precent",
|
|
},
|
|
"powerfactor_mode": { # 0-5
|
|
"address": 0x0026,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "0:Off 1:Over Excited 2:Under Excited 3:Curve 4:Qu 5:Fix Q Power",
|
|
},
|
|
"powerfactor_data": {
|
|
"address": 0x0027,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "Power factor data",
|
|
},
|
|
"power_factor_curve_pf1": {
|
|
"address": 0x0028,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Curve_PF1",
|
|
},
|
|
"power_factor_curve_pf2": {
|
|
"address": 0x0029,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Curve_PF2",
|
|
},
|
|
"power_factor_curve_pf3": {
|
|
"address": 0x002A,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Curve_PF3",
|
|
},
|
|
"power_factor_curve_pf4": {
|
|
"address": 0x002B,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Curve_PF4",
|
|
},
|
|
"power_factor_curve_power1": {
|
|
"address": 0x002C,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "%",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Curve_Power1",
|
|
},
|
|
"power_factor_curve_power2": {
|
|
"address": 0x002D,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "%",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Curve_Power2",
|
|
},
|
|
"power_factor_curve_power3": {
|
|
"address": 0x002E,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "%",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Curve_Power3",
|
|
},
|
|
"power_factor_curve_power4": {
|
|
"address": 0x002F,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "%",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Curve_Power4",
|
|
},
|
|
"power_factor_curve_pf_lock_in_point": {
|
|
"address": 0x0030,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Curve_PfLockInPoint",
|
|
},
|
|
"power_factor_curve_pf_lock_out_point": {
|
|
"address": 0x0031,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Curve_PfLockOutPoint",
|
|
},
|
|
"power_factor_curve_3_tau": {
|
|
"address": 0x0032,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "second",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Curve_3Tau",
|
|
},
|
|
"power_factor_qu_volt_ratio_1": {
|
|
"address": 0x0033,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "%",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Qu_VoltRatio1",
|
|
},
|
|
"power_factor_qu_volt_ratio_4": {
|
|
"address": 0x0034,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "%",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Qu_VoltRatio4",
|
|
},
|
|
"power_factor_qu_qu_response_v1": {
|
|
"address": 0x0035,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Qu_QuResponseV1",
|
|
},
|
|
"power_factor_qu_qu_response_v2": {
|
|
"address": 0x0036,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Qu_QuResponseV2",
|
|
},
|
|
"power_factor_qu_qu_response_v3": {
|
|
"address": 0x0037,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Qu_QuResponseV3",
|
|
},
|
|
"power_factor_qu_qu_response_v4": {
|
|
"address": 0x0038,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Qu_QuResponseV4",
|
|
},
|
|
"power_factor_qu_k": {
|
|
"address": 0x0039,
|
|
"register_type": "holding",
|
|
"data_format": "int16",
|
|
"si_adj": 10,
|
|
"signed": True,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Qu_K",
|
|
},
|
|
"power_factor_qu_3_tau": {
|
|
"address": 0x003A,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "second",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Qu_3Tau",
|
|
},
|
|
"power_factor_qu_qu_delay_timer": {
|
|
"address": 0x003B,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "second",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Qu_QuDelayTimer",
|
|
},
|
|
"power_factor_qu_qu_lock_en": {
|
|
"address": 0x003C,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Qu_QuLockEn; 0:Disable 1:Enable",
|
|
},
|
|
"power_factor_qu_qu_lock_in": {
|
|
"address": 0x003D,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "%",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Qu_QuLockIn",
|
|
},
|
|
"power_factor_qu_qu_lock_out": {
|
|
"address": 0x003E,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_unit": "%",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_Qu_QuLockOut",
|
|
},
|
|
"power_factor_fix_q_power": {
|
|
"address": 0x003F,
|
|
"register_type": "holding",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "Var",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_FixQPower",
|
|
},
|
|
"power_factor_fix_q_power_max": {
|
|
"address": 0x0040,
|
|
"register_type": "holding",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "Var",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_FixQPower_Max",
|
|
},
|
|
"power_factor_fix_q_power_min": {
|
|
"address": 0x0041,
|
|
"register_type": "holding",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "Var",
|
|
"data_length": 1,
|
|
"description": "PowerFactor_FixQPower_Min",
|
|
},
|
|
"w_connection_fl": {
|
|
"address": 0x0042,
|
|
"register_type": "holding",
|
|
"data_format": "int16",
|
|
"si_adj": 100,
|
|
"signed": True,
|
|
"data_unit": "Hz",
|
|
"data_length": 1,
|
|
"description": "Connection Low frequency",
|
|
},
|
|
"w_connection_fh": {
|
|
"address": 0x0043,
|
|
"register_type": "holding",
|
|
"data_format": "int16",
|
|
"si_adj": 100,
|
|
"signed": True,
|
|
"data_unit": "Hz",
|
|
"data_length": 1,
|
|
"description": "Connection High frequency",
|
|
},
|
|
"w_connection_vl": {
|
|
"address": 0x0044,
|
|
"register_type": "holding",
|
|
"data_format": "int16",
|
|
"si_adj": 10,
|
|
"signed": True,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Connection Low voltage",
|
|
},
|
|
"w_connection_vh": {
|
|
"address": 0x0045,
|
|
"register_type": "holding",
|
|
"data_format": "int16",
|
|
"si_adj": 10,
|
|
"signed": True,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Connection High voltage",
|
|
},
|
|
"w_connection_observe_t": {
|
|
"address": 0x0046,
|
|
"register_type": "holding",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "second", # !!!
|
|
"data_length": 1,
|
|
"description": "Connection Observation time",
|
|
},
|
|
"w_connection_gradient_en": {
|
|
"address": 0x0047,
|
|
"register_type": "holding",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "Connection Gradient Select",
|
|
},
|
|
"w_reconnection_fl": {
|
|
"address": 0x0048,
|
|
"register_type": "holding",
|
|
"data_format": "int16",
|
|
"si_adj": 100,
|
|
"signed": True,
|
|
"data_unit": "Hz",
|
|
"data_length": 1,
|
|
"description": "Reconnection Low frequency",
|
|
},
|
|
"w_reconnection_fh": {
|
|
"address": 0x0049,
|
|
"register_type": "holding",
|
|
"data_format": "int16",
|
|
"si_adj": 100,
|
|
"signed": True,
|
|
"data_unit": "Hz",
|
|
"data_length": 1,
|
|
"description": "Reconnection High frequency",
|
|
},
|
|
"w_reconnection_vl": {
|
|
"address": 0x004A,
|
|
"register_type": "holding",
|
|
"data_format": "int16",
|
|
"si_adj": 10,
|
|
"signed": True,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Reconnection Low voltage",
|
|
},
|
|
"w_reconnection_vh": {
|
|
"address": 0x004B,
|
|
"register_type": "holding",
|
|
"data_format": "int16",
|
|
"si_adj": 10,
|
|
"signed": True,
|
|
"data_unit": "V",
|
|
"data_length": 1,
|
|
"description": "Reconnection High voltage",
|
|
},
|
|
"w_reconnection_observe_t": {
|
|
"address": 0x004C,
|
|
"register_type": "holding",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "second", # !!!
|
|
"data_length": 1,
|
|
"description": "Reconnection Observation time",
|
|
},
|
|
"w_reconnection_gradient_en": {
|
|
"address": 0x004D,
|
|
"register_type": "holding",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "N/A",
|
|
"data_length": 1,
|
|
"description": "Reconnection Gradient Select",
|
|
},
|
|
"w_reconnection_gradient": {
|
|
"address": 0x004E,
|
|
"register_type": "holding",
|
|
"data_format": "int16",
|
|
"si_adj": 1,
|
|
"signed": True,
|
|
"data_unit": "%",
|
|
"data_length": 1,
|
|
"description": "Reconnection Gradient",
|
|
},
|
|
"firmware_version_dsp_minor": {
|
|
"address": 0x007D,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Firmware version DSP Minor",
|
|
},
|
|
"hardware_version_dsp": {
|
|
"address": 0x007E,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Hardware version DSP",
|
|
},
|
|
"firmware_version_dsp_major": {
|
|
"address": 0x007F,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Firmware version DSP major",
|
|
},
|
|
"firmware_version_arm_major": {
|
|
"address": 0x0080,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Firmware version ARM major",
|
|
},
|
|
"firmware_version_modbus_rtu": {
|
|
"address": 0x0082,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Firmware version MODBUS RTU",
|
|
},
|
|
"firmware_version_arm_minor": {
|
|
"address": 0x0083,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Firmware version ARM minor",
|
|
},
|
|
"firmware_version_arm_bootloader": {
|
|
"address": 0x0084,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Firmware version ARM Bootloader",
|
|
},
|
|
"rtc_datetime": {
|
|
"address": 0x0085,
|
|
"register_type": "holding",
|
|
"data_format": "datetime",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 6,
|
|
"data_unit": "N/A",
|
|
"description": "RTC datetime",
|
|
},
|
|
"solar_charger_use_mode": { # 0-3
|
|
"address": 0x008B,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Solar Charger Use Mode",
|
|
},
|
|
"manual_mode": { # 0-2
|
|
"address": 0x008C,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Manual Mode",
|
|
},
|
|
"w_battery1_type": { # 0/1
|
|
"address": 0x008D,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "wBattery1 Type; 0:Lead Acid 1:Lithium",
|
|
},
|
|
"charge_float_volt": {
|
|
"address": 0x008E,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "V",
|
|
"description": "Lead-acid battery charge_float voltage",
|
|
},
|
|
"battery_discharge_cut_voltage": {
|
|
"address": 0x008F,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "V",
|
|
"description": "Lead-acid battery discharge cut-off voltage",
|
|
},
|
|
"battery_charge_max_current": {
|
|
"address": 0x0090,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "A",
|
|
"description": "Lead-acid battery charge maximum current",
|
|
},
|
|
"battery_discharge_max_current": {
|
|
"address": 0x0091,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "A",
|
|
"description": "Lead-acid battery discharge maximum Current",
|
|
},
|
|
"absorpt_voltage": {
|
|
"address": 0x0092,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "V",
|
|
"description": "Lead-acid battery absorpt voltage",
|
|
},
|
|
# NOTE: Could not transcribe registers with addresses 0x0093 though 0x009A inclusive
|
|
# because of two registers in the same address.
|
|
"set_charge_and_discharge_period_2_enable": { # 0/1
|
|
"address": 0x009B,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Whether to use period 2.",
|
|
},
|
|
# NOTE: Could not transcribe registers with addresses 0x009C though 0x009F inclusive
|
|
# because of two registers in the same address.
|
|
"eps_restart_soc": {
|
|
"address": 0x00A0,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "%",
|
|
"description": "Eps restart soc; 10-100",
|
|
},
|
|
"hot_standby_en": {
|
|
"address": 0x00A1,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Hot Standby EN; 0:Disable 1:Enable",
|
|
},
|
|
"extend_bms_setting": {
|
|
"address": 0x00A2,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Extend Bms Setting; 0:Disable 1:Enable",
|
|
},
|
|
"battery_heating_en": {
|
|
"address": 0x00A3,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Battery Heating En; 0:Disable 1:Enable",
|
|
},
|
|
# NOTE: Could not transcribe registers with addresses 0x00A4 though 0x00A7 inclusive
|
|
# because of two registers in the same address.
|
|
"w_battery_discharge_backup_voltage": {
|
|
"address": 0x00A8,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "V",
|
|
"description": "wBattery Discharge Backup Voltage",
|
|
},
|
|
"match_resistance_set": {
|
|
"address": 0x00A9,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "(X3) match resistance set; 0:Disable 1:Enable",
|
|
},
|
|
"registration_code": {
|
|
"address": 0x00AA,
|
|
"register_type": "holding",
|
|
"data_format": "varchar",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 5,
|
|
"data_unit": "N/A",
|
|
"description": "Registration code for external module",
|
|
},
|
|
"modbus_rtu_address": {
|
|
"address": 0x00AF,
|
|
"register_type": "holding",
|
|
"data_format": "uint16", # ?
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Modbus RTU Address",
|
|
},
|
|
"modbus_rtu_braud_rate": {
|
|
"address": 0x00B0,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "bps",
|
|
"description": "Modbus RTU braud rate; 0:115200 1:57600 2:56000 3:38400 4:19200 5:14400 6:9600",
|
|
},
|
|
# NOTE: This register might have been marked as reserved. See in docs.
|
|
"eps_bat_low_auto_recover_voltage": {
|
|
"address": 0x00B1,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "V",
|
|
"description": "Eps Bat Low Auto Recover Voltage",
|
|
},
|
|
"p_grid_bias": {
|
|
"address": 0x00B2,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "P grid Bias: 0:Disable 1:Grid 2:INV",
|
|
},
|
|
"factory_limit": {
|
|
"address": 0x00B5,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "W",
|
|
"description": "Factory limit",
|
|
},
|
|
"export_control_user_limit": {
|
|
"address": 0x00B6,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "W",
|
|
"description": "export control user limit",
|
|
},
|
|
"off_grid_mute": {
|
|
"address": 0x00B7,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Off-grid mute: 0(off)/1(on)",
|
|
},
|
|
"off_grid_min_soc": {
|
|
"address": 0x00B8,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "%",
|
|
"description": "Off-grid Min SoC",
|
|
},
|
|
"off_grid_frequency_holding_reg": {
|
|
"address": 0x00B9,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Off-grid Frequency",
|
|
},
|
|
"inverter_power_type": { # 3000-15000
|
|
"address": 0x00BA,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "W",
|
|
"description": "Inverter power type",
|
|
},
|
|
"language": { # 0-6
|
|
"address": 0x00BB,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Language",
|
|
},
|
|
"enable_mppt": { # 0/1
|
|
"address": 0x00BC,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Enable MPPT",
|
|
},
|
|
"wtuvp_l2": {
|
|
"address": 0x00BD,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "second",
|
|
"description": "wTuvp L2",
|
|
},
|
|
"wtovp_l2": {
|
|
"address": 0x00BE,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "second",
|
|
"description": "wTovp L2",
|
|
},
|
|
"wtufp_l2": {
|
|
"address": 0x00BF,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "second",
|
|
"description": "wTufp L2",
|
|
},
|
|
"wtofp_l2": {
|
|
"address": 0x00C0,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "second",
|
|
"description": "wTofp L2",
|
|
},
|
|
"wtuvp_l1": {
|
|
"address": 0x00C1,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "second",
|
|
"description": "wTuvp L1",
|
|
},
|
|
"wtovp_l1": {
|
|
"address": 0x00C2,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "second",
|
|
"description": "wTovp L1",
|
|
},
|
|
"wtufp_l1": {
|
|
"address": 0x00C3,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "second",
|
|
"description": "wTufp L1",
|
|
},
|
|
"wTofp_L1": {
|
|
"address": 0x00C4,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "second",
|
|
"description": "wTofp L1",
|
|
},
|
|
"test_step": { # 1-9
|
|
"address": 0x00C5,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Test Step",
|
|
},
|
|
"ovp_value_ovp_59_s2": {
|
|
"address": 0x00C6,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "V",
|
|
"description": "OvpValue(Ovp(59.S2))",
|
|
},
|
|
"ovp_time_ovp_59_s2": {
|
|
"address": 0x00C7,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "second",
|
|
"description": "OvpTime(Ovp(59.S2))",
|
|
},
|
|
"uvp_value_uvp_27_s1": {
|
|
"address": 0x00C8,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "V",
|
|
"description": "UvpValue(Uvp(27.S1))",
|
|
},
|
|
"uvp_time_uvp_27_s1": {
|
|
"address": 0x00C9,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "second",
|
|
"description": "UvpTime(Uvp(27.S1))",
|
|
},
|
|
"ofp_value_ofp_81_s1": {
|
|
"address": 0x00CA,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "Hz",
|
|
"description": "OfpValue(Ofp(81>.S1))",
|
|
},
|
|
"ofp_time_ofp_81_s1": {
|
|
"address": 0x00CB,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "second",
|
|
"description": "OfpTime(Ofp(81>.S1))",
|
|
},
|
|
"ufp_value_ufp_81_s1": {
|
|
"address": 0x00CC,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "Hz",
|
|
"description": "UfpValue(Ufp(81<.S1))",
|
|
},
|
|
"ufp_time_ufp_81_s1": {
|
|
"address": 0x00CD,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "second",
|
|
"description": "UfpTime(Ufp(81<.S1))",
|
|
},
|
|
"self_test_ovp_10m_avg_val": {
|
|
"address": 0x00CE,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "V",
|
|
"description": "Self Test Ovp 10m Avg Val (Ovp_10(59.S1))",
|
|
},
|
|
"self_test_ovp_10m_avg_time": {
|
|
"address": 0x00CF,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "second", # !!!
|
|
"description": "Self Test Ovp 10m Avg Time (Ovp_10(59.S1))",
|
|
},
|
|
"self_test_ofp_val_restrictive": {
|
|
"address": 0x00D0,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "Hz",
|
|
"description": "Self Test Ofp Val Restrictive (Ofp2(81>.S2))",
|
|
},
|
|
"self_test_ofp_time_restrictive": {
|
|
"address": 0x00D1,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "second",
|
|
"description": "Self Test Ofp Time Restrictive (Ofp2(81>.S2))",
|
|
},
|
|
"self_test_ufp_val_restrictive": {
|
|
"address": 0x00D2,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "Hz",
|
|
"description": "Self Test Ufp Val Restrictive (Ufp2(81<.S2))",
|
|
},
|
|
"self_test_ufp_time_restrictive": {
|
|
"address": 0x00D3,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "second",
|
|
"description": "Self Test Ufp Time Restrictive (Ufp2(81<.S2))",
|
|
},
|
|
"self_test_uvp_restrictive_val": {
|
|
"address": 0x00D4,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "V",
|
|
"description": "Self Test Uvp Restrictive Val (Uvp(27.S2))",
|
|
},
|
|
"self_test_uvp_restrictive_time": {
|
|
"address": 0x00D5,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "second",
|
|
"description": "Self Test Uvp Restrictive Time (Uvp(27.S2))",
|
|
},
|
|
"self_test_time": {
|
|
"address": 0x00D6,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "second",
|
|
"description": "Self Test Time",
|
|
},
|
|
"main_breaker_current_limit": { # 32-100
|
|
"address": 0x00D7,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "A",
|
|
"description": "Main Breaker Current Limit",
|
|
},
|
|
# NOTE: Did not write registers with addresses 0x00D8 and 0x00D9 because
|
|
# they have a strikethough.
|
|
"w_inverter_output_switch": { # 0/1
|
|
"address": 0x00DA,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "w Inverter OutPut Switch",
|
|
},
|
|
"ofpl_point": {
|
|
"address": 0x00DB,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "Hz",
|
|
"description": "Overfrequency load reduction point",
|
|
},
|
|
"ofpl_set_rate": {
|
|
"address": 0x00DC,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "%",
|
|
"description": "Overfrequency load reduction rate",
|
|
},
|
|
"ofpl_delay_time": {
|
|
"address": 0x00DD,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "second",
|
|
"description": "Overfrequency load reduction delay time",
|
|
},
|
|
"ofpl_fstop_disch": {
|
|
"address": 0x00DE,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "Hz",
|
|
"description": "OFPL fstop disch",
|
|
},
|
|
# NOTE: Not sure if name is correct. In docs: 'OFPL_fPmin'
|
|
"ofpl_f_pmin": {
|
|
"address": 0x00DF,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "Hz",
|
|
"description": "OFPL_fPmin",
|
|
},
|
|
"user_password": {
|
|
"address": 0x00E0,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "User password",
|
|
},
|
|
"advanced_password": {
|
|
"address": 0x00E1,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Advanced password",
|
|
},
|
|
"ufpl_point": {
|
|
"address": 0x00E2,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "Hz",
|
|
"description": "Underfrequency load increase point",
|
|
},
|
|
"ufpl_set_rate": {
|
|
"address": 0x00E3,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "%",
|
|
"description": "Underfrequency load increase rate",
|
|
},
|
|
"ufpl_delay_time": {
|
|
"address": 0x00E4,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "second",
|
|
"description": "Underfrequency load increase delay time",
|
|
},
|
|
"ofpl_curve_type": { # 0/1
|
|
"address": 0x00E5,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Overfrequency load reduction curve type selection.",
|
|
},
|
|
"ofpl_tstop": {
|
|
"address": 0x00E6,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "second",
|
|
"description": "Overfrequency load reduction asymmetry curve stop time",
|
|
},
|
|
"ofpl_remove_point": {
|
|
"address": 0x00E7,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "Hz",
|
|
"description": "Overfrequency load reduction frequency remove point",
|
|
},
|
|
"ufpl_remove_point": {
|
|
"address": 0x00E8,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "Hz",
|
|
"description": "Underfrequency load increase frequency remove point",
|
|
},
|
|
"export_soft_limit_en": {
|
|
"address": 0x00E9,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Export Soft Limit En",
|
|
},
|
|
"export_hard_limit_en": {
|
|
"address": 0x00EA,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Export Hard Limit En",
|
|
},
|
|
"general_soft_limit_en": {
|
|
"address": 0x00EB,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "General Soft Limit En",
|
|
},
|
|
"general_hard_limit_en": {
|
|
"address": 0x00EC,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "General Hard Limit En",
|
|
},
|
|
# NOTE: Not sure what value to set at si_adj field
|
|
"w_ac_power_limit": {
|
|
"address": 0x00ED,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "VA",
|
|
"description": "w Ac Power Limit",
|
|
},
|
|
"connect_slop": {
|
|
"address": 0x00EE,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "%",
|
|
"description": "Connect slop",
|
|
},
|
|
"reconnect_slop": {
|
|
"address": 0x00EF,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "%",
|
|
"description": "Reconnect slop",
|
|
},
|
|
# NOTE: Not sure what value to set at si_adj field
|
|
"hard_export_power": {
|
|
"address": 0x00F0,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "W",
|
|
"description": "Hard Export Power",
|
|
},
|
|
# NOTE: Not sure what value to set at si_adj field
|
|
"hard_ac_power_t_limit": {
|
|
"address": 0x00F1,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "VA",
|
|
"description": "Hard Ac Power t Limit",
|
|
},
|
|
"setpoint_timeout": {
|
|
"address": 0x00F2,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1000,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "second",
|
|
"description": "Setpoint Timeout",
|
|
},
|
|
"w_power_limit_gra": {
|
|
"address": 0x00F3,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10000,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "w Power Limit Gra",
|
|
},
|
|
"pu_func_volt_response_v2": {
|
|
"address": 0x00F4,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "V",
|
|
"description": "PuFunction Voltage",
|
|
},
|
|
"pu_func_volt_response_v3": {
|
|
"address": 0x00F5,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "V",
|
|
"description": "PuFunction Voltage",
|
|
},
|
|
"pu_func_volt_response_v4": {
|
|
"address": 0x00F6,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "V",
|
|
"description": "Pu Function Voltage",
|
|
},
|
|
"pu_func_volt_response_v1": {
|
|
"address": 0x00F7,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "V",
|
|
"description": "Pu Function Voltage",
|
|
},
|
|
"pu_func_3tau": {
|
|
"address": 0x00F8,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Pu Func 3Tau",
|
|
},
|
|
"pu_func_enable": { # 0/1
|
|
"address": 0x00F9,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "PU Func Enable",
|
|
},
|
|
"set_pu_power1": {
|
|
"address": 0x00FA,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "%",
|
|
"description": "Set Pu Power1",
|
|
},
|
|
"set_pu_power2": {
|
|
"address": 0x00FB,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "%",
|
|
"description": "Set Pu Power2",
|
|
},
|
|
"set_pu_power3": {
|
|
"address": 0x00FC,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "%",
|
|
"description": "Set Pu Power3",
|
|
},
|
|
"set_pu_power4": {
|
|
"address": 0x00FD,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "%",
|
|
"description": "Set Pu Power4",
|
|
},
|
|
"pu_tpye": {
|
|
"address": 0x00FF,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Pu Tpye",
|
|
},
|
|
"ufpl_fstop_ch": {
|
|
"address": 0x0100,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "Hz",
|
|
"description": "UFPL fstop ch",
|
|
},
|
|
# NOTE: Not sure if name is correct. In docs: 'UFPL_fPmax'
|
|
"ufpl_fp_max": {
|
|
"address": 0x0101,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 100,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "Hz",
|
|
"description": "UFPL fPmax",
|
|
},
|
|
"drm_function_enable": { # 0/1
|
|
"address": 0x0102,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "DRM Function Enable",
|
|
},
|
|
"ct_type": { # 100/200
|
|
"address": 0x0103,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Ct Type",
|
|
},
|
|
"w_shadow_fix_func_enable": { # 0-3
|
|
"address": 0x0104,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "w Shadow Fix Func Enable",
|
|
},
|
|
"machine_type": {
|
|
"address": 0x0105,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Machine type: 1:X1, 3:X3",
|
|
},
|
|
"phase_power_balance": { # 0/1
|
|
"address": 0x0106,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Phase Power Balance",
|
|
},
|
|
"w_machine_style": { # 0/1
|
|
"address": 0x0107,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "w Machine Style",
|
|
},
|
|
"meter_function": { # 0/1
|
|
"address": 0x0108,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Meter Function",
|
|
},
|
|
"meter1_id": { # 1-200
|
|
"address": 0x0109,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Meter1 ID",
|
|
},
|
|
"meter2_id": { # 1-200
|
|
"address": 0x010A,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Meter2 ID",
|
|
},
|
|
"direction_meter_ct_1": { # 0/1
|
|
"address": 0x010B,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Direction Meter CT 1",
|
|
},
|
|
"direction_meter_2": { # 0/1
|
|
"address": 0x010C,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Direction Meter 2",
|
|
},
|
|
"external_inv": { # 0/1
|
|
"address": 0x010D,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "External Inv",
|
|
},
|
|
"input_di_1": { # 0:Low-level or 1:High-level
|
|
"address": 0x0110,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Input DI 1",
|
|
},
|
|
"disch_cut_off_point_different_en": { # 0/1
|
|
"address": 0x0111,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Whether Lead-acid Battery discharge cut-off voltage point is enable.",
|
|
},
|
|
"disch_cut_off_voltage_grid_mode": {
|
|
"address": 0x0113,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "V",
|
|
"description": "Lead-acid Battery discharge cut-off voltage in on-grid mode",
|
|
},
|
|
"shadow_fix_func_enable_2": { # 0-3
|
|
"address": 0x0114,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Shadow Fix Func Enable 2",
|
|
},
|
|
"meter_ct_select": { # 0/1
|
|
"address": 0x0115,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Meter/CT select",
|
|
},
|
|
"fvrt_function": { # 0/1
|
|
"address": 0x0116,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "FVRT Function",
|
|
},
|
|
"fvrt_vac_upper": {
|
|
"address": 0x0117,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "V",
|
|
"description": "If FVRT_Function is enable, FVRT Vac upper limit is available.",
|
|
},
|
|
"fvrt_vac_lower": {
|
|
"address": 0x0118,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 10,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "V",
|
|
"description": "If FVRT_Function is enable, FVRT Vac lower limit is available.",
|
|
},
|
|
# NOTE: Not sure if name is correct. In docs: 'bPVConnectionMode'
|
|
"bpv_connection_mode": {
|
|
"address": 0x011B,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "PV connection",
|
|
},
|
|
"shut_down": { # 0/1
|
|
"address": 0x011C,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Shut Down",
|
|
},
|
|
"micro_grid": { # 0/1
|
|
"address": 0x011D,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Micro Grid",
|
|
},
|
|
"selfuse_mode_backup_en": { # 0/1
|
|
"address": 0x011E,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Selfuse Mode Backup En",
|
|
},
|
|
"b_self_use_backup_soc": { # 10-100
|
|
"address": 0x011F,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "%",
|
|
"description": "b Self Use Backup Soc",
|
|
},
|
|
"b_lease_mode_enable": { # 0/1
|
|
"address": 0x0120,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "b Lease Mode Enable",
|
|
},
|
|
"b_device_lock_flag": { # 0/1
|
|
"address": 0x0121,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "b Device Lock Flag",
|
|
},
|
|
"manual_mode_control": { # 0/1
|
|
"address": 0x0122,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Manual Mode Control",
|
|
},
|
|
"feedin_on_power": {
|
|
"address": 0x0123,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "W",
|
|
"description": "Grid connected pull in power point",
|
|
},
|
|
"b_switch_on_soc": {
|
|
"address": 0x0124,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "%",
|
|
"description": "SOC trigger point of pull in action",
|
|
},
|
|
"consume_off_power": {
|
|
"address": 0x0125,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "W",
|
|
"description": "Power consumption off trigger point",
|
|
},
|
|
"b_switch_off_soc": {
|
|
"address": 0x0126,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "%",
|
|
"description": "SOC trigger point of breaking action",
|
|
},
|
|
# NOTE: added a character in the name
|
|
"minimum_per_one_signal": {
|
|
"address": 0x0127,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "min",
|
|
"description": "Minimum duration of single pull in",
|
|
},
|
|
# NOTE: Based on description, the data unit might be second or minute,
|
|
# but no data unit was specified in the docs. Set it to N/A.
|
|
"maximum_per_day_on": {
|
|
"address": 0x0128,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Maximum cumulative pickup time of the day",
|
|
},
|
|
"b_schedule_enable": { # 0/1
|
|
"address": 0x0129,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "b Schedule Enable",
|
|
},
|
|
# NOTE: Could not transcribe registers with addresses 0x012A though 0x012D inclusive
|
|
# because of two registers per address.
|
|
"work_mode": { # 0-2
|
|
"address": 0x012E,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Work Mode",
|
|
},
|
|
"dry_contact_mode": { # 0/1
|
|
"address": 0x012F,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Dry Contact Mode",
|
|
},
|
|
"parallel_setting": { # 0-2
|
|
"address": 0x0130,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "Parallel Setting",
|
|
},
|
|
"external_gen_en": { # 0/1
|
|
"address": 0x0131,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "External Gen En",
|
|
},
|
|
# NOTE: Not sure what value to set at si_adj field
|
|
"external_gen_max_charge": {
|
|
"address": 0x0132,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "W",
|
|
"description": "External Gen Max Charge",
|
|
},
|
|
"485_comm_fun_select": { # 0/1
|
|
"address": 0x013E,
|
|
"register_type": "holding",
|
|
"data_format": "uint16",
|
|
"si_adj": 1,
|
|
"signed": False,
|
|
"data_length": 1,
|
|
"data_unit": "N/A",
|
|
"description": "485 Comm Fun Select",
|
|
},
|
|
}
|
|
|
|
def get_register_info(self, name: str):
|
|
return self._registers[name]
|
|
|
|
def list_register_names(self):
|
|
return list(self._registers.keys())
|
|
|
|
def list_holding_registers(self):
|
|
r = []
|
|
for reg in self._registers:
|
|
if self._registers[reg]["register_type"] == "holding":
|
|
r.append(reg)
|
|
return r
|
|
|
|
def list_input_registers(self):
|
|
r = []
|
|
for reg in self._registers:
|
|
if self._registers[reg]["register_type"] == "input":
|
|
r.append(reg)
|
|
return r
|