Vevor EM5500 solar modbus interface

I have a Vevor EM5500-48 inverter with battery and I would like to get the status of the battery and all available information via Modbus. A modbus connection via Waveshare modbus is realised but I don’t know how to obtain data. Probably via Solax inverter but I don’t know how to coninue. I have received the modbus documentation via Vevor. Can somebody help?

MeatimeI have build the mobus.yaml and also verified with a separate app that my device is communicating. I can define entities but they all are ‘unavalable’.

The main part of modbus .yaml looks like:

  - name: modbus_hub
    type: tcp
    host: 192.168.22.120
    port: 502
    sensors:
      - name: Mains voltage effective value
        slave: 1
        address: 202 # <- Register address
        input_type: input
        data_type: int16  # or maybe int16
        unit_of_measurement: "V"
        scale: 0.1
        scan_interval: 5
      - name: Mains frequency
        slave: 1
        address: 203 # <- Register address
        input_type: input
        data_type: int16  # or maybe int16
        unit_of_measurement: "Hz"
        scale: 0.01        
        scan_interval: 5

Can somebody advicewhat to do? The logfile states ‘Pymodbus: modbus_hub: Error: device: 1 address: 202 → Modbus Error: [Input/Output] No response received after 3 retries, continue with next request

Thanks in advance!

I figured it out. Seems that the registers are no input registers but holding registers!

Example:

  - name: modbus_hub
    type: tcp
    host: 192.168.22.120
    port: 502
    sensors:
    
      - name: "Mains voltage effective value"
        slave: 1
        address: 202 # <- Register address
        input_type: holding
        data_type: int16  # or maybe int16
        unit_of_measurement: "V"
        scale: 0.1
        scan_interval: 5
      - name: "Mains frequency"
        slave: 1
        address: 203 # <- Register address
        input_type: holding
        data_type: int16  # or maybe int16
        unit_of_measurement: "Hz"
        scale: 0.01        
        scan_interval: 5    
      - name: "Battery percentage"
        slave: 1 # <- Device address
        address: 229 # <- Register address
        input_type: holding
        data_type: int16  # or maybe int16
        unit_of_measurement: "%"