Skip to content

Instantly share code, notes, and snippets.

@janispritzkau
Created August 9, 2022 09:48
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save janispritzkau/277f94f28421e60308c9f99a736621fa to your computer and use it in GitHub Desktop.
Save janispritzkau/277f94f28421e60308c9f99a736621fa to your computer and use it in GitHub Desktop.
Modbus Registers for Sungrow SH10RT Hybrid Inverter
input_registers:
- name: protocol_number
data_type: uint32
address: 4950
- name: protocol_version
data_type: uint32
address: 4952
- name: arm_software_version
data_type: string
address: 4954
length: 15
- name: dsp_software_version
data_type: string
address: 4969
length: 15
- name: serial_number
data_type: string
address: 4990
length: 10
- name: device_type_code
data_type: uint16
address: 5000
- name: nominal_output_power
data_type: uint16
address: 5001
unit: watt
factor: 100
- name: output_type
data_type: uint16
address: 5002
enum_values:
- { value: 0, name: single_phase }
- { value: 1, name: 3p4l }
- { value: 2, name: 3p3l }
- name: daily_output_energy
data_type: uint16
address: 5003
unit: kilowatt_hour
factor: 0.1
- name: total_output_energy
data_type: uint32
address: 5004
unit: kilowatt_hour
factor: 0.1
- name: inside_temperature
data_type: int16
address: 5008
unit: celsius
factor: 0.1
- name: total_apparent_power
data_type: uint32
address: 5009
- name: mppt_1_voltage
data_type: uint16
address: 5011
unit: volt
factor: 0.1
- name: mppt_1_current
data_type: uint16
address: 5012
unit: ampere
factor: 0.1
- name: mppt_2_voltage
data_type: uint16
address: 5013
unit: volt
factor: 0.1
- name: mppt_2_current
data_type: uint16
address: 5014
unit: ampere
factor: 0.1
- name: total_dc_power
data_type: uint32
address: 5017
unit: watt
- name: phase_a_voltage
data_type: uint16
address: 5019
unit: volt
factor: 0.1
- name: phase_b_voltage
data_type: uint16
address: 5020
unit: volt
factor: 0.1
- name: phase_c_voltage
data_type: uint16
address: 5021
unit: volt
factor: 0.1
- name: total_active_power
data_type: uint32
address: 5031
unit: watt
- name: reactive_power
data_type: int32
address: 5033
unit: volt_ampere_reactive
- name: power_factor
data_type: int16
address: 5035
factor: 0.001
- name: grid_frequency
data_type: uint16
address: 5036
unit: hertz
factor: 0.1
- name: export_limit_min
data_type: uint16
address: 5622
unit: watt
factor: 10
- name: export_limit_max
data_type: uint16
address: 5623
unit: watt
factor: 10
- name: bdc_rated_power
data_type: uint16
address: 5628
unit: watt
factor: 100
- name: max_charging_current_bms
data_type: uint16
address: 5635
unit: ampere
- name: max_discharging_current_bms
data_type: uint16
address: 5636
unit: ampere
- name: pv_power_of_today
data_type: uint16_array
address: 6100
length: 96
unit: watt
- name: daily_pv_energy_yields
data_type: uint16_array
address: 6196
length: 31
unit: kilowatt_hour
factor: 0.1
- name: monthly_pv_energy_yields
data_type: uint16_array
address: 6227
length: 12
unit: kilowatt_hour
- name: yearly_pv_energy_yields
data_type: uint32_array
address: 6250
length: 40
unit: kilowatt_hour
factor: 0.1
- name: direct_power_consumption_of_today_from_pv
data_type: uint16_array
address: 6290
length: 96
unit: watt
- name: daily_direct_energy_consumption_from_pv
data_type: uint16_array
address: 6386
length: 31
unit: kilowatt_hour
factor: 0.1
- name: monthly_direct_energy_consumption_from_pv
data_type: uint16_array
address: 6417
length: 12
unit: kilowatt_hour
factor: 0.1
- name: yearly_direct_energy_consumption_from_pv
data_type: uint32_array
address: 6429
length: 40
unit: kilowatt_hour
factor: 0.1
- name: export_power_from_pv_of_today
data_type: uint16_array
address: 6469
length: 96
unit: watt
- name: daily_export_energy_from_pv
data_type: uint16_array
address: 6565
length: 31
unit: kilowatt_hour
factor: 0.1
- name: monthly_export_energy_from_pv
data_type: uint16_array
address: 6596
length: 12
unit: kilowatt_hour
factor: 0.1
- name: yearly_export_energy_from_pv
data_type: uint32_array
address: 6608
length: 40
unit: kilowatt_hour
factor: 0.1
- name: battery_charge_power_of_today
data_type: uint16_array
address: 6648
length: 96
unit: watt
- name: daily_battery_charge_energy_from_pv
data_type: uint16_array
address: 6744
length: 31
unit: kilowatt_hour
factor: 0.1
- name: monthly_battery_charge_energy_from_pv
data_type: uint16_array
address: 6775
length: 12
unit: kilowatt_hour
factor: 0.1
- name: yearly_battery_charge_energy_from_pv
data_type: uint32_array
address: 6787
length: 40
unit: kilowatt_hour
factor: 0.1
- name: system_state
data_type: uint16
address: 13000
enum_values:
- { value: 0x0002, name: stop }
- { value: 0x0008, name: standby }
- { value: 0x0010, name: initial_standby }
- { value: 0x0020, name: startup }
- { value: 0x0040, name: running }
- { value: 0x0100, name: fault }
- { value: 0x0400, name: running_in_maintain_mode }
- { value: 0x0800, name: running_in_forced_mode }
- { value: 0x1000, name: running_in_off_grid_mode }
- { value: 0x2501, name: restarting }
- { value: 0x4000, name: running_in_external_ems_mode }
- name: running_state
data_type: uint16
address: 13001
bit_mask:
pv_generating_power: 0x0001
battery_charging: 0x0002
battery_discharging: 0x0004
positive_load: 0x0008
feed_in_to_grid: 0x0010
importing_from_grid: 0x0020
negative_load: 0x0080
- name: daily_pv_generation
data_type: uint16
address: 13002
unit: kilowatt_hour
factor: 0.1
- name: total_pv_generation
data_type: uint32
address: 13003
unit: kilowatt_hour
factor: 0.1
- name: daily_export_power_from_pv
data_type: uint16
address: 13005
unit: kilowatt_hour
factor: 0.1
- name: total_export_power_from_pv
data_type: uint32
address: 13006
unit: kilowatt_hour
factor: 0.1
- name: load_power
data_type: int32
address: 13008
unit: watt
- name: export_power
data_type: int32
address: 13010
unit: watt
- name: daily_charge_energy_from_pv
data_type: uint16
address: 13012
unit: kilowatt_hour
factor: 0.1
- name: total_charge_energy_from_pv
data_type: uint32
address: 13013
unit: kilowatt_hour
factor: 0.1
- name: co2_reduction
data_type: uint32
address: 13015
unit: kilogram
factor: 0.1
- name: daily_direct_energy_consumption
data_type: uint16
address: 13017
unit: kilowatt_hour
factor: 0.1
- name: total_direct_energy_consumption
data_type: uint32
address: 13018
unit: kilowatt_hour
factor: 0.1
- name: battery_voltage
data_type: uint16
address: 13020
unit: volt
factor: 0.1
- name: battery_current
data_type: uint16
address: 13021
unit: ampere
factor: 0.1
- name: battery_power
data_type: uint16
address: 13022
unit: watt
- name: battery_level
data_type: uint16
address: 13023
unit: percent
factor: 0.1
- name: battery_state_of_health
data_type: uint16
address: 13024
unit: percent
factor: 0.1
- name: battery_temperature
data_type: int16
address: 13025
unit: celsius
factor: 0.1
- name: daily_battery_discharge_energy
data_type: uint16
address: 13026
unit: kilowatt_hour
factor: 0.1
- name: total_battery_discharge_energy
data_type: uint32
address: 13027
unit: kilowatt_hour
factor: 0.1
- name: self_consumption_of_today
data_type: uint16
address: 13029
unit: percent
factor: 0.1
- name: grid_state
data_type: uint16
address: 13030
enum_values:
- { value: 0xaa, name: off_grid }
- { value: 0x55, name: on_grid }
- name: phase_a_current
data_type: int16
address: 13031
unit: ampere
factor: 0.1
- name: phase_b_current
data_type: int16
address: 13032
unit: ampere
factor: 0.1
- name: phase_c_current
data_type: int16
address: 13033
unit: ampere
factor: 0.1
- name: total_active_power
data_type: int32
address: 13034
unit: watt
- name: daily_import_energy
data_type: uint16
address: 13036
unit: kilowatt_hour
factor: 0.1
- name: total_import_energy
data_type: uint32
address: 13037
unit: kilowatt_hour
factor: 0.1
- name: battery_capacity
data_type: uint16
address: 13039
note: 0.1 kWh / 1 Ah as unit depending on battery type
- name: daily_charge_energy
data_type: uint16
address: 13040
unit: kilowatt_hour
factor: 0.1
- name: total_charge_energy
data_type: uint32
address: 13041
unit: kilowatt_hour
factor: 0.1
- name: drm_state
data_type: uint16
address: 13043
- name: daily_export_energy
data_type: uint16
address: 13045
unit: kilowatt_hour
factor: 0.1
- name: total_export_energy
data_type: uint32
address: 13046
unit: kilowatt_hour
factor: 0.1
- name: inverter_alarm
data_type: uint32
address: 13050
- name: grid_side_fault
data_type: uint32
address: 13052
- name: system_fault_1
data_type: uint32
address: 13054
- name: system_fault_2
data_type: uint32
address: 13056
- name: dc_side_fault
data_type: uint32
address: 13058
- name: permanent_fault
data_type: uint32
address: 13060
- name: bdc_side_fault
data_type: uint32
address: 13062
- name: bdc_side_permanent_fault
data_type: uint32
address: 13064
- name: battery_fault
data_type: uint32
address: 13066
- name: battery_alarm
data_type: uint32
address: 13068
- name: bms_alarm
data_type: uint32
address: 13070
- name: bms_protection
data_type: uint32
address: 13072
- name: bms_fault_1
data_type: uint32
address: 13074
- name: bms_fault_2
data_type: uint32
address: 13076
- name: bms_alarm_2
data_type: uint32
address: 13078
holding_registers:
- name: system_clock_year
data_type: uint16
address: 5000
- name: system_clock_month
data_type: uint16
address: 5001
- name: system_clock_day
data_type: uint16
address: 5002
- name: system_clock_hour
data_type: uint16
address: 5003
- name: system_clock_minute
data_type: uint16
address: 5004
- name: system_clock_second
data_type: uint16
address: 5005
- name: start_stop
data_type: uint16
address: 13000
enum_values:
- { value: 0xcf, name: start }
- { value: 0xce, name: stop }
- name: battery_maintanance
data_type: uint16
address: 13001
enum_values:
- { value: 0xaa, name: maintanance }
- name: load_1_adjustment_mode
data_type: uint16
address: 13002
enum_values:
- { value: 0, name: timing_mode }
- { value: 1, name: on_off_mode }
- { value: 2, name: power_optimized_mode }
- { value: 3, name: disable }
- name: load_1_timing_period_1_start_hour
data_type: uint16
address: 13003
- name: load_1_timing_period_1_start_minute
data_type: uint16
address: 13004
- name: load_1_timing_period_1_end_hour
data_type: uint16
address: 13005
- name: load_1_timing_period_1_end_minute
data_type: uint16
address: 13006
- name: load_1_timing_period_2_start_hour
data_type: uint16
address: 13007
- name: load_1_timing_period_2_start_minute
data_type: uint16
address: 13008
- name: load_1_timing_period_2_end_hour
data_type: uint16
address: 13009
- name: load_1_timing_period_2_end_minute
data_type: uint16
address: 13010
- name: load_1_on_off_mode
data_type: uint16
address: 13011
enum_values:
- { value: 0xaa, name: enable }
- { value: 0x55, name: disable }
- name: load_1_power_optimized_mode_start_hour
data_type: uint16
address: 13012
- name: load_1_power_optimized_mode_start_minute
data_type: uint16
address: 13013
- name: load_1_power_optimized_mode_end_hour
data_type: uint16
address: 13014
- name: load_1_power_optimized_mode_end_minute
data_type: uint16
address: 13015
- name: optimized_power_of_load_1
data_type: uint16
address: 13016
unit: watt
- name: ems_mode_selection
data_type: uint16
address: 13050
enum_values:
- { value: 0, name: self_consumption_mode }
- { value: 2, name: forced_mode }
- { value: 3, name: external_ems_mode }
- { value: 4, name: vpp }
- name: charge_discharge_command
data_type: uint16
address: 13051
enum_values:
- { value: 0xaa, name: charge }
- { value: 0xbb, name: discharge }
- { value: 0xcc, name: stop }
- name: charge_discharge_power
data_type: uint16
address: 13052
unit: watt
- name: battery_type
data_type: uint16
address: 13055
- name: battery_nominal_voltage
data_type: uint16
address: 13056
unit: volt
factor: 0.1
- name: battery_capacity
data_type: uint16
address: 13057
unit: ampere_hour
- name: max_soc
data_type: uint16
address: 13058
unit: percent
factor: 0.1
- name: min_soc
data_type: uint16
address: 13059
unit: percent
factor: 0.1
- name: battery_overvoltage_threshold
data_type: uint16
address: 13060
unit: volt
factor: 0.1
- name: battery_undervoltage_threshold
data_type: uint16
address: 13061
unit: volt
factor: 0.1
- name: battery_over_temperature_threshold
data_type: int16
address: 13062
unit: celsius
factor: 0.1
- name: battery_under_temperature_threshold
data_type: int16
address: 13063
unit: celsius
factor: 0.1
- name: terminated_current_of_constant_voltage_charging
data_type: uint16
address: 13065
factor: 0.001
- name: max_discharge_current
data_type: uint16
address: 13066
factor: 0.001
- name: max_charge_current
data_type: uint16
address: 13067
factor: 0.001
- name: constant_charge_voltage
data_type: uint16
address: 13068
unit: volt
factor: 0.01
- name: terminated_voltage_of_discharging
data_type: uint16
address: 13069
unit: volt
factor: 0.001
- name: emergency_charge_current
data_type: uint16
address: 13070
factor: 0.001
- name: time_for_fully_charge
data_type: uint16
address: 13071
unit: second
- name: terminated_current_for_fully_charge
data_type: uint16
address: 13072
factor: 0.001
- name: time_for_constant_voltage_charge
data_type: uint16
address: 13073
unit: second
- name: export_power_limitation
data_type: uint16
address: 13074
unit: watt
- name: off_grid_option
data_type: uint16
address: 13075
enum_values:
- { value: 0xaa, name: enable }
- { value: 0x55, name: disable }
- name: external_ems_heartbeat
data_type: uint16
address: 13080
unit: second
- name: external_signal_of_italy
data_type: uint16
address: 13083
- name: start_charging_power
data_type: uint16
address: 13084
unit: watt
- name: start_discharging_power
data_type: uint16
address: 13085
unit: watt
- name: meter_comm_detection
data_type: uint16
address: 13086
enum_values:
- { value: 0xaa, name: enable }
- { value: 0x55, name: disable }
- name: export_power_limitation
data_type: uint16
address: 13087
enum_values:
- { value: 0xaa, name: enable }
- { value: 0x55, name: disable }
- name: reserved_soc_for_backup
data_type: uint16
address: 13100
unit: percent
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment