SOLIS 5G PV Register Mapping

Greetings!

I’m using Solis2MQTT (here) with a spare Pi Zero W and RS485 adapter to receive information from my 5G Solis inverter. It’s working really well.

However, the GitHub page and config file has mappings for the earlier 3G versions and I’ve not had much luck in finding information about the 5G mappings and which ones to export to HA.

The 5G documentation is here

If any one comes looking, this is what I have so far.

I have some battery information coming through to HA now which needs tidied up with some templating, but not all of the battery information seems to get sent from the inverter so is commented out just now.

If anyone has any feedback, I’d be happy to learn from you

- name: dc_voltage_1
  description: DC Voltage 1
  unit: V
  active: true
  modbus:
    register: 33049
    read_type: register
    number_of_decimals: 1
    function_code: 4
    signed: true
  homeassistant:
    device: sensor
    state_class: measurement
    device_class: voltage

- name: dc_amps_1
  description: DC Amps 1
  unit: A
  active: true
  modbus:
    register: 33050
    read_type: register
    number_of_decimals: 1
    function_code: 4
    signed: true
  homeassistant:
    device: sensor
    state_class: measurement
    device_class: current

- name: dc_voltage_2
  description: DC Voltage 2                   
  unit: V
  active: true
  modbus:
    register: 33051
    read_type: register
    number_of_decimals: 1
    function_code: 4
    signed: true
  homeassistant:
    device: sensor
    state_class: measurement
    device_class: voltage


- name: dc_amps_2
  description: DC Amps 2
  unit: A
  active: true
  modbus:
    register: 33052
    read_type: register
    number_of_decimals: 1
    function_code: 4
    signed: true
  homeassistant:
    device: sensor
    state_class: measurement
    device_class: current

- name: active_power
  description: Active Power
  unit: W
  active: true
  modbus:
    register: 33079
    read_type: long
    function_code: 4
    signed: false
  homeassistant:
    device: sensor
    state_class: measurement
    device_class: power

- name: grid_power
  description: Grid Import Export
  unit: W
  active: true
  modbus:
    register: 33130
    read_type: long
    function_code: 4
    signed: true
  homeassistant:
    device: sensor
    state_class: measurement
    device_class: power

- name: household_load_power
  description: Household Power
  unit: W
  active: true
  modbus:
    register: 33147
    read_type: register
    number_of_decimals: 0
    function_code: 4
    signed: false
  homeassistant:
    device: sensor
    state_class: measurement
    device_class: power

- name: dc_power
  description: Solar Current Generation
  unit: W
  active: true
  modbus:
    register: 33057
    read_type: long
    function_code: 4
    signed: false
  homeassistant:
    device: sensor
    state_class: measurement
    device_class: power

- name: total_active_power
  description: Total Active Power
  unit: W
  active: true
  modbus:
    register: 33263
    read_type: long
    function_code: 4
    signed: true
  homeassistant:
    device: sensor
    state_class: measurement
    device_class: power

- name: inverter_temp
  description: Inverter temperature
  unit: "°C"
  active: true
  modbus:
    register: 33093
    read_type: register
    function_code: 4
    number_of_decimals: 1
    signed: false
  homeassistant:
    device: sensor
    state_class: measurement
    device_class: temperature

- name: total_power
  description: Inverter total power generation
  unit: W
  active: true
  modbus:
    register: 33079
    read_type: long
    function_code: 4
    signed: true
  homeassistant:
    device: sensor
    state_class: measurement
    device_class: power

- name: generation_today
  description: Energy generated today
  unit: kWh
  active: true
  modbus:
    register: 33035
    read_type: register
    function_code: 4
    number_of_decimals: 1
    signed: false
  homeassistant:
    device: sensor
    state_class: total_increasing
    device_class: energy

- name: generation_yesterday
  description: Energy generated yesterday
  unit: kWh
  active: true
  modbus:
    register: 33036
    read_type: register
    function_code: 4
    number_of_decimals: 1
    signed: false
  homeassistant:
    device: sensor
    state_class: total_increasing
    device_class: energy

- name: system_datetime
  description: System DateTime
  unit:
  active: true
  modbus:
    register: [33022, 33023, 33024, 33025, 33026, 33027]
 # [year, month, day, hour, minute, seconds]
    read_type: composed_datetime
    function_code: 4
  homeassistant:
    device: sensor
    state_class:
    device_class: timestamp

# my edits
# Energy Imported
- name: imported_today
  description: Energy Imported From Grid Today
  unit: kWh
  active: true
  modbus:
    register: 33171 
    read_type: register
    function_code: 4
    number_of_decimals: 1
    signed: false
  homeassistant:
    device: sensor
    state_class: total_increasing
    device_class: energy

# Consumption
- name: consumption_today 
  description: Energy Consumed Today
  unit: kWh
  active: true
  modbus:
    register: 33179
    read_type: register         
    function_code: 4
    signed: false
    number_of_decimals: 1
  homeassistant:
    device: sensor
    state_class: total_increasing
    device_class: energy  


# Battery Management

# Batt status - 33135  0 = Charge / 1 = Discharge
- name: battery_status
  description: Battery Status
  unit:
  active: true
  modbus:
    register: 33135
    read_type: register
    number_of_decimals: 0
    function_code: 4
    signed: false
  homeassistant:
    device: number
    min: 0
    max: 1
    step: 1
 
# Battery SOC
- name: battery_soc
  description: Battery SOC
  unit: 
  active: true
  modbus:
    register: 33139
    read_type: register
    number_of_decimals: 0
    function_code: 4
    signed: false
  homeassistant:
    device: number
    min: 0
    max: 100
    step: 1

# Battery Power
- name: battery_power
  description: Battery Power
  unit: W
  active: true
  modbus:
    register: 33149
    read_type: long
    function_code: 4
    signed: true
  homeassistant:
    device: sensor
    state_class: total_increasing
    device_class: energy

# Storage Mode
# Battery storage mode, 33=self use, 35=timed charge
- name: storage_mode
  description: Storage Mode
  unit:
  active: true
  modbus:
    register: 43110
    read_type: register
    number_of_decimals: 0
    function_code: 3
    signed: false
  homeassistant:
    device: number
    min: 33
    max: 35
    step: 1

#  Operating Status = 33121
#- name: operating_status
#  description: Operating Status
#  unit:
#  active: false
#  modbus:
#    register: 33121
#    read_type: register
#    number_of_decimals: 0
#    function_code: 3
#    signed: false

#  Battery Voltage = 33133 / 33141
#- name: batt1_voltage
#  description: Battery One Voltage
#  unit:
#  active: true
#  modbus:
#    register: 33133
#    read_type: register
#    number_of_decimals: 0
#    function_code: 3
#    signed: false

#- name: batt2_voltage
#  description: Battery Two Voltage
#  unit:
#  active: true
#  modbus:
#    register: 33141
#    read_type: register
#    number_of_decimals: 0
#    function_code: 3
#    signed: false

#  Battery Capacity = 33139
#- name: battery_capacity
#  description: Battery Capacity
#  active: true
#  unit:
#  modbus:
#    register: 33139
#    read_type: register
#    number_of_decimals: 0
#    function_code: 3
#    signed: false

#  Battery Health = 33140
#- name: battery_health
#  description: Battery Health
#  active: true
#  unit:
#  modbus:
#    register: 33140
#    read_type: register
#    number_of_decimals: 0
#    function_code: 3
#    signed: false

#  Battery total charge energy = 33161
#- name: batt_total_charge_energy
#  description: Battery Total Charge Energy
#  active: true
#  unit:
#  modbus:
#    register: 33161
#    read_type: register
#    number_of_decimals: 0
#    function_code: 3
#    signed: false

#  Battery Todays charge energy = 33163
#- name: batt_today_charge_energy
#  description: Battery Todays Charge Energy
#  active: true
#  unit: 
#  modbus:
#    register: 33163
#    read_type: register
#    number_of_decimals: 0  
#    function_code: 3
#    signed: false

#  Battery Todays charge energy = 33163
#- name: batt_today_charge_energy
#  description: Battery Todays Charge Energy
#  active: true
#  unit: 
#  modbus:
#    register: 33163
#    read_type: register
#    number_of_decimals: 0
#    function_code: 3
#    signed: false
#
#  Battery Total discharge energy = 33165
#- name: batt_total_discharge_energy
#  description: Battery Total Discharge Energy
#  active: true
#  unit:
#  modbus:
#    register: 33165
#    read_type: register
#    number_of_decimals: 0
#    function_code: 3
#    signed: false

#  Battery today discharge energy = 33167
#- name: batt_today_discharge_energy
#  description: Battery today discharge energy
#  active: true
#  unit:
#  modbus:
#    register: 33167
#    read_type: register
#    number_of_decimals: 0
#    function_code: 3
#    signed: false

# https://gist.github.com/markgdev/ce2dbf9002385cbe5a35b81985f9c84a
1 Like

I know this is an old thread, but I’m having issues connecting to my S6 inverter, I’ve been trying for literally hours!

I’ve tried different wires, different usb adapters and none are working. All I get is ‘inverter not reachable’ when running Solis2MQTT.

Did you get this error when the mappings were wrong?

Thanks!

Hi, nope.
Put some pictures up?


Pictures above. I’ve got the exceedcon plugs, soldered the wires in and connected to my adapter. I have tried with another adapter too, and swapped the A and B wires around too. No matter what I do, I just get ‘Inverter not reachable’ and then nothing else.

Any help would be greatly appreciated!

What are you plugging the usb adapter into?

A Raspberry Pi 4 that has nothing else installed on it except solis2mqtt

I’ve managed to get it to work! I had been trying in my Series 6 inverter and had no luck, but trying the Series 5 inverter worked straight away. I’ll contact Solis and see if I need to do anything different with the Series 6 inverter.

1 Like

Did you ever get the battery stats to pull through? Everything is working for me except them.

Yep, which registers are you reading?

Sorry for the delay. I’ve moved away from this, as my installer needs the WiFi stick connected to maintain the warranty. I’m looking into other ways now!