I have used Waveshare RS485 to POE Eth.
In Homeassistant I added Modbus interface, line in configuration.yaml:
modbus: !include modbus.yaml
Contents Modbus.yaml:
- name: modbus_hub
type: tcp
host: 192.168.22.120
port: 502
sensors:
- name: "Equipment fault code"
slave: 1
address: 100
input_type: holding
data_type: int32
- name: "Obtain the warning code after shield processing"
slave: 1
address: 108
input_type: holding
data_type: int32
- name: "Device type"
slave: 1
address: 171
input_type: holding
data_type: int16
- name: "Device name"
slave: 1
address: 172
input_type: holding
data_type: string
count: 12
- name: "Device serial number"
slave: 1
address: 186
input_type: holding
data_type: string
count: 12
- name: "Mains voltage effective value"
slave: 1
address: 202
input_type: holding
data_type: int16
unit_of_measurement: "V"
scale: 0.1
- name: "Mains frequency"
slave: 1
address: 203
input_type: holding
data_type: int16
unit_of_measurement: "Hz"
scale: 0.01
- name: "Average mains power"
slave: 1
address: 204
input_type: holding
data_type: int16
unit_of_measurement: "W"
scale: 1
- name: "Effective value of inverter voltage"
slave: 1
address: 205
input_type: holding
data_type: int16
unit_of_measurement: "V"
scale: 0.1
- name: "Effective value of inverter current"
slave: 1
address: 206
input_type: holding
data_type: int16
unit_of_measurement: "A"
scale: 0.1
- name: "Inverter frequency"
slave: 1
address: 207
input_type: holding
data_type: int16
unit_of_measurement: "Hz"
scale: 0.01
- name: "Inverter power average"
slave: 1
address: 208
input_type: holding
data_type: int16
unit_of_measurement: "W"
scale: 1
- name: "Inverter charging power"
slave: 1
address: 209
input_type: holding
data_type: int16
unit_of_measurement: "W"
scale: 1
- name: "Effective value of output voltage"
slave: 1
address: 210
input_type: holding
data_type: int16
unit_of_measurement: "V"
scale: 0.1
- name: "Effective value of output current"
slave: 1
address: 211
input_type: holding
data_type: int16
unit_of_measurement: "A"
scale: 0.1
- name: "Output frequency"
slave: 1
address: 212
input_type: holding
data_type: int16
unit_of_measurement: "Hz"
scale: 0.01
- name: "Average battery voltage"
slave: 1
address: 215
input_type: holding
data_type: int16
unit_of_measurement: "V"
scale: 0.1
- name: "Average battery current"
slave: 1
address: 216
input_type: holding
data_type: int16
unit_of_measurement: "A"
scale: 0.1
- name: "Average battery power"
slave: 1
address: 217
input_type: holding
data_type: int16
unit_of_measurement: "W"
scale: 1
- name: "Average PV voltage"
slave: 1
address: 219
input_type: holding
data_type: int16
unit_of_measurement: "V"
scale: 0.1
- name: "Average PV current"
slave: 1
address: 220
input_type: holding
data_type: int16
unit_of_measurement: "A"
scale: 0.1
- name: "Average PV power"
slave: 1
address: 223
input_type: holding
data_type: int16
unit_of_measurement: "W"
scale: 1
- name: "Average PV Charging power"
slave: 1
address: 224
input_type: holding
data_type: int16
unit_of_measurement: "W"
scale: 1
- name: "Percent of load"
slave: 1
address: 225
input_type: holding
data_type: int16
unit_of_measurement: "%"
scale: 1
- name: "DCDC temperature"
slave: 1
address: 226
input_type: holding
data_type: int16
unit_of_measurement: "⁰C"
scale: 1
- name: "Inverter temperature"
slave: 1
address: 227
input_type: holding
data_type: int16
unit_of_measurement: "⁰C"
scale: 1
- name: "Battery percentage"
slave: 1
address: 229
input_type: holding
data_type: int16
unit_of_measurement: "%"
scale: 1
- name: "Power flow status"
slave: 1
address: 231
input_type: holding
data_type: int16
- name: "Battery current filter average"
slave: 1
address: 232
input_type: holding
data_type: int16
unit_of_measurement: "A"
scale: 0.1
- name: "Average value of inverter charging current"
slave: 1
address: 233
input_type: holding
data_type: int16
unit_of_measurement: "A"
scale: 0.1
- name: "Average PV charging current"
slave: 1
address: 234
input_type: holding
data_type: int16
unit_of_measurement: "A"
scale: 0.1
- name: "Output mode"
slave: 1
address: 300
input_type: holding
data_type: int16
- name: "Output priority"
slave: 1
address: 301
input_type: holding
data_type: int16
- name: "Input voltage range"
slave: 1
address: 302
input_type: holding
data_type: int16
- name: "Buzzer mode"
slave: 1
address: 303
input_type: holding
data_type: int16
- name: "LCD Backlight"
slave: 1
address: 305
input_type: holding
data_type: int16
- name: "LCD automatically returns to the homepage"
slave: 1
address: 306
input_type: holding
data_type: int16
- name: "Energy saving mode switch"
slave: 1
address: 307
input_type: holding
data_type: int16
- name: "Overload automatic restart"
slave: 1
address: 308
input_type: holding
data_type: int16
- name: "Overtemperature automatic restart"
slave: 1
address: 309
input_type: holding
data_type: int16
- name: "Overload bypass enable"
slave: 1
address: 310
input_type: holding
data_type: int16
- name: "Battery Eq mode enable"
slave: 1
address: 313
input_type: holding
data_type: int16
- name: "Warning mask (I)"
slave: 1
address: 314
input_type: holding
data_type: int32
- name: "Dry contact"
slave: 1
address: 316
input_type: holding
data_type: int16
- name: "Output voltage"
slave: 1
address: 320
input_type: holding
data_type: int16
unit_of_measurement: "V"
scale: 0.1
- name: "Output frequency set"
slave: 1
address: 321
input_type: holding
data_type: int16
unit_of_measurement: "Hz"
scale: 0.01
- name: "Battery type"
slave: 1
address: 322
input_type: holding
data_type: int16
- name: "Battery overvoltage protection point [A]"
slave: 1
address: 323
input_type: holding
data_type: int16
unit_of_measurement: "V"
scale: 0.1
- name: "Maximum charge voltage [B]"
slave: 1
address: 324
input_type: holding
data_type: int16
- name: "Maximum charge voltage [C]"
slave: 1
address: 325
input_type: holding
data_type: int16
- name: "Mains mode battery discharge recovery point [D]"
slave: 1
address: 326
input_type: holding
data_type: int16
- name: "Battery low voltage protection point inmains mode [E]"
slave: 1
address: 327
input_type: holding
data_type: int16
- name: "Off-grid mode battery low voltage protection point [F]"
slave: 1
address: 329
input_type: holding
data_type: int16
- name: "Waiting time from constant voltage to floating charge"
slave: 1
address: 330
input_type: holding
data_type: int16
- name: "Battery charging priority"
slave: 1
address: 331
input_type: holding
data_type: int16
- name: "Maximum charge current [G]"
slave: 1
address: 332
input_type: holding
data_type: int16
unit_of_measurement: "A"
scale: 0.1
- name: "Maximum mains charging current [H]"
slave: 1
address: 333
input_type: holding
data_type: int16
unit_of_measurement: "A"
scale: 0.1
- name: "The charging voltage of Eq"
slave: 1
address: 334
input_type: holding
data_type: int16
unit_of_measurement: "V"
scale: 0.1
- name: "bat_eq_time"
slave: 1
address: 335
input_type: holding
data_type: int16
unit_of_measurement: "min"
scale: 1
- name: "EQ timed out"
slave: 1
address: 336
input_type: holding
data_type: int16
unit_of_measurement: "min"
scale: 1
- name: "Two-time EQ charge interval"
slave: 1
address: 337
input_type: holding
data_type: int16
unit_of_measurement: "day"
scale: 1
- name: "Automatic mains output enable"
slave: 1
address: 338
input_type: holding
data_type: int16
- name: "Mains mode battery discharge SOC protectionvalue [K]"
slave: 1
address: 341
input_type: holding
data_type: int16
unit_of_measurement: "%"
scale: 1
- name: "Mains mode battery discharge SOC recovery value"
slave: 1
address: 342
input_type: holding
data_type: int16
unit_of_measurement: "%"
scale: 1
- name: "Battery discharge SOC protection in off-grid mode"
slave: 1
address: 343
input_type: holding
data_type: int16
unit_of_measurement: "%"
scale: 1
- name: "Maximum discharge current protection"
slave: 1
address: 351
input_type: holding
data_type: int16
unit_of_measurement: "A"
scale: 1
- name: "remote switch"
slave: 1
address: 420
input_type: holding
data_type: int16
- name: "Forcing the charge of Eq"
slave: 1
address: 425
input_type: holding
data_type: int16
- name: "Exits the fail-locked state"
slave: 1
address: 426
input_type: holding
data_type: int16
- name: "Program version"
slave: 1
address: 626
input_type: holding
data_type: string
count: 8
- name: "Rated power"
slave: 1
address: 643
input_type: holding
data_type: int16
unit_of_measurement: "W"
scale: 1
- name: "Number of cells [J]"
slave: 1
address: 644
input_type: holding
data_type: int16
unit_of_measurement: "PCS"
scale: 1
- name: "Fault record storage information [K]"
slave: 1
address: 700
input_type: holding
data_type: int32
- name: "Fault information Query Index"
slave: 1
address: 702
input_type: holding
data_type: int16