RS-485 component for some Delta Solivia G3/G4 solar inverters

I’ve implemented a component for reading the data off some models of the Delta Solivia solar inverter.

The component (WIP) and instructions can be found here: my-esphome-components/components/delta_solivia at main · robertklep/my-esphome-components · GitHub

There are already various implementations for reading Delta Solivia inverter data over RS-485 (example), but there are dozens of Solivia models and about 10 different protocol variants.

My component supports the following models:

  • SOLIVIA 2.5 EU G3
  • SOLIVIA 3.0 EU G3
  • SOLIVIA 3.3 EU G3
  • SOLIVIA 3.6 EU G3
  • SOLIVIA 2.5 NA G4
  • SOLIVIA 3.0 NA G4
  • SOLIVIA 3.3 NA G4
  • SOLIVIA 3.6 NA G4
  • SOLIVIA 4.4 NA G4
  • SOLIVIA 5.0 NA G4
  • SOLIVIA 2.5 AP G3
  • SOLIVIA 3.0 AP G3
  • SOLIVIA 3.3 AP G3
  • SOLIVIA 3.6 AP G3

This implementation is based on the document “Public Solar Inverter Communication Protocol (Version 1.2)”, published by Delta Energy Systems (Germany) GmbH, which documents all the different variants.

At the moment the component exposes 14 data fields (out of a total of 46), including DC voltage/current, AC voltage/current, grid voltage/current, current power output and total energy generated. See screenshot below.

It supports multiple inverters (I have two SOLIVIA 2.5 EU G3’s).

At the moment it relies on a Solivia Gateway to request updates from the inverter(s), but this requirement will hopefully be removed in the upcoming days, which means you’ll only need an ESP32 with an RS-485 board to read the inverter data.

It can run fully standalone, no Solivia gateway required.

1 Like

Sorry for the noob question, but do you have a guide on how to get it to run on an ESP32? I got an ESP32 board up and running with esphome, but I have no idea of how to install your software on it.

@EeyoreDK ESPHome works with configuration files (in YAML format) that are used to load external components like mine.

I don’t know how exactly you’re installing ESPHome on the ESP32 so I cannot offer specific help, but the README provides the necessary parts specific to my module. I also included a full example file.

Also, aside from an ESP32 you need an RS-485-to-TTL board before this can work.