NEWS
[Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana
-
@longbow sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
@tj1973
....Batteriestatus ist bei mir eine 6, was bedeutet das? ...Habe ich mal irgendwo aus einem Forum kopiert:
57734 Battery 1 Status
0 = Aus, 1 = Standby, 2 = Initialisierung, 3 = Laden, 4 = Entladen, 5 = Fehler, 6 = Leerlauf -
Hallo liebe Gemeinde,
also ich habe mit der Unterstützung von Herni alles prima zulaufen bekommen.
Jetzt habe ich aber mal einige Fragen, zu erst einmal hier meine Hardware:
- SolarEdge Wechselrichter SE8K
- LG Chem Resu 6,5 Batteriespeicher
- Zappi Ladebox
Ich lese die Daten der PV Anlage über den Modbus aus, das läuft super.
Nur hackt es bei der Auswertung, wenn die Anlage produziert, zeigt die Grafik dann minus an.
Hier muss das Script von Herni angepasst werde, nur ich bin wohl noch zu blöde dazu.
Hat das einer von Euch schon umgesetzt?Dann wäre ich neugierig, wie es läuft mit dem Auslesen und das grafisch umzusetzen mit dem Punkt, Wallbox.
Wie man das umsetzten könnte, finde die grafikisch die Lösung von Herni super, möchte es nur umsetzen, das es mit meinem
Geräten klappt.Ich bin was iobroker betrifft total Neuling, aber lerne täglich dazu
Ach und hab noch, das Script mit der Sonne, das passt um genau 2 Stunden nicht, wie kommt das zustandenß
-
Hallo,
ich wollte hier nochmal fragen, ob es jemanden mit Solaredge Wechselrichter und angeschlossener Batterie gibt, bei dem nachts abwechselnde I_AC_POWER Werte vorkommen (bei mir immer ~30Wh und 600Wh abwechselnd).Bei mir ist das jede Nacht, sobald die Batterie leer ist (also 10% Ladestand erreicht).
Hier ein Beispiel (habe den SE4000H Wechselrichter und eine LG Batterie) :
Die gelben Punkte sind der Ladestand der Batterie in %. Sobald der 10% erreicht geht es los.
Und hier noch ein Beispiel:
mal reingezoomt:
und noch weiter reingezoomt:
Das ganze hört auf, sobald es hell wird und die PV-Anlage etwas Strom produziert.
Da das so schwankt lässt sich das schlecht filtern. So zeigt mir iobroker nachts quasi an dass die PV-Anlage Strom erzeugt was Quatsch ist.
Bin ich echt der einzige mit dem Problem?
Könnt ihr mir bitte zeigen, wie der I_AC_POWER Wert nachts bei euch ist? Natürlich nur bei denen die eine Batterie haben. Zum Vergleich.
-
@cybtrash
Das kann ich bei mir nicht bestätigen. (SE10K-RWS + LG RESU 10)
Hast du die aktuelle Firmware für deinen Wechselrichter installiert. Ich kenne zumindest ein Problem bei meinem Wechselrichter mit dem Standby/Nachtmodus bei leerer Batterie...dies wurde allerdings per FirmwareUpdate behoben.
Dann hätte ich auch nochmal eine Frage...
Wie lasst ihr die Daten wie z.B. aktueller Verbrauch, Einspeisung, Batterie Ladeleistung etc. in Grafana anzeigen. Ist der einzige Weg diese Werte ebenfalls in die InfluxDB schreiben zu lassen um sie in Grafana dann als aktuellen Wert anzeigen zu lassen? Die Daten möchte ich ja eigentlich garnicht aufzeichnen sondern eben nur den aktuellen Wert in Grafana angezeigt bekommen.Beste Grüße
Foradh -
Hallo zusammen,
meine PV produziert jetzt seit 1,5 Tagen. Das Thema ist für mich also noch neu.
Hatte mir auf die Schnelle die modbus-Daten ausgelesen und historisiert. Danke für die Holding-Register!Eine Frage habe ich aber: Bekommt ihr in Grafana auch solche "Ausreißer" in den Morgen-/ Abendstunden dargestellt? Die Werte kommen so über den modbus-Adapter, es ist kein Grafana-Problem.
Die Daten werden sekündlich abgerufen und sind auf drei Minuten geglättet, aber das ist ja hier eher egal. Ohne Glättung sieht es genauso aus. Die grüne und die blaue Linie sind der 40084. Hatte den Wert noch einmal umbenannt, deshalb zwei Werte.
Die gelbe Linie ist 40207. Die sieht (erst einmal) gut aus.Danke für eure Ideen,
Tobias -
Nein, bekomme ich nicht. Ich takte auch im Abstand von 1s und mache dann eine Mittelwertbildung über 600s. Das passt dann relativ gut zur Solaredgeanzeige.
Falls es Dir hilft mein Script ... (habe ich so mit Blockly) umgesetzt ...
var iD, Liste1, Liste2, Liste3, Liste4, Liste5, Intervall; iD = 600; Liste1 = []; Liste2 = []; Liste3 = []; Liste4 = []; Liste5 = []; Intervall = setInterval(async function () { Liste1.push(getState("0_userdata.0.1_Netzbezug").val); if (Liste1.length >= parseFloat(iD) + 1) { setState("0_userdata.0.1_Netzbezug_D"/*1_Netzbezug_D*/, (parseFloat(Liste1.reduce(function(x, y) {return x + y;})) / iD), true); Liste1 = []; } Liste4.push(getState("0_userdata.0.4_Energieverbrauch").val); if (Liste4.length >= parseFloat(iD) + 1) { setState("0_userdata.0.4_Energieverbrauch_D"/*4_Energieverbrauch_D*/, (parseFloat(Liste4.reduce(function(x, y) {return x + y;})) / iD), true); Liste4 = []; } Liste2.push(getState("0_userdata.0.2_PV_Aktuell").val); if (Liste2.length >= parseFloat(iD) + 1) { setState("0_userdata.0.2_PV_Aktuell_D"/*2_PV_Aktuell_D*/, (parseFloat(Liste2.reduce(function(x, y) {return x + y;})) / iD), true); await wait(500); setState("0_userdata.0.5_PV_Frei_D"/*5_PV_Frei_D*/, (parseFloat(getState("0_userdata.0.2_PV_Aktuell_D").val) - getState("0_userdata.0.4_Energieverbrauch_D").val), true); Liste2 = []; } Liste3.push(getState("0_userdata.0.3_Batterie").val); if (Liste3.length >= parseFloat(iD) + 1) { setState("0_userdata.0.3_Batterie_D"/*3_Batterie_D*/, (parseFloat(Liste3.reduce(function(x, y) {return x + y;})) / iD), true); Liste3 = []; } Liste5.push(getState("0_userdata.0.2_PV_Aktuell").val); if (Liste5.length >= 86401) { setState("0_userdata.0.2_PV_Aktuell_S"/*2_PV_Aktuell_S*/, (parseFloat(Liste5.reduce(function(x, y) {return x + y;})) / 3600), true); Liste5 = []; } }, 1000);
-
@tobias
Das Problem hatte ich auch, du hast vermutlich vergessen den Skalierungsfaktor zu berücksichtigen, der Ändert sich im TagesverlaufGruß Markus
-
@mkniehl
Jein - ich hatte einen Fehler in der Formel.Danke Dir aber trotzdem - hätte ich ja hier auch mal reinschreiben können.
-
@hennerich said in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
Außerdem wird zwingend der Energiezähler mit Modbus Anschluss benötigt.
Hallo.
Leider bekomme ich den Energiezähler mit Modbus Anschluss nicht mehr. Es wurde mir der neue Inline Energiezähler von SolarEdge geliefert.
Wie funktioniert das dann damit? Oder gibt es da dann keine Möglichkeit die Werte in iobroker zu übernehmen? -
@manfredh-1
Moin,also hier scheint es die Dinger noch zu geben
https://www.photovoltaik4all.de/solaredge-energiezaehler-modbus-se-mtr-3y-400v-aBlöd ist natürlich, wenn du schon viel Geld für das neue Teil ausgegeben hast.
Hast du schon mal in der Doku nach einer Schnittstelle geschaut?Edit: also in der Doku steht was von ModBus:
-
@hennerich said in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
Blöd ist natürlich, wenn du schon viel Geld für das neue Teil ausgegeben hast.
Hast du schon mal in der Doku nach einer Schnittstelle geschaut?Danke für die Info. Ja, ich hab den schon geliefert bekommen und auch bezahlt.
Das Datenblatt habe ich auch gelesen. Hoffe nur, dass wenn ich die Energiezähler über ModBus RS485 verbinde, das dann genauso funktioniert, wie mit dem alten Energiezähler mit Modbus-Anschluss.. -
........
-
Irgend etwas stimmt hier doch nicht. Warum bekomm ich einen - Hausverbrauch?
-
Servus,
Setz den wert mal auf "Unsigned 16bit (Big Endian), dann sieht es schon anders aus/ Chris
-
@chris87Danke oh man... das wars. Im SolarEdge Modbus Regsiter Mapping steht int16.
Gibts ein Register für die LG Batterie?
-
Hallo zusammen,
hier mal meine Liste (alle SF Umrechnungen enthalten, keine seperate Umrechnung notwendig) :
Achtung
Die Werte mit RW am Ende sind beschreibbar und sollten mit äußerster Vorsicht behandelt werden./ Chris
-
@chris87 Gibts es ne Möglichkeit deine Liste direkt in die Holding Register zu importieren?
Was auch noch ist, mir werden in den javascripten die Einheiten nicht angezeigt, obwohl sie als Units eingetragen sind.
-
@christiank #
einfach oben (TSV bearbeiten), alles was drinnen ist löschen und meinen kompletten Spoiler einfügen. -
@christiank
bezüglich der Units.
Wie hast du die Datenpunkte erzeugt?
Wenn du ihn Manuell erzeugt hast, schreib einfach in die Objektdaten "unit": "W",/ Chris
-
@chris87 Liste habe ich importiert, Danke dafür.
Allerdings werden jetzt meine JS anders angezeigt. Z.B. TempWechselrichter ist jetzt um 2 Kommastellen verschoben. Anstatt 50Grad stehen jetzt 0,5. Register 40101 wird mir jetzt auch als 50 Grad angeziegt, sprich ich brauch den Faktor gar nicht mehr...
Datenpunkte hab ich im Skript per JS erstellt. Dort ist aber unit hinterlegt, wird nur nicht übertragen.
Irgend etwas passt bei mir noch nicht. 40084_I_AC_Leistung sollte mir die aktuelle Sonnenenergie anzeigen.
SolarEdgeMonitoring zeigt mir 3,4kW an, was in Bezug auf das Wetter passt. Modbus zeigt mir 5,2KW an.