Huawei Solar sensors for Home Assistant

Related tags

Hardwarehuawei_solar
Overview

Huawei Solar Sensors

This integration splits out the various values that are fetched from your Huawei Solar inverter into separate HomeAssistant sensors. These are properly configured to allow immediate integration into the HA Energy view.

sensors energy-config

Installation

  1. Install this integration with HACS, or copy the contents of this repository into the custom_components/huawei_solar directory
  2. Restart HA
  3. Go to Configuration -> Integrations and click the + Add Integration button
  4. Select Huawei Solar from the list
  5. Enter the IP address of your inverter (192.168.200.1 if you are connected to its WiFi AP). Select if you have a battery and/or optimizers. The slave id is typically 0.
Comments
  • Add battery

    Add battery "Maximum Discharging Power" as a configurable NumberEntity

    I’ve been working on exposing some parameters as configurable entities in Home Assistant. My primary use case would be to make it possible to set the “Maximum Discharge Power” for my LUNA2000 battery from Home Assistant. This would allow me to adjust the power output of the battery dynamically based on other inputs.

    Example use case: in Belgium, you are taxed on peak usage, starting when you draw more than 2.5kW from the grid for a certain time. I would like to create an automation that sets the “Maximum Discharging Power” for my battery to “Current Grid Power Usage (in W) - 2500W”.

    However, while the register is mentioned as being read/writeable in the Modbus Interface Definitions document, I’m receiving a “Permission denied” error (0x80) when trying to write to it.

    image

    Support is letting me know that the function is not available at the moment :frowning: :

    image

    For everyone who would also be interested in using this function: Please send a mail to Huawei support to ask for this functionality! The more requests are made, the more hope that the function will ever be enabled.

    An example mail:

    Dear,

    I want to use the Modbus-interface on my inverter to dynamically set the maximum discharging power of my LUNA2000 battery. The Modbus Interface Definitions state that register 47077 is RW. However, when I try to write a value to this register, I get the error code 0x80, which means “No permission”?

    My inverter SN: HVxxx> Battery SN: BTyyy

    enhancement 
    opened by wlcrs 30
  • [Bug]: cant connect to inverter in 1.2.0b5

    [Bug]: cant connect to inverter in 1.2.0b5

    Describe the issue

    After recommending to upgrade to beta, to get access to my optimizers, as stated in #222 , I can not connect to the inverter anymore. Tried deleting the integration from HACS, multiple HA restarts, etc. The procedure crashes in the moment this line appears in the log 2023-01-01 19:36:24.510 DEBUG (MainThread) [huawei_solar.huawei_solar] Backing off file upload for 10.0 seconds after 3 tries 2023-01-01-19-29-58nZB2Ume0N5

    Bescribe your Huawei Solar Setup

    Inverter Type: SUN2000-5KTL-L1 Inverter Firmware version: V200R001C00SPC125 SDongle present: yes Power meter present: single phase Battery: LUNA2000 10kWh Battery Firmware version :V100R002C00SPC116

    How do you connect to the inverter?

    Via the SDongle, wired connection

    Upload your Diagnostics File

    Drag & Drop your Diagnostics File here.

    Upload your relevant debug logs

    2023-01-01 19:35:26.727 DEBUG (MainThread) [pymodbus.client.tcp] Connecting to 192.168.2.170:502.
    2023-01-01 19:35:26.727 DEBUG (MainThread) [pymodbus.client.tcp] Connecting.
    2023-01-01 19:35:26.729 DEBUG (MainThread) [pymodbus.client.base] Client connected to modbus server
    2023-01-01 19:35:26.729 INFO (MainThread) [pymodbus.client.tcp] Protocol made connection.
    2023-01-01 19:35:26.729 INFO (MainThread) [pymodbus.client.tcp] Connected to 192.168.2.170:502.
    2023-01-01 19:35:27.731 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 43006
    2023-01-01 19:35:27.731 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x1 0x0 0x0 0x0 0x6 0x1 0x3 0xa7 0xfe 0x0 0x1
    2023-01-01 19:35:27.731 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 1
    2023-01-01 19:35:28.000 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0x1 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x2 0xd0
    2023-01-01 19:35:28.000 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x2 0xd0
    2023-01-01 19:35:28.000 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:28.001 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 1
    2023-01-01 19:35:28.052 DEBUG (MainThread) [pymodbus.payload] [720]
    2023-01-01 19:35:28.052 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 47000
    2023-01-01 19:35:28.053 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x2 0x0 0x0 0x0 0x6 0x1 0x3 0xb7 0x98 0x0 0x1
    2023-01-01 19:35:28.053 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 2
    2023-01-01 19:35:28.109 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0x2 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x2
    2023-01-01 19:35:28.109 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x2 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x2
    2023-01-01 19:35:28.109 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:28.109 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 2
    2023-01-01 19:35:28.160 DEBUG (MainThread) [pymodbus.payload] [2]
    2023-01-01 19:35:28.160 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 30000
    2023-01-01 19:35:28.160 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x3 0x0 0x0 0x0 0x6 0x1 0x3 0x75 0x30 0x0 0x23
    2023-01-01 19:35:28.160 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 3
    2023-01-01 19:35:29.329 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0x3 0x0 0x0 0x0 0x49 0x1 0x3 0x46 0x53 0x55 0x4e 0x32 0x30 0x30 0x30 0x2d 0x35 0x4b 0x54 0x4c 0x2d 0x4c 0x31 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x54 0x41 0x32 0x32 0x35 0x30 0x30 0x34 0x31 0x31 0x39 0x30 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x30 0x31 0x30 0x37 0x35 0x33 0x34 0x36 0x2d 0x30 0x31 0x35 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
    2023-01-01 19:35:29.329 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x3 0x0 0x0 0x0 0x49 0x1 0x3 0x46 0x53 0x55 0x4e 0x32 0x30 0x30 0x30 0x2d 0x35 0x4b 0x54 0x4c 0x2d 0x4c 0x31 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x54 0x41 0x32 0x32 0x35 0x30 0x30 0x34 0x31 0x31 0x39 0x30 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x30 0x31 0x30 0x37 0x35 0x33 0x34 0x36 0x2d 0x30 0x31 0x35 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
    2023-01-01 19:35:29.329 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:29.329 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 3
    2023-01-01 19:35:29.380 DEBUG (MainThread) [pymodbus.payload] [21333, 20018, 12336, 12333, 13643, 21580, 11596, 12544, 0, 0, 0, 0, 0, 0, 0, 21569, 12850, 13616, 12340, 12593, 14640, 0, 0, 0, 0, 12337, 12343, 13619, 13366, 11568, 12597, 0, 0, 0, 0]
    2023-01-01 19:35:29.380 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 30071
    2023-01-01 19:35:29.380 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x4 0x0 0x0 0x0 0x6 0x1 0x3 0x75 0x77 0x0 0x1
    2023-01-01 19:35:29.381 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 4
    2023-01-01 19:35:30.365 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0x4 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x2
    2023-01-01 19:35:30.365 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x4 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x2
    2023-01-01 19:35:30.365 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:30.365 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 4
    2023-01-01 19:35:30.416 DEBUG (MainThread) [pymodbus.payload] [2]
    2023-01-01 19:35:30.416 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 37200
    2023-01-01 19:35:30.416 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x5 0x0 0x0 0x0 0x6 0x1 0x3 0x91 0x50 0x0 0x1
    2023-01-01 19:35:30.417 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 5
    2023-01-01 19:35:30.815 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0x5 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x4
    2023-01-01 19:35:30.815 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x5 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x4
    2023-01-01 19:35:30.815 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:30.815 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 5
    2023-01-01 19:35:30.866 DEBUG (MainThread) [pymodbus.payload] [4]
    2023-01-01 19:35:30.866 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 37100
    2023-01-01 19:35:30.866 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x6 0x0 0x0 0x0 0x6 0x1 0x3 0x90 0xec 0x0 0x1
    2023-01-01 19:35:30.867 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 6
    2023-01-01 19:35:31.675 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0x6 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x1
    2023-01-01 19:35:31.675 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x6 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x1
    2023-01-01 19:35:31.675 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:31.675 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 6
    2023-01-01 19:35:31.726 DEBUG (MainThread) [pymodbus.payload] [1]
    2023-01-01 19:35:31.727 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 37125
    2023-01-01 19:35:31.727 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x7 0x0 0x0 0x0 0x6 0x1 0x3 0x91 0x5 0x0 0x1
    2023-01-01 19:35:31.727 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 7
    2023-01-01 19:35:32.339 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0x7 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x0
    2023-01-01 19:35:32.339 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x7 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x0
    2023-01-01 19:35:32.339 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:32.339 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 7
    2023-01-01 19:35:32.390 DEBUG (MainThread) [pymodbus.payload] [0]
    2023-01-01 19:35:32.390 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 47000
    2023-01-01 19:35:32.390 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x8 0x0 0x0 0x0 0x6 0x1 0x3 0xb7 0x98 0x0 0x1
    2023-01-01 19:35:32.390 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 8
    2023-01-01 19:35:32.791 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0x8 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x2
    2023-01-01 19:35:32.791 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x8 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x2
    2023-01-01 19:35:32.791 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:32.791 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 8
    2023-01-01 19:35:32.843 DEBUG (MainThread) [pymodbus.payload] [2]
    2023-01-01 19:35:32.843 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 47089
    2023-01-01 19:35:32.844 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x9 0x0 0x0 0x0 0x6 0x1 0x3 0xb7 0xf1 0x0 0x1
    2023-01-01 19:35:32.844 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 9
    2023-01-01 19:35:33.859 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0x9 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x0
    2023-01-01 19:35:33.859 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x9 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x0
    2023-01-01 19:35:33.859 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:33.859 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 9
    2023-01-01 19:35:33.910 DEBUG (MainThread) [pymodbus.payload] [0]
    2023-01-01 19:35:33.910 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 47954
    2023-01-01 19:35:33.910 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0xa 0x0 0x0 0x0 0x6 0x1 0x3 0xbb 0x52 0x0 0x1
    2023-01-01 19:35:33.911 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 10
    2023-01-01 19:35:34.310 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0xa 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x0
    2023-01-01 19:35:34.310 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0xa 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x0
    2023-01-01 19:35:34.310 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:34.310 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 10
    2023-01-01 19:35:34.361 DEBUG (MainThread) [pymodbus.payload] [0]
    2023-01-01 19:35:34.362 INFO (MainThread) [custom_components.huawei_solar.config_flow] Successfully connected to inverter SUN2000-5KTL-L1 with SN TA2250041190
    2023-01-01 19:35:34.362 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 43006
    2023-01-01 19:35:34.362 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0xb 0x0 0x0 0x0 0x6 0x1 0x3 0xa7 0xfe 0x0 0x1
    2023-01-01 19:35:34.362 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 11
    2023-01-01 19:35:35.147 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0xb 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x2 0xd0
    2023-01-01 19:35:35.147 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0xb 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x2 0xd0
    2023-01-01 19:35:35.147 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:35.147 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 11
    2023-01-01 19:35:35.198 DEBUG (MainThread) [pymodbus.payload] [720]
    2023-01-01 19:35:35.199 DEBUG (MainThread) [pymodbus.payload] [720]
    2023-01-01 19:35:35.199 DEBUG (MainThread) [pymodbus.payload] [720]
    2023-01-01 19:35:35.199 DEBUG (MainThread) [huawei_solar.huawei_solar] Writing to 43006: [720]
    2023-01-01 19:35:35.199 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0xc 0x0 0x0 0x0 0x9 0x1 0x10 0xa7 0xfe 0x0 0x1 0x2 0x2 0xd0
    2023-01-01 19:35:35.199 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 12
    2023-01-01 19:35:36.281 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0xc 0x0 0x0 0x0 0x6 0x1 0x10 0xa7 0xfe 0x0 0x1
    2023-01-01 19:35:36.281 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0xc 0x0 0x0 0x0 0x6 0x1 0x10 0xa7 0xfe 0x0 0x1
    2023-01-01 19:35:36.281 DEBUG (MainThread) [pymodbus.factory] Factory Response[WriteMultipleRegistersResponse': 16]
    2023-01-01 19:35:36.281 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 12
    2023-01-01 19:35:36.333 DEBUG (MainThread) [pymodbus.client.base] Client disconnected from modbus server: None
    2023-01-01 19:35:36.333 INFO (MainThread) [pymodbus.client.tcp] Protocol lost connection.
    2023-01-01 19:35:36.335 DEBUG (MainThread) [pymodbus.client.tcp] Connecting to 192.168.2.170:502.
    2023-01-01 19:35:36.335 DEBUG (MainThread) [pymodbus.client.tcp] Connecting.
    2023-01-01 19:35:36.337 DEBUG (MainThread) [pymodbus.client.base] Client connected to modbus server
    2023-01-01 19:35:36.337 INFO (MainThread) [pymodbus.client.tcp] Protocol made connection.
    2023-01-01 19:35:36.337 INFO (MainThread) [pymodbus.client.tcp] Connected to 192.168.2.170:502.
    2023-01-01 19:35:37.339 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 43006
    2023-01-01 19:35:37.339 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x1 0x0 0x0 0x0 0x6 0x1 0x3 0xa7 0xfe 0x0 0x1
    2023-01-01 19:35:37.339 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 1
    2023-01-01 19:35:38.125 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0x1 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x2 0xd0
    2023-01-01 19:35:38.125 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x2 0xd0
    2023-01-01 19:35:38.125 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:38.126 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 1
    2023-01-01 19:35:38.176 DEBUG (MainThread) [pymodbus.payload] [720]
    2023-01-01 19:35:38.177 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 47000
    2023-01-01 19:35:38.177 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x2 0x0 0x0 0x0 0x6 0x1 0x3 0xb7 0x98 0x0 0x1
    2023-01-01 19:35:38.177 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 2
    2023-01-01 19:35:38.619 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0x2 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x2
    2023-01-01 19:35:38.619 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x2 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x2
    2023-01-01 19:35:38.619 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:38.619 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 2
    2023-01-01 19:35:38.670 DEBUG (MainThread) [pymodbus.payload] [2]
    2023-01-01 19:35:38.671 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 30000
    2023-01-01 19:35:38.671 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x3 0x0 0x0 0x0 0x6 0x1 0x3 0x75 0x30 0x0 0x23
    2023-01-01 19:35:38.671 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 3
    2023-01-01 19:35:39.299 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0x3 0x0 0x0 0x0 0x49 0x1 0x3 0x46 0x53 0x55 0x4e 0x32 0x30 0x30 0x30 0x2d 0x35 0x4b 0x54 0x4c 0x2d 0x4c 0x31 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x54 0x41 0x32 0x32 0x35 0x30 0x30 0x34 0x31 0x31 0x39 0x30 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x30 0x31 0x30 0x37 0x35 0x33 0x34 0x36 0x2d 0x30 0x31 0x35 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
    2023-01-01 19:35:39.299 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x3 0x0 0x0 0x0 0x49 0x1 0x3 0x46 0x53 0x55 0x4e 0x32 0x30 0x30 0x30 0x2d 0x35 0x4b 0x54 0x4c 0x2d 0x4c 0x31 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x54 0x41 0x32 0x32 0x35 0x30 0x30 0x34 0x31 0x31 0x39 0x30 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x30 0x31 0x30 0x37 0x35 0x33 0x34 0x36 0x2d 0x30 0x31 0x35 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
    2023-01-01 19:35:39.299 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:39.300 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 3
    2023-01-01 19:35:39.357 DEBUG (MainThread) [pymodbus.payload] [21333, 20018, 12336, 12333, 13643, 21580, 11596, 12544, 0, 0, 0, 0, 0, 0, 0, 21569, 12850, 13616, 12340, 12593, 14640, 0, 0, 0, 0, 12337, 12343, 13619, 13366, 11568, 12597, 0, 0, 0, 0]
    2023-01-01 19:35:39.358 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 30071
    2023-01-01 19:35:39.358 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x4 0x0 0x0 0x0 0x6 0x1 0x3 0x75 0x77 0x0 0x1
    2023-01-01 19:35:39.358 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 4
    2023-01-01 19:35:40.919 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0x4 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x2
    2023-01-01 19:35:40.919 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x4 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x2
    2023-01-01 19:35:40.919 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:40.920 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 4
    2023-01-01 19:35:40.970 DEBUG (MainThread) [pymodbus.payload] [2]
    2023-01-01 19:35:40.971 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 37200
    2023-01-01 19:35:40.971 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x5 0x0 0x0 0x0 0x6 0x1 0x3 0x91 0x50 0x0 0x1
    2023-01-01 19:35:40.971 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 5
    2023-01-01 19:35:43.279 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0x5 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x4
    2023-01-01 19:35:43.279 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x5 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x4
    2023-01-01 19:35:43.279 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:43.280 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 5
    2023-01-01 19:35:43.330 DEBUG (MainThread) [pymodbus.payload] [4]
    2023-01-01 19:35:43.331 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 37100
    2023-01-01 19:35:43.331 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x6 0x0 0x0 0x0 0x6 0x1 0x3 0x90 0xec 0x0 0x1
    2023-01-01 19:35:43.331 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 6
    2023-01-01 19:35:43.864 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0x6 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x1
    2023-01-01 19:35:43.864 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x6 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x1
    2023-01-01 19:35:43.865 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:43.865 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 6
    2023-01-01 19:35:43.916 DEBUG (MainThread) [pymodbus.payload] [1]
    2023-01-01 19:35:43.916 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 37125
    2023-01-01 19:35:43.916 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x7 0x0 0x0 0x0 0x6 0x1 0x3 0x91 0x5 0x0 0x1
    2023-01-01 19:35:43.916 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 7
    2023-01-01 19:35:44.669 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0x7 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x0
    2023-01-01 19:35:44.669 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x7 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x0
    2023-01-01 19:35:44.669 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:44.670 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 7
    2023-01-01 19:35:44.721 DEBUG (MainThread) [pymodbus.payload] [0]
    2023-01-01 19:35:44.721 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 47000
    2023-01-01 19:35:44.721 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x8 0x0 0x0 0x0 0x6 0x1 0x3 0xb7 0x98 0x0 0x1
    2023-01-01 19:35:44.722 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 8
    2023-01-01 19:35:45.694 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0x8 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x2
    2023-01-01 19:35:45.694 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x8 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x2
    2023-01-01 19:35:45.695 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:45.695 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 8
    2023-01-01 19:35:45.746 DEBUG (MainThread) [pymodbus.payload] [2]
    2023-01-01 19:35:45.746 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 47089
    2023-01-01 19:35:45.746 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x9 0x0 0x0 0x0 0x6 0x1 0x3 0xb7 0xf1 0x0 0x1
    2023-01-01 19:35:45.747 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 9
    2023-01-01 19:35:47.324 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0x9 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x0
    2023-01-01 19:35:47.325 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x9 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x0
    2023-01-01 19:35:47.325 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:47.325 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 9
    2023-01-01 19:35:47.376 DEBUG (MainThread) [pymodbus.payload] [0]
    2023-01-01 19:35:47.377 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 47954
    2023-01-01 19:35:47.377 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0xa 0x0 0x0 0x0 0x6 0x1 0x3 0xbb 0x52 0x0 0x1
    2023-01-01 19:35:47.378 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 10
    2023-01-01 19:35:48.325 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0xa 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x0
    2023-01-01 19:35:48.326 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0xa 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x0
    2023-01-01 19:35:48.326 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:48.326 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 10
    2023-01-01 19:35:48.378 DEBUG (MainThread) [pymodbus.payload] [0]
    2023-01-01 19:35:48.378 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 32064
    2023-01-01 19:35:48.379 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0xb 0x0 0x0 0x0 0x6 0x1 0x3 0x7d 0x40 0x0 0x34
    2023-01-01 19:35:48.379 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 11
    2023-01-01 19:35:48.943 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0xb 0x0 0x0 0x0 0x6b 0x1 0x3 0x68 0x0 0x0 0x4 0x11 0x9 0x52 0x0 0x0 0x0 0x0 0x4 0xa7 0x0 0x3 0x0 0x0 0x0 0x0 0x1c 0x2c 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x12 0x59 0x0 0x0 0x4 0xdf 0xff 0xff 0xfb 0x6c 0x2 0xd9 0x13 0x86 0x27 0x10 0x1 0xa0 0xb 0xb8 0x4 0x2 0x0 0x0 0x63 0xb1 0x2a 0xeb 0xff 0xff 0xff 0xff 0x0 0x0 0x4 0xe9 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x5a 0x0 0x2 0x77 0xfd 0x0 0x2 0xa9 0xcf 0x63 0xb1 0xe1 0xab 0x0 0x0 0x0 0x6a 0x0 0x0 0x10 0x2a
    2023-01-01 19:35:48.943 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0xb 0x0 0x0 0x0 0x6b 0x1 0x3 0x68 0x0 0x0 0x4 0x11 0x9 0x52 0x0 0x0 0x0 0x0 0x4 0xa7 0x0 0x3 0x0 0x0 0x0 0x0 0x1c 0x2c 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x12 0x59 0x0 0x0 0x4 0xdf 0xff 0xff 0xfb 0x6c 0x2 0xd9 0x13 0x86 0x27 0x10 0x1 0xa0 0xb 0xb8 0x4 0x2 0x0 0x0 0x63 0xb1 0x2a 0xeb 0xff 0xff 0xff 0xff 0x0 0x0 0x4 0xe9 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x5a 0x0 0x2 0x77 0xfd 0x0 0x2 0xa9 0xcf 0x63 0xb1 0xe1 0xab 0x0 0x0 0x0 0x6a 0x0 0x0 0x10 0x2a
    2023-01-01 19:35:48.943 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:48.943 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 11
    2023-01-01 19:35:48.994 DEBUG (MainThread) [pymodbus.payload] [0, 1041, 2386, 0, 0, 1191, 3, 0, 0, 7212, 0, 0, 0, 0, 0, 4697, 0, 1247, 65535, 64364, 729, 4998, 10000, 416, 3000, 1026, 0, 25521, 10987, 65535, 65535, 0, 1257, 0, 0, 0, 0, 0, 0, 0, 0, 90, 2, 30717, 2, 43471, 25521, 57771, 0, 106, 0, 4138]
    2023-01-01 19:35:48.994 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\x04\x11']
    2023-01-01 19:35:48.994 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\x1c,']
    2023-01-01 19:35:48.994 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\x00\x00']
    2023-01-01 19:35:48.994 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\x00\x00']
    2023-01-01 19:35:48.994 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\x12Y']
    2023-01-01 19:35:48.994 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\x04\xdf']
    2023-01-01 19:35:48.995 DEBUG (MainThread) [pymodbus.payload] [b'\xff\xff', b'\xfbl']
    2023-01-01 19:35:48.995 DEBUG (MainThread) [pymodbus.payload] [b'c\xb1', b'*\xeb']
    2023-01-01 19:35:48.995 DEBUG (MainThread) [pymodbus.payload] [b'\xff\xff', b'\xff\xff']
    2023-01-01 19:35:48.995 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x02', b'w\xfd']
    2023-01-01 19:35:48.995 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\x10*']
    2023-01-01 19:35:48.995 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 32000
    2023-01-01 19:35:48.995 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0xc 0x0 0x0 0x0 0x6 0x1 0x3 0x7d 0x0 0x0 0x14
    2023-01-01 19:35:48.996 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 12
    2023-01-01 19:35:49.663 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0xc 0x0 0x0 0x0 0x2b 0x1 0x3 0x28 0x0 0xa 0x0 0x0 0x0 0x7 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x91 0x70 0x7 0x99 0x0 0xbc 0xd 0x86 0x0 0xd0
    2023-01-01 19:35:49.663 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0xc 0x0 0x0 0x0 0x2b 0x1 0x3 0x28 0x0 0xa 0x0 0x0 0x0 0x7 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x91 0x70 0x7 0x99 0x0 0xbc 0xd 0x86 0x0 0xd0
    2023-01-01 19:35:49.663 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:49.663 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 12
    2023-01-01 19:35:49.714 DEBUG (MainThread) [pymodbus.payload] [10, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37232, 1945, 188, 3462, 208]
    2023-01-01 19:35:49.715 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\x00\x00']
    2023-01-01 19:35:49.715 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 37201
    2023-01-01 19:35:49.715 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0xd 0x0 0x0 0x0 0x6 0x1 0x3 0x91 0x51 0x0 0x1
    2023-01-01 19:35:49.715 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 13
    2023-01-01 19:35:50.509 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0xd 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x4
    2023-01-01 19:35:50.509 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0xd 0x0 0x0 0x0 0x5 0x1 0x3 0x2 0x0 0x4
    2023-01-01 19:35:50.510 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:50.510 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 13
    2023-01-01 19:35:50.561 DEBUG (MainThread) [pymodbus.payload] [4]
    2023-01-01 19:35:50.561 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 37101
    2023-01-01 19:35:50.562 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0xe 0x0 0x0 0x0 0x6 0x1 0x3 0x90 0xed 0x0 0x25
    2023-01-01 19:35:50.562 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 14
    2023-01-01 19:35:51.380 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0xe 0x0 0x0 0x0 0x4d 0x1 0x3 0x4a 0x0 0x0 0x9 0x4d 0x7f 0xff 0xff 0xff 0x7f 0xff 0xff 0xff 0x0 0x0 0x1 0x8a 0x7f 0xff 0xff 0xff 0x7f 0xff 0xff 0xff 0x0 0x0 0x0 0x28 0xff 0xff 0xfc 0x74 0xff 0x0 0x13 0x87 0x0 0x0 0xf3 0xfd 0x0 0x0 0x1a 0x46 0x0 0x0 0xda 0xe0 0x0 0x0 0x7f 0xff 0xff 0xff 0x7f 0xff 0xff 0xff 0x7f 0xff 0xff 0xff 0x7f 0xff 0xff 0xff 0x7f 0xff 0xff 0xff 0x7f 0xff 0xff 0xff
    2023-01-01 19:35:51.380 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0xe 0x0 0x0 0x0 0x4d 0x1 0x3 0x4a 0x0 0x0 0x9 0x4d 0x7f 0xff 0xff 0xff 0x7f 0xff 0xff 0xff 0x0 0x0 0x1 0x8a 0x7f 0xff 0xff 0xff 0x7f 0xff 0xff 0xff 0x0 0x0 0x0 0x28 0xff 0xff 0xfc 0x74 0xff 0x0 0x13 0x87 0x0 0x0 0xf3 0xfd 0x0 0x0 0x1a 0x46 0x0 0x0 0xda 0xe0 0x0 0x0 0x7f 0xff 0xff 0xff 0x7f 0xff 0xff 0xff 0x7f 0xff 0xff 0xff 0x7f 0xff 0xff 0xff 0x7f 0xff 0xff 0xff 0x7f 0xff 0xff 0xff
    2023-01-01 19:35:51.380 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:51.380 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 14
    2023-01-01 19:35:51.431 DEBUG (MainThread) [pymodbus.payload] [0, 2381, 32767, 65535, 32767, 65535, 0, 394, 32767, 65535, 32767, 65535, 0, 40, 65535, 64628, 65280, 4999, 0, 62461, 0, 6726, 0, 56032, 0, 32767, 65535, 32767, 65535, 32767, 65535, 32767, 65535, 32767, 65535, 32767, 65535]
    2023-01-01 19:35:51.432 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\tM']
    2023-01-01 19:35:51.432 DEBUG (MainThread) [pymodbus.payload] [b'\x7f\xff', b'\xff\xff']
    2023-01-01 19:35:51.432 DEBUG (MainThread) [pymodbus.payload] [b'\x7f\xff', b'\xff\xff']
    2023-01-01 19:35:51.432 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\x01\x8a']
    2023-01-01 19:35:51.432 DEBUG (MainThread) [pymodbus.payload] [b'\x7f\xff', b'\xff\xff']
    2023-01-01 19:35:51.432 DEBUG (MainThread) [pymodbus.payload] [b'\x7f\xff', b'\xff\xff']
    2023-01-01 19:35:51.432 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\x00(']
    2023-01-01 19:35:51.432 DEBUG (MainThread) [pymodbus.payload] [b'\xff\xff', b'\xfct']
    2023-01-01 19:35:51.432 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\xf3\xfd']
    2023-01-01 19:35:51.432 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\x1aF']
    2023-01-01 19:35:51.432 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\xda\xe0']
    2023-01-01 19:35:51.432 DEBUG (MainThread) [pymodbus.payload] [b'\x7f\xff', b'\xff\xff']
    2023-01-01 19:35:51.433 DEBUG (MainThread) [pymodbus.payload] [b'\x7f\xff', b'\xff\xff']
    2023-01-01 19:35:51.433 DEBUG (MainThread) [pymodbus.payload] [b'\x7f\xff', b'\xff\xff']
    2023-01-01 19:35:51.433 DEBUG (MainThread) [pymodbus.payload] [b'\x7f\xff', b'\xff\xff']
    2023-01-01 19:35:51.433 DEBUG (MainThread) [pymodbus.payload] [b'\x7f\xff', b'\xff\xff']
    2023-01-01 19:35:51.433 DEBUG (MainThread) [pymodbus.payload] [b'\x7f\xff', b'\xff\xff']
    2023-01-01 19:35:51.433 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 37760
    2023-01-01 19:35:51.433 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0xf 0x0 0x0 0x0 0x6 0x1 0x3 0x93 0x80 0x0 0x1c
    2023-01-01 19:35:51.434 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 15
    2023-01-01 19:35:52.057 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0xf 0x0 0x0 0x0 0x3b 0x1 0x3 0x38 0x3 0xd4 0x0 0x0 0x0 0x2 0x11 0x26 0xff 0xfc 0xff 0xff 0xff 0xe1 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 0xbb 0xb4 0x0 0x0 0xb7 0x94 0x0 0x0 0x2 0xe6 0x0 0x0 0x1 0xfe
    2023-01-01 19:35:52.057 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0xf 0x0 0x0 0x0 0x3b 0x1 0x3 0x38 0x3 0xd4 0x0 0x0 0x0 0x2 0x11 0x26 0xff 0xfc 0xff 0xff 0xff 0xe1 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 0xbb 0xb4 0x0 0x0 0xb7 0x94 0x0 0x0 0x2 0xe6 0x0 0x0 0x1 0xfe
    2023-01-01 19:35:52.057 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:52.057 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 15
    2023-01-01 19:35:52.108 DEBUG (MainThread) [pymodbus.payload] [980, 0, 2, 4390, 65532, 65535, 65505, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48052, 0, 46996, 0, 742, 0, 510]
    2023-01-01 19:35:52.108 DEBUG (MainThread) [pymodbus.payload] [b'\xff\xff', b'\xff\xe1']
    2023-01-01 19:35:52.108 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\xbb\xb4']
    2023-01-01 19:35:52.108 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\xb7\x94']
    2023-01-01 19:35:52.108 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\x02\xe6']
    2023-01-01 19:35:52.108 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\x01\xfe']
    2023-01-01 19:35:52.108 DEBUG (MainThread) [custom_components.huawei_solar] Finished fetching TA2250041190_data_update_coordinator data in 3.730 seconds (success: True)
    2023-01-01 19:35:52.109 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 47075
    2023-01-01 19:35:52.109 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x10 0x0 0x0 0x0 0x6 0x1 0x3 0xb7 0xe3 0x0 0xe
    2023-01-01 19:35:52.109 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 16
    2023-01-01 19:35:52.830 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0x10 0x0 0x0 0x0 0x1f 0x1 0x3 0x1c 0x0 0x0 0x7 0xd0 0x0 0x0 0x13 0x87 0x0 0x0 0x13 0x87 0x3 0xd4 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x2 0x0 0x1 0x3 0xb6
    2023-01-01 19:35:52.830 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x10 0x0 0x0 0x0 0x1f 0x1 0x3 0x1c 0x0 0x0 0x7 0xd0 0x0 0x0 0x13 0x87 0x0 0x0 0x13 0x87 0x3 0xd4 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x2 0x0 0x1 0x3 0xb6
    2023-01-01 19:35:52.830 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:52.830 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 16
    2023-01-01 19:35:52.881 DEBUG (MainThread) [pymodbus.payload] [0, 2000, 0, 4999, 0, 4999, 980, 0, 0, 0, 0, 2, 1, 950]
    2023-01-01 19:35:52.882 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\x07\xd0']
    2023-01-01 19:35:52.882 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\x13\x87']
    2023-01-01 19:35:52.882 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 47200
    2023-01-01 19:35:52.882 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x11 0x0 0x0 0x0 0x6 0x1 0x3 0xb8 0x60 0x0 0x2e
    2023-01-01 19:35:52.883 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 17
    2023-01-01 19:35:53.878 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0x11 0x0 0x0 0x0 0x5f 0x1 0x3 0x5c 0x0 0x0 0xf 0x0 0xe8 0x3 0xf4 0x1 0x90 0x1 0x2c 0x1 0x58 0x2 0xc8 0x0 0x1 0x0 0x96 0x0 0x84 0x3 0x70 0x17 0x2 0x0 0xf7 0x0 0xa0 0x5 0xff 0xff 0x6 0x0 0x5 0x0 0x3f 0x0 0x3 0x0 0x0 0x0 0x10 0x27 0x0 0x0 0x0 0x0 0x0 0x0 0x80 0x43 0x6d 0x38 0x88 0x13 0x0 0x0 0xff 0xff 0xff 0xff 0x0 0xe1 0x0 0x3 0x2 0x0 0x0 0x0 0x28 0xb6 0x13 0x0 0x0 0x0 0x0 0x0 0x1 0xe1 0x0 0x3 0x0 0x0 0x0 0x0 0xb 0xb8 0x0 0x0 0xb 0xb8
    2023-01-01 19:35:53.878 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x11 0x0 0x0 0x0 0x5f 0x1 0x3 0x5c 0x0 0x0 0xf 0x0 0xe8 0x3 0xf4 0x1 0x90 0x1 0x2c 0x1 0x58 0x2 0xc8 0x0 0x1 0x0 0x96 0x0 0x84 0x3 0x70 0x17 0x2 0x0 0xf7 0x0 0xa0 0x5 0xff 0xff 0x6 0x0 0x5 0x0 0x3f 0x0 0x3 0x0 0x0 0x0 0x10 0x27 0x0 0x0 0x0 0x0 0x0 0x0 0x80 0x43 0x6d 0x38 0x88 0x13 0x0 0x0 0xff 0xff 0xff 0xff 0x0 0xe1 0x0 0x3 0x2 0x0 0x0 0x0 0x28 0xb6 0x13 0x0 0x0 0x0 0x0 0x0 0x1 0xe1 0x0 0x3 0x0 0x0 0x0 0x0 0xb 0xb8 0x0 0x0 0xb 0xb8
    2023-01-01 19:35:53.878 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:53.878 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 17
    2023-01-01 19:35:53.929 DEBUG (MainThread) [pymodbus.payload] [0, 3840, 59395, 62465, 36865, 11265, 22530, 51200, 256, 38400, 33795, 28695, 512, 63232, 40965, 65535, 1536, 1280, 16128, 768, 0, 4135, 0, 0, 0, 32835, 27960, 34835, 0, 65535, 65535, 225, 3, 512, 0, 10422, 4864, 0, 0, 481, 3, 0, 0, 3000, 0, 3000]
    2023-01-01 19:35:53.930 DEBUG (MainThread) [pymodbus.payload] [b'\xf4\x01', b'\x90\x01']
    2023-01-01 19:35:53.930 DEBUG (MainThread) [pymodbus.payload] [b'\xc8\x00', b'\x01\x00']
    2023-01-01 19:35:53.930 DEBUG (MainThread) [pymodbus.payload] [b'p\x17', b'\x02\x00']
    2023-01-01 19:35:53.930 DEBUG (MainThread) [pymodbus.payload] [b'\xff\xff', b'\x06\x00']
    2023-01-01 19:35:53.930 DEBUG (MainThread) [pymodbus.payload] [b'\x03\x00', b'\x00\x00']
    2023-01-01 19:35:53.930 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\x00\x00']
    2023-01-01 19:35:53.930 DEBUG (MainThread) [pymodbus.payload] [b'\x88\x13', b'\x00\x00']
    2023-01-01 19:35:53.930 DEBUG (MainThread) [pymodbus.payload] [b'\x00\xe1', b'\x00\x03']
    2023-01-01 19:35:53.931 DEBUG (MainThread) [pymodbus.payload] [b'(\xb6', b'\x13\x00']
    2023-01-01 19:35:53.931 DEBUG (MainThread) [pymodbus.payload] [b'\x01\xe1', b'\x00\x03']
    2023-01-01 19:35:53.931 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\x0b\xb8']
    2023-01-01 19:35:53.931 DEBUG (MainThread) [pymodbus.payload] [b'\x00\x00', b'\x0b\xb8']
    2023-01-01 19:35:53.931 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 47255
    2023-01-01 19:35:53.931 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x12 0x0 0x0 0x0 0x6 0x1 0x3 0xb8 0x97 0x0 0x2d
    2023-01-01 19:35:53.932 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 18
    2023-01-01 19:35:54.695 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0x12 0x0 0x0 0x0 0x5d 0x1 0x3 0x5a 0x0 0x2 0x0 0x0 0x1 0x68 0x0 0x7f 0x1 0xe0 0x5 0x28 0x1 0x7f 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 0x1
    2023-01-01 19:35:54.695 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x12 0x0 0x0 0x0 0x5d 0x1 0x3 0x5a 0x0 0x2 0x0 0x0 0x1 0x68 0x0 0x7f 0x1 0xe0 0x5 0x28 0x1 0x7f 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 0x1
    2023-01-01 19:35:54.695 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:54.695 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 18
    2023-01-01 19:35:54.746 DEBUG (MainThread) [pymodbus.payload] [2, 0, 360, 127, 480, 1320, 383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
    2023-01-01 19:35:54.747 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 47954
    2023-01-01 19:35:54.747 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x13 0x0 0x0 0x0 0x6 0x1 0x3 0xbb 0x52 0x0 0x42
    2023-01-01 19:35:54.747 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 19
    2023-01-01 19:35:55.451 DEBUG (MainThread) [pymodbus.client.base] recv: 0x0 0x13 0x0 0x0 0x0 0x87 0x1 0x3 0x84 0x0 0x0 0x1 0xf4 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 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
    2023-01-01 19:35:55.451 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x13 0x0 0x0 0x0 0x87 0x1 0x3 0x84 0x0 0x0 0x1 0xf4 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 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
    2023-01-01 19:35:55.451 DEBUG (MainThread) [pymodbus.factory] Factory Response[ReadHoldingRegistersResponse': 3]
    2023-01-01 19:35:55.451 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 19
    2023-01-01 19:35:55.502 DEBUG (MainThread) [pymodbus.payload] [0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    2023-01-01 19:35:55.502 DEBUG (MainThread) [custom_components.huawei_solar] Finished fetching TA2250041190_configuration_update_coordinator data in 3.394 seconds (success: True)
    2023-01-01 19:35:55.502 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading file 0x45
    2023-01-01 19:35:55.503 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x14 0x0 0x0 0x0 0x5 0x0 0x41 0x5 0x1 0x45
    2023-01-01 19:35:55.503 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 20
    2023-01-01 19:35:58.504 INFO (MainThread) [backoff] Backing off _perform_request(...) for 10.0s (asyncio.exceptions.TimeoutError)
    2023-01-01 19:35:58.504 DEBUG (MainThread) [huawei_solar.huawei_solar] Backing off file upload for 10.0 seconds after 1 tries
    2023-01-01 19:36:08.505 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x15 0x0 0x0 0x0 0x5 0x0 0x41 0x5 0x1 0x45
    2023-01-01 19:36:08.506 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 21
    2023-01-01 19:36:11.507 INFO (MainThread) [backoff] Backing off _perform_request(...) for 10.0s (asyncio.exceptions.TimeoutError)
    2023-01-01 19:36:11.507 DEBUG (MainThread) [huawei_solar.huawei_solar] Backing off file upload for 10.0 seconds after 2 tries
    2023-01-01 19:36:21.509 DEBUG (MainThread) [pymodbus.client.base] send: 0x0 0x16 0x0 0x0 0x0 0x5 0x0 0x41 0x5 0x1 0x45
    2023-01-01 19:36:21.509 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 22
    2023-01-01 19:36:24.510 INFO (MainThread) [backoff] Backing off _perform_request(...) for 10.0s (asyncio.exceptions.TimeoutError)
    2023-01-01 19:36:24.510 DEBUG (MainThread) [huawei_solar.huawei_solar] Backing off file upload for 10.0 seconds after 3 tries
    

    Please confirm the following:

    • [X] The problem is still present in the latest release of this integration.
    • [X] I did not find an existing issue describing this problem.
    • [ ] I did upload the diagnostics-file that I could retrieve from the 'Devices & Services Page'
    • [X] I increased the logging configuration, restarted HA, and have copied all relevant log lines from the 'Full Logs' into the textarea.
    bug 
    opened by etamtlosz 23
  • [Bug]: Cannot install huawei-solar==2.1.2

    [Bug]: Cannot install huawei-solar==2.1.2

    System Health details

    Unable to install package huawei-solar==2.1.2: ERROR: Cannot install huawei-solar==2.1.2 because these package versions have conflicting dependencies. ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

    Huawei Solar Setup

    Inverter Type: sun2000 Inverter Firmware version: SDongle present: no Power meter present: three phase / single phase / no : three phase Battery: LG RESU xxkWh / LUNA2000 5kWh / None Battery Firmware version:

    How do you connect to the inverter?

    Over serial, with a serial-to-USB stick

    Describe the issue

    After installing Home assistant 2022.11.0b0, the huawei_solar was not loading, noticed following error message Unable to install package huawei-solar==2.1.2: ERROR: Cannot install huawei-solar==2.1.2 because these package versions have conflicting dependencies. ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

    Relevant debug logs

    I estimate this will be generic as it it not between inverter & home assistnt but home assistant to integration, if you need them please let me know
    
    bug 
    opened by bekovan 20
  • [Bug]: After latest upgrade integration doesn't work

    [Bug]: After latest upgrade integration doesn't work

    Describe the issue

    Upgraded huawei_solar integration to latest version by HACS Restarted HA but all entities are 'unavailable'. Checked HA log but no relevant error about the integration. Re-loaded the integration but no progress. Enabled debug logging and restarted HA. Problem not resolved as suspected but where to find the debug log?

    Anything else to check?

    Bescribe your Huawei Solar Setup

    Inverter Type: SUN2000-4.6KTL-L1 Inverter Firmware version: Unknown SDongle present: no Power meter present: single phase Battery: LUNA2000 10 kWh Battery Firmware version: Unknown

    How do you connect to the inverter?

    By Wifi

    Upload your Diagnostics File

    Drag & Drop your Diagnostics File here. config_entry-huawei_solar-b67bf3ea1f0b71e75077c75ebcbdc0cc.json.txt

    Upload your relevant debug logs

    None
    

    Please confirm the following:

    • [X] The problem is still present in the latest release of this integration.
    • [X] I did not find an existing issue describing this problem.
    • [X] I did upload the diagnostics-file that I could retrieve from the 'Devices & Services Page'
    • [X] I increased the logging configuration, restarted HA, and have copied all relevant log lines from the 'Full Logs' into the textarea.
    bug 
    opened by johanvh83 19
  • [Bug]: Battery wont charge - Caused by Huawei Dongle being present.

    [Bug]: Battery wont charge - Caused by Huawei Dongle being present.

    System Health details

    System Information

    version | core-2022.8.4 -- | -- installation_type | Home Assistant OS dev | false hassio | true docker | true user | root virtualenv | false python_version | 3.10.5 os_name | Linux os_version | 5.15.55 arch | aarch64 timezone | Europe/London config_dir | /config

    Home Assistant Community Store

    GitHub API | ok -- | -- GitHub Content | ok GitHub Web | ok GitHub API Calls Remaining | 4778 Installed Version | 1.26.2 Stage | running Available Repositories | 1097 Downloaded Repositories | 10

    Home Assistant Cloud

    logged_in | false -- | -- can_reach_cert_server | ok can_reach_cloud_auth | ok can_reach_cloud | ok

    Home Assistant Supervisor

    host_os | Home Assistant OS 8.4 -- | -- update_channel | stable supervisor_version | supervisor-2022.08.3 agent_version | 1.2.1 docker_version | 20.10.14 disk_total | 113.9 GB disk_used | 78.3 GB healthy | true supported | true board | odroid-n2 supervisor_api | ok version_api | ok installed_addons | File editor (5.3.3), MariaDB (2.5.1), Let's Encrypt (4.12.6), Check Home Assistant configuration (3.11.0), Terminal & SSH (9.6.0), Zigbee2MQTT (1.27.0-1), Log Viewer (0.14.0), Mosquitto broker (6.1.2), ESPHome (2022.8.0)

    Dashboards

    dashboards | 1 -- | -- resources | 1 views | 7 mode | storage

    Recorder

    oldest_recorder_run | 12 July 2022 at 12:41 -- | -- current_recorder_run | 21 August 2022 at 19:01 estimated_db_size | 7885.02 MiB database_engine | sqlite database_version | 3.38.5

    Sonoff

    version | 3.1.0 (3871c0b) -- | -- cloud_online | 43 / 183 local_online | 1 / 1

    Huawei Solar Setup

    SDongle, Network @ 192

    Describe the issue

    First of, having the option to modify battery charging is amazing, thank you!

    1. When Battery Forcible charge power is changed the Logbook isn't updated. Is this expected UX? It makes it look as if the inputs aren't working. Numeric increments also do not update the Logbook. Selects and Checkboxes of other values do update the Logbook.
    2. When Battery Forcible charge power is changed the value doesn't appear to have any impact on actual charging of the battery.
    3. Thanks again!

    Relevant debug logs

    Logger: pymodbus.client.asynchronous.async_io
    Source: /usr/local/lib/python3.10/site-packages/pymodbus/client/asynchronous/async_io/__init__.py:307
    First occurred: 19:04:16 (70 occurrences)
    Last logged: 19:16:44
    
        Failed to connect: Multiple exceptions: [Errno 111] Connect call failed ('::1', 502, 0, 0), [Errno 111] Connect call failed ('127.0.0.1', 502)
        Failed to connect: [Errno 111] Connect call failed ('10.0.0.106', 6607)
        Failed to connect: Multiple exceptions: [Errno 111] Connect call failed ('::1', 6607, 0, 0), [Errno 111] Connect call failed ('127.0.0.1', 6607)
        Failed to connect: [Errno 111] Connect call failed ('10.0.0.182', 6607)
        Failed to connect: Multiple exceptions: [Errno 111] Connect call failed ('10.0.0.134', 6607), [Errno 111] Connect call failed ('fdd2:b8b:5577::9bb', 6607, 0, 0)
    
    bug 
    opened by JohnMcLear 19
  • [Bug]: Wrong values from battery sensor

    [Bug]: Wrong values from battery sensor

    System Health details

    System Information

    version | core-2022.10.5 -- | -- installation_type | Home Assistant OS dev | false hassio | true docker | true user | root virtualenv | false python_version | 3.10.5 os_name | Linux os_version | 5.15.72 arch | x86_64 timezone | Europe/Rome config_dir | /config

    Home Assistant Community Store

    GitHub API | ok -- | -- GitHub Content | failed to load: unreachable GitHub Web | ok GitHub API Calls Remaining | 4888 Installed Version | 1.28.3 Stage | running Available Repositories | 1198 Downloaded Repositories | 25

    Home Assistant Cloud

    logged_in | false -- | -- can_reach_cert_server | ok can_reach_cloud_auth | ok can_reach_cloud | ok

    Home Assistant Supervisor

    host_os | Home Assistant OS 9.2 -- | -- update_channel | stable supervisor_version | supervisor-2022.10.0 agent_version | 1.4.1 docker_version | 20.10.17 disk_total | 30.8 GB disk_used | 17.9 GB healthy | true supported | true board | ova supervisor_api | ok version_api | ok installed_addons | Network UPS Tools (0.11.0), TasmoAdmin (0.20.0), SSH & Web Terminal (12.0.2), Samba share (10.0.0), Studio Code Server (5.4.0), File editor (5.4.1)

    Dashboards

    dashboards | 2 -- | -- resources | 13 views | 15 mode | storage

    Recorder

    oldest_recorder_run | 15 ottobre 2022 09:04 -- | -- current_recorder_run | 24 ottobre 2022 20:58 estimated_db_size | 2499.09 MiB database_engine | sqlite database_version | 3.38.5

    Xiaomi Miot Auto

    component_version | 0.7.0 -- | -- can_reach_server | ok can_reach_spec | ok logged_accounts | 0 total_devices | 0

    Huawei Solar Setup

    Inverter Type: 10KTL-M1 Inverter Firmware version: SPC146 SDongle present: yes (FW SPC130) Power meter present: three phase DTSU-666H Battery: LUNA2000 2x10kWh

    How do you connect to the inverter?

    Via the SDongle, wired connection

    Describe the issue

    Sometimes i have these spikes from sensor.battery_charge_discharge_power that messes my statistics. The last one started from 03:45:30 to 03:45:41

    Relevant debug logs

    https://gist.github.com/xm4rcell0x/a0d703168001ba1ab65a49205209befe
    
    bug 
    opened by xm4rcell0x 17
  • [Bug]: Lost all optimizers

    [Bug]: Lost all optimizers

    Describe the issue

    From the last December 30th the integration is not showing the optimizers (x 12 huawei) I have 3 HA installations, one in proxmox, second in a raspPi4, and the last in a Oracle cloud with vpn I tried to reinstall in all of them, but only connect with the inverter, power-metter, and battery.

    Bescribe your Huawei Solar Setup

    Inverter Type: KTL6000 Inverter Firmware version:V200R001C00SPC125 SDongle present: no Power meter present: single phase / Battery: LG RESU xxkWh / LUNA2000 10kWh Battery Firmware version:V100R002C00SPC116

    How do you connect to the inverter?

    Over serial, with a serial-to-USB stick

    Upload your Diagnostics File

    Drag & Drop your Diagnostics File here. "integration_manifest": { "domain": "huawei_solar", "name": "Huawei Solar", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/huawei_solar", "issue_tracker": "https://github.com/wlcrs/huawei_solar/issues", "requirements": [ "huawei-solar==2.1.6" ], "codeowners": [ "@wlcrs" ], "iot_class": "local_polling", "version": "1.1.6", "loggers": [ "huawei_solar", "pymodbus" ], "is_built_in": false }, "data": { "config_entry_data": { "host": "192.168.31.240", "port": 502, "slave_ids": [ 1 ], "enable_parameter_configuration": true, "username": null, "password": null }, "slave_0": { "model_name": "SUN2000-6KTL-L1", "pv_string_count": 2, "has_optimizers": 12, "battery_1_type": 2, "battery_2_type": 0, "power_meter_type": 0 }, "slave_0_data": { "input_power": [ 2841, "W" ], "line_voltage_A_B": [ 231.7, "V" ], "line_voltage_B_C": [ 0.0, "V" ], "line_voltage_C_A": [ 0.0, "V" ], "phase_A_voltage": [ 237.6, "V" ], "phase_B_voltage": [ 0.2, "V" ], "phase_C_voltage": [ 0.0, "V" ], "phase_A_current": [ 11.1, "A" ], "phase_B_current": [ 0.0, "A" ], "phase_C_current": [ 0.0, "A" ], "day_active_power_peak": [ 4912, "W" ], "active_power": [ 2557, "W" ], "reactive_power": [ -3, "VA" ], "power_factor": [ 1.0, null ], "grid_frequency": [ 49.99, "Hz" ], "efficiency": [ 100.0, "%" ], "internal_temperature": [ 28.2, "\u00b0C" ], "insulation_resistance": [ 30.0, "MOhm" ], "device_status": [ "On-grid", null ], "fault_code": [ 0, null ], "startup_time": [ "2023-01-03T09:14:17+00:00", null ], "shutdown_time": [ null, null ], "accumulated_yield_energy": [ 9571.17, "kWh" ], "daily_yield_energy": [ 6.51, "kWh" ], "state_1": [ [ "Grid-Connected", "Grid-Connected normally" ], null ], "state_2": [ [ "Unlocked", "PV connected", "DSP data collection" ], null ], "state_3": [ [ "On-grid", "Off-grid switch disabled" ], null ], "alarm_1": [ [], null ], "alarm_2": [ [], null ], "alarm_3": [ [], null ], "pv_01_voltage": [ 238.7, "V" ], "pv_01_current": [ 6.56, "A" ], "pv_02_voltage": [ 214.9, "V" ], "pv_02_current": [ 6.51, "A" ], "nb_online_optimizers": [ 12, null ], "grid_A_voltage": [ 230.6, "V" ], "grid_B_voltage": [ null, "V" ], "grid_C_voltage": [ null, "V" ], "active_grid_A_current": [ -0.62, "I" ], "active_grid_B_current": [ null, "I" ], "active_grid_C_current": [ null, "I" ], "power_meter_active_power": [ 5, "W" ], "power_meter_reactive_power": [ 144, "Var" ], "active_grid_power_factor": [ -0.101, null ], "active_grid_frequency": [ 49.99, "Hz" ], "grid_exported_energy": [ 6526.18, "kWh" ], "grid_accumulated_energy": [ 4349.5, "kWh" ], "grid_accumulated_reactive_power": [ 0.0, "kVarh" ], "meter_type": [ 0, null ], "active_grid_A_B_voltage": [ null, "V" ], "active_grid_B_C_voltage": [ null, "V" ], "active_grid_C_A_voltage": [ null, "V" ], "active_grid_A_power": [ null, "W" ], "active_grid_B_power": [ null, "W" ], "active_grid_C_power": [ null, "W" ], "storage_state_of_capacity": [ 88.0, "%" ], "storage_running_status": [ 2, null ], "storage_bus_voltage": [ 438.7, "V" ], "storage_bus_current": [ 0.6, "A" ], "storage_charge_discharge_power": [ 267, "W" ], "storage_total_charge": [ 31.87, "kWh" ], "storage_total_discharge": [ 26.75, "kWh" ], "storage_current_day_charge_capacity": [ 12.8, "kWh" ], "storage_current_day_discharge_capacity": [ 3.61, "kWh" ] } } }

    Upload your relevant debug logs

    2023-01-03 16:08:10.103 INFO (MainThread) [homeassistant.components.automation.huawei_solar_inverter_data_polling_2] Huawei Solar inverter data polling: Running automation actions
    2023-01-03 16:08:10.103 INFO (MainThread) [homeassistant.components.automation.huawei_solar_inverter_data_polling_2] Huawei Solar inverter data polling: Executing step call service
    2023-01-03 16:08:10.104 WARNING (MainThread) [homeassistant.helpers.entity_component] Forced update failed. Entity sensor.daily_yield not found.
    2023-01-03 16:08:13.039 DEBUG (MainThread) [pymodbus.client.asynchronous.async_io] Connecting.
    2023-01-03 16:08:13.041 WARNING (MainThread) [pymodbus.client.asynchronous.async_io] Failed to connect: Multiple exceptions: [Errno 111] Connect call failed ('::1', 502, 0, 0), [Errno 111] Connect call failed ('127.0.0.1', 502)
    2023-01-03 16:08:13.043 DEBUG (MainThread) [pymodbus.client.asynchronous.async_io] Waiting 204800 ms before next connection attempt.
    

    Please confirm the following:

    • [X] The problem is still present in the latest release of this integration.
    • [X] I did not find an existing issue describing this problem.
    • [X] I did upload the diagnostics-file that I could retrieve from the 'Devices & Services Page'
    • [X] I increased the logging configuration, restarted HA, and have copied all relevant log lines from the 'Full Logs' into the textarea.
    bug 
    opened by kaciker 16
  • [Bug]:  Grid Active Power and Grid Exported are inverted (negative)

    [Bug]: Grid Active Power and Grid Exported are inverted (negative)

    System Health details

    System Health

    version | core-2022.4.6 -- | -- installation_type | Home Assistant Container dev | false hassio | false docker | true user | root virtualenv | false python_version | 3.9.9 os_name | Linux os_version | 5.4.0-1058-raspi arch | aarch64 timezone | Europe/Madrid

    Home Assistant Community Store

    GitHub API | ok -- | -- GitHub Content | ok GitHub Web | ok GitHub API Calls Remaining | 5000 Installed Version | 1.24.5 Stage | waiting Available Repositories | 1092 Downloaded Repositories | 17

    Dashboards

    dashboards | 1 -- | -- resources | 10 views | 11 mode | storage

    Huawei Solar Setup

    Inverter: SUN2000-4KTL-L1 Single Phase meter. No Battery No SDongle, builtin wifi

    Describe the issue

    Both Grid Active Power and Grid Exported are inverted (negative) image

    Reproduction steps

    Just connect to my inverter...

    Relevant debug logs

    A lot of repetitions of this, nothing else:

    2022-04-29 23:25:27 DEBUG (MainThread) [huawei_solar.huawei_solar] Heartbeat succeeded
    2022-04-29 23:25:42 DEBUG (MainThread) [huawei_solar.huawei_solar] Heartbeat succeeded
    2022-04-29 23:25:44 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 32064
    2022-04-29 23:25:44 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 32016
    2022-04-29 23:25:44 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 37201
    2022-04-29 23:25:44 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 37101
    2022-04-29 23:25:44 DEBUG (MainThread) [custom_components.huawei_solar] Finished fetching 102060084875_data_update_coordinator data in 0.607 seconds (success: True)```
    
    bug 
    opened by djwmarcx 15
  • Fix commingling of battery charging/discharging in yield

    Fix commingling of battery charging/discharging in yield

    The values reported in Daily Yield/Total Yield are muddied when you have a home battery (ex. LUNA2000) connected to your inverter (ex. SUN2000L).

    Energy used to charge the battery is not added to the yield, while energy which was discharged from the battery is added to the yield.

    It's not as simple as adding/substracting the values from the Battery (Dis)charge fields, as you need to account for conversion losses. For example: when I look to the daily values before the sun has come up, the Battery Discharge can report 1.2 kWh, while the daily yield reports roughly 1.0 kWh at that moment.

    opened by wlcrs 15
  • [Bug]: Huawei sensors are going unavailable sometimes

    [Bug]: Huawei sensors are going unavailable sometimes

    System Health details

    System Health

    version | core-2022.2.7 -- | -- installation_type | Home Assistant OS dev | false hassio | true docker | true user | root virtualenv | false python_version | 3.9.7 os_name | Linux os_version | 5.10.98 arch | x86_64 timezone | Europe/Brussels

    Home Assistant Community Store

    GitHub API | ok -- | -- Github API Calls Remaining | 5000 Installed Version | 1.22.0 Stage | running Available Repositories | 1060 Downloaded Repositories | 36

    Home Assistant Supervisor

    host_os | Home Assistant OS 7.4 -- | -- update_channel | beta supervisor_version | supervisor-2022.01.1 docker_version | 20.10.9 disk_total | 457.7 GB disk_used | 112.5 GB healthy | true supported | true board | generic-x86-64 supervisor_api | ok version_api | ok installed_addons | Samba share (9.5.1), AdGuard Home (4.4.4), AppDaemon 4 (0.8.1), Caddy (1.6), Check Home Assistant configuration (3.9.0), Duck DNS (1.14.0), ESPHome (2022.1.4), Mosquitto broker (6.0.1), Studio Code Server (4.1.0), WireGuard (0.6.0), MariaDB (2.4.0), Samba Backup (5.0.0), InfluxDB (4.3.0), Grafana (7.4.1), Frigate NVR (2.3), SSH & Web Terminal (10.0.2), Glances (0.14.2), phpMyAdmin (0.7.0), Mealie (0.5.6), Arpspoof (1.0.0), Caddy 2 (1.1.0), Firefly iii (5.6.14-2)

    Lovelace

    dashboards | 3 -- | -- resources | 17 views | 18 mode | storage

    Spotify

    api_endpoint_reachable | ok -- | --

    Describe the issue

    My HA instance is connected to the internal wifi of the inverter And I'm using your latest version 1.0.0.a3, in the manifest.json it is still 1.0.0.a1

    All Huawei sensors are going unavailable for some time. Schermafbeelding 2022-02-16 om 14 07 47

    Schermafbeelding 2022-02-16 om 14 10 03

    Reproduction steps

    1. Connect to internal wifi
    2. Install integration
    3. Just wait ...

    Relevant debug logs

    This is the moment everything becomes unavailable

    Deze fout is ontstaan door een aangepaste integratie.
    
    Logger: custom_components.huawei_solar
    Source: helpers/update_coordinator.py:193
    Integration: Huawei Solar
    First occurred: 11:40:50 (1 occurrences)
    Last logged: 11:40:50
    
    Timeout fetching HV20C0092844_data_update_coordinator data
    
    Logger: huawei_solar.huawei_solar
    Source: /usr/local/lib/python3.9/site-packages/huawei_solar/huawei_solar.py:270
    First occurred: 11:46:01 (1 occurrences)
    Last logged: 11:46:01
    
    Could not read register value, has another device interrupted the connection?
    
    Logger: pymodbus.client.asynchronous.async_io
    Source: /usr/local/lib/python3.9/site-packages/pymodbus/client/asynchronous/async_io/__init__.py:307
    First occurred: 12:02:41 (20 occurrences)
    Last logged: 13:00:56
    
    Failed to connect: [Errno 113] Connect call failed ('192.168.200.1', 6607)
    Failed to connect: [Errno 110] Connect call failed ('192.168.200.1', 6607)
    
    Logger: huawei_solar.huawei_solar
    Source: /usr/local/lib/python3.9/site-packages/huawei_solar/huawei_solar.py:246
    First occurred: 12:02:31 (105 occurrences)
    Last logged: 13:05:51
    
    Modbus client is not connected to the inverter.
    NoneType: None
    

    And this are all debug logs from going unavailable to available again, sorry for the very long logs...

    https://paste.ubuntu.com/p/mFwtgHDwPK/

    bug 
    opened by gieljnssns 14
  • [Feature Request]: Add Grid Power Maximum injection

    [Feature Request]: Add Grid Power Maximum injection

    Describe your feature request

    Writing in the right Modbus Adress, to control the maximum power injected by the inverter in the Grid network.

    It will be useful to limit the yield when the energy production is more than the needs.

    For those who not sell the energy... And don't have batteries... This will increase the system longevity.

    Thanks for this Great HA integration

    opened by gugaspinto 13
  • [Bug]: Entity using native unit of measurement 'None' which is not a valid unit for the device class

    [Bug]: Entity using native unit of measurement 'None' which is not a valid unit for the device class

    Describe the issue

    Even everything seems to work properly (except a bit longer delayed sensors values) i've got this persistent warning in log:

    Entity sensor.inverter_power_factor (<class 'custom_components.huawei_solar.sensor.HuaweiSolarSensorEntity'>) is using native unit of measurement 'None' which is not a valid unit for the device class ('power_factor') it is using; Please update your configuration if your entity is manually configured, otherwise report it to the custom integration author.

    Entity sensor.power_meter_power_factor (<class 'custom_components.huawei_solar.sensor.HuaweiSolarSensorEntity'>) is using native unit of measurement 'None' which is not a valid unit for the device class ('power_factor') it is using; Please update your configuration if your entity is manually configured, otherwise report it to the custom integration author.

    Entity sensor.power_meter_reactive_power_2 (<class 'custom_components.huawei_solar.sensor.HuaweiSolarSensorEntity'>) is using native unit of measurement 'kVarh' which is not a valid unit for the device class ('reactive_power') it is using; Please update your configuration if your entity is manually configured, otherwise report it to the custom integration author.

    Bescribe your Huawei Solar Setup

    Inverter Type: SUN2000-10KTL-M1 Inverter Firmware version: V100R001C00SPC148 SDongle present: yes / Firmware Power meter present: three phase Battery: None Battery Firmware version: NONE

    Huawei Solar version 1.2.0b7 - also tried 1.2.0b5

    How do you connect to the inverter?

    Via the SDongle, wireless connection

    Upload your Diagnostics File

    { "home_assistant": { "installation_type": "Home Assistant OS", "version": "2023.1.1", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.10.7", "docker": true, "arch": "aarch64", "timezone": "Europe/Bucharest", "os_name": "Linux", "os_version": "5.15.76-v8", "supervisor": "2022.12.1", "host_os": "Home Assistant OS 9.4", "docker_version": "20.10.19", "chassis": "embedded", "run_as_root": true }, "custom_components": { "sonoff": { "version": "3.3.1", "requirements": [ "pycryptodome>=3.6.6" ] }, "hacs": { "version": "1.29.0", "requirements": [ "aiogithubapi>=22.10.1" ] }, "fullykiosk": { "version": "1.1.0", "requirements": [ "python-fullykiosk==0.0.11" ] }, "tapo_control": { "version": "4.2.1", "requirements": [ "pytapo==2.8", "onvif-zeep-async==1.2.0" ] }, "huawei_solar": { "version": "1.2.0b5", "requirements": [ "huawei-solar==2.2.0b6" ] }, "midea_ac_lan": { "version": "v0.3.16-Beta7", "requirements": [] }, "xiaomi_cloud_map_extractor": { "version": "v2.2.0", "requirements": [ "pillow", "pybase64", "python-miio", "requests", "pycryptodome" ] } }, "integration_manifest": { "domain": "huawei_solar", "name": "Huawei Solar", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/huawei_solar", "issue_tracker": "https://github.com/wlcrs/huawei_solar/issues", "requirements": [ "huawei-solar==2.2.0b6" ], "codeowners": [ "@wlcrs" ], "iot_class": "local_polling", "version": "1.2.0b5", "loggers": [ "huawei_solar", "pymodbus" ], "is_built_in": false }, "data": { "config_entry_data": { "host": "192.168.1.21", "port": 502, "slave_ids": [ 1 ], "enable_parameter_configuration": true, "username": null, "password": null }, "slave_0": { "model_name": "SUN2000-10KTL-M1\u0000\u0000\u0000\u0000SUN2000-12", "pv_string_count": 2, "has_optimizers": 0, "battery_type": 0, "battery_1_type": 0, "battery_2_type": 0, "power_meter_type": 1, "supports_capacity_control": false }, "slave_0_data": { "input_power": [ 0, "W" ], "line_voltage_A_B": [ 0.0, "V" ], "line_voltage_B_C": [ 0.0, "V" ], "line_voltage_C_A": [ 0.0, "V" ], "phase_A_voltage": [ 0.0, "V" ], "phase_B_voltage": [ 0.0, "V" ], "phase_C_voltage": [ 0.0, "V" ], "phase_A_current": [ 0.0, "A" ], "phase_B_current": [ 0.0, "A" ], "phase_C_current": [ 0.0, "A" ], "day_active_power_peak": [ 5593, "W" ], "active_power": [ 0, "W" ], "reactive_power": [ 0, "VA" ], "power_factor": [ 0.0, null ], "grid_frequency": [ 0.0, "Hz" ], "efficiency": [ null, "%" ], "internal_temperature": [ 0.0, "\u00b0C" ], "insulation_resistance": [ 30.0, "MOhm" ], "device_status": [ "Standby: no irradiation", null ], "fault_code": [ 0, null ], "startup_time": [ "2023-01-07T06:01:00+00:00", null ], "shutdown_time": [ "2023-01-07T14:17:12+00:00", null ], "accumulated_yield_energy": [ 1249.57, "kWh" ], "daily_yield_energy": [ 4.63, "kWh" ], "state_1": [ [ "Standby" ], null ], "state_2": [ [ "Locked", "PV disconnected", "DSP data collection" ], null ], "state_3": [ [ "On-grid", "Off-grid switch disabled" ], null ], "alarm_1": [ [], null ], "alarm_2": [ [], null ], "alarm_3": [ [], null ], "pv_01_voltage": [ 0.0, "V" ], "pv_01_current": [ 0.0, "A" ], "pv_02_voltage": [ 0.0, "V" ], "pv_02_current": [ 0.0, "A" ], "grid_A_voltage": [ 233.1, "V" ], "grid_B_voltage": [ 233.3, "V" ], "grid_C_voltage": [ 234.6, "V" ], "active_grid_A_current": [ -1.39, "I" ], "active_grid_B_current": [ -0.41, "I" ], "active_grid_C_current": [ -0.54, "I" ], "power_meter_active_power": [ -231, "W" ], "power_meter_reactive_power": [ 433, "Var" ], "active_grid_power_factor": [ -0.421, null ], "active_grid_frequency": [ 49.97, "Hz" ], "grid_exported_energy": [ 865.79, "kWh" ], "grid_accumulated_energy": [ 1835.03, "kWh" ], "grid_accumulated_reactive_power": [ 0.0, "kVarh" ], "meter_type": [ 1, null ], "active_grid_A_B_voltage": [ 403.8, "V" ], "active_grid_B_C_voltage": [ 405.2, "V" ], "active_grid_C_A_voltage": [ 405.0, "V" ], "active_grid_A_power": [ -154, "W" ], "active_grid_B_power": [ -15, "W" ], "active_grid_C_power": [ -61, "W" ] }, "slave_0_config_data": {} } }

    Upload your relevant debug logs

    Entity sensor.inverter_power_factor (<class 'custom_components.huawei_solar.sensor.HuaweiSolarSensorEntity'>) is using native unit of measurement 'None' which is not a valid unit for the device class ('power_factor') it is using; Please update your configuration if your entity is manually configured, otherwise report it to the custom integration author.
    
    Entity sensor.power_meter_power_factor (<class 'custom_components.huawei_solar.sensor.HuaweiSolarSensorEntity'>) is using native unit of measurement 'None' which is not a valid unit for the device class ('power_factor') it is using; Please update your configuration if your entity is manually configured, otherwise report it to the custom integration author.
    
    Entity sensor.power_meter_reactive_power_2 (<class 'custom_components.huawei_solar.sensor.HuaweiSolarSensorEntity'>) is using native unit of measurement 'kVarh' which is not a valid unit for the device class ('reactive_power') it is using; Please update your configuration if your entity is manually configured, otherwise report it to the custom integration author.
    

    Please confirm the following:

    • [ ] The problem is still present in the latest release of this integration.
    • [ ] I did not find an existing issue describing this problem.
    • [ ] I did upload the diagnostics-file that I could retrieve from the 'Devices & Services Page'
    • [ ] I increased the logging configuration, restarted HA, and have copied all relevant log lines from the 'Full Logs' into the textarea.
    bug 
    opened by alecsmro 0
  • [Bug]: Unable to connect via serial on 1.2.0b5 1.1.6 is working

    [Bug]: Unable to connect via serial on 1.2.0b5 1.1.6 is working

    Describe the issue

    Upgrading to 1.2.0b5 cause connectivity issues over serial. Tried to complete remove and reinstall the integration, but then I'm unble to setup because huawei_solar.exceptions.ReadException: Failed to read register 43006 after 6 tries

    added diagnostics file from 1.1.6

    Bescribe your Huawei Solar Setup

    Inverter Type: SUN2000-4.6KTL-L1 Inverter Firmware version: V200R001C00SPC125 SDongle present: no Power meter present: single phase Battery: LUNA2000 10kWh Battery Firmware version: V100R002C00SPC116

    How do you connect to the inverter?

    Over serial, with a serial-to-USB stick

    Upload your Diagnostics File

    { "home_assistant": { "installation_type": "Home Assistant OS", "version": "2022.12.8", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.10.7", "docker": true, "arch": "aarch64", "timezone": "Europe/Brussels", "os_name": "Linux", "os_version": "5.15.80", "supervisor": "2022.12.1", "host_os": "Home Assistant OS 9.4", "docker_version": "20.10.19", "chassis": "embedded", "run_as_root": true }, "custom_components": { "eufy_security": { "version": "2.10.0", "requirements": [ "websocket-client==1.1.0" ] }, "solcast_solar": { "version": "3.0.30", "requirements": [ "aiohttp>=3.6.2", "datetime>=4.3", "isodate>=0.6.0" ] }, "smartthinq_sensors": { "version": "0.27.1", "requirements": [ "pycountry>=20.7.3", "xmltodict>=0.12.0", "cchardet>=2.1.7" ] }, "huawei_solar": { "version": "1.1.6", "requirements": [ "huawei-solar==2.1.6" ] }, "nordpool": { "version": "0.0.9", "requirements": [ "nordpool>=0.2" ] }, "entsoe": { "version": "0.0.1", "requirements": [ "entsoe-py==0.5.8" ] }, "hacs": { "version": "1.29.0", "requirements": [ "aiogithubapi>=22.10.1" ] }, "skodaconnect": { "version": "v1.1.4", "requirements": [ "skodaconnect>=1.2.5", "homeassistant>=2022.12.0" ] }, "webrtc": { "version": "v2.3.1", "requirements": [] }, "afvalbeheer": { "version": "5.0.10", "requirements": [ "rsa", "pycryptodome" ] } }, "integration_manifest": { "domain": "huawei_solar", "name": "Huawei Solar", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/huawei_solar", "issue_tracker": "https://github.com/wlcrs/huawei_solar/issues", "requirements": [ "huawei-solar==2.1.6" ], "codeowners": [ "@wlcrs" ], "iot_class": "local_polling", "version": "1.1.6", "loggers": [ "huawei_solar", "pymodbus" ], "is_built_in": false }, "data": { "config_entry_data": { "host": null, "port": "/dev/serial/by-id/usb-1a86_USB2.0-Ser_-if00-port0", "slave_ids": [ 1 ], "enable_parameter_configuration": true, "username": null, "password": null }, "slave_0": { "model_name": "SUN2000-4.6KTL-L1", "pv_string_count": 2, "has_optimizers": 0, "battery_1_type": 2, "battery_2_type": 0, "power_meter_type": 0 }, "slave_0_data": { "input_power": [ 490, "W" ], "line_voltage_A_B": [ 239.9, "V" ], "line_voltage_B_C": [ 0.0, "V" ], "line_voltage_C_A": [ 0.0, "V" ], "phase_A_voltage": [ 241.1, "V" ], "phase_B_voltage": [ 0.2, "V" ], "phase_C_voltage": [ 0.0, "V" ], "phase_A_current": [ 1.873, "A" ], "phase_B_current": [ 0.0, "A" ], "phase_C_current": [ 0.0, "A" ], "day_active_power_peak": [ 5000, "W" ], "active_power": [ 444, "W" ], "reactive_power": [ -1, "VA" ], "power_factor": [ 1.0, null ], "grid_frequency": [ 49.98, "Hz" ], "efficiency": [ 100.0, "%" ], "internal_temperature": [ 34.2, "\u00b0C" ], "insulation_resistance": [ 30.0, "MOhm" ], "device_status": [ "On-grid", null ], "fault_code": [ 0, null ], "startup_time": [ "2023-01-03T09:01:08+00:00", null ], "shutdown_time": [ null, null ], "accumulated_yield_energy": [ 12169.44, "kWh" ], "daily_yield_energy": [ 9.18, "kWh" ], "state_1": [ [ "Grid-Connected", "Grid-Connected normally" ], null ], "state_2": [ [ "Unlocked", "PV connected", "DSP data collection" ], null ], "state_3": [ [ "On-grid", "Off-grid switch disabled" ], null ], "alarm_1": [ [], null ], "alarm_2": [ [], null ], "alarm_3": [ [], null ], "pv_01_voltage": [ 317.2, "V" ], "pv_01_current": [ 0.81, "A" ], "pv_02_voltage": [ 317.3, "V" ], "pv_02_current": [ 0.81, "A" ], "grid_A_voltage": [ 239.6, "V" ], "grid_B_voltage": [ null, "V" ], "grid_C_voltage": [ null, "V" ], "active_grid_A_current": [ 1.31, "I" ], "active_grid_B_current": [ null, "I" ], "active_grid_C_current": [ null, "I" ], "power_meter_active_power": [ 4, "W" ], "power_meter_reactive_power": [ 315, "Var" ], "active_grid_power_factor": [ 0.03, null ], "active_grid_frequency": [ 49.97, "Hz" ], "grid_exported_energy": [ 3707.79, "kWh" ], "grid_accumulated_energy": [ 6288.2, "kWh" ], "grid_accumulated_reactive_power": [ 58.52, "kVarh" ], "meter_type": [ 0, null ], "active_grid_A_B_voltage": [ null, "V" ], "active_grid_B_C_voltage": [ null, "V" ], "active_grid_C_A_voltage": [ null, "V" ], "active_grid_A_power": [ null, "W" ], "active_grid_B_power": [ null, "W" ], "active_grid_C_power": [ null, "W" ], "storage_state_of_capacity": [ 30.0, "%" ], "storage_running_status": [ 2, null ], "storage_bus_voltage": [ 439.2, "V" ], "storage_bus_current": [ 0.0, "A" ], "storage_charge_discharge_power": [ 46, "W" ], "storage_total_charge": [ 3501.0, "kWh" ], "storage_total_discharge": [ 3423.02, "kWh" ], "storage_current_day_charge_capacity": [ 0.43, "kWh" ], "storage_current_day_discharge_capacity": [ 7.58, "kWh" ] } } }

    Upload your relevant debug logs

    2023-01-03 17:20:10.469 WARNING (Recorder) [homeassistant.components.sensor.recorder] The unit of sensor.load_1m (None) can not be converted to the unit of previously compiled statistics ( ). Generation of long term statistics will be suppressed unless the unit changes back to   or a compatible unit. Go to https://my.home-assistant.io/redirect/developer_statistics to fix this
    2023-01-03 17:20:10.473 INFO (Recorder) [homeassistant.components.sensor.recorder] Detected new cycle for sensor.energy_consumption_tarif_1_cost, last_reset set to 2023-01-03T16:16:04.453614+00:00 (old last_reset 2023-01-03T16:13:54.830668+00:00)
    2023-01-03 17:20:10.474 INFO (Recorder) [homeassistant.components.sensor.recorder] Detected new cycle for sensor.energy_consumption_tarif_2_cost, last_reset set to 2023-01-03T16:16:04.454166+00:00 (old last_reset 2023-01-03T16:13:54.832073+00:00)
    2023-01-03 17:20:10.474 INFO (Recorder) [homeassistant.components.sensor.recorder] Detected new cycle for sensor.energy_production_tarif_1_compensation, last_reset set to 2023-01-03T16:16:04.454431+00:00 (old last_reset 2023-01-03T16:13:54.833265+00:00)
    2023-01-03 17:20:10.474 INFO (Recorder) [homeassistant.components.sensor.recorder] Detected new cycle for sensor.energy_production_tarif_2_compensation, last_reset set to 2023-01-03T16:16:04.454676+00:00 (old last_reset 2023-01-03T16:13:54.835335+00:00)
    2023-01-03 17:20:10.474 INFO (Recorder) [homeassistant.components.sensor.recorder] Detected new cycle for sensor.gas_consumption_cost, last_reset set to 2023-01-03T16:16:04.454919+00:00 (old last_reset 2023-01-03T16:13:54.836662+00:00)
    2023-01-03 17:20:24.466 DEBUG (MainThread) [pymodbus.client.serial] Starting serial connection
    2023-01-03 17:20:24.468 DEBUG (MainThread) [pymodbus.client.base] Client connected to modbus server
    2023-01-03 17:20:24.468 INFO (MainThread) [pymodbus.client.serial] Serial connected.
    2023-01-03 17:20:24.468 INFO (MainThread) [pymodbus.client.serial] Connected to /dev/serial/by-id/usb-1a86_USB2.0-Ser_-if00-port0
    2023-01-03 17:20:24.469 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 43006
    2023-01-03 17:20:24.469 DEBUG (MainThread) [pymodbus.client.base] send: 0x1 0x3 0xa7 0xfe 0x0 0x1 0xc6 0x8e
    2023-01-03 17:20:24.469 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 1
    2023-01-03 17:20:27.470 INFO (MainThread) [backoff] Backing off _do_read(...) for 1.0s (asyncio.exceptions.TimeoutError)
    2023-01-03 17:20:27.471 DEBUG (MainThread) [huawei_solar.huawei_solar] Backing off reading for 1.0 seconds after 1 tries
    2023-01-03 17:20:28.472 DEBUG (MainThread) [pymodbus.client.base] send: 0x1 0x3 0xa7 0xfe 0x0 0x1 0xc6 0x8e
    2023-01-03 17:20:28.473 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 1
    2023-01-03 17:20:31.475 INFO (MainThread) [backoff] Backing off _do_read(...) for 2.0s (asyncio.exceptions.TimeoutError)
    2023-01-03 17:20:31.475 DEBUG (MainThread) [huawei_solar.huawei_solar] Backing off reading for 2.0 seconds after 2 tries
    2023-01-03 17:20:33.475 DEBUG (MainThread) [pymodbus.client.base] send: 0x1 0x3 0xa7 0xfe 0x0 0x1 0xc6 0x8e
    2023-01-03 17:20:33.476 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 1
    2023-01-03 17:20:36.478 INFO (MainThread) [backoff] Backing off _do_read(...) for 4.0s (asyncio.exceptions.TimeoutError)
    2023-01-03 17:20:36.478 DEBUG (MainThread) [huawei_solar.huawei_solar] Backing off reading for 4.0 seconds after 3 tries
    2023-01-03 17:20:40.480 DEBUG (MainThread) [pymodbus.client.base] send: 0x1 0x3 0xa7 0xfe 0x0 0x1 0xc6 0x8e
    2023-01-03 17:20:40.481 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 1
    2023-01-03 17:20:43.484 INFO (MainThread) [backoff] Backing off _do_read(...) for 8.0s (asyncio.exceptions.TimeoutError)
    2023-01-03 17:20:43.484 DEBUG (MainThread) [huawei_solar.huawei_solar] Backing off reading for 8.0 seconds after 4 tries
    2023-01-03 17:20:51.486 DEBUG (MainThread) [pymodbus.client.base] send: 0x1 0x3 0xa7 0xfe 0x0 0x1 0xc6 0x8e
    2023-01-03 17:20:51.488 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 1
    2023-01-03 17:20:54.490 INFO (MainThread) [backoff] Backing off _do_read(...) for 16.0s (asyncio.exceptions.TimeoutError)
    2023-01-03 17:20:54.490 DEBUG (MainThread) [huawei_solar.huawei_solar] Backing off reading for 16.0 seconds after 5 tries
    2023-01-03 17:21:03.523 INFO (SyncWorker_3) [roombapy.remote_client] Connecting to 192.168.0.158, attempt 1 of 3
    2023-01-03 17:21:06.589 ERROR (SyncWorker_3) [roombapy.remote_client] Can't connect to 192.168.0.158, error: [Errno 113] Host is unreachable
    2023-01-03 17:21:06.590 INFO (SyncWorker_3) [roombapy.remote_client] Connecting to 192.168.0.158, attempt 2 of 3
    2023-01-03 17:21:09.661 ERROR (SyncWorker_3) [roombapy.remote_client] Can't connect to 192.168.0.158, error: [Errno 113] Host is unreachable
    2023-01-03 17:21:09.662 INFO (SyncWorker_3) [roombapy.remote_client] Connecting to 192.168.0.158, attempt 3 of 3
    2023-01-03 17:21:10.492 DEBUG (MainThread) [pymodbus.client.base] send: 0x1 0x3 0xa7 0xfe 0x0 0x1 0xc6 0x8e
    2023-01-03 17:21:10.493 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 1
    2023-01-03 17:21:12.733 ERROR (SyncWorker_3) [roombapy.remote_client] Can't connect to 192.168.0.158, error: [Errno 113] Host is unreachable
    2023-01-03 17:21:12.734 ERROR (SyncWorker_3) [roombapy.remote_client] Unable to connect to 192.168.0.158
    2023-01-03 17:21:13.495 ERROR (MainThread) [backoff] Giving up _do_read(...) after 6 tries (asyncio.exceptions.TimeoutError)
    2023-01-03 17:21:13.498 ERROR (MainThread) [huawei_solar.huawei_solar] Aborting client creation due to error.
    Traceback (most recent call last):
      File "/usr/local/lib/python3.10/asyncio/tasks.py", line 456, in wait_for
        return fut.result()
    asyncio.exceptions.CancelledError
    
    The above exception was the direct cause of the following exception:
    
    Traceback (most recent call last):
      File "/usr/local/lib/python3.10/site-packages/backoff/_async.py", line 151, in retry
        ret = await target(*args, **kwargs)
      File "/usr/local/lib/python3.10/site-packages/huawei_solar/huawei_solar.py", line 276, in _do_read
        response = await self._client.protocol.read_holding_registers(
      File "/usr/local/lib/python3.10/site-packages/pymodbus/client/base.py", line 295, in execute
        resp = await asyncio.wait_for(req, timeout=self.params.timeout)
      File "/usr/local/lib/python3.10/asyncio/tasks.py", line 458, in wait_for
        raise exceptions.TimeoutError() from exc
    asyncio.exceptions.TimeoutError
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/local/lib/python3.10/site-packages/huawei_solar/huawei_solar.py", line 150, in create_rtu
        await huawei_solar._initialize()
      File "/usr/local/lib/python3.10/site-packages/huawei_solar/huawei_solar.py", line 85, in _initialize
        self.time_zone = (await self.get(rn.TIME_ZONE)).value
      File "/usr/local/lib/python3.10/site-packages/huawei_solar/huawei_solar.py", line 194, in get
        return (await self.get_multiple([name], slave))[0]
      File "/usr/local/lib/python3.10/site-packages/huawei_solar/huawei_solar.py", line 229, in get_multiple
        response = await self._read_registers(registers[0].register, total_length, slave)
      File "/usr/local/lib/python3.10/site-packages/huawei_solar/huawei_solar.py", line 309, in _read_registers
        result = await _do_read()
      File "/usr/local/lib/python3.10/site-packages/backoff/_async.py", line 159, in retry
        await _call_handlers(on_giveup, **details, exception=e)
      File "/usr/local/lib/python3.10/site-packages/backoff/_async.py", line 37, in _call_handlers
        await handler(details)
      File "/usr/local/lib/python3.10/site-packages/backoff/_async.py", line 16, in f
        return coro_or_func(*args, **kwargs)
      File "/usr/local/lib/python3.10/site-packages/huawei_solar/huawei_solar.py", line 255, in backoff_giveup
        raise ReadException(f"Failed to read register {register} after {details['tries']} tries")
    huawei_solar.exceptions.ReadException: Failed to read register 43006 after 6 tries
    

    Please confirm the following:

    • [X] The problem is still present in the latest release of this integration.
    • [X] I did not find an existing issue describing this problem.
    • [X] I did upload the diagnostics-file that I could retrieve from the 'Devices & Services Page'
    • [X] I increased the logging configuration, restarted HA, and have copied all relevant log lines from the 'Full Logs' into the textarea.
    bug 
    opened by be04376 4
  • SmartLogger 3000A

    SmartLogger 3000A

    System Health details

    System Health

    version | core-2022.7.6 -- | -- installation_type | Home Assistant OS dev | false hassio | true docker | true user | root virtualenv | false python_version | 3.10.5 os_name | Linux os_version | 5.15.45 arch | x86_64 timezone | Europe/Warsaw config_dir | /config

    Home Assistant Community Store

    GitHub API | ok -- | -- GitHub Content | ok GitHub Web | ok GitHub API Calls Remaining | 4870 Installed Version | 1.26.2 Stage | running Available Repositories | 1072 Downloaded Repositories | 2

    Home Assistant Cloud

    logged_in | false -- | -- can_reach_cert_server | ok can_reach_cloud_auth | ok can_reach_cloud | ok

    Home Assistant Supervisor

    host_os | Home Assistant OS 8.2 -- | -- update_channel | stable supervisor_version | supervisor-2022.07.0 agent_version | 1.2.1 docker_version | 20.10.14 disk_total | 30.8 GB disk_used | 2.9 GB healthy | true supported | true board | ova supervisor_api | ok version_api | ok installed_addons | SSH & Web Terminal (11.0.2), Log Viewer (0.14.0), File editor (5.3.3), Samba share (10.0.0)

    Dashboards

    dashboards | 1 -- | -- resources | 0 mode | auto-gen

    Recorder

    oldest_recorder_run | 21 lipca 2022 06:31 -- | -- current_recorder_run | 21 lipca 2022 09:12 estimated_db_size | 0.43 MiB database_engine | sqlite database_version | 3.38.5

    Huawei Solar Setup

    2x Huawei SUN-60-KTL-M0 inverters connected via rs485 to SmartLogger 3000A with modbus-tcp enabled on logger

    Describe the issue

    I have a challenge for the author :)

    I have a SolarLogger 3000A and 2 inverters connected to it (at address 1 and 2, logger is at address 0), link to the modbus documentation

    If I understand the provisions of chapter "2.7 Remapped Modbus definitions", the registers are shifted in relation to the situation when we connect directly to the inverter

    Currently, an attempt to establish a connection under any slaveID (0,1,2) results in such records in the logs

    Reproduction steps

    1. Install Addon
    2. Try to add device

    Relevant debug logs

    2022-07-21 09:13:40 DEBUG (MainThread) [pymodbus.client.asynchronous.async_io] Connecting to 131.87.12.200:502.
    2022-07-21 09:13:40 DEBUG (MainThread) [pymodbus.client.asynchronous.async_io] Connecting.
    2022-07-21 09:13:40 DEBUG (MainThread) [pymodbus.client.asynchronous.async_io] Client connected to modbus server
    2022-07-21 09:13:40 INFO (MainThread) [pymodbus.client.asynchronous.async_io] Protocol made connection.
    2022-07-21 09:13:40 INFO (MainThread) [pymodbus.client.asynchronous.async_io] Connected to 131.87.12.200:502.
    2022-07-21 09:13:41 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 43006
    2022-07-21 09:13:41 DEBUG (MainThread) [pymodbus.client.asynchronous.async_io] send: 0x0 0x1 0x0 0x0 0x0 0x6 0x1 0x3 0xa7 0xfe 0x0 0x1
    2022-07-21 09:13:41 DEBUG (MainThread) [pymodbus.transaction] Adding transaction 1
    2022-07-21 09:13:41 DEBUG (MainThread) [pymodbus.client.asynchronous.async_io] recv: 0x0 0x1 0x0 0x0 0x0 0x3 0x1 0x83 0x3
    2022-07-21 09:13:41 DEBUG (MainThread) [pymodbus.framer.socket_framer] Processing: 0x0 0x1 0x0 0x0 0x0 0x3 0x1 0x83 0x3
    2022-07-21 09:13:41 DEBUG (MainThread) [pymodbus.factory] Factory Response[131]
    2022-07-21 09:13:41 DEBUG (MainThread) [pymodbus.transaction] Getting transaction 1
    2022-07-21 09:13:41 ERROR (MainThread) [huawei_solar.huawei_solar] Aborting client creation due to error.
    Traceback (most recent call last):
      File "/usr/local/lib/python3.10/site-packages/huawei_solar/huawei_solar.py", line 123, in create
        await huawei_solar._initialize()
      File "/usr/local/lib/python3.10/site-packages/huawei_solar/huawei_solar.py", line 88, in _initialize
        self.time_zone = (await self.get(rn.TIME_ZONE)).value
      File "/usr/local/lib/python3.10/site-packages/huawei_solar/huawei_solar.py", line 217, in get
        return (await self.get_multiple([name], slave))[0]
      File "/usr/local/lib/python3.10/site-packages/huawei_solar/huawei_solar.py", line 259, in get_multiple
        response = await self._read_registers(
      File "/usr/local/lib/python3.10/site-packages/huawei_solar/huawei_solar.py", line 350, in _read_registers
        result = await _do_read()
      File "/usr/local/lib/python3.10/site-packages/backoff/_async.py", line 133, in retry
        ret = await target(*args, **kwargs)
      File "/usr/local/lib/python3.10/site-packages/huawei_solar/huawei_solar.py", line 332, in _do_read
        raise ReadException(
    huawei_solar.exceptions.ReadException: Got error while reading from register 43006 with length 1: Exception Response(131, 3, IllegalValue)
    2022-07-21 09:13:41 DEBUG (MainThread) [pymodbus.client.asynchronous.async_io] Client disconnected from modbus server: None
    2022-07-21 09:13:41 INFO (MainThread) [pymodbus.client.asynchronous.async_io] Protocol lost connection.
    
    enhancement 
    opened by bdkacz 34
Releases(1.2.0b7)
  • 1.2.0b7(Dec 26, 2022)

    New features ✨

    • Inverter ON/OFF switch
    • Capacity control mode
    • End-of-charge SOC and End-of-discharge SOC configuration entities
    • Time of use periods and fixed charging/discharging periods can be retrieved through extended attributes of 'Time of use periods' and 'Fixed charging periods' sensor
    • Time of use periods are now editable through huawei_solar.set_tou_periods service
    • Fixed charging periods are now editable through huawei_solar.set_charging_periods service
    • Capacity control periods are editable through huawei_solar.set_capacity_control_periods

    Improvements

    • Batched retrieval of configuration entity values
    • Improved and dynamic correctness of minimum value/maximum value/availability of certain configuration entities (for example: capacity control can only be enabled if charging from grid is also enabled, capacity control SOC must be larger than maximum discharge SOC of the battery)
    • Support for V103 Optimizer Data Files (fixes reading optimizer data in recent firmware versions)
    • Improve diagnostics

    Fixes

    • Since 1.2.0 beta 3: Fix behavior when no config entities are available
    • Since 1.2.0 beta 5: #198 Correctly process ValueError
    • Since 1.2.0 beta 5: #199: Retry Modbus write commands on timeout or slave failure
    • Since 1.2.0 beta 5: Fix computation of dynamic min/max value for number entities
    • Since 1.2.0 beta 7: Fix bug preventing optimizers from loading

    Screenshots

    Inverter ON/OFF switch Battery configuration TOU periods as extended attributes

    Full Changelog: https://github.com/wlcrs/huawei_solar/compare/1.2.0b1...1.2.0b5

    Source code(tar.gz)
    Source code(zip)
  • 1.2.0b3(Dec 23, 2022)

    New features ✨

    • Inverter ON/OFF switch
    • Capacity control mode
    • End-of-charge SOC and End-of-discharge SOC configuration entities
    • Time of use periods and fixed charging/discharging periods can be retrieved through extended attributes of 'Time of use periods' and 'Fixed charging periods' sensor
    • Time of use periods are now editable through huawei_solar.set_tou_periods service
    • Fixed charging periods are now editable through huawei_solar.set_charging_periods service
    • Capacity control periods are editable through huawei_solar.set_capacity_control_periods

    Improvements

    • Batched retrieval of configuration entity values
    • Improved and dynamic correctness of minimum value/maximum value/availability of certain configuration entities (for example: capacity control can only be enabled if charging from grid is also enabled, capacity control SOC must be larger than maximum discharge SOC of the battery)
    • Support for V103 Optimizer Data Files (fixes reading optimizer data in recent firmware versions)
    • Improve diagnostics

    Fixes

    • Since 1.2.0 beta 3: Fix behavior when no config entities are available

    Screenshots

    Inverter ON/OFF switch Battery configuration TOU periods as extended attributes

    Full Changelog: https://github.com/wlcrs/huawei_solar/compare/1.2.0b1...1.2.0b3

    Source code(tar.gz)
    Source code(zip)
  • 1.2.0b1(Nov 26, 2022)

    New ✨

    This release upgrades the huawei-solar library from 2.1.6 to 2.2.0b2. The main difference between these library versions is that underlying pyModbus library has been upgraded from 2.5.3 to 3.0.2. This has allowed some cleanup in huawei-solar, and should hopefully fix some bugs present in pyModbus.

    Thank you

    A big thanks to all my current and past sponsors. Your contributions keep me motivated to maintain this integration to a high standard! ❤️

    Source code(tar.gz)
    Source code(zip)
  • 1.1.6(Oct 30, 2022)

    Bugfixes

    • #167 Fix regression for inverters that don't support optimizers
    • Fix missing unique_id for working mode select entity

    New Features

    • #67 Add "Excess PV energy use in TOU" select entity

    Thank you!

    A big thanks to all my current and past sponsors. Your contributions keep me motivated to maintain this integration to a high standard! ❤️

    Source code(tar.gz)
    Source code(zip)
  • 1.1.4(Oct 29, 2022)

    New Features

    • Add "Download diagnostics" feature image

    • https://github.com/wlcrs/huawei_solar/issues/20: Add support for active power control image

    • https://github.com/wlcrs/huawei_solar/issues/76: Add extra Diagnostic entities to the Inverter entity image

    Bugfixes

    • https://github.com/wlcrs/huawei_solar/issues/130: Always enable 'advanced permissions' when connecting over serial
    • https://github.com/wlcrs/huawei_solar/issues/165: Handle Timeout as a retry-able error during integration setup
    • https://github.com/wlcrs/huawei_solar/issues/163: Upgrade backoff dependency
    • https://github.com/wlcrs/huawei_solar/issues/162 : try to fix erroneous readings by checking number of received registers

    Other

    • Automatically retry operation when an "Abnormal Slave Response" ModBus error message is received
    Source code(tar.gz)
    Source code(zip)
  • 1.1.4b3(Oct 28, 2022)

  • 1.1.4b2(Oct 27, 2022)

  • 1.1.3b2(Sep 8, 2022)

  • 1.1.3b1(Aug 22, 2022)

    New features

    • #20: Add support for active power control

    Bug fixes

    • #107 : Fix Reactive Power Device Class
    • #115: Remove confusing Forcible charge/discharge power number entities

    Other

    • Automatically retry operation when an "Abnormal Slave Response" ModBus error message is received
    Source code(tar.gz)
    Source code(zip)
  • 1.1.2(Jul 28, 2022)

    Bugfixes:

    • #98 Error when reading optimizer data
    • #93 Improve handling of reading data via Smartlogger 3000A
    • #84 Fix handling of registers with 'invalid' value
    Source code(tar.gz)
    Source code(zip)
  • 1.1.1(Jul 26, 2022)

    Bugfixes:

    • huawei_solar.exceptions.ReadException: Failed to read register 43006 after 5 tries when using serial connection
    • #96 : don't read optimizer data when optimizer is reported offline

    Updates:

    • #86 : Migrate to new way of naming entities in HA

    ⚠ Due to the changed policy of Home Assistant towards naming entities, the entity_id's of the entities from this integration will also change if you remove and add the integration again. Existing installations are not affected.

    Source code(tar.gz)
    Source code(zip)
  • 1.1.0(Jul 18, 2022)

    New recommended connection option: direct serial RS485

    This release features adds support for direct serial connection via the RS485A1 and RS485B1 pins of the COM-port of the SUN2000-inverter. This is the new preferred method of connecting to the inverter, as it is not susceptible to network connectivity issues, and has elevated permissions by default (necessary for retrieving optimizer data and setting battery configuration parameters).

    New feature: reading optimizer data

    This data is refreshed every 5 minutes, as the inverter does not offer more granular updates.

    Exposed entities:

    • Input Current
    • Input Voltage
    • Output Current
    • Output Voltage
    • Output Power
    • Temperature
    • Accumulated Energy Yield
    • Voltage to Ground (disabled by default)
    • Running Status (online/offline/disconnected)

    optimizer-ha-screenshot

    The option "Advanced: elevate permissions" needs to be checked for this to work: the inverter requires elevated permissions to request the optimizer data.


    Tip: the easiest way to find the Optimizer "devices" in Home Assistant is via:

    • Go to Settings > "Devices & Services"
    • click on "X devices" in the "Huawei Solar" tile image

    You will now see a list of all devices associated with this integration, including one per optimizer:

    image

    Clicking on a specific optimizer will show you the entities associated with that specific optimizer. You can now rename them to something more clear for your setup.

    image

    Source code(tar.gz)
    Source code(zip)
  • 1.1.0b5(May 29, 2022)

    This is a beta release. Please report any issues on the issue tracker.


    New feature: reading optimizer data

    This data is refreshed every 5 minutes, as the inverter does not offer more granular updates.

    Exposed entities:

    • Input Current
    • Input Voltage
    • Output Current
    • Output Voltage
    • Output Power
    • Temperature
    • Accumulated Energy Yield
    • Voltage to Ground (disabled by default)
    • Running Status (online/offline/disconnected)

    optimizer-ha-screenshot

    The option "Advanced: elevate permissions" needs to be checked for this to work: the inverter requires elevated permissions to request the optimizer data.


    Tip: the easiest way to find the Optimizer "devices" in Home Assistant is via:

    • Go to Settings > "Devices & Services"
    • click on "X devices" in the "Huawei Solar" tile image

    You will now see a list of all devices associated with this integration, including one per optimizer:

    image

    Clicking on a specific optimizer will show you the entities associated with that specific optimizer. You can now rename them to something more clear for your setup.

    image

    Source code(tar.gz)
    Source code(zip)
  • 1.0.2(May 25, 2022)

  • 1.0.1(May 5, 2022)

    Update to huawei-solar 2.0.1:

    • Add resilience against permission loss due to connectivity issues
    • Recognize invalid register values and return None instead
    Source code(tar.gz)
    Source code(zip)
  • 1.0.0(Apr 5, 2022)

    This release uses the new 'HuaweiSolarBridge' which moves a lot of the complexity into the huawei-solar library.

    It also contains support for changing settings, all of which are related to use of battery storage.

    .

    Source code(tar.gz)
    Source code(zip)
  • 1.0.0a4(Mar 2, 2022)

  • 1.0.0a3(Feb 6, 2022)

    This release uses the new 'HuaweiSolarBridge' which moves a lot of the complexity into the huawei-solar library.

    It also contains support for changing settings, all of which are related to use of battery storage.

    image

    Fixes in 1.0.0 alpha 3:

    • Remove dysfunctional second Grid Active Power-entity from single power meter entities
    • Improve handling of Slave Busy exception
    • prevent multiple slaves running update at the same time
    • Increase cooldown-time between requests from 0.01 to 0.05 seconds.
    Source code(tar.gz)
    Source code(zip)
  • 0.5.1(Feb 7, 2022)

    This release contains initial support for bundled modbus-requests: adjacent modbus registers are queried together with one request, instead of being queried one by one.

    Source code(tar.gz)
    Source code(zip)
Owner
Thijs Walcarius
Thijs Walcarius
Raspberry Pi Pico support for VS Code

Pico-Go VS Code Extension Pico-Go provides code auto-completion and allows you to communicate with your Raspberry Pi Pico board using the built-in REP

Chris Wood 114 Dec 28, 2022
Automatic CPU speed & power optimizer for Linux

Automatic CPU speed & power optimizer for Linux based on active monitoring of laptop's battery state, CPU usage, CPU temperature and system load. Ultimately allowing you to improve battery life witho

Adnan Hodzic 3.4k Jan 07, 2023
The example shows using local self-hosted runners on-premises by making use of a runner on a Raspberry Pi with LED's attached to it

The example shows using local self-hosted runners on-premises by making use of a runner on a Raspberry Pi with LED's attached to it

Martin Woodward 6 Nov 13, 2021
View your medication from Medisafe Cloud in Home Assistant

Medisafe View your medication from Medisafe Cloud in Home Assistant. This integration adds sensors for today's upcoming, taken, skipped, and missed do

Sam Steele 12 Dec 27, 2022
This is an incredible led matrix simulation using the ultimate mosaik co-simulation framework.

This project uses the mosaik co-simulation framework, developed by the brilliant developers at the high-ranked Offis institue for computer science, Oldenburg, Germany, to simulate multidimensional LE

Felix 1 Jan 28, 2022
SPI driven CircuitPython driver for PCA9745B constant current LED driver.

Introduction THIS IS VERY MUCH ALPHA AND IN ACTIVE DEVELOPMENT. THINGS WILL BREAK! THIS MAY ALSO BREAK YOUR THINGS! SPI driven CircuitPython driver fo

Andrew Ferguson 1 Jan 14, 2022
Raspberry Pi Pico as a Rubber Ducky

Raspberry-Pi-Pico-as-a-Rubber-Ducky Kurulum Raspberry Pi Pico cihazınız için CircuitPython'u indirin. Boot düğmesine basılı tutarken cihazı bir USB ba

Furkan Enes POLATOĞLU 6 Dec 13, 2022
Small Robot, with LIDAR and DepthCamera. Using ROS for Maping and Navigation

🤖 RoboCop 🤖 Small Robot, with LIDAR and DepthCamera. Using ROS for Maping and Navigation Made by Clemente Donoso, 📍 Chile 🇨🇱 RoboCop Lateral Fron

Clemente Donoso Krauss 2 Jan 04, 2022
Unofficial Playdate reverse-engineering notes/tools - covers file formats, server API and USB commands

Unofficial Playdate reverse-engineering notes/tools - covers file formats, server API and USB commands ⚠️ This documentation is unofficial and is not

James 106 Dec 31, 2022
Python apps to assist with Gas Blending

Welcome to DiveTools Gas Blending This tool is for testing and educational use. It is not intended to confirm the mix of breathing gases. If this tool

Tucker 7 Sep 18, 2022
Resmed_myair_sensors - This is a Home Assistant custom component to pull daily CPAP data from ResMed's myAir service using an undocumented API

resmed_myair This component will set up the following platforms. Platform Description sensor Show info from the myAir API. Installation Using the tool

Preston Tamkin 17 Dec 29, 2022
Simple python3 implementation of microKanren with lots of type annotations for clarity

MicroKanren-py This is (yet another) python implementation of microKanren. It's a reasonably 1:1 translation of the code provided in the paper, but ev

Erik Derohanian 3 Dec 10, 2022
Like htop (CPU and memory usage), but for your case LEDs. 😄

Like htop (CPU and memory usage), but for your case LEDs. 😄

Derek Anderson 3 Dec 08, 2021
A small Python app to converse between MQTT messages and 433MHz RF signals.

mqtt-rf-bridge A small Python app to converse between MQTT messages and 433MHz RF signals. This acts as a bridge between Paho MQTT and rpi-rf. Require

David Swarbrick 3 Jan 27, 2022
E-Ink Magic Calendar that automatically syncs to Google Calendar and runs off a battery powered Raspberry Pi Zero

E-Ink Magic Calendar that automatically syncs to Google Calendar and runs off a battery powered Raspberry Pi Zero

2.8k Dec 30, 2022
An arduino/ESP project that can play back G-Force data previously recorded

An arduino/ESP project that can play back G-Force data previously recorded

7 Apr 12, 2022
Home Assistant component to handle key atom

KeyAtome Home Assistant component to handle key atom, a Linky-compatible device made by Total/Direct-Energie. Installation Either use HACS (default),

18 Dec 21, 2022
Modeling and Simulation of Satellite Servicing Manipulators

Modeling and Simulation of Satellite Servicing Manipulators Final Project for the course ENPM662: Introduction to Robot Modeling (Fall 2021). This pro

Adarsh M 1 Jan 24, 2022
Red Light Green Light Robot

Red Light Green Light Robot The primary problem addressed by our project is robotic follower behavior i.e. maintaining distance from a moving target.

Will Romano 2 Nov 20, 2021
智能无人机路径规划仿真系统是一个具有操作控制精细、平台整合性强、全方向模型建立与应用自动化特点的软件

Drone智能无人机路径规划仿真系统是一个具有操作控制精细、平台整合性强、全方向模型建立与应用自动化特点的软件。它以A、B两国在C区开展无人机战争为背景,该系统的核心功能是通过仿真平台规划无人机航线,并进行验证输出,数据可导入真实无人机,使其按照规定路线精准抵达战场任一位置,支持多人多设备编队联合行动。

wwy 349 Jan 03, 2023