In dieser Anleitung beschreibe ich den Aufbau einer ganz einfachen Solaranzeige die die wichtigen Kennzahlen der Fronius Solaranlage bei meinen Schwiegereltern anzeigt. Mit einem 2.4 Inch LCD Display von Waveshare und einem ESP8266 Node MCU werde ich die Anzeige umsetzen. Für die Anzeige der Werte wird auf die API des Fronius Wechselrichters zugegriffen. Anzeigt wird z. B. wie viel Energie gerade produziert oder eben vom Netz bezogen wird. Weiter soll angezeigt werden wie der Ladezustand der Batterie ist und ob diese aktuell geladen oder entladen wird. Da sich im Haus auch ein mit Storm betriebener gesetzter Kamin als Wärmespeicher für überschüssigen Strom befindet soll dieser ebenfalls gesteuert werden können. Über das Terminal soll noch die Zirkulationspumpe für Warmwasser manuell ein bzw. aus geschalten werden können. Wenn man dann so loslegt neigt man natürlich dazu viel zu automatisieren. Aber über die beiden Knöpfe am Terminal selber soll man als Mensch die Automatik auch übersteuern können.
Das nachfolgende Bild zeigt den aktuellen Aufbau des Terminals mit den im Display angezeigten Werten der beiden Fronius Wechselrichter.
Hinweis: Das Projekt wird noch einmal überarbeitet und ein Touch Display verbaut da ich die beiden Taster nicht mehr am ESP8266 Node MCU angeschlossen bekommen habe. Auch gefällt mir ein Touch Display viel besser als diese Knöpfe.
Im nachfolgenden Abschnitt geht es jetzt erst einmal um die benötigte Hardware.
Hardware
Für den Bau des Terminals der Fronius Solaranzeige wird etwas Hardware benötigt. Die kleine Liste führt die Komponenten auf die ich aktuell verbaut habe. Für die Liste nutze ich wieder die Affiliate Links von Amazon da ich so meine Projekte finanzieren kann und für mich und meine Leser die Einbindung in meinem Blog sehr komfortabel möglich ist. Viele Komponenten werden für dieses kleine Projekt nicht benötigt da viel programmiert werden muss und die Anzeige über das große Display erfolgt.
Die Taster werden nur benötigt wenn man so wie ich plane noch zwei Verbraucher manuell zu steuern. Aktuell bin ich noch nicht soweit das ich die Taster am ESP8266 Node MCU angeschlossen habe.
Viel mehr Hardware wird dann eigentlich auch schon gar nicht mehr benötigt um alles soweit aufbauen zu können.
Display Verkabelung am ESP8266 Node MCU:
Das Display muss mit dem ESP8266 Node MCU verbunden werden. Das ist eigentlich mit dem beiliegenden Kabel ganz einfach wenn man weiß wie was angeschlossen gehört. Ich habe selber etwas im Internet nachgelesen und dann wohl Glück gehabt das die Verkabelung auf Anhieb richtig war und das Display die Ausgabe des ersten kleinen Demoprogrammes richtig angezeigt hat.
Hier die Verkabelung wie ich diese vorgenommen habe für mein Waveshare 2.4 Inch LCD Display mit ISP Anschluss.
Display | ESP8266 Node MCU |
VCC | 3V |
GND | GND |
DIN | D7 |
CLK | D5 |
CS | D2 |
DC | D4 |
RST | D3 |
BL | 3V |
Wenn alles soweit Verkabelt ist muss jetzt ein Programm aufgespielt werden um einmal zu schauen ob das Display auch wirklich etwas anzeigt.
Beispielprogramm – Display-Test:
Ich habe das zu das folgende Programm über die Arduino IDE aufgespielt.
#include <Adafruit_GFX.h>
#include <Adafruit_ILI9341.h>
#define TFT_CS 4 // D2 = GPIO 4
#define TFT_RST 0 // D3 = GPIO 0
#define TFT_DC 2 // D4 = GPIO 2
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST);
void setup() {
Serial.begin(9600);
tft.begin();
tft.fillScreen(ILI9341_BLACK);
tft.setRotation(1);
// World Icon
tft.fillRoundRect(245,35,34,34,30,ILI9341_WHITE);
tft.fillRoundRect(248,38,28,28,30,ILI9341_BLACK);
tft.fillRoundRect(257,35,11,34,30,ILI9341_WHITE);
tft.fillRoundRect(260,38,5,28,30,ILI9341_BLACK);
tft.fillRoundRect(245,47,34,11,30,ILI9341_WHITE);
tft.fillRoundRect(248,50,28,5,30,ILI9341_BLACK);
tft.fillRoundRect(257,47,11,11,0,ILI9341_WHITE);
tft.fillRoundRect(260,50,5,5,0,ILI9341_BLACK);
// Hello World Text
tft.setCursor(50, 50);
tft.setTextColor(ILI9341_GREEN); tft.setTextSize(6);
tft.println("HELLO");
tft.setCursor(50, 100);
tft.setTextColor(ILI9341_GREEN); tft.setTextSize(6);
tft.println("WORLD");
// Line
tft.drawLine(50, 150, 250, 150, ILI9341_GREEN);
}
void loop() {
}
Solaranzeige – Software
Die Software die auf die API Schnittstelle des Fronius Wechselrichter zugreift entwickle ich gerade noch. Wenn alles soweit funktioniert werde ich diese hier auf meinem Blog einen Zwischenstand der Software veröffentlichen. Allerdings bin ich mit den beiden Knöpfen nicht sehr glücklich und werde jetzt alles auf ein ähnlich großes Touch Display umstellen. Bis ich meine Version veröffentliche kann ich die folgende Seite sehr empfehlen von der ich das Programm für den ESP8266 herunter geladen habe um überhaupt einmal zu verstehen wie ich auf die API von Fronius zugreifen kann.
Hier der Link zum Ursprungsprogramm: https://www.onderka.com/hausautomation-technik-und-elektronik/nodemcu-json-daten-von-fronius-wechselrichter-einlesen/
Fronius Solaranzeige Upgrade – Touchscreen
Da ich mit den Tastern nicht wirklich zufrieden war habe ich mir ein Tocuscreen für den ESP8266 Node MCU gekauft und dieses angeschlossen. Mit dem Touchscreen sollte es dann klappen ohne mechanische Schalter direkt über die Anzeige auf dem Display meine Tasmota Steckdosen ein bzw. auszuschlaten. Den ESP8266 habe ich am Display angeschlossen und die Solaranzeige der Fronius API als Prototyp fertig. Die von mir gewählte Verkabelung passend zu den eingesetzten Bibliotheken zeige ich im nachfolgenden Abschnitt.
Gekaufte habe ich für das Upgrade meines Fronius Monitors das folgende Touch Display. Es kann wie im nachfolgenden Abschnitt beschrieben angeschlossen werden.
Touchdisplay – Verkabelung
Die Verkabelung ist sehr ähnlich zu dem zu erst von mir verwendeten Display ohne Touch. Zusätlich kommt jetzt noch die Verkabelung der Toch-Funktion des Displays zu der Verkabelung der Antsteuerung der Anzeige. Da jetzt Kabel doppelt belegt werden habe ich mir eine mini Platine gebaut über die ich die ganzen Kabel recht komfortabel und ohne Wackelkontakt anschließen konnte. Die nachfolgende Grafik zeigt die Verkabelung des Touchdisplays so wie ich diese umgesetzt habe. Auf der linken Seite ist der ESP8266 Node MCU und auf der rechten Seite ist die Beschriftung des Touch Displays zu sehen.
Von mir erweiterte Software:
Mein kleines Programm um mit einem ESP8266 Node MCU die Werte der Fronius Wechselrichter anzuzeigen gibt es hier auf meinem GitHub Account.
GitHub Fronius Software: https://github.com/custom-build-robots/fronius-monitor-esp8266
Mit der von mir hier zur Verfügung gestellten Software lassen sich die beiden Buttons nicht richtig drücken da mir die Kalibrierung des Tochscreens nicht gelingen wollte. Hier hatte ich einfach Probleme die ich nicht so einfach aufgelößt bekommen habe. Aber mit etwas mehr Zeit wäre das sicher auch umsetzbar da es genug Beispiele im Internet gibt die genau das geschafft haben.
Das Fronius API Terminal
Das erste Terminal habe ich zunächst einmal aus Holz aufgebaut da ich selber keinen 3D Drucker habe. Auch fehlte mir die Zeit nach einem 3D Modell eines Gehäuses zu suchen das für meinen Zweck geeignet ist und das Display aufnimmt. Bei dem zweiten Terminal habe ich zunächst einmal auf Pappe gesetzt um überhaupt einmal alles programmieren und testen zu können. Da ich mir aktuell nicht sicher bin wie es weiter geht mit der Umsetzung auf dem ESP8266 habe ich das Projekt soweit einmal in den Keller gestellt zu allen anderen Projekten…
Zusammenfassung
Soweit bin ich mit dem kleinen Projekt der Solaranzeige sehr zufrieden und habe wieder einiges gelernt. Auch hat der ESP8266 Node MCU mal wieder gezeigt was mit diesem kleinen Controller so alles möglich ist. Noch ist das Projekt nicht abgeschlossen und zeigt nur auf ganz einfache Weise was möglich wäre wenn man mehr Zeit investieren würde. Aktuell werde ich mit einem Raspberry Pi, Grafana und InfluxDB weiter machen da ich mir von solch einer Umsetzung mehr verspreche.. Aber vielleicht mache ich auch mal wieder an diesem Projekt weiter da es sehr günstig umzusetzen geht. Wenn das Touch Display richtig funktioniert, die Buttons gut gedrückt werden können und die Verbraucher manuell geschalten werden können sollte das Projekt zu 98% abgeschlossen sein.
Artikelübersicht: Fronius Solaranzeige:
Fronius Solaranzeige – ESP8266 Node MCU und Waveshare Touch LCD DisplayFronius Solar API – Python Beispielprogramm eines Monitors
Recent Comments