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.