sermatec-opensource / homeassistant-sermatec-inverter

Home Assistant custom component for the Sermatec solar inverter.
MIT License
8 stars 2 forks source link
custom-integration hass home-assistant solar-energy solar-inverter

hassfest badge

Sermatec Inverter for Home Assistant

Home Assistant screenshot

Introduction

This integration adds support for solar inverters by Chinese manufacturer Shangai Sermatec Energy Technology to the Home Assistant. Currectly the integration supports reading all basic data, including PV, battery and grid status. Entity friendly names language is selectable during integration configuration.

Supported languages:

Supported models:

Supported PCU versions:

Installation

IMPORTANT NOTICE FOR USERS OF OLD VERSIONS: The new version of the integration is not backwards-compatible. This means you will need to manually remove the device from your Home Assistant and then add again.

Manual installation

  1. Download integration.
  2. Unzip the downloaded zip file to your Home Assistant configuration directory.
  3. Restart Home Assistant.
  4. In Home Assistant, go to Settings -> Devices & Services -> + ADD INTEGRATION -> search for Sermatec Inverter -> fill in host, port and select language -> click submit.
  5. Done! Now you can see all the sensors in Integrations under Sermatec Inverter.

Notes:

Using legacy version

If for some reason you need to use the legacy version which utilized the first version of the communication script, it is still available for downloaded in Releases.

Tips

Calculating total energy

To use this integration with Energy Dashboard or to calculate energy usage/import/export etc. you need to use the Riemann sum integration. You can use a new GUI setup in a Helpers category (which is recommended), or an old yaml config method, example is below. Do not forget to set:

sensor:
  - platform: integration
    source: sensor.solar_inverter_grid_export
    name: Grid export
    unique_id: sermatec_energy_grid_export
    unit_prefix: k
    round: 2
    method: left
  - platform: integration
    source: sensor.solar_inverter_grid_import
    name: Grid import
    unique_id: sermatec_energy_grid_import
    unit_prefix: k
    round: 2
    method: left
  - platform: integration
    source: sensor.solar_inverter_pv_total_power
    name: PV total energy
    unique_id: sermatec_energy_pv_total
    unit_prefix: k
    round: 2
    method: left
  - platform: integration
    source: sensor.solar_inverter_pv1_power
    name: PV1 energy
    unique_id: sermatec_energy_pv1
    unit_prefix: k
    round: 2
    method: left
  - platform: integration
    source: sensor.solar_inverter_pv2_power
    name: PV2 energy
    unique_id: sermatec_energy_pv2
    unit_prefix: k
    round: 2
    method: left
  - platform: integration
    source: sensor.solar_inverter_battery_charging_power
    name: Battery charging energy
    unique_id: sermatec_energy_battery_charging
    unit_prefix: k
    round: 2
    method: left
  - platform: integration
    source: sensor.solar_inverter_battery_discharging_power
    name: Battery discharging energy
    unique_id: sermatec_energy_battery_discharging
    unit_prefix: k
    round: 2
    method: left

Daily, weekly or monthly consumption

To track consumption per specified time interval you can use Utility Meter.

Troubleshooting or missing features

If you have trouble with setting up the integration, data retrieval or see some exceptions in the logs, you can open an issue. Please include your inverter model and PCU version if possible.

If you miss any feature, you may try opening the issue as well. But at first, have a look at other issues or milestones, maybe the feature is already in development.

Communication script

Inverter communication script is in development in this repository, which includes also a detailed documentation.

Disclaimer

Because the protocol used for local communication is reverse-engineered (due to the lack of the official documentation), I am not responsible for any damage that this integration could cause to your inverter or to your house wiring / electrical equipment. Use at your own risk.

Credits

The project is licensed under the MIT License. (C) Ondrej Golasowski and contributors. Special thanks go to everybody who helped to test and verify this integration or provided any manuals or documentations.