GoodWe Inverter

The GoodWe integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] will poll a GoodWe solar inverter over the local network and present its runtime values as sensors in Home Assistant.

It works with GoodWe ET, EH, BT, BH, ES, EM, DT, MS, D-NS, XS and BP families of inverters. Different inverter families/models expose different sets of sensors, the newer models have usually broader support.

Note

If you can’t communicate with the inverter even though your model is listed above, ensure the Modbus TCP option is enabled on the communication dongle. It is also possible you have an old ARM firmware version. You should ask manufacturer support to upgrade your ARM firmware (not just inverter firmware) to be able to communicate with the inverter via UDP.

It may work on other inverter families as well, as long as they listen on UDP port 8899 and respond to one of the supported communication protocols. In general, if you can communicate with the inverter via an official mobile application (PvMaster, SolarGo), it is very likely the integration will work too.

Configuration

To add the GoodWe Inverter device to your Home Assistant instance, use this My button:

Manual configuration steps

If the above My button doesn’t work, you can also perform the following steps manually:

  • Browse to your Home Assistant instance.

  • Go to Settings > Devices & services.

  • In the bottom right corner, select the Add Integration button.

  • From the list, select GoodWe Inverter.

  • Follow the instructions on screen to complete the setup.

Energy dashboard

The plugin provides several values suitable for the energy dashboard. The best supported are the inverters of ET/EH families, where the sensors Meter Total Energy (export), Meter Total Energy (import), Total PV Generation, Total Battery Charge and Total Battery Discharge are the most suitable for the dashboard measurements and statistics.

For the other inverter families, if such sensors are not directly available by the inverter, they can be calculated from existing sensors. Template Sensor can be used to separate buy and sell power values and Riemann Sum can be used to convert these instant power (W) values into cumulative energy values (Wh), which then can be used within the energy dashboard.

Inverter polling interval

The integration will poll the inverter for new values every 10 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: "Goodwe inverter data polling"
  triggers:
    - trigger: time_pattern
      hours: "*"
      minutes: "*"
      seconds: "/30"
  actions:
    - action: homeassistant.update_entity
      target:
        entity_id: sensor.ppv

Note

It has been observed in some rare situations that frequent polling conflicts with updates to the Goodwe SEMS cloud portal and do not receive any updates anymore. Reducing polling frequency to 30 seconds or 1 minute seems to help in such cases.

For more detailed steps on how to define a custom polling interval, follow the procedure below.

Defining a custom polling interval

If you want to define a specific interval at which your device is being polled for data, you can disable the default polling interval and create your own polling automation.

To turn off the default polling and create your own polling automation, follow these steps:

  1. Go to Settings > Devices & services, and select your integration.
  2. On the integration entry, select the three dots menu, and then select System options.
  3. Turn off Enable polling for changes, and then select Update.
    • If Home Assistant asks you to restart, restart it.
  4. Go to Settings > Automations & scenes, and select Create automation > Create new automation.
  5. Add the triggers and conditions for when you want to poll for data.
  6. Select Add action, select By type, select Perform action, and then select + next to Perform action.
  7. Under Action, search for and select the Update entity action.
  8. Under Entities to update, select the entities you want to poll.
    • You can only select entities. Areas, devices, and labels aren’t supported.
  9. Select Save.

Many integrations update their data at most once every 10 seconds. If you poll more often, Home Assistant waits until the 10 seconds have passed before it updates the data again.