
Integration eines S10 Hauskraftwerks von E3/DC
Kurze Einleitung
Nachdem ich jetzt bereits mehrfach nach der Integration meines S10 Hauskraftwerks von E3DC in meinen ioBroker gefragt wurde, habe ich mich dazu entschlossen meine Lösung für euch einmal in ein kleines Tutorial zu packen.
Bevor es aber los geht noch ein paar einleitende Worte und grundsätzliche Hinweise.
Ziel
Das Ziel dieses Tutorials ist es, ein S10 Hauskraftwerk von E3DC in ioBroker zu integrieren, sodass die gelieferten Werte zu Solarproduktion, Stromverbrauch, Ladestand usw. im ioBroker verwendet und geloggt (mitgeschrieben) werden können. Darüber hinaus werden wir am Ende die Werte in einer grafischen Oberfläche visualisieren (optional).
Voraussetzungen
Um das Tutorial nicht unnötig aufzublähen setze ich voraus, dass ihr bereits ein paar Grundkenntnisse im ioBroker habt und z.B. wisst was ein Adapter, eine Instanz, ein Objekt oder ein Script ist. Außerdem benötigt ihr eine laufende ioBroker-Installation sowie natürlich ein laufendes S10 Hauskraftwerk von E3DC. Auf welcher Plattform der ioBroker läuft sollte für dieses Tutorial ersteinmal unerheblich sein.
Damit die Integration samt Visualisierung gelingt, benötigt ihr verschiedene ioBroker-Adapter. Es kann nicht schaden wenn ihr euch bereits im Vorfeld mit einigen von ihnen beschäftigt habt. Voraussetzung ist in jedem Fall, dass die Adapter installiert sind und, falls erforderlich, eine Grundkonfiguration erhalten haben. Gerade in Bezug auf die am Ende stehende Visualisierung mit iobroker.vis mag zwar „Copy and Paste“ an einigen Stellen gut funktionieren, mein Ziel ist es aber dass jeder auch versteht was er da tut. 🙂
Im folgenden nun eine kurze Auflistung der benötigten Adapter. Da vielleicht nicht jeder von euch auf die Visualisierung von historischen Daten besteht, habe ich alles was diesem Zweck dient als „optional“ gekennzeichnet. Mit einem Klick auf die Einträge gelangt ihr zu den Infoseite des jeweiligen Adapters.
Soweit die Infos vorab. Falls ihr an irgendeiner Stelle Unterstützung benötigt oder nicht weiter kommt, schaut dock mal im Support-Thread zu diesem Tutorial im ioBroker-Forum vorbei: Link zum ioBroker-Forum.
Ihr habt alles startklar? Dann legen wir mal los…
Verbinden des Hauskraftwerks mit ioBroker
Damit wir überhaupt Daten vom S10 in unserer ioBroker-Installation anzeigen und sammeln können, müssen die beiden Geräte erstmal miteinander reden. Diese Kommunikation findet über das Modbus-Protokoll und das lokale Netzwerk statt. Weil das S10 laut Herstellervorgabe eine Internetverbindung benötigt, gehe ich an dieser Stelle einfach mal davon aus, dass das Gerät bereits im lokalen Netzwerk angebunden, die IP-Adresse bekannt und das Gerät im Netzwerk auch erreichbar ist (Zu prüfen z.B. per ping-Befehl).
Vorbereitung des Hauskraftwerks
Die Modbus-Schnittstelle am S10 ist standardmäßig deaktiviert. Daher müssen wir sie zuerst einmal aktivieren. Wie das genau geht (und noch ein wenig mehr) steht in der Kurzanleitung zur Modbus-Schnittstelle, welche E3DC im Kundenportal unter „Service – Download – Technische Anleitungen […] – Modbus/ TCP-Schnittstelle […]“ zum Download bereitstellt. Unter Punkt 2.3 wird die Aktivierung erläutert.
Für die Anbindung an ioBroker verwenden wir die Standardeinstellungen der Schnittstelle für Gerät und Port sowie das Protokoll „E3DC“ (E3/DC Simple-Mode).
Hinweis
Wer bisher noch nichts über Modbus gehört hat, dem empfehle ich einmal den gesamten Punkt 2 der Kurzanleitung von E3DC zu lesen.
Konfiguration des Modbus-Adapters
Nachdem das S10 durch die Aktivierung der Schnittstelle vorbereitet ist, wenden wir uns nun unserer ioBroker-Installation zu. Der Adapter ist bereits installiert, sodass wir in den Einstellungen auf der Registerkarte „Allgemein“ folgende Einstellungen konfigurieren können:
Dabei muss natürlich die „Partner IP Adresse“ der IP-Adresse des S10 entsprechen. Weiterhin lässt sich unter „Poll delay“ der Intervall definieren in dem ioBroker die Werte aus dem S10 abruft. Ich habe einen Intervall von 1s (1000ms) konfiguriert. Das bedeutet, dass ich sekündlich neue Daten bekomme. Je nach Belieben oder Performance kann man hier auch ohne schlechtes Gewissen auf 5 (5000ms) oder 10 Sekunden (10000ms) gehen.
Nachdem wir nun die allgemeinen Einstellungen erledigt haben, müssen wir dem Modbus-Adapter noch mitteilen welche Werte er aus dem S10 abfragen soll. Dies geschieht über die Registerkarte „Holding Registers“. Damit nicht alles per Hand eingepflegt werden muss, gibt es über den „+“-Button oben rechts die Möglichkeit die Werte für das S10 zu importieren. Dazu habe ich mal einen Export gemacht und ihn auf Github zur Verfügung gestellt. Einfach markieren, kopieren und unter „Holding Registers“ importieren:
Da ich nicht alle Daten aus dem S10 benötige (Ich habe zum Beispiel keine Wallbox), habe ich auch nicht alle Register mit in die Liste aufgenommen. Wer weitere Werte benötigt, kann die entsprechenden Adressen und Formate in der Kurzanleitung von E3DC nachlesen und manuell, analog zu den bestehenden, ergänzen.
Nachdem die Änderungen und der Import gespeichert sind, sollte der Modbus-Adapter „grün“ werden und auf der Registerkarte Objekte im ioBroker-Admin die Modbus-Register als neue Objekte hinzugefügt haben. Das sieht dann in etwa so aus:
Der Großteil der Daten lässt sich nun bereits im ioBroker verwenden. Sei es zur Visualisierung über Vis oder als Wert innerhalb eines Scripts. Allerdings gibt es auch Werte, bei denen zwei unterschiedliche Informationen in einem Wert übergeben werden. Zum Einen ist dies die Modbus-Version des S10 (welche sicher nicht zu den wichtigsten Informationen gehört), zum Anderen aber auch die Prozentwerte für Eigenverbrauch und Autarkie, die jeder S10-Besitzer schon aus dem Portal oder vom Display seines Geräts kennt.
Um diese Werte zu trennen habe ich ein kleines JavaScript entwickelt, welches den Modbus-Wert teilt und in separate Objekte schreibt. Das Script findet ihr ebenfalls auf Github:
Das Script kann „wie es ist“ übernommen werden. Einfach im Script-Editor des JavaScript-Adapters ein neues Script anlegen, Inhalt hinein kopieren, speichern und ggf. Script starten. Das Script legt die neuen Datenpunkte (im Reiter Objekte) automatisch an. Das sieht dann etwa so aus:
Nun sind alle Werte im Klartext lesbar und können verwendet werden.
Aufzeichnen historischer Daten zur Visualisierung (optional)
Bis jetzt stehen uns nur die Echtzeitwerte vom S10 für eine Visualisierung im ioBroker zur Verfügung. Um Charts erstellen zu können (so wie in meiner Visualisierung zu sehen) müssen die Echtzeitwerte im ioBroker geloggt werden. Für das Logging gibt es dabei grundsätzlich zwei Möglichkeiten:
Welche Variante ihr verwendet, muss jeder für sich selbst entscheiden. Da der History-Adapter so gut wie „Out of the Box“ funktioniert, ist dies sicherlich die einfachere Variante. Ich persönlich ziehe allerdings immer eine echte Datenbank der Speicherung von Statistikdaten in Dateien vor. Kurzum, ich nutze den SQL-Adapter, welcher an die MariaDB 10 auf meiner Synology Disk Station angebunden ist.
Hinweis
Für den weiteren Verlauf des Tutorials ist es unerheblich über welchen Weg die historischen Daten gespeichert werden. An den entscheidenden Stellen stehen immer beide Wege zur Auswahl. Bei weiteren Fragen zum Daten sammeln bitte selbst recherchieren, das ist ein Thema ganz für sich allein.
Konfiguration des Loggings der Datenpunkte
Nun gut, zurück zu unserem S10 und Modbus. Sobald die Lösung zum Daten-Loggen gewählt und eingerichtet ist, können wir das Logging für die einzelnen Datenpunkte aktivieren.
Dazu schauen wir uns im ioBroker-Admin einmal unsere Modbus-Objekte an. Über den kleinen Schraubenschlüssel am rechten Bildschirmrand lässt sich das Logging für jeden Datenpunkt einzeln konfigurieren.
Die Maske dazu sieht in etwa so aus:
Neben dem Häkchen für „Aktiviert“ gibt es hier eigentlich keine Vorgaben für die Konfiguration. Je Nachdem macht es mal Sinn auch gleiche Werte zu loggen, mal nur die Änderungen. Was ich allerdings für mich entschieden habe ist, dass ich zum Einen die Daten dauerhaft behalten möchte („keine automatische Löschung“), zum Anderen auch wenn sich der Wert nicht ändert alle 60 Sekunden ein Wert in die Datenbank geschrieben wird. Letzteres geschieht dabei über den Wert „60“ bei „Nach Intervall aufzeichnen (s)“. Weitere Details zu den Einstellungen beim Logging gibt es in der offiziellen Doku des SQL-Adapters (Link). Beim History-Adapter sind die Einstellungen ähnlich (Link).
Über die Registerkarte „Tabelle“ können dann schließlich die letzten gesammelten Daten eingesehen und überprüft werden.
Die Einstellungen zum Logging müssen für jeden Datenpunkt der geloggt werden soll separat konfiguriert werden. Welche Daten ich mit logge kann man auf dem Screenshot der Modbus-Objekte auf der vorherigen Seite an den farbig gekennzeichneten Schraubenschlüssel-Buttons erkennen. 😉
Ist für alle interessanten Daten das Logging aktiviert kann es eigentlich mit der Visualisierung losgehen.
Visualisierung mit iobroker.vis
Die ioBroker-eigene Visualisierungsoberfläche Vis ist ein sehr mächtiges Werkzeug. Im Grunde sind bereits mit überschaubaren Kenntnissen in HTML und CSS der grafischen Darstellung verschiedenster Werte keine Grenzen mehr gesetzt.
Aus diesem Grund möchte ich an dieser Stelle betonen, dass dieses Tutorial kein Grundkurs in „Visualisierung mit Vis“ oder „HTML und CSS“ ist. Vielmehr möchte ich meine Visualisierung auf diesem Wege teilen und Hinweise dazu geben was ggf. angepasst werden muss, damit alles funktioniert.
Damit eine problemlose Integration meiner Widgets in ein bestehendes Projekt möglich ist, habe ich zur Vorbereitung alles was zur Visualisierung des S10 Hauskraftwerks gehört aus meinem eigenen Projekt heraus gelöst und mit einem möglichst schlichten Design versehen. Außerdem habe ich die Anzeige der Echtzeit-Werte (ähnlich der Darstellung im E3DC-Portal) von der Anzeige der historischen Daten (Diagramme) getrennt und werde die Integration in zwei separaten Teilen erläutern.
Hinweis
Die verwendeten Icons stammen aus dem Material-Design-Icon-Set (Link) welches sich einfach über den ioBroker Admin wie ein Adapter installieren lässt. Wem das nicht zu sagt, der kann die Bilder natürlich einfach über den Vis-Editor ersetzen.
Teil 1: Visualisierung der Echtzeitdaten
Im ersten Teil werde ich ausschließlich auf die Ansicht der Echtzeitdaten eingehen, die in ähnlicher Form ja auch im E3DC-Portal zu sehen ist:
Um die betreffenden Widgets in die eigene View zu bekommen ist nicht viel zu tun. Mit wenigen Klicks und dem Code aus dem Download lassen sich die Widgets einfach in Vis importieren. Dazu am besten, sofern noch nicht geschehen, eine neue View anlegen und einen dunklen Hintergrund festlegen. Dann auf der Registerkarte „Widgets“ im Vis-Editor auf den Button „Widgets importieren“ klicken und meinen Export einfügen. Das Ganze Bestätigen und die Widgets erscheinen auf der Arbeitsfläche.
Da der Export der Widgets sehr umfangreich ist, habe ich den Code dazu ebenfalls zu Github ausgelagert:
Hinweis
Die Grafik, die in der Visualisierung für das E3DC-Gerät verwendet wurde, stammt nicht von mir, weshalb ich sie auch nicht zum Download anbieten kann. Für den persönlichen Gebrauch werdet Ihr aber sicher schnell in der Google-Bildersuche fündig.
Des Weiteren verwende ich für die Füllstandsanzeige des Speichers ein Widget des ioBroker-Adapters „vis-justgage“. Ist dieser Adapter bei euch nicht installiert, wird der „Ring“ beim Widgetimport einfach weg gelassen.
Wenn die Konfiguration der Modbus-Register mit meinem Export erledigt worden ist, sollten alle verwendeten Datenpunkte sofort passen und die View bei Aufruf sofort funktionieren. Für Anpassungen können die Widgets anschließend natürlich auch einzeln ausgewählt und die Eigenschaften (z.B. Schriftart und Farbe) entsprechend bearbeitet werden. Fertig.
Teil 2: Visualisierung der historischen Daten
Im zweiten Teil wird es jetzt etwas komplizierter. Es geht um die Visualisierung des aktuellen Tagesverlaufs, also der historischen Daten. Dazu habe ich, mit Hilfe des Flot-Adapters, insgesamt sechs verschiedene Mini-Diagramme erstellt, die in Vis mit iFrame-Widgets integriert werden.
Info zur Funktionsweise des Flot-Adapters
Mit der Installation des Adapters wird gleichzeitig ein Web-Editor installiert, über den Diagramme einfach erstellt oder angepasst werden können. Der Editor ist im ioBroker in der Regel über folgenden Link zu erreichen: http://[IP oder Hostname]:8082/flot/edit.html
Nach der Konfiguration eines Diagramms erhält man innerhalb des Editors eine (recht lange) URL über die sich das Diagramm dann im Browser aufrufen lässt. Die URL enthält dabei alle im Editor konfigurierten Einstellungen. Mehr Infos
Die URLs zu den Diagrammen müssen natürlich auf die eigene Umgebung angepasst werden. Dazu müssen wir im ersten Teil jeder URL lediglich den Hostnamen bzw. die IP-Adresse des ioBroker-Hosts ersetzen. Anschließend sollten sich die einzelnen Mini-Diagramme durch Aufruf der URL auch ohne Vis im Browser anzeigen lassen. Etwa so:
Hinweis
Die Diagramme haben immer in der oberen rechten Ecke des Browserfensters ein „editieren“-Symbol. Aufgrund des dunklen Hintergrunds ist dieses aber nicht zu erkennen. Man findet es aber, wenn man mit der Maus über die rechte obere Ecke im Browserfenster wandert. Klickt man es, öffnet sich das Diagramm im Flot-Editor und man kann es nach belieben editieren.
Unter folgenden Link findet ihr einmal die einzelnen URLs der vorkonfigurierten Mini-Diagramme. Diese sind im Widget-Export bereits enthalten und müssen nach dem Import wie oben beschrieben angepasst werden:
Da der Export der Widgets sehr umfangreich ist, habe ich den Code dazu auch wieder zu Github ausgelagert:
Gesamte View importieren
Natürlich ist es auch möglich eine komplette View in ein eigenes Projekt zu übernehmen. Zu diesem Zweck habe ich auch einen Export der entsprechenden View, so wie sie im Titelbild zu sehen ist, gemacht:
Die View kann, ähnlich wie die Widgets, einfach über den Vis-Editor importiert werden. Dazu in der Registerkarte „Views“ auf „View importieren“ klicken und den Code einfügen.
Da der Export der View natürlich noch umfangreicher ist, als der der Widgets, habe ich auch hier den Code wieder auf Github bereitgestellt:
Nun sollte hoffentlich alles soweit klar sein. 🙂 Viel Spaß mit der Visualisierung und den Daten eures Hauskraftwerks in ioBroker. Bei Fragen nutze gerne die Kommentarfunktion oder schaut einfach mal im ioBroker-Forum vorbei.
MfG,
André
Änderungshistorie
2018-02-17
Screenshots aktualisiert (Admin V3) und kleinere Fehler behoben.
2018-10-01
Mit dem neuen Firmware-Update von E3DC wurden die Werte für den Strom der einzelnen Strings (Register 40099 bis 40101) um zwei Stellen verlängert um genauere Werte bieten zu können. Dies hat zur Folge, dass 2A jetzt als 200A angezeigt werden. Diese Anzeige lässt sich jedoch ganz leicht über die Konfiguration im Modus-Adapter unter „Holding Registers“ anpassen. Hier braucht nur der Wert für den Faktor auf 0.01 gesetzt zu werden. Schon bekommt man statt 200A wieder einen realen Wert mit 2.00A angezeigt. In meinem Export auf Seite zwei dieses Artikels habe ich das bereits entsprechend ergänzt.
2020-02-20
Anpassung des Tutorials an das neue Layout und auslagerung der Script- und Exportfiles zu Github.
2020-09-20
Umzug des Tutorials zu smarthome.buanet.de und Überarbeitung/ Anpassung an das neue Layout.
Hallo, Kannst du mal erklären wie ich die Daten in das Holding-Register bekomme? Ist ja schon etwas neuer die Version jetzt.
Bekomme die Daten von der Gidhub nicht dort rein kopiert.
Hallo André,
ich glaube dieses Problem habt ihr bereits im ioBroker Forum Thread lösen können. Oder?
MfG,
André
Hallo André,
ich habe Dank Deiner Hilfe jetzt auch meinen E3DC in IOBroker visualisiert. Vielen Dank auch von meiner Seite für die Unterstützung und Deine Bereitschaft, das alles mit uns zu teilen. Ich bin wirklich begeistert, wie einfach das auch für doch eher Unerfahrene mit IOBroker, VIS, etc. hier funktioniert. Schön ist es natürlich auch, wenn andere Nutzer Ihre Probleme und meistens auch gleich ihre Lösung berichten. So hat es mir geholfen, dass jemand gleich eine Lösung für die Konvertierung der negativen Werte des zusätzlichen Wechselrichters benannt.
Also Danke nochmals an André und alle anderen.
Rolf-Stefan
Hallo bei mir funktioniert die trennung nicht mit dem script der autarkie und eigenverbrauch steht immer auf null
Hallo Daniel,
da kann ich dir hier leider nicht weiterhelfen. Vielleicht wendest du dich am Besten mal an das ioBroker Forum.
MfG,
André
Hallo André, etwas gut zu realisieren (weil mans halt einfach kann) ist das eine, aber es auch dann für andere so perfekt aufzuarbeiten, damit diese mit wenigen Clicks auch als „Nicht-Coder“ zum Ergebnis kommen – das verdient wirklich großes Lob!
Danke und alle Daumen hoch 🙂
Hallo Walter,
vielen Dank für dein Feedback. Freut mich zu hören dass es gefällt.
MfG,
André
Hallo,
Andre, erstmal vielen Dank für die Beschreibung.
Folgendes Problem habe ich. An dem E3DC habe ich als externe Quelle einen zusätzlichen Wechselrichter angeschlossen da ich miene PV-Anlage erweitert habe. Im Modbus habe ich den 40076 hinzugefügt. Der Wert der in den Objekten angezeigt wird simmt . Allerdings wird er als Negativwert angezeigt also mir einem Minus davor. Genau da ist das Problem, ich weiß nicht wie ich das Minus da weg bekomme. Hat voch euch jemand eine Idee?
Kann man sich auch die Gesamt PV Produktion anzeigen lassen. In der Anleitung von E3DC habe ich dazu nix gefunden. Im E3DC Portal wird mir diese Angezeigt.
Vielen Dank für eure Unterstützung.
VG Bastian
Hallo Bastian,
soweit ich weiß ist das nicht durch Konfiguration möglich. Hier musst du vermutlich den Weg über ein Java Script gehen und den Wert darin entsprechend manipulieren.
Ein Beispiel habe ich dazu aber leider nicht.
MfG,
André
Hallo, ich habe es mit dem Faktor im Modbus-Adapter versucht. Ich habe den Wert auf -1 gesetzt und der Wert wurde invertiert.
Servus Andrè,
richtig gute Anleitung und selbst für mich als jemanden der seit zwei Tagen auf iobroker ist gut umsetzbar.
Eine Frage habe ich jedoch. Die flot URLs sind nur für den Fall „sql db“ und nicht für die history version!?
Hast du dafür zufällig auch noch URLs?
Merci dir
VG Ede
Hallo Ede,
prinzipiell würde ich die Daten vom Hauskraftwerk aus Performancegründen nicht über den History Adapter loggen. Möglich ist es aber.
Wenn du die Datenquelle für Flot anpassen möchtest, kannst du das entweder direkt in der URL tun oder das Diagramm über die Flot Oberfläche bearbeiten.
In der URL:
instance=sql.0&l%5B0%5D%5Bid%5D=modbus.0.holdingRegisters.40068_PV_Leistung
Oder zum Bearbeiten in der URL
noedit=true
auf flase anpassen, dann erscheint im Diagramm oben rechts ein Button zum Bearbeiten.MfG,
André
Hallo und erstmal danke für die geniale Anleitung!
bin auch gerade dabei meinen E3DC anzubinden um die Werte auszulesen. Was ich noch nicht hinbekomme ist die klare Trennung zwischen Strombezug und Einspeisung, da beides im ‚40047_NetzLeistung‘ geschrieben wird. Im Sourceanalytics habe ich auch keinen Weg gefunden das aufzutrennen. Hast du oder jemand anders einen Tipp?
Danke und Gruß
Andy
Hallo Andy,
wenn du das benötigst musst du die Daten wohl mit Hilfe eines Java Scripts trennen. Eine andere Möglichkeit kenne ich nicht.
MfG,
André
// Batterie trennen in laden und entladen
createState(‚javascript.0.adapterdatenpunkte.modbus.Batterie_laden‘, 0, {name: ‚Batterie laden‘, type:’number‘, unit:’W‘});
createState(‚javascript.0.adapterdatenpunkte.modbus.Batterie_entladen‘, 0, {name: ‚Batterie entladen‘, type:’number‘, unit:’W‘});
var bat;
var haus;
on(‚modbus.0.holdingRegisters.40070_Batterie_Leistung‘, function (obj) {
bat = getState(‚modbus.0.holdingRegisters.40070_Batterie_Leistung‘).val
if (bat > 0) {setState(‚javascript.0.adapterdatenpunkte.modbus.Batterie_laden‘, bat, true);
setState(‚javascript.0.adapterdatenpunkte.modbus.Batterie_entladen‘, 0, true)}
else {
if (bat 80) {setState(‚javascript.0.adapterdatenpunkte.modbus.Netz_Einspeisung‘, 0, true);
setState(‚javascript.0.adapterdatenpunkte.modbus.Netz_Bezug‘, netz, true)}
else {
if (netz < -80) {setState('javascript.0.adapterdatenpunkte.modbus.Netz_Einspeisung', -netz, true);
setState('javascript.0.adapterdatenpunkte.modbus.Netz_Bezug', 0, true)}
else {setState('javascript.0.adapterdatenpunkte.modbus.Netz_Einspeisung', 0, true);
setState('javascript.0.adapterdatenpunkte.modbus.Netz_Bezug', 0, true)}
}
});
Die else brauchst du, damit der alte Wert nicht stehenbleibt und sourceanalytics sonst falsche Werte sammelt.
Die 80 ist der beste Wert dass die Summe nachher stimmt. Der Zähler bilanziert und springt zwischen -80 und +80 völlig unkontrolliert. Alles dazwischen ist unwesentlich für die Summe.
Ich hab Sourceanalytics inzwischen aufgegeben, das funktioniert einfach nicht richtig und nervt mit ständigen Problemen. Ich sammle einfach inzwischen im Sekundentakt die Summe der aktuellen Werte. Paßt sehr exakt mit den Werten aus meiner PV überein. Damit hat man eine laufende Summe für den Tag und mit den Tageswerten dann auch Wochen und Jahre, …
Hallo Matis,
vielen Dank für das Skript, habe ich gerade mal eingebaut und bin auf die Werte gespannt. Sourceanalytics ist hier anscheinend wirklich nicht geeignet. Selbst ganz simple Auswertungen wie der Ertrag der PV oder der Hausverbrauch funktionieren nicht bzw. bringen absolut falsche Werte Hätte mir mehr von SA versprochen, aber naja, dann mus es eben anders gehen 😉
Ich hab inzwischen richtig viel Zeit in die Oberfläche investiert und kann inzwishcne auch meine Zähler abfragen. Im e3dc habe ich einen Produktionszähler eingebaut. Damit kann ich die Verluste sehen und auswerten. e3dc schlägt die Verluste auf den Hausverbrauch, beim Laden sind die relativ hoch, sonst sehr niedrig. D.h. der Hausverbrauch stimmt also fast nie. Solar und Netzwerte sind sehr genau. Ich nehme für die Statistik deshalb die Einspeise- und Bezugswerte vom Zähler und vom Produktionszähler. Die Different ist dann der wirkliche Hausverbrauch. Das ist sehr spannend zu sehen. Zudem habe ich mit iobrocker eine SmarGrid Abfrage realisiert und mit zahlreichen Bedinungen verknüpft, sodass ich die Wärmepumpe ganz gezielt bei Überproduktion überladen lassen kann. Ich bin inzwischen eine begeistertet iobrocker freek 🙂 Das ist eine klasse Software! Ohne die Initialzündung von dieser Seite hier hätte ich aber nie angefangen. e3dc arbeitet grade auch an einem neuen Modbus Release, das wird es noch viel mehr Möglichkeiten geben 🙂
Hallo !
Super Anleitung, ich hab zwar als „Anwender“ an machen stellen ziemliche gebraucht, aber inzwischen geht meine Visualisierung, zumindest mal mit aktuellen Daten ohne Historie.
Ich habe noch drei Probleme und hoffe mir kann hier einer helfen:
a) die Datenpunkte Entladesperre, Ladesperre, MajorVersion und MinorVersion werden von Deinem Skript nicht bereicht, an was es liegt kann nicht sagen. Autarkie und Eiegenverbrauch klappt.
b) ich habe einen Wert der von modbus als negativer Wert kommt, ich würde ihn aber gerne als positiven Wert darstellen. Wie mache ich daraus am besten einen absoluten Wert?
c) Die zusätzlichen Leistungemesser kann ich abfragen, es sind aber drei Werte für L1, L2, L3 und es gibt keinen Gesamtwert. Wie kann ich aus drei modbus Datenpunkten eine Summe darstellen?
Vielen Dank!
Hallo Matis,
alle deine Punkte lassen sich über Scripte lösen. In den Scriptes kannst du die Werte vom Modbus nach belieben verarbeiten und entsprechend deiner Vorstellungen aufbereiten.
Da ich mich selbst beim Skripten immer relativ schwer tue, suche ich meist im Forum nach Lösungen oder Frage gezielt nach… Kann das als Anlaufstelle nur empfehlen.
Was deine Entladesperre/ Ladesperre angeht, weiß ich nicht wo es klemmt. Habe das Script bei mir im Einsatz und es scheint zu funktionieren. Einzig die Werte für die Versionen stimmen bei mir nicht… Wenn ich mal Zeit habe, schaue ich mir das mal an…
MfG,
André
Hi,
Super Arbeit & Anleitung !!! Respekt !
habe noch eine externe Quelle (zus. Wechselrichter) an meiner S10 und unter „holdingregister“ angelegt. Leider gibt er denn Wert mit einem – Zeichen aus… ?
Hast Du einen Tipp was ich evtl falsch mache ?
Gruß
Manfred
Hallo Manfred,
da kann ich nicht viel zu sagen. Habe keine zweite Quelle dran. Vielleicht stellst du deine Frage mal im ioBroker Forum Thread. Da sind mittlerweile ja ein paar E3DC Spezis unterwegs. Vielleicht hat einer etwas Ähnliches.
Oder du schaust mal in die Anleitung der Modbus Schnittstelle. Da steht drin wie der Wert geliefert wird. Bei manchen Werten ist noch eine Umrechnung erforderlich…
MfG,
André
Tipp:
Hallo, Ich hatte mich gefragt wie aus Modbus Leistungswerte nun die Verbrauchswerte zu bekommen sind. Es gibt einen Adapater im iobroker, der heißt Sourceanalytix. Damit kann man den Verbraucht auf Tag, Monat, Jahr usw. berechnen lassen. -> Sourceanalytix installieren und dann auf den jeweiligen Leistungswert gehen und im Schlüsselmodul Sourcenanalytix aktivieren. Und schwupps.. schon tauchen die Verbrauchswerte auf. 🙂
Sonst sind die Verbrauchswerte nur kompliziert über RSCP direkt von der E3DC abzufragen.
Hallo Christian,
danke für den Hinweis. Hatte das in der Vergangenheit schon mehrfach versucht, aber die Werte waren alles andere als plausibel. Sind die Werte die der Adapter bei dir ermittelt denn korrekt?
MfG,
André
moin, ich habe auch den SourceAnalytix-Adapter laufen, funktioniert auch alles soweit. Mir stellt sich aber die Frage ob ich das so auf dem Raspi laufen lassen kann…
Um die SD-Karte nicht so zu belasten, habe ich die SQL-Datenbank auf ner SynologyDS laufen. Geht bei SourceAnalytix aber nicht, also schreibt der doch dauernd auf der SD herum, oder habe ich was falsch verstanden? Kann mir da jemand was zu sagen?
Hallo Christian,
ich selbst kann dir dazu leider nichts sagen weil ich nicht weiß wie der Adapter arbeitet. Vielleicht ist deine Frage in einem ioBroker Forum Thread zum SourceAnalytix-Adapter besser aufgehoben.
MfG,
André
Seit ich den Abschnitt „Visualisierung mit iobroker.vis“ umgesetzt habe, kommt mein Raspberry Pi 4 mit 4 GB und 64 GB-SD-Karte (einer schnellen, die ursprünglich für eine 4K-Drohne gedacht war) nach ca. 24 Stunden stark außer Puste. Die Oberfläche ist kaum noch bedienbar, so langsam ist das geworden. Es dauert mehrere Sekunden, bis Oberflächen die richtigen Werte anzeigen, Textfelder bedienbar werden oder sich ein Dialog schließt und ähnliches. Hat jemand ähnliche Erfahrungen gemacht? Nach einem neustart des ioBroker-Docker-Containers alles wieder flott. Für ne gewisse Zeit…
Hallo Steffen,
das kann viele Ursachen haben. Hast du mal geschaut welche Prozesse auf deinem Pi das System ausbremsen? Mit „top“ sollte man da schnell was sehen. Dann könnte es z.B. auch eine Rolle spielen wie du deine History-Daten speicherst. nutzt du eine SQL-Datenbank dazu? Läuft die auch auf dem Pi? Es gibt da wirklich viele denkbare „Bremsen“…
MfG,
André
Hey, danke für die schnelle Antwort. „top“ kannte ich als Pi/Linux-Anfänger noch nicht. Werde das mal beobachten.
Hatte die Situation jetzt zweimal: Einmal dachte ich, dass der Container-Neustart was gebracht hätte – also lief viel schneller danach, lag aber vielleicht nicht direkt am Neustart. Denn vorhin hatte ich festgestellt, dass der Docker-Neustart diesmal gar nichts gebracht hatte. Es stellte sich dann heraus, dass es wohl an Chrome auf dem Win10-PC lag (nachdem ich den neugestartet hatte, war alles wieder flüssig). Komisch war allerdings, dass alle anderen Tabs in Chrome völlig normal liefen. Kann es sein, dass ioBroker einen besonders großen oder komplexen DOM-Baum aufbaut oder so was in die Richtung?
MySQL läuft mit und sql.0 loggt jede Minute die Modbus-Werte des E3/DC. Die CPU-Belastung insgesamt liegt jedoch immer nur bei 4-13% (scheinbar zählen hier nur user und system). Ach, id wird wahrscheindlich idle = nix zu tun sein…
%Cpu(s): 9,1 us, 1,4 sy, 0,0 ni, 88,5 id, 0,3 wa, 0,0 hi, 0,8 si, 0,0 st
Innerhalb der 10% ist io.sql.0 meist führend am Verbrauch mit 5-10%.
Hört sich ja nach keiner großen Belastung an und von den 3,9 GB RAM sind 0,5 free und 2,5 GB buffer/cache, nur 880 MB used.
So nach einem Tag weiß ich nun mehr. Es liegt auch nicht an Chrome an sich. Nach einem Tag ist ioBroker wieder sehr langsam geworden, wenn ich vis mit der E3/DC-View daraus heraus starte, dann dauert der Aufbau 10-15 Sekunden. Auch die laufende vis-View ist grottenlangsam. Der Pi 4 hat aber quasi keine CPU-Belastung. Mir fiel dann auf, dass wenn ich die vis-View oder auch vis selbst per URL in einem neuen Tab aufrufe, dann läuft es sehr flott (2-3 Sekunden für den Aufbau der E3/DC-View). Dann habe ich mal F5 im angepinnten ioBroker-Tab gedrückt, dauerte lange, bis die Seite reagierte. Aber als sie dann endlich weg und dann wieder neu geladen war, lief ioBroker wieder sehr flott. Das ist jetzt zumindest ein Workaround, einfach neu laden, wenn es zäh wird. Interessant wäre natürlich schon, woran das liegen könnte…
Hat der Import der Datei modbus_export.txt unter Holding registers bei euch funktioniert? Ich verstehe nicht, wie das funktionieren soll. Eine erwartete CSV-Datei hat doch irgendeinen Separator, diese nicht. Die Leerzeichen können es nicht sein, da diese auch im Text vorkommen. Zudem habe ich 13 Spalten zu setzen, die Datei enthält aber nur 10 Spalten-Header?! Dementsprechend ist bei mir dann alles verschoben und unsinnig nach dem Import…
Hallo Steffen,
die Import-Datei ist lediglich der Export, wie er aus dem Modbus-Adapter heraus kommt. Die Felder sollten eigentlich per Tab getrennt sein. Vielleicht sind die Tabs irgendwo verloren gegangen. Hab die Date nochmal bei Github aktualisiert. Versuche mal das Kopieren von hier: modbus_export.txt
MfG,
André
Hi André,
ein anderer User hatte vor fast 2 Jahren schon das Problem, der hat die Liste umgeschrieben und mit Separatoren versehen. Dieser Import hat bei mir dann auf Anhieb funktioniert.
https://forum.iobroker.net/post/155525
Viele Grüße,
Steffen
Hallo Andre,
zuerst einmal tolles Tutorial das du hier erstellt hast!
Ein Frage bleibt noch offen… Wie hast du den Füllstand der Batterie, bzw. Eigenverbrauch und Autarkie hinbekommen? Ich meine die „runde Füllstandsanzeige“. Die hab ich nach dem Import der Widget’s bzw. Vis nicht.
Welches Widget verwendest du hier?
Gruß aus dem Schwarzwald
Hallo Alex,
wie du etwas weiter unten schon kommentiert hast müsste es sich um ein „justGage Widget“ handeln. Sollte eigentlich auch im Export enthalten sein, kann dann beim import allerdings wohl nicht erstellt werden wenn der zugehörige Adapter nicht installiert ist. Muss ich mal schauen ob ich irgendwo einen entsprechenden Hinweis einbauen kann. Danke für den Hinweis.
MfG,
André
wie kriege ich dieses gauge um die batterie
Schau mal bei den Adaptern und installiere dies hier:
justGage Widgets
Hallo habe alles genau nach Anletung gemacht… leider scheitert es bei mir schon am Anfang unter Objekte Modbus wird schon garnichts angezeigt ….
Hallo Thomas,
das tut mir leid. Da scheint dann wohl irgendwo was schief zu gehen….
MfG,
André
hat jetzt funktioniert … habe deine Werte manuell eingetragen jetzt klappt es 😉
Hallo und vielen Dank für die Klasse Anleitung.
Ich bekomme bereits die Daten aus der E3DC, habe aber Probleme mit den VIS Dateien, die du zum download bereitgestellt hast. Wenn ich die txt Dateinen öffne, dann sind sie alle 3 abgehackt.
Könntest du vielleicht noch mal einen kompletten export bereitstellen?
Das wäre echt klasse.
Danke
Maik
Hallo Maik,
muss das Tutorial mal überarbeiten… Schau mal hier.
MfG,
André
Moin André,
vielen DAnk für die Anleitung, so schaff ich das auch mein S10 in iobroker zu importieren. Leider verzweifel ich an dem Skript. Auch Jens seine änderung bringt mich nicht weiter.
Ich bekomme bei JS die Fehlermeldung
error javascript.0 (4326) script.js.e3dc.Skript_2 compile failed: at script.js.e3dc.Skript_2:9
Es werden somit auch keine Datenpunkte geschrieben. (Der Java Adapter hat die rechte)
Hallo Maik,
versuche mal dieses Skript:
https://raw.githubusercontent.com/buanet/iobroker-scripts/master/e3dc-datapoint-conversion.js
MfG,
André
Hallo, erst einmal danke für Deine geilen Tutorials!! Super geschrieben, finde ich sehr toll (und funktionieren bei mir auch). Allerdings komme ich bei „Um diese Werte zu trennen habe ich ein kleines JavaScript entwickelt, welches den Modbus-Wert teilt und in separate Objekte schreibt. “ nicht weiter. Irgendwie kann das mit den Formatierungen nicht klappen, ich komme aber bisher nicht drauf, was genau da anders sein sollte.
In iobroker bei den Scripten hängt klappts nicht, vermutlich wegen „>>“ bei z.B. „setState(‚e3dc.modbus.Autarkie‘, (obj.state.val >> 8) & 0xFF, true);“ (Mal sehen was der Browser hier in den Kommentaren dafür anzeigt^^ Du weißt hoffentlich trotzdem, was ich meine.
LG Jens
Hat sich erledigt, nachdem ich drüber geschlafen habe und nochmal ordentlich nachgedacht habe, was die Formatierungen denn so bedeuten 🙂 Die Lösung, ggf für andere, ist:
setState(‚e3dc.modbus.Autarkie‘, (obj.state.val >> 8) & 0xFF, true);
setState(‚e3dc.modbus.Eigenverbrauch‘, obj.state.val & 0xFF, true);
Hi, vielen Dank für die Anleitung! Zu dem Thema gibt es leider nicht viel.
Ich hänge aktuell beim modbus fest. Nach der Installation in iobroker habe ich lediglich die Partner IP, also die IP des Gateways (Fritzbox Standard 192.168.178.1) eingegeben. Ansonsten nichts geändert. Port 502 und Geräte ID 1 ist genauso angegeben, wie in der E3DC. Da ist es auch aktiviert.
Der modbus verbindet sich mit dem Host und es gibt ein Lebenszeichen, doch er verbindet sich nicht mit dem modbus des E3DC.
Demnach kommen in der VIS auch keine Werte an. Was muss ich ändern?
Hallo Marcus,
warum gibst du als Partner IP die IP des Gateways ein? Das sollte doch eigentlich die IP des Hauskraftwerks sein…
MfG,
André
Da war ich wohl noch zu unerfahren 😀
ausführliche Anleitung , konnte alles wie beschrieben machen, jedoch verbindet sich der modbusadapter 1sekunde danach wird die Verbindung wieder getrennt ohne eine wert zu übertragen, wo könnte da der Fehler sein?
Hallo Kevin,
am besten im ioBroker-Log mit der Suche anfangen und die dortige Fehlermeldung bei Bedarf mal durch Google jagen.
MfG,
André
Hallo,
das klingt sehr gut. Ich möchte an das E3/DC eine Wallbox zum Laden eines E-Autos (logisch) anschliessen, die nur den überschüssigen PV-Strom (und ggf. Strom aus der Batterie) verwendet, aber keinen Netzstrom.
Die E3/DC Wallbox, die das kann, geht bei uns aus baulichen Gründen nicht.
Jetzt bin ich auf die KEBA p30 x-Series gekommen, die zumindest modbus UDP spricht. Das E3/DC leider nur modbus TCP.
Jetzt ist die Idee, mittels ioBroker zwischen E3/DC und KEBA Wallbox zu vermitteln. Klappt es, dass die Wallbox per modbus UDP eine Anfrage an ioBroker stellt, der die Werte per modbus TCP aus dem E3/DC liest und an die Wallbox weitergibt?
Hat jemand schon so eine Konfiguration am Laufen?
(Die Wallbox ist als „Experiment“ etwas teuer…)
Danke & herzliche Grüße
Eike
So, ich habe mich etwas weiter eingelesen. Die KEBA p30 c-Series und x-Series sprechen ein UDP basiertes Protokoll (nicht modbus), das von einem ioBroker Adapter unterstützt wird. Die Installation von ioBroker in einem Docker Container auf meinem Synology NAS hat geklappt, ebenso die Anbindung des E3/DC.
Ich habe jetzt die KEBA Wallbox bestellt, das sollte auf jeden Fall klappen.
Und so nebenbei baue ich auch noch eine schon lang geplante Homeautomation-Lösung auf 🙂
Hi, erstmal vielen Dank für die gute Anleitung und die Integration in IoBroker. Gibt es eigentlich die Möglichkeit auch die verschiedenen Temperaturen mithilfe des Modbus auszulesen?
Hallo Manuel,
da musst du mal in die Modbus-Spezifikation von E3DC schauen. Wenn Modbus dazu Datenpunkte liefert, dann wird es sicher auch möglich sein.
MfG,
André
Hi, ich bekommen in den nächsten Wochen ein e3/de Hauskraftwerk. Diesen wollte ich in VIS anzeigen lassen. Hab soweit alles (soweit wie möglich) vorbereitet. Jetzt bin ich bei der Visualisierung angekommen. Ich wollte dein Widgets importieren. Ich bekomm bei Export1 die Fehlermeldung „Invalid JSON SyntaxError: JSON.parse Error: Unterminated string constant at position:2364“ und bei Export 2 „Invalid JSON SyntaxError: JSON.parse Error: Unterminated string constant at position:1730“. Was mach ich falsch? Kann es sein, dass ich erst das HK haben muss damit ich das Widget einfügen kann?
Gruß Roman
Hallo Roman,
da passt irgendwas mit den Daten im Export nicht. Vielleicht irgendein falsches Zeichen/ Zeilenumbruch. Schau doch mal was z.B. im Export an „position:2364“ steht. Ansonsten einfach nochmal neu herunterladen.
Womit hast du die Export-Datei zum rüber Kopieren geöffnet? Habe es gerade zum Testen einmal herunter geladen und mit notepad++ geöffnet. Strg+A, Strg+C und Strg+V und schon war es in vis importiert. Grundsätzlich geht es also.
MfG,
André
Hi Andre ich habe die Daten nochmal runtergeladen. Geöffnet mit Notepad++, Editor, WordPad immer dasselbe Ergebnis. Jetzt hab ich mal versucht die vollständige View zu importieren. Da kommt die Fehlermeldung Invalid JSON SyntaxError: JSON.parse: unexpected end of data at line 135 column 26 of the JSON data. Ich glaube jetzt nicht mehr dass der Fehler am Download liegt. Leider weiß ich nicht mehr weiter. Vor allem ist es ja kein Hexenwerk die Daten zu kopieren und einzufügen. Da kann man nicht viel verkehrt machen. Wenn ich innerhalb meiner Projekte importiere geht es. Hab auch mal einen anderen Browser ausprobiert. Im Notepad schließt der Text „lc-offset-vert“: ab. Ist das ok so? Hast du noch eine Idee wo bei mir das Problem liegen könnte?
Gruß Roman
Hallo Roman
habe das gleiche Problem. Hast Du eine Lösung gefunden ?
LG Hartiman
Hallo,
falls es mit euren Downloads nicht klappt, schaut mal hier: https://github.com/buanet/iobroker-vis-templates/tree/master/e3dc_hauskraftwerk. Da liegt der Code nochmal auf Github. Habe ich bloß noch nicht im Tutorial verlinkt.
MfG,
André
Super, Funktioniert,Thanx
Hallo André,
Bin auch gerade dabei meinen S10E in Iobroker einzubinden. Hast du noch den Register Eintrag für die 70% Abregelung?
Ich möchte gerne auf Basis der Abregelung per Iobroker und Homematic diverse Aktionen starten – vor allem, meine Klimaanlage einschalten wenn die Abregelung aktiv wird…
Grüße
Dom
Hallo Dom,
nein, ich denke dazu gibt es kein Register. Jedenfalls habe ich sowas damals nicht gefunden.
Ich mache das über ein Script das nach entsprechenden Voraussetzungen meine Poolheizung schaltet. Vielleicht wäre das auch eine Lösung für dich?
MfG,
André
Hallo René,
klar, wäre klasse wenn du es veröffentlichen oder schicken könntest…
Grüße
Dominique
Hallo André, Ich habe mal den Support angemailt. In Register 40085 Bit 4 soll der Wert auszulesen sein.
(„Abregelungs-Status:
1 = Die Ausgangsleistung des S10 Hauskraftwerks wird abgeregelt, da die maximale Einspeisung
erreicht ist
0 = Dieser Fall ist nicht eingetreten“)
Allerdings bin ich hier jetzt zu wenig im Modbus Thema drin. Das Register wird bei mir immer mit dem Wert „4“ angezeigt. Irgendwie erschließt sich mir der Sinn des Wertes aber nicht…
Hallo Dom,
ja, in dem Modbus-Wert sind mehrere Werte enthalten. Der muss bitweise ausgelesen werden, bzw. per Script umgerechnet und auf einzelne Objekte aufgeteilt werden. Bisher habe ich das über JavaScript noch nicht hinbekommen. Sollte ähnlich wie für die Werte Eigenverbrauch und Autarkie (Seite 2) funktionieren. Falls du das Problem löst und dir ein Script dazu entwickelst, würde ich das gerne mit ins Tutorial aufnehmen.
MfG,
André
Hi Andre,
habe mal n Skript für die 70% Abregelung des E3DC geschrieben. Kannst gerne in dein Tutorial einarbeiten. Danke dafür übrigens!
Grüße
Oli
createState(‚e3dc.modbus.Abregelung-Status‘, false, {
read: true,
write: true,
name: „Abregelung-Status“,
type: „boolean“,
def: false
});
var bin;
on({id: „modbus.0.holdingRegisters.40085_EMS_Status“/*EMS_Status*/, change: „ne“}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
bin = getState(„modbus.0.holdingRegisters.40085_EMS_Status“).val;
if (Math.floor(bin / 8) % 2 == 1) {
setState(„javascript.0.e3dc.modbus.Abregelung-Status“/*Abregelung-Status*/, true);
} else {
setState(„javascript.0.e3dc.modbus.Abregelung-Status“/*Abregelung-Status*/, false);
}
});
Der Wert „4“ bedeutet binär 0000100, dh. das Bit 0 ist 0, Bit1 ist 0, Bit2 ist 1 usw. In diesem Fall also „Notstrommodus ist möglich“. Einfach den „Wert“ umrechnen und Bit4 für die Abregelung nutzen. Grüße
kurzer Hinweis:
das Skript ist nicht Copy&Paste bar. Die Anführungsstriche von cretatestate sowie die Anführungsstriche im weiteren Verlauf werden nicht richtig interpretiert. Diese müssen gegen ‚ (Shift+Hashtag) getauscht werden. Danach läuft es im Skriptmodul von IOBroker.
Komme aber noch nicht ganz zum Ergebnis. Wie rechne ich den „Wert“ denn um?
wenn ich es richtig verstehe, muss nur „if (Math.floor(bin / 8) % 2 == 1)“ in „if (Math.floor(bin / 8) % 4 == 1)“ geändert werden, damit ich den aktuellen Abregelungsstatus auslesen kann, richtig?
Hab das testweise mal ausprobiert und in setstate true und false miteinander getauscht da meine Anlage aktuell unter 70% ist. Es ist aber leider so, dass die sich der Objekt Status „Abregelung-Status“ nicht ändert. Einen Skriptfehler erhalte ich aber auch nicht…
Nein, ich hatte einen Fehler im Skript. Das 4 Bit ist natürlich 2^4 also 16. D.h. es müsste „if (Math.floor(bin / 16) % 2 == 1)“ sein.
Hallo Andre, klasse Anleitung – vielen Dank. Allerdings komme ich mit den angegebenen PW nicht auf den DL Deiner Exports. Gibt es da ein neues? Merci, gute Nacht.
Oh Mann – wer lesen kann ist klar im Vorteil – da waren die Augen wohl doch nicht mehr so fit – sorry für die unnötige Frage und Lob und Dank bleiben. cheers.
wow… ich habe noch kein E3DC aber kann es kaum noch erwarten 🙂
Kann man auch Daten zu E3DC senden? z.B. starte das laden der Batterie etc…?
Hallo Malmara,
ich kann jetzt gar nicht genau sagen ob auch das Senden geht. Habe ich mich noch nicht mit befassen müssen. 🙂 Schau mal auf der zweiten Seite, da steht wo du die Modbus-Anleitung von E3DC findest. Vielleicht steht da was drin.
MfG,
André
Das Hauskraftwerk kannst du nicht über Mod-Bus steuern das geht nur über die RSCP Schnittstelle
Schau dir mal diesen Link an: https://forum.iobroker.net/topic/32976/e3dc-hauskraftwerk-steuern