NEWS
Solaredge Adapter (Photovoltaikanlage)
-
@chrisprefect said in Solaredge Adapter (Photovoltaikanlage):
@osu Das mit den Spikes und Werte-Überläufen usw. kommt wohl wirklich vom Problem, dass die Werte nicht immer gleichzeitig mit den Skalierungs-Faktoren gelesen werden. Ich habe das so gelöst:
Die Spikes scheinen mit dem Timeout weg zu sein. Bei mir umfasst er nun die komplette Berechnung.
Wie gesagt passen die Werte damit dennoch nicht 100% zusammen. (Deltas im Excelsheet)
Wenn der Modbus gepollt wird, hole ich innerhalb eines sehr kurzen Zeitraums alle meine Werte.
Ich kann aber nicht beeinflussen, ob zum Zeitpunkt des Abholens auf dem Modbus alle Werte 100% zusammenpassen (wann diese geschrieben wurden).- modbus.0.holdingRegisters.102837_Batterieleistung
- modbus.0.holdingRegisters.40084_I_AC_Leistung
- modbus.0.holdingRegisters.40207_M_AC_Power
Gruß,
Oli -
@osu Wenn der Modbus-Adapter die Werte einliest, dauert das vielleicht eine Sekunde, bis alle Werte da sind.
Wenn jetzt das Blockly schon triggert, wenn der erste Wert da ist und sofort den (dann noch alten) Umrechnungsfaktor benutzt dann ist der Wert um einen Faktor zu gross oder zu klein. Deshalb warte ich, nachdem sich der Wert geändert hat etwas, damit sicher alle Werte in diesem Poll-Zyklus gelesen und aktualisiert wurden. Dann ist auch der richtige Umrechnungsfaktor bereit.
-
@osu Kann es sein, dass die Werte nicht genau passen, weil du die DC-Leistung verwendest? Die ignoriere ich mittlerweile, weil die eben immer leicht von der AC-Leistung abweicht (halt durch die Wandlungsverluste denke ich). Deshalb muss ich aber von der AC-Leistung wieder zurückrechnen, um die PV-Leistung zu bekommen. Also z.B. die Speicherladung dazuzählen oder die Entladung abzählen.
-
@chrisprefect said in Solaredge Adapter (Photovoltaikanlage):
Wenn jetzt das Blockly schon triggert, wenn der erste Wert da ist und sofort den (dann noch alten) Umrechnungsfaktor benutzt dann ist der Wert um einen Faktor zu gross oder zu klein
Passt. Ergibt Sinn.
@chrisprefect said in Solaredge Adapter (Photovoltaikanlage):
Kann es sein, dass die Werte nicht genau passen, weil du die DC-Leistung verwendest?
Hausverbrauch rechne ich aus
modbus.0.holdingRegisters.40084_I_AC_Leistung
minus
modbus.0.holdingRegisters.40207_M_AC_PowerBei der Produktionsleistung der PV werden dann aber AC und DC vermengt:
modbus.0.holdingRegisters.40207_M_AC_Power
plus
modbus.0.holdingRegisters.102837_Batterieleistung
plus
HausverbrauchVermutlich liegt's daran. Was denkst Du?
Gruß,
Oli -
@stevie77 Vielen Dank für deinen Export. Import hat wunderbar geklappt.
Allerdings kann ich mit den Werten noch nichts anfangen. Auch die Strings wie "SolarEdge" scheinen abgeschnitten. Habe ich hier noch irgendwie einen Fehler?
Vielen Dank -
Habe es lösen können. Bei mir waren es Register-Adressen -1
-
@aulin Ja, irgendwie gibt es bei SE zwei Register-Varianten. Neuere/ältere Geräte? Hatten wir im Verlauf schon mal festgestellt hier im Forum (oder anderswo?), dass bei mir (oder anderen) alle Adressen um 1 verschoben sind.
-
@stevie77
Quelle: Technical Note – SunSpec Logging in SolarEdge Inverters, S. 15Gruß,
Oli -
Die Daten des Wechselrichters kommen alle einwandfrei über den Modbus Adapter an, jedoch will es mit den Daten der Batterie nicht klappen. Mein Wechselrichter verwendet die base 0 Adressierung und somit -1 zu den hier meist genannten Adressen. Bei den Batterie Einstellungen habe ich natürlich einiges probiert, aber ohne Erfolgt. Muss sonst noch etwas beachtet werden (z.B. bei den Adapter-Einstellungen oder so)?
Fehler im Log: "errorCode":131,"exceptionCode":2,"message":"ILLEGAL DATA ADDRESS"
Erkennt hier jemand ein Fehler? -
@al-bundy Die Modbus-Einstellungen werden stimmen, wenn die restlichen Daten vom WR schon sauber kommen. Der WR schickt ja die Daten der Batterie über sein Modbus-Interface weiter.
Ich kann dir nur meine Daten nochmals zeigen. Ev. musst du bei den Adressen noch + oder - 1 versuchen. Die sind bei mir verschoben zu dir.
Ich hatte aber auch lange rumprobiert bis es bei mir zufällig geklappt hat.
-
@chrisprefect Danke erstmal
Hab da schon einiges probiert:
Kommt aber nie was zurück. Könnte das evtl. auch eine Konfiguration auf dem WR sein, die anders eingestellt werden muss? Oder sonst was (z.B. mehrere Geräte IDs in der Adapter Einstellungen). -
@al-bundy said in Solaredge Adapter (Photovoltaikanlage):
@chrisprefect Danke erstmal
Hab da schon einiges probiert:
Kommt aber nie was zurück. Könnte das evtl. auch eine Konfiguration auf dem WR sein, die anders eingestellt werden muss? Oder sonst was (z.B. mehrere Geräte IDs in der Adapter Einstellungen).Versuch mal die folgenden (ggf. +/- 1):
Leider spuckt Battery 1 Lifetime Export / Import Energy Counter bei mir wirres Zeug aus. Siehe Grafana:
Wie es scheint (und lt. eines Forenbeitrags im PV-Forum) zählt die Battery hoch und resetet den Counter hin und wieder auf 0.
Der Graph korreliert aber auf jeden Fall mit dem Hausverbrauch!
(Nachts haben wir einen Verbrauch von ca. 350Wh, danach tagsüber wurde das Haus von der PV-Anlage gespeist, daher kein Export und ab 18:30 Uhr wurde das E-Auto angeschlossen, die Batterie zügig entladen - was man an der hohen Frequenz der Zick-Zack Linien sieht.So - aber was bedeuten die Werte? Diese sind auf keinen Fall Wattstunden.
Nachts wo ich ungefähr 350W/h verbrauche hat er in einer Stunde von 20k-65k und 0-35k "hochgezählt", was "80.000" ergibt. Aber was sind diese 80.000 ???
edit: 80.000 / 350Wh = 228
Wenn ich also in Grafana alle Werte durch 228 teile dann passt ganz ungefähr. Ich müsste also den richtigen Dividenden finden, damit die Werte Sinn ergeben. Aber was zur Hölle soll das xD
-
@cybtrash viiiiiielen Dank!
Nun geht es, wie es soll:
Wo hast du diese Adressen gefunden?
Kannst du bitte auch den CSV Export bereit stellen? Macht den Import leichter und weniger fehleranfällig. -
@al-bundy said in Solaredge Adapter (Photovoltaikanlage):
Wo hast du diese Adressen gefunden?
-
@cybtrash Ich bin echt verblüfft. Grossartig. Nochmals Danke
-
@al-bundy said in Solaredge Adapter (Photovoltaikanlage):
@cybtrash Ich bin echt verblüfft. Grossartig. Nochmals Danke
edit: Hab mir jetzt eine kleine Übersicht in VIS gebastelt, ein Klon der Solaredge Übersicht sozusagen. Finde ich am übersichtlichsten. Das ganze erweitere ich jetzt noch um das E-Auto und Wärmepumpe
Das Problem mit den unklaren Werten der Batterie für die tägliche Statistik der Energiemenge bleibt aber -.- (siehe hier) -
@cybtrash
Da helfe ich gerne. Brauche aber noch etwas Zeit dazu.
Prinzipiell habe ich auch bis jetzt schon vieles von meinem Haus, dass ich überwache und steuere (z.B. über 25 Shellys zur Messung und Steuerung der Stromaufnahme) und werde dies auch mit der PV Anlage tun
Die Anlage ist aber erst 6 Tage alt und der Modbus Adapter funktioniert auch erst seit Dienstag. Bevor ich mit den Aufzeichnungen und Analysen starte, werde ich erst noch die Messwerte prüfen. Mir scheint der gemessene Verbrauch etwas zu tief (etwa 10-20%) zu dem was ich zuvor gemessen habe. Um das aber genau zu prüfen, muss ich noch die Messerei des neuen Energiezählers installieren. Eben "step by step"
Falls von Interesse hier die Anlagen-Daten:
Module: 36 x LG Neon LG365N1C (13kWp)
WR: StoreEdge SE10K-RWS
Batterie: LG CHEM RESU 13 -
Gelöscht
-
@cybtrash
Ich bin nun ein Stück weiter, es ist jedoch schon eine ziemliche rechnerei mit einer Batterie am SE WR. Bislang habe ich die Leistungs-Kennwerte (Watt) genauer angeschaut (die Verbrauchsenergie kWh wird noch folgen).
Der Modbus liefert leider nur 3 Leistungskennwerte und zwar die folgenden mit meinen Beobachtungen:40083: I_AC:
- Wird als Parameter bei SolarEdge WR ohne Batterie als Sonnenertrag benutzt (geht mit Batterie nicht!)
- Scheint der Ertrag zu sein, Ertrag fehlt aber, wenn Batterie geladen wird und ist auch in der Nacht da, wenn die Batterie Leistung abgibt.
- Die Leistung in der Nacht (180-300W) ist tiefer als jene des Batterieverbrauches (300-400W)! Kann also nicht sein ?!?
- Scheint gemäss SE Portal - Auswertung dem Graphen: "Power: Leistung" zu entsprechen
40100 I_DC:
- Analog I_AC, nur leicht höhere Werte (in der Nacht 2-5W bei 200W, am Tag 150W bei etwa 9kW, oder 60W bei etwa 4kW)
40206 M_AC:
- Scheint die effektive Rückgelieferte Leistung zu sein
- Scheint gemäss SE Portal - Auswertung dem Graphen: "Power: Einspeise-Zähler" zu entsprechen
- Am Tag deutlich geringer als I_AC, in der Nacht meist 0 Watt
57716 Battery Power:
- Die Leistungswerte der Batterie scheinen mir in der Nacht plausibler als jene von I_AC
- Positive Werte entsprechen in der SE Portal - Auswertung dem Graphen: "Anlage Ladeleistung"
- Negative Werte entsprechen in der SE Portal - Auswertung dem Graphen: "Anlage Entladeleistung"
Als Leistungswerte würde mich folgende Grössen interessieren:
- PV-Erzeugung
- Hausverbrachs-Leistung
- Eingenverbrauchs-Leistung
- Batterie Entlade-Leistung
- Batterie Lade-Leistung
- Leistung aus dem Netz
- Leistung ins Netz
Diese 7 Parameter auszurechnen und darzustellen ist mir nicht gelungen. Evtl. jemandem von euch!
Meine Ansätze:-
PV-Erzeugung:
I_AC + Batterie Power: Geht nicht. Liefert in der Nacht etwa -100 W ?!?
M_AC + Batterie Laden: Geht nicht. Nacht stimmt dann, aber Erzeugung am Tag ist dann um den Verbrauch zu tief
API Schnittstelle: Geht nicht. Entspricht auch nur I_AC und ist sehr ungenau
Weitere Möglichkeit 1: I_AC + Batterie laden, wenn Batterie nicht entladen wird -> noch nicht umgesetzt
Weitere Möglichkeit 2: Summe der Leistung von den einzelnen Pannels => habe ich nicht aus dem Modbus lesen können
Weitere Möglichkeit 3: Ratlosigkeit -
Hausverbrachs-Leistung:
I_AC - M_AC: Stimmt dann mit der App überein. Werte in der Nacht sind dann aber zu niedrig (180-300W anstelle von 300-400W). Werte am Tag scheinen mir auch eher zu gering… -
Eingenverbrauchs-Leistung:
I_AC - M_AC + M_Import-Leistung: Knackpunkt: M_Import-Leistung muss aus M_Import (Verbrauch) berechnet werden. -
Batterie Entlade-Leistung:
Kein Problem (über Programm: Wenn Batteriezustand=3 (Modbus 57734, Laden), dann Battery Power Modbus 57716, sonst 0 Watt)) -
Batterie Lade-Leistung:
Kein Problem (über Programm: Wenn Batteriezustand=4 (Modbus 57734, Entladen), dann Battery Power Modbus 57716 * -1, sonst 0 Watt)) -
Leistung aus dem Netz:
Leider kein direkter Modbus Parameter. Abhilfe: Aus M_Import (kWh) die Leistung berechnen -
Leistung ins Netz:
Kein Problem Ist M_AC
Weitere Bemerkungen zur Leistungsmessung:
Sowohl der M_Import (Verbrauch), wie auch der Hauszähler melden, dass in der Nach vom Netz ebenfalls Strom bezogen wird, und dies, obschon die Batterie längst nicht entladen ist und auch nicht an der 5kW grenze ansteht.
Das sind meist so zwischen 50-100W die in der Nacht aus dem Netz bezogen werden und somit deutlich mehr als in der App oder SE Portal-Auswertung angezeigt wird (dort meist 0 - 50W).
Über euere Erfahrungen würde ich mich freuen.Ach ja. Die Verbrauchsdaten der Batterie sind weniger ein Problem.
Die Modbus Daten liefern auch bei mir unlogische Daten, auch wenn das zurücksetzen weg gerechnet wird (im Übrigen werden diese Rücksetzungen auch im SE-Portal in der Rubrik Auswertung gezeigt, dort passen aber die Werte).
Ich trenne die Leistungsdaten sowieso in Ladung und Entladung auf. In iobroker gibt es etliche Adapter, die die Leistungskennwerte Integrieren (aufsummieren) und so den Verbrauch ermitteln. Ich mache dies mit sourceanalytix. Da kommen dann plausible Werte raus (der Verbrauch der Batterieentladung ist nach meiner Messung etwa 10% höher, als jener, der in der App angegeben wird)Grafana Bilder eines Tages (gestern) der Leistungsmessungen:
I_AC
I_DC
M_AC
Battery Power
I_AC - M_AC
M_Import_Power (ausgerechnet aus M_Import)
API-Schnittstelle: Power
SE-Portal:
SE-App:
-
Ich hab schon seit mehr als 2 Jahren den Modbus-Adapter mit Solaredge im Einsatz. Hat an sich auch gut funktioniert. Jetzt wollte ich die Infos noch etwas erweitern, aber der Adapter spinnt mit manchen Adressen. Interessanterweise kommt
Poll error count: 1 code: {"errorCode":131,"exceptionCode":2,"message":"ILLEGAL DATA ADDRESS"}
immer nur dann wenn ich im Adapter die Adressen zum Strom der Phase B (damit ist wohl L2 in Deutschland gemeint) aktiviere. Aber nach einiger Zeit steckt es jetzt auch so fest.
Ahja, ich habe die beta des Modus-Adapters im Einsatz, irgendwie hat die stable seltsame Adressen vergeben und damit falsche Objekte angelegt. Mit der beta geht auch das Editieren als TSV (ich kenn das als CSV mit Tabs als Delimiter, aber sei's drum). Hier mein TSV:
_address name description unit type len factor offset formula role room poll wp cw isScale 40073 I_AC_CurrentA AC Phase A Current value A int16be 1 1 0 value true false false false 40074 I_AC_CurrentB AC Phase B Current value A int16be 1 1 0 value true false false false 40075 I_AC_CurrentC AC Phase C Current value A int16be 1 1 0 value true false false false 40076 I_AC_Current_SF AC Current scale factor int16be 1 1 0 value true false false false 40084 I_AC_Power AC Power value W int16be 1 1 0 value true false false false 40085 I_AC_Power_SF AC Power scale factor int16be 1 1 0 value true false false false 40097 I_DC_Current DC Current value A uint16be 1 1 0 value true false false false 40098 I_DC_Current_SF DC Current scale factor int16be 1 1 0 value true false false false 40099 I_DC_Voltage DC Voltage value V uint16be 1 1 0 value true false false false 40100 I_DC_Voltage_SF DC Voltage scale factor int16be 1 1 0 value true false false false 40101 I_DC_Power DC Power value W int16be 1 1 0 value true false false false 40102 I_DC_Power_SF DC Power scale factor int16be 1 1 0 value true false false false 40104 I_Temp_Sink Heat Sink Temperature int16be 1 1 0 value true false false false 40107 I_Temp_SF Heat Sink Temperature int16be 1 1 0 value true false false false 40108 I_Status Operating State uint16be 1 1 0 value true false false false 40109 I_Status_Vendor Vendor-defined Operating State uint16be 1 1 0 value true false false false 40191 M_AC_Current AC Current (sum of active phases) A int16be 1 1 0 value true false false false 40192 M_AC_Current_A Phase A AC Current A int16be 1 1 0 value true false false false 40193 M_AC_Current_B Phase B AC Current A int16be 1 1 0 value false false false false 40194 M_AC_Current_C Phase C AC Current A int16be 1 1 0 value true false false false 40195 M_AC_Current_SF AC Current Scale Factor int16be 1 1 0 value true false false false 40196 M_AC_Voltage_LN Line to Neutral AC Voltage (average of active phases) V int16be 1 1 0 value true false false false 40197 M_AC_Voltage_AN Phase A to Neutral AC Voltage V int16be 1 1 0 value true false false false 40198 M_AC_Voltage_BN Phase B to Neutral AC Voltage V int16be 1 1 0 value true false false false 40199 M_AC_Voltage_CN Phase C to Neutral AC Voltage V int16be 1 1 0 value true false false false 40200 M_AC_Voltage_LL Line to Line AC Voltage (average of active phases) V int16be 1 1 0 value true false false false 40201 M_AC_Voltage_AB Phase A to Phase B AC Voltage V int16be 1 1 0 value true false false false 40202 M_AC_Voltage_BC Phase B to Phase C AC Voltage V int16be 1 1 0 value true false false false 40203 M_AC_Voltage_CA Phase C to Phase A AC Voltage V int16be 1 1 0 value true false false false 40204 M_AC_Voltage_SF AC Voltage Scale Factor int16be 1 1 0 value true false false false 40205 M_AC_Freq AC Frequency Hz int16be 1 1 0 value true false false false 40206 M_AC_Freq_SF AC Frequency Scale Factor Hz int16be 1 1 0 value true false false false 40207 M_AC_Power Total Real Power (sum of active phases) W int16be 1 1 0 value true false false false 40208 M_AC_Power_A Phase A AC Real Power W int16be 1 1 0 value true false false false 40209 M_AC_Power_B Phase B AC Real Power W int16be 1 1 0 value true false false false 40210 M_AC_Power_C Phase C AC Real Power W int16be 1 1 0 value true false false false 40211 M_AC_Power_SF AC Real Power Scale Factor int16be 1 1 0 value true false false false
Hatte das jemand auch? Was habt ihr im Modbus-Adapter damit er stabil alle Adressen lesen kann?