All Projects → wlcrs → huawei_solar

wlcrs / huawei_solar

Licence: Apache-2.0 license
Home Assistant integration for Huawei Solar inverters via Modbus

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to huawei solar

modbus-esp8266
Most complete Modbus library for Arduino. A library that allows your Arduino board to communicate via Modbus protocol, acting as a master, slave or both. Supports network transport (Modbus TCP) and Serial line/RS-485 (Modbus RTU). Supports Modbus TCP Security for ESP8266/ESP32.
Stars: ✭ 332 (+163.49%)
Mutual labels:  modbus, modbus-tcp, modbus-rtu
solaredge modbus
SolarEdge Modbus data collection library
Stars: ✭ 49 (-61.11%)
Mutual labels:  modbus, modbus-tcp, modbus-rtu
ModbusMechanic
Cross platform GUI MODBUS TCP/RTU simulator & gateway. Interprets data types including ascii float and int.
Stars: ✭ 63 (-50%)
Mutual labels:  modbus, modbus-tcp, modbus-rtu
EasyModbusTCP.Java
EasyModbusTCP library for Java implementation
Stars: ✭ 76 (-39.68%)
Mutual labels:  modbus, modbus-tcp, modbus-rtu
go-modbus
modbus write in pure go, support rtu,ascii,tcp master library,also support tcp slave.(WIP new implement<old: https://github.com/thinkgos/gomodbus >)
Stars: ✭ 124 (-1.59%)
Mutual labels:  modbus, modbus-tcp, modbus-rtu
Hslcommunication
An industrial IoT underlying architecture framework, focusing on the underlying technical communications and cross-platform, cross-language communication functions, to achieve a variety of mainstream PLC data reading and writing, to achieve modbus of various protocols read and write, and so on, to support the rapid construction of industrial upper computer software, configuration software, SCADA software, factory mes system, To help enterprise Industry 4.0 take-off, to achieve intelligent manufacturing, smart factory goals. The main PLC contains Siemens, Mitsubishi, Omron, Panasonic, Modbus, AB-PLC, Redis
Stars: ✭ 816 (+547.62%)
Mutual labels:  modbus, modbus-tcp
Modbus
Modbus RTU and TCP support for C#
Stars: ✭ 23 (-81.75%)
Mutual labels:  modbus, modbus-tcp
Pymodbus
A full modbus protocol written in python
Stars: ✭ 1,225 (+872.22%)
Mutual labels:  modbus, modbus-tcp
ioBroker.modbus
Modbus adapter for ioBroker
Stars: ✭ 31 (-75.4%)
Mutual labels:  modbus, modbus-rtu
Gomodbus
A Modbus client in Go
Stars: ✭ 11 (-91.27%)
Mutual labels:  modbus, modbus-tcp
Modbus Tcp Client
PHP client for Modbus TCP and Modbus RTU over TCP (can be used for serial)
Stars: ✭ 89 (-29.37%)
Mutual labels:  modbus, modbus-tcp
Easymodbustcp.net
Modbus TCP, Modbus UDP and Modbus RTU client/server library for .NET implementations
Stars: ✭ 358 (+184.13%)
Mutual labels:  modbus, modbus-tcp
Node Modbus
Modbus TCP Client/Server implementation for Node.JS
Stars: ✭ 313 (+148.41%)
Mutual labels:  modbus, modbus-tcp
Jlibmodbus
JLibModbus is an implementation of the Modbus protocol v1.1b in java language.
Stars: ✭ 149 (+18.25%)
Mutual labels:  modbus, modbus-tcp
Genmon
Generac Generator Monitoring using a Raspberry Pi and WiFi
Stars: ✭ 143 (+13.49%)
Mutual labels:  modbus, modbus-tcp
J2mod
Enhanced Modbus library implemented in the Java programming language
Stars: ✭ 155 (+23.02%)
Mutual labels:  modbus, modbus-tcp
Modbridge
Bridge between modbus and MQTT
Stars: ✭ 20 (-84.13%)
Mutual labels:  modbus, modbus-tcp
Pyscada
PyScada is a open source scada system that uses the Django framework as backend
Stars: ✭ 233 (+84.92%)
Mutual labels:  modbus, modbus-tcp
rodbus
Rust implementation of Modbus with idiomatic bindings for C, C++, .NET, and Java
Stars: ✭ 34 (-73.02%)
Mutual labels:  modbus, modbus-tcp
Modbuspp
A C++ Library for Modbus TCP Protocol
Stars: ✭ 108 (-14.29%)
Mutual labels:  modbus, modbus-tcp

Huawei Solar Integration

hacs_badge GitHub release

⚠️ HA 2022.11 requires v1.1.6 of this integration ⚠️

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

Prerequisites

This integration supports two connection modes to SUN2000 inverters:

  • direct serial connection to the RS485A1 and RS485B1 pins of the COM port
  • network connection

Detailed information can be found on the 'Connecting to the inverter' Wiki-page

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. Start the configuration flow:

    • Start Config Flow
    • Or: Go to Configuration -> Integrations and click the + Add Integration. Select Huawei Solar from the list
  4. Choose whether you want to connect via serial or network connection

Serial configuration

  1. Select the "USB to RS485 converter" that you connected to the RS485A1 and RS485B1 pins of your inverter. The Slave ID should be identical to the Com address set in the RS485_1 settings.

Network configuration

  1. Enter the IP address and port on which the Modbus-TCP interface is available (when connecting to the inverter AP the host IP is typically 192.168.200.1 and the port is either 502 or 6607). The slave id is typically 0. You should only check the Advanced: elevate permissions checkbox if you intend to dynamically change your battery settings or want access to the optimizer data.

  1. When using the elevate permissions feature, you will be asked to enter the credentials to the installer account in a next step. These are the credentials used to connect to the inverter in the "Device Commissioning" section of the FusionSolar App. The default password is 00000a.

Inverter polling frequency

The integration will poll the inverter for new values every 30 seconds. If you wish to receive fresh inverter data less (or more) frequently, you can disable the automatic refresh in the integration's system options (Enable polling for updates) and create your own automation with your desired polling frequency.

- alias: "Huawei Solar inverter data polling"
  trigger:
    - platform: time_pattern
      hours: "*"
      minutes: "*"
      seconds: "/10"
  action:
    - service: homeassistant.update_entity
      target:
        entity_id: sensor.daily_yield

Note that optimizer data is refreshed only every 5 minutes, which matches how frequently the inverter refreshes this data.

FAQ - Troubleshooting

Q: Why do I get the error "Connection succeeded, but failed to read from inverter." while setting up this integration?

A: While the integration was able to setup the initial connection to the Huawei Inverter, it did not respond to any queries in time. This is either caused by using an invalid slave ID (typically 0 or 1, try both or ask your installer if unsure), or because an other device established a connection with the inverter, causing the integration to lose it's connection


Q: Will the FusionSolar App still work when using this integration?

A: The inverter will still send it's data to the Huawei cloud, and you will still be able to see live statistics from your installation in the FusionSolar App. However, if you are using this integration via the network, and you (or your installer) need to use the 'Device commissioning' feature of the app, you will need to disable this integration.


Q: The "Daily Yield" value reported does not match with the value from FusionSolar?

A: The "Daily Yield" reported by the inverter is the output yield of the inverter, and not the input from your solar panels. It therefore includes the yield from discharging the battery, but misses the yield used to charge the battery. FusionSolar computes the "Yield" by combining the values from "Daily Yield", "Battery Day Charge" and "Battery Day Discharge". More information on the Wiki ...


Q: I can't get this integration to work. What am I doing wrong?

A: First make sure that 'Modbus TCP' access is enabled in the settings of your inverter. Next, check if the port is correct. Some inverters use port 6607 instead of 502 (this can change for you after a firmware update!). If that doesn't work for you, and you intend to write an issue, make sure you have the relevant logs included. For this integration, you can enable all relevant logs by including the following lines in your configuration.yaml:

logger:
  logs:
    pymodbus: debug # only include this if you're having connectivity issues
    huawei_solar: debug
    homeassistant.components.huawei_solar: debug

By providing logs directly when creating the issue, you will likely get help much faster.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].