bohdan-s / SunGather

GNU General Public License v3.0
159 stars 67 forks source link

SH5.0RS Invertor error - fixed #134

Closed ahpiau18 closed 1 year ago

ahpiau18 commented 1 year ago

Hi, i'm new to this, i'm struggle in how to setup my Sungrow SH5.0RS upload data to PvOutput

Config.yaml setting


  - name: pvoutput      
    enabled: True                          # [Optional] Default is False
    api: "cccccc"                            # [Required] API Key, Settings > API Key
    sid: "100007"                            # [Optional] System ID, Settings > Registered Systems > System ID
    # join_team: False                      # [Optional] Default True, This will join the SunGather team in PVOutput, Setting to False will leave the team if previously joined
    rate_limit: 60                          # [Optional] Default 60, 60 for regular accounts, 300 for donation accounts
    cumulative_flag: 2                      # If using v2 & v4 set to 1, of using only v1 set to 2 (if daily totals)
    batch_points: 1                         # [Optional] Default 1, how many data points to batch upload, 
                                            # Time between uploads will be status_interval * batch_points. e.g. status_invterval of 5min, and batch_points of 12 will upload to PVOutput Hourly (5 * 12 = 60 mins)
    parameters:                             # [Required] v1 & v3 or v2 & v4 minimum. See: https://pvoutput.org/help/api_specification.html#power-and-energy-calculation
      - name: v1                            # Energy Generation
        register: daily_power_yields        # Solar Generated Today (Energy)
        multiple: 1000
      - name: v2                            # Power Generation
        register: total_active_power        # Current Generation (Power)
#     - name: v3                            # Energy Consumption
#       register: 
      - name: v4                            # Power Consumption
        register: load_power_hybrid         # Current Home usage (Power)
#     - name: v5                            # Ambient temperature see: https://forum.pvoutput.org/t/what-temperature-is-used-to-calculate-insolation/2106
#       register: internal_temperature      # 
      - name: v6                            # Voltage
        register: phase_a_voltage           # Read voltage from first Phase

console : output +----------------------------------------------------------------------+ | Address | Register | Value | +---------+-------------------------------------+----------------------+ | ---- | device_type_code | SH5.0RS | | vr001 | run_state | ON | | vr003 | last_reset | 2023-8-25 23:55:02 | | vr006 | daily_export_to_grid | 0.0 kWh | | vr007 | daily_import_from_grid | 0.0 kWh | | 5003 | daily_power_yields | 54.0 kWh | | 5004 | total_power_yields | 811 kWh | | 5008 | internal_temperature | 20.0 °C | | 5019 | phase_a_voltage | 241.1 V | | 13003 | total_pv_generation | 80.9 kWh | | 13005 | daily_pv_export | 0.0 kWh | | 13006 | total_pv_export | 0.0 kWh | | 13008 | load_power_hybrid | 0 W | | 13010 | export_power_hybrid | 0 W | | 13012 | daily_battery_charge_from_pv | 0.0 kWh | | 13013 | total_battery_charge_from_pv | 0.0 kWh | | 13017 | daily_direct_energy_consumption | 53.8 kWh | | 13018 | total_direct_energy_consumption | 80.9 kWh | | 13022 | battery_power | 0 W | | 13023 | battery_level | 0.0 % | | 13029 | self_consumption_of_day | 100.0 % | | 13030 | grid_state | None | | 13034 | total_active_power | 834 W | | 13036 | daily_import_energy | 0.0 kWh | | 13037 | total_import_energy | 0.0 kWh | | 13045 | daily_export_energy | 0.0 kWh | | 5006 | start_stop | Start | | vr002 | timestamp | 2023-8-25 23:55:02 | | vr004 | export_to_grid | 0 W | | vr005 | import_from_grid | 0 W |

Logged 30 registers to Console 2023-08-31 10:21:38 ERROR index out of range index out of range 2023-08-31 10:21:38 ERROR Modbus Error: [Input/Output] Unable to decode request Traceback (most recent call last): File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\transaction.py", line 208, in execute self.client.framer.processIncomingPacket(response, File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\framer\socket_framer.py", line 153, in processIncomingPacket self._process(callback) File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\framer\socket_framer.py", line 175, in _process raise ModbusIOException("Unable to decode request") pymodbus.exceptions.ModbusIOException: Modbus Error: [Input/Output] Unable to decode request Modbus Error: [Input/Output] Unable to decode request Traceback (most recent call last): File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\transaction.py", line 208, in execute self.client.framer.processIncomingPacket(response, File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\framer\socket_framer.py", line 153, in processIncomingPacket self._process(callback) File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\framer\socket_framer.py", line 175, in _process raise ModbusIOException("Unable to decode request") pymodbus.exceptions.ModbusIOException: Modbus Error: [Input/Output] Unable to decode request 2023-08-31 10:21:38 WARNING Modbus connection failed Modbus connection failed 2023-08-31 10:21:39 ERROR index out of range index out of range 2023-08-31 10:21:39 ERROR Modbus Error: [Input/Output] Unable to decode request Traceback (most recent call last): File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\transaction.py", line 208, in execute self.client.framer.processIncomingPacket(response, File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\framer\socket_framer.py", line 153, in processIncomingPacket self._process(callback) File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\framer\socket_framer.py", line 175, in _process raise ModbusIOException("Unable to decode request") pymodbus.exceptions.ModbusIOException: Modbus Error: [Input/Output] Unable to decode request Modbus Error: [Input/Output] Unable to decode request Traceback (most recent call last): File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\transaction.py", line 208, in execute self.client.framer.processIncomingPacket(response, File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\framer\socket_framer.py", line 153, in processIncomingPacket self._process(callback) File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\framer\socket_framer.py", line 175, in _process raise ModbusIOException("Unable to decode request") pymodbus.exceptions.ModbusIOException: Modbus Error: [Input/Output] Unable to decode request 2023-08-31 10:21:39 WARNING Modbus connection failed Modbus connection failed 2023-08-31 10:21:39 ERROR index out of range index out of range 2023-08-31 10:21:39 ERROR Modbus Error: [Input/Output] Unable to decode request Traceback (most recent call last): File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\transaction.py", line 208, in execute self.client.framer.processIncomingPacket(response, File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\framer\socket_framer.py", line 153, in processIncomingPacket self._process(callback) File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\framer\socket_framer.py", line 175, in _process raise ModbusIOException("Unable to decode request") pymodbus.exceptions.ModbusIOException: Modbus Error: [Input/Output] Unable to decode request Modbus Error: [Input/Output] Unable to decode request Traceback (most recent call last): File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\transaction.py", line 208, in execute self.client.framer.processIncomingPacket(response, File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\framer\socket_framer.py", line 153, in processIncomingPacket self._process(callback) File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\framer\socket_framer.py", line 175, in _process raise ModbusIOException("Unable to decode request") pymodbus.exceptions.ModbusIOException: Modbus Error: [Input/Output] Unable to decode request 2023-08-31 10:21:39 WARNING Modbus connection failed Modbus connection failed 2023-08-31 10:21:39 ERROR index out of range index out of range 2023-08-31 10:21:39 ERROR Modbus Error: [Input/Output] Unable to decode request Traceback (most recent call last): File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\transaction.py", line 208, in execute self.client.framer.processIncomingPacket(response, File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\framer\socket_framer.py", line 153, in processIncomingPacket self._process(callback) File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\framer\socket_framer.py", line 175, in _process raise ModbusIOException("Unable to decode request") pymodbus.exceptions.ModbusIOException: Modbus Error: [Input/Output] Unable to decode request Modbus Error: [Input/Output] Unable to decode request Traceback (most recent call last): File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\transaction.py", line 208, in execute self.client.framer.processIncomingPacket(response, File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\framer\socket_framer.py", line 153, in processIncomingPacket self._process(callback) File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pymodbus\framer\socket_framer.py", line 175, in _process raise ModbusIOException("Unable to decode request") pymodbus.exceptions.ModbusIOException: Modbus Error: [Input/Output] Unable to decode request 2023-08-31 10:21:39 WARNING Modbus connection failed

ahpiau18 commented 1 year ago

2023-08-31 13:32:00 DEBUG Got response!!! 2023-08-31 13:32:00 DEBUG Processing: 0x0 0xb 0x0 0x0 0x0 0xfd 0x1 0x4 0xfa 0x0 0x0 0x0 0x0 0x2 0x38 0x3 0x47 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0xff 0x7f 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x2 0x38 0x3 0x47 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x3 0xe8 0x0 0x0 0x0 0x43 0x0 0x0 0x0 0x0 0x5 0xb9 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x0 0x0 0xff 0xff 0xff 0xff 0xff 0xff 0x0 0x0 0xff 0xff 0xff 0xff 0xff 0xff 0x0 0x0 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 2023-08-31 13:32:00 DEBUG Factory Response[ReadInputRegistersResponse: 4] 2023-08-31 13:32:00 DEBUG Adding transaction 11 2023-08-31 13:32:00 DEBUG Getting transaction 11 2023-08-31 13:32:00 DEBUG Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE' 2023-08-31 13:32:00 DEBUG No matching value for 0 in datarange of grid_state, using default None 2023-08-31 13:32:00 DEBUG Scraping: hold, 4999:10 2023-08-31 13:32:00 DEBUG load_registers: hold, 4999:10 2023-08-31 13:32:01 DEBUG Connection to Modbus server established. Socket ('10.0.0.123', 65431) 2023-08-31 13:32:01 DEBUG Connection to Modbus server established. Socket ('10.0.0.123', 65432) 2023-08-31 13:32:01 DEBUG Current transaction state - TRANSACTION_COMPLETE 2023-08-31 13:32:01 DEBUG Running transaction 12 2023-08-31 13:32:01 DEBUG Connection to Modbus server established. Socket ('10.0.0.123', 65433) 2023-08-31 13:32:01 DEBUG Connection to Modbus server established. Socket ('10.0.0.123', 65434) 2023-08-31 13:32:01 DEBUG SEND: 0x0 0xc 0x0 0x0 0x0 0x6 0x1 0x3 0x13 0x87 0x0 0xa 2023-08-31 13:32:01 DEBUG New Transaction state 'SENDING' 2023-08-31 13:32:01 DEBUG Changing transaction state from 'SENDING' to 'WAITING FOR REPLY' 2023-08-31 13:32:01 DEBUG Transaction failed. ([WinError 10054] An existing connection was forcibly closed by the remote host) 2023-08-31 13:32:01 DEBUG Processing: 2023-08-31 13:32:01 DEBUG Getting transaction 12 2023-08-31 13:32:01 DEBUG Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE' 2023-08-31 13:32:01 WARNING Modbus connection failed Modbus connection failed 2023-08-31 13:32:01 DEBUG Modbus Error: [Input/Output] [WinError 10054] An existing connection was forcibly closed by the remote host 2023-08-31 13:32:01 INFO Scraping: 9/11 registers failed to scrape 2023-08-31 13:32:01 WARNING Failed to get Timestamp from Inverter, using Local Time: 2023-08-31 13:32:01 Failed to get Timestamp from Inverter, using Local Time: 2023-08-31 13:32:01 Traceback (most recent call last): File "C:\Users\win_11_User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\SungrowClient\SungrowClient.py", line 388, in scrape self.latest_scrape["year"],

got response, but it failed to this line self.latest_scrape["year"]

ahpiau18 commented 1 year ago

issue fixed use v2 and v4 only

    parameters:                             # [Required] v1 & v3 or v2 & v4 minimum. See: https://pvoutput.org/help/api_specification.html#power-and-energy-calculation
      # - name: v1                            # Energy Generation
      #   register: daily_power_yields        # Solar Generated Today (Energy)
      #   multiple: 1000
      - name: v2                            # Power Generation
        register: total_active_power        # Current Generation (Power)
# #     - name: v3                            # Energy Consumption
# #       register: 
      - name: v4                            # Power Consumption
        register: load_power_hybrid         # Current Home usage (Power)