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