Kostal Plenticore Inverter: Monitoring Device

0 45710 Easy
projectImage

Since I have a photovoltaic system with a Kostal inverter, I wanted a small display that shows me the current charging and consumption status. With this, I would like to be able to react manually in the future and use the power from the sun optimally.

projectImage
projectImage

Base Features

* Initial start creating WiFi-Hotspot to enter setup data easily

* Setup setting WiFi connection and hostname of Kostal Inverter

* On successful connection to Kostal Inverter the displays shows:

  * Loading Level of Battery (SoC)

  * Show animated battery icon like smartphone 

  * Show the three values of power consumption (directly from solar cells [PV], from Battery [Akku] or grid [Netz]

  * Show smiley with sunglasses if sun is directly used, just a normal smiley if power of battery is used and an unhappy smiley if power of grid is used.

 

 

Modbus over WiFi

When I looked into the interfaces of the inverter, I found that it uses Modbus to read out the data. A protocol, since I had not used yet. But with some training time you can access the necessary data from an ESP32 via WiFi quite easily. Below there is a link reference to find data register of Kostal inverter.

The data is loaded periodically.

HARDWARE LIST
1 Fermion: Monochrome 0.96" 128x64 I2C/SPI OLED Display (Breakout)
1 Gravity: IO Shield for FireBeetle M0 and ESP32-E
1 FireBeetle ESP32-E IoT Microcontroller with Header (Supports Wi-Fi & Bluetooth)
STEP 1
Connect ESP32 with Gravity IO Shield
STEP 2
Connet OLED Display by wires to IO Shield
STEP 3
Clone Reposity: https://github.com/stritti/kostal-pv-monitor
STEP 4
Setup project using Platorm.io
STEP 5
Connect ESP32 to PC and detect associated COM-Port
STEP 6
Compile and upload project to ESP32

Used Libraries

 

modbus-esp8266

This library support reading data via modbus protocol.

 

https://github.com/emelianov/modbus-esp8266

 

 

U8g2

This is a very common lib to show data on several display like the 128x64 I2C/SPI OLED Display of DFRobot.

 

https://github.com/olikraus/u8g2

 

ESP-WiFiSettings

This is a simple WiFi configuration manager for ESP32 and ESP8266. It will allow you to configure your WiFi network name (SSID) and password via a captive portal: the ESP becomes an access point with a web based configuration page. In addition some initial settings could also be added on captive portal page.

 

https://github.com/Juerd/ESP-WiFiSettings

 

projectImage
License
All Rights
Reserved
licensBg
0