NEWS
Solaredge Adapter (Photovoltaikanlage)
-
@pvonroof
Hi PVonRoof
Du scheinst dich stark mit der Materie zu befassen und auszukennen. Freut mich und danke für deine Kommentare.
Zu Hausverbrauchs-Leistung:
Wieso meinst du zu gering - misst du das noch anderweitig?
Habe vor der PV-Anlage den Gesamtstromverbrauch mit Homematic ES-LED direkt am Hauszähler gemessen und auch mit z.B. vielen Shelly's vergleichen können. Geht nun nicht mehr, da ja in der Nacht der Zähler fast kein Strom mehr sieht.
Habe hier mal ein Beispiel in der Nacht vom 28.05.2021 von 00:00 bis 04:00, bevor die PV Anlage installiert war.
Direkt am Stromzähler (Impulse gemessen), waren das über die 4h 1'180 Wh und somit im Ø knapp 300 Watt:
Der Zähler war geeicht und der Homematic Sensor hatte über 1 Jahr eine Abweichung von etwa -4 Stunden!
Zudem sind da noch die Shelly. Da muss ich leider zusammenrechnen oder via Portal die Summe der verschiedenen Zähler nehmen.
Leider nicht alles, aber mit 9 Shelly's 1PM bei den 1-Phasigen Sicherungsabgängen und weiteren Sensoren (+1x 3EM, + 2x 2.5) erfasse ich einen Grossteil des Stromes.
Für den besagten Zeitraum waren dies 1'056 Wh (Ø264W). Dabei fehlen die Shelly's selbst und auch einige 3 Phasige Sicherungsabgänge.
Neu dazu kam im Wesentlich der WR und die Batterie, die Auch nicht von den Shellys erfasst werden.
Deshalb erwarte ich eher einen Verbrauch von Ø 300 Watt anstelle von Ø 200 Watt in der Nacht wenn "nichts" läuft.Zu den Modbus Daten.
Ich komme mal vom neu installierten Hauszähler des Stromversorgers (Elster AS3000). Hier kann ich die Werte direkt mit IR-Lesekopf und vzlogger auslesen und speichern. Naja, klappt noch nicht richtig, wegen der zu langen USB Leitung hat es Unterbrüche. Aber das ist eine andere Baustelle.
Habe mir also auch wieder ein Zeitbereich angeschaut, wo die Sonne sicher nicht scheint (23.07.2021 00:00 - 04:00).
In dieser Zeit geht nichts raus (keine Rücklieferung), also so wie es sein soll:
Rücklieferung am Zähler somit: 0 Wh => Ø 0 Watt
Der Bezug liegt bei geringen 30 Wh => Ø 8Watt:
Da in dieser Zeit keine Leistung zurückgespiesen wurde, ist die Leistungskurve des Zähler nur als Bezug zu verstehen (Leider gibts es bei diesem Datenpunkt kein ±).
Das Leistungsdiagramm ist soweit schlüssig mit dem Verbrauch, also 30Wh und im Schnitt 8 Watt. Es sind auch mehrheitlich weniger bis auf die 3 Ausreisser:
Die Erwartung wäre also, dass M_AC für diese Zeit negativ ist, M_Import ein Delta von 30Wh aufweist und M_Export ein Delta von 0Wh...
M_Import liefert bei mir keine negativen Werte! Die Grössenordnung passt aber:
Ich muss hier mal das umrechnungs-Script prüfen, welches die M_AC Werte mit dem Skalierfungsfaktor verrechnet. Evtl. liegt da ein Fehler vor.
M_Import zeigt dann leider wieder zu viel an (125 Wh, gegenüber AS3000 mit 30 Wh):
M_Export müsste nahezu 0 sein, ist jedoch auch bei 112 Wh:
Naja, an dieser Stelle löse ich erst mal mein Problem mit dem M_AC_Power ± Werten...DC-DC Verluste:
Interessante Grafik von dir. Ich finde die Verluste doch sehr gross, vergleicht man diese mit den DC-AC Verlusten (I_DC - I_AC).
In Grafana geht das relativ einfach. Habe dies mal so wie von dir beschrieben gemacht und in der Nacht Battery Power - I_DC gerechnet.
Das ergibt ein leicht ansteigender Verlust von 85W bis 90W (und das bei 300 Watt der Batterie, bzw. 200 Watt Netzlast!). Da bin ich aber zu wenig Elektrotechniker um dies beurteilen zu können.
Hier die Grafik dazu:
Ich bin mir nicht ganz sicher was du mit Eigenverbrauch meinst
Ist so in der SE-App bezeichnet und entspricht der blaue Kurve. Genau steht da: Energie - Eigenverbrauch (naja, ist in diesem Fall die Leistung und nicht die Energie...)
Damit ist der Anteil des (Haus-) Verbrauches gemeint, der selbst erzeugt wird (PV oder Batterie) und immer kleiner als der Verbrauch (rote Kurve in der App). -
@al-bundy said in Solaredge Adapter (Photovoltaikanlage):
Ich muss hier mal das umrechnungs-Script prüfen, welches die M_AC Werte mit dem Skalierfungsfaktor verrechnet. Evtl. liegt da ein Fehler vor.
Ich habe die Skripte von hier:
https://forum.iobroker.net/topic/38322/tutorial-solaredge-modbus-iobroker-grafana/2
für die Umrechnung benutzt.
Das funktioniert soweit einwandfrei bei mir.M_Import und M_Export sind stehts positiv, aber M_AC_P ist bei mir nachweislich positiv und negativ.
Hier ein Beispiel mit leerer BatterieBlau ist der Wert von M_AC_P
Und dieser springt sobald die Batterie leer ist auf negative Werte und ersetzt damit nahtlos die Batterie (schwarze Kurve), die logischerweise auf 0 geht.
Warum die rote Linie (P_DC Wechselrichter) nicht auf Null geht, ist mir ein Rätsel. Dazu läuft schon ein Ticket bei SolarEdge.
Würde mich interessieren, ob ich der einzige bin, dessen DC-seitige Leistung bei leerer Batterie und ohne PV-Ertrag auf 600 W springt. Also gerne einmal mitloggen wenn die Batterie leer werden sollte.DC-DC Verluste:
Interessante Grafik von dir. Ich finde die Verluste doch sehr gross, vergleicht man diese mit den DC-AC Verlusten (I_DC - I_AC).Da stimme ich völlig überein.
Der größte Witz ist aber, dass der WR bei leerer Batterie nicht in den Standby geht, sondern fröhlich weiterhin 60 W verbrät. Im Winter summiert sich das ganz schön auf.
Wieviele Stunden steht die Batterie leer herum - 1/6 vom Jahr könnte vielleicht hinkommen? Macht 1/6 *8760 h = 1460h und ergibt damit einen unnötigen Mehrverbrauch von ca. 90 kWh. Kosten über 20 Jahre dann etwa 540 €. Das ist unsinnig und völlig unnötig.
Dazu gibt es auch einen sehr langen thread im PVForum:
https://www.photovoltaikforum.com/thread/149483-storedge-se8k-monitoringplattform-energie-heute-läuft-rückwärts/ -
@al-bundy sagte in Solaredge Adapter (Photovoltaikanlage):
Ich muss hier mal das umrechnungs-Script prüfen, welches die M_AC Werte mit dem Skalierfungsfaktor verrechnet.
@pvonroof sagte in Solaredge Adapter (Photovoltaikanlage):
Ich habe die Skripte von hier:
https://forum.iobroker.net/topic/38322/tutorial-solaredge-modbus-iobroker-grafana/2
für die Umrechnung benutzt.Hallo ihr zwei , ich bin auch gerade dabei meine neue SolarEdge Anlage mit dem Modus einzurichten , Anlage ist noch nicht in Betrieb der Zweirichtungszähler fehlt noch
und mir ist aufgefallen , das der Wert mit der Modbusangabe im Formula eher entspricht , als das Script selber .
Oder liege ich da falsch !?
Die Ausgabe erfolgt dann sofort im Datenpunkt 40083 I_AC_Leistung AC-Leistungswert schon umgerechnet .
Formula This field can be used for advanced calculations if Factor and Offset is not sufficient. If this field is set, then the Factor and Offset field is ignored. The Formula is executed by the eval() function. Therefore all common functions are supported. Especially the Math functions. The formula must comply with Javascript syntax, therefore also take care about upper and lower cases. In the formula, "x" has to be used for the read value from Modbus. E.g. x * Math.pow(10, sf['40065']) If the formula cannot be evaluated during runtime, then the Adapter writes a warning message to the log. Another use case for formulas could also be to prevent implausible data with a formula like x > 2000000 ? null : x
40083 I_AC_Leistung AC-Leistungswert W uint16be 1 1 0 x * Math.pow(10, sf['40084']) value true false false false 40084 I_AC_Leistung_SF AC-Leistung Skalierungsfaktor SF int16be 1 1 0 value true false false true
und @Al-Bundy Danke für die Modbus Vorlage !
-
Naja, an dieser Stelle löse ich erst mal mein Problem mit dem M_AC_Power ± Werten...
Fehler gefunden. Minimal Wert der Variable war mit 0 definiert anstelle von -20000.
Nun gehen die negativen Werte
Ich mach mich dann nochmals an die Hausaufgaben zur Leistungsmessung und Darstellung...@pvonroof sagte
Der größte Witz ist aber, dass der WR bei leerer Batterie nicht in den Standby geht, sondern fröhlich weiterhin 60 W verbrät.
Kann ich so noch nicht bestätigen. Da die Anlage erst seit Juni läuft, ist die Batterie noch nie unter 48% gefallen.
Wenn dem so ist, müsste man wohl die Batterie abstellen, wenn sie leer ist.@Glasfaser sagte
Modbus Factor for 40083 I_AC_Leistung: x * Math.pow(10, sf['40084']
Wenn das geht ist ja prima! Ich selbst habe es nicht versucht und mich auch an Skripten aus den Foren gehalten. Wenn man so Skripte sparen kann um so besser.
Geht es denn bei dir? Ich hab's noch nicht getestet um mir die geloggten Daten nicht zu zerschiessen.@Glasfaser : Bitte für die Modbus Vorlage. Habe auch lange danach gesucht und keine vollständige gefunden. Anhand des Sprachenmix und der unterschiedlichen Kennzeichnung ist zu sehen, dass dies aus diversen Forenbeiträgen ist und teils von mir aus Datenblättern übersetzt wurde. Ist also nicht perfekt, aber funktioniert.
-
@al-bundy sagte in Solaredge Adapter (Photovoltaikanlage):
Geht es denn bei dir? Ich hab's noch nicht getestet um mir die geloggten Daten nicht zu zerschiessen.
Ja , es geht und ich finde der Wert ist realer der anzeigten Werte per App / Online.
Habe dazu gestern die Anlage mal kurz in Betrieb genommen und der Wert per Skript zum vergleich Modbus per Formula hatte ein unterschied von ~1,2 KW und das fand ich schon happig .
Also Online bei der Bewölkung gestern schwanke die App / Online bei 6,2 KW , bei Nutzung des Skript war ich bei ~5 KW und mit Modbus Formula passte der Wert zu 6,2 KW.
Ich kann mich auch täuschen und lasse mich eines besseren belehren ... bin noch am Anfang mit der PV
-
@glasfaser said in Solaredge Adapter (Photovoltaikanlage):
Hallo ihr zwei , ich bin auch gerade dabei meine neue SolarEdge Anlage mit dem Modus einzurichten , Anlage ist noch nicht in Betrieb der Zweirichtungszähler fehlt noch
und mir ist aufgefallen , das der Wert mit der Modbusangabe im Formula eher entspricht , als das Script selber .Hallo @Glasfaser,
Formula hatte ich bislang noch nicht gehört. Das ist dann direkt im Modbus Adapter bei den Holding Registern.
Beim Ausdruck sf['40084'] hänge ich etwas, kommt das "sf" von der Einheit "SF", die du bei 40084 definiert hast?
Werde ich auf jeden Fall einmal probieren.Fehler gefunden. Minimal Wert der Variable war mit 0 definiert anstelle von -20000.
Na also, super! Dann stimmt mein Weltbild auch wieder
Kann ich so noch nicht bestätigen. Da die Anlage erst seit Juni läuft, ist die Batterie noch nie unter 48% gefallen.
Wenn dem so ist, müsste man wohl die Batterie abstellen, wenn sie leer ist.Das geht nicht so einfach, weil dadurch der Schutz vor Tiefentladung entfällt. In dem genannten Thread aus dem PVForum hatte da auch schon jemand deutlich zu tief entladen, wodurch die Batterie beschädigt werden kann.
Den "Fehler" fiel zunächst dadurch auf, dass der Energiezähler bei leerer Batterie rückwärts läuft. Den tatsächlichen Wert kann man auch mit der SetApp bei vorhandenem Installateursaccount direkt ablesen. SolarEdge hatte dazu zunächst Besserung und Softwareupdate in Q2/2021 versprochen, aber es passiert nichts.
Jetzt soll angeblich zeitnah eine neue Generation von Hybridwechselrichtern auf den Markt kommen. -
@pvonroof sagte in Solaredge Adapter (Photovoltaikanlage):
Formula hatte ich bislang noch nicht gehört. Das ist dann direkt im Modbus Adapter bei den Holding Registern.
Ich habe auch oben das ModbusRegister als Screenshot und als Vorlage beigefügt was zu machen ist .
kommt das "sf" von der Einheit "SF", die du bei 40084 definiert hast?
richtig , deshalb kommt im Register 40084 der Haken rein
-
@glasfaser
Habe seit gestern auch auf Formeln umgestellt und testhalber mit dem Javascript verglichen (in Javascript Math.pow auf Basis 1 anstelle 10 umgestellt).
Bei mir kommt genau das selbe raus, wenn ich z.B. den Tagesverlauf von M_AC-Javascript und M_AC-Modubus-Formel vergleiche (Subtraktion gibt immer 0)
Danke für den Tipp. Super Sache. Skripte gespart und man sieht auch direkt in den Modbus Objekten die richtigen Zahlen
Kleine Anmerkung zu deinem Post: Da fehlt am Schluss noch die Klammer, darum hat es bei mir zu Beginn nicht funktioniert.
Ich habe mal diese 4 Modbus Adressen umgestellt und stelle die Javascripts zur Umrechnung ab (Bild der Holding Registers in der Adapter Version 3.4.9):
Auch kann es so keine Fehler mehr geben, des nicht zeitgleichen Auslesens, wie dies schon oft andere User berichtet haben.
Da ich auch erst Beginne, meine Grafana Panels zu erstellen, ist es mir egal, die alten Datenwerte zu verlieren. -
@al-bundy sagte in Solaredge Adapter (Photovoltaikanlage):
Kleine Anmerkung zu deinem Post: Da fehlt am Schluss noch die Klammer, darum hat es bei mir zu Beginn nicht funktioniert.
Stimmt ... habe es editiert , ist mir beim testen nicht aufgefallen .
Das Problem ist , ich bin auch noch am testen . bzw. die Anlage wurde nach der Errichtung wieder ausgeschaltet , da der Zweirichtungszähler von den Stadtwerken noch fehlt
Daher alles Offline ......
-
Die Leistungsdaten habe ich nun zusammen.
Hier verglichen mit der mySolarEdge App. Links Grafana Auswertung und rechts die App:
Die Grafiken stimmen recht gut überein (wenn auch nicht perfekt).Die Leistungswerte habe ich wie folgt ausgerechnet:
1. Produktion PV (PV-Erzeugung):
40083_I_AC_Leistung + 57716_Battery_1 Instantaneous Power
Bemerkung: Variabelbereich von 0 - 20'000W, damit es in der Nacht keine negativen Werte gibt (DC-DC-Verluste)
2. Verbrauch (Hausverbrauchs-Leistung):
40083_I_AC_Leistung - 40206_M_AC_Power
3. Eingenverbrauch-Leistung:
40083_I_AC_Leistung - (positive Werte von: 40206_M_AC_Power)
Herleitung:
Verbrauch - Leistung aus dem Netz
= 40083_I_AC_Leistung - 40206_M_AC_Power - (negative Werte von: 40206_M_AC_Power)
= 40083_I_AC_Leistung - [(positiven Werte von: 40206_M_AC_Power)+(negativen Werte von: 40206_M_AC_Power)] - (negative Werte von: 40206_M_AC_Power)
= 40083_I_AC_Leistung - [(positiven Werte von: 40206_M_AC_Power)+(negativen Werte von: 40206_M_AC_Power)] - (negative Werte von: 40206_M_AC_Power)
= 40083_I_AC_Leistung - (positiven Werte von: 40206_M_AC_Power)
4. Von der Batterie (Batterie Entlade-Leistung):
negative Werte von: 57716_Battery_1 Instantaneous Power
in der Nacht ist nun die angezeigte Energie aus der Batterie höher, als der Verbrauch (DC-DC-Verlust von etwa 90 Watt), dies stimmt mit der App noch nicht überein. Dort wird in der Nacht die Batterieleistung nie höher als der Verbrauch angezeigt.
5. Batterie Lade-Leistung (taucht in der App nicht einzeln auf):
positive Werte von: 57716_Battery_1 Instantaneous Power
6. Leistung aus dem Netz (taucht in der App nicht einzeln auf, Imported Power):
negative Werte von: 40206_M_AC_Power
7. Einspeisung (Leistung ins Netz, Exported Power)
positive Werte von: 40206_M_AC_PowerLeistungen habe ich somit beisammen. Teils werden die Werte der Batterie noch nicht regelmässig aktualisiert / geloggt, ansonsten kann ich nun gut unterschiedliche Grafiken zusammenstellen.
Rechnet ihr die Werte auch so aus?
Nächster Schritt ist die Berechnung / Visualisierung aller 7 Energie-Werte und ein Vergleich zum Hauszähler... -
Nun habe ich auch die Energieverbräuche zusammen.
Bis auf die Batterie ist es hier nicht ganz so schwierig und die Werte stimmen exakt mit dem Portal überein:
Die Tabellen wurden direkt in Grafana erstellt, ohne Skripte oder ähnliches zu erstellen und zwar wie folgt:
1. PV Produktion:
Entspricht 40093_I_AC_Energie.
In Grafana habe ich eine Tabelle entsprechend gruppiert, um die Tageswerte zu erhalten:
SELECT max("value") -min("value") FROM "modbus.0.holdingRegisters.40093_I_AC_Energie_WH" WHERE $timeFilter GROUP BY time(1d) fill(none) tz('Europe/Berlin')
2. Einspeisung:
Entspricht 40226_M_Exported
3. Bezug:
Entspricht 40234_M_Imported
4. Verbrauch:
40093_I_AC_Energie - 40226_M_Exported + 40234_M_Imported
Kann über die Transform Operation ebenfalls direkt berechnet werden
5. Eigenverbrauch:
40093_I_AC_Energie - 40226_M_ExportedBei der Batterie wird es schwieriger (siehe @cybtrash vom 09.06.2021 22:09)
Habe hier mal die Daten der von Batterie entladen Leistung genommen und den kommulierten Zählerwert der Energie (berechnet vom SourceAnalytix Adapter) benutzt. Die Werte stimmen aber nicht mit dem Portal überein.
Hier hat vielleicht jemand eine bessere Lösung (z.B. API des Portales abrufen, oder die Prozente auswerten.) -
Den Vergleich zu den Zählerwerten habe ich auch gemacht.
Ich habe einen neuen Hauszähler installiert bekommen. Einen Elster AS3000.
Da lese ich nun die OBIS Daten aus (also die effektiven Zählerwerte, mit vzlogger).
Habe das nun 3 mal geprüft, aber ich bekomme echt erschreckende Abweichungen, insbesondere beim Strombezug.
Hier mal der direkte Vergleich. Einmal von den Juli Daten und dann noch von den Tagesverbräuchen im August.
Hat sonst noch jemand mit Batterie einen solchen Vergleich gemacht? Liegt hier doch noch ein Messproblem vor? -
@al-bundy sagte in Solaredge Adapter (Photovoltaikanlage):
@glasfaser
Habe seit gestern auch auf Formeln umgestellt und testhalber mit dem Javascript verglichen (in Javascript Math.pow auf Basis 1 anstelle 10 umgestellt).
Bei mir kommt genau das selbe raus, wenn ich z.B. den Tagesverlauf von M_AC-Javascript und M_AC-Modubus-Formel vergleiche (Subtraktion gibt immer 0)
Danke für den Tipp. Super Sache. Skripte gespart und man sieht auch direkt in den Modbus Objekten die richtigen Zahlen
Kleine Anmerkung zu deinem Post: Da fehlt am Schluss noch die Klammer, darum hat es bei mir zu Beginn nicht funktioniert.
Ich habe mal diese 4 Modbus Adressen umgestellt und stelle die Javascripts zur Umrechnung ab (Bild der Holding Registers in der Adapter Version 3.4.9):
Auch kann es so keine Fehler mehr geben, des nicht zeitgleichen Auslesens, wie dies schon oft andere User berichtet haben.
Da ich auch erst Beginne, meine Grafana Panels zu erstellen, ist es mir egal, die alten Datenwerte zu verlieren.hi, bei mir funktioniert das irgendwie nicht. habe die Formel wie im Screenshot eingetragen und SF angehakt. bei mir sieht das so aus:
Meine Adressen sind um eines verschoben aber die stimmen.
-
@soeni sagte in Solaredge Adapter (Photovoltaikanlage):
Meine Adressen sind um eines verschoben aber die stimmen.
Das heißt ohne die Formula sind Werte da ( Standard ) und wenn du die Formula einträgst inkl. den Haken bei "SF" fehlen die Werte?
-
@soeni Hast du bei 40085 I_AC_Power_SF ganz rechts bei Spalte "SF-Skalierungsfaktor" den Haken gesetzt? Ist in deinem Screenshot nicht zu sehen.
Ansonsten hier meine Zeilen, wo ich die Formel anwende zum Vergleichen:_address name description unit type len factor offset formula role room poll wp cw isScale 40083 I_AC_Leistung AC-Leistungswert W uint16be 1 1 0 x * Math.pow(10, sf['40084']) value true false false 40084 I_AC_Leistung_SF AC-Leistung Skalierungsfaktor SF int16be 1 1 0 value true false true 40100 I_DC_Leistung DC-Leistungswert W uint16be 1 1 0 x * Math.pow(10, sf['40101']) value true false false 40101 I_DC_Leistung_SF DC-Leistung Skalierungsfaktor SF int16be 1 1 0 value true false true 40103 I_Temp_Kühler Kühlkörpertemperatur °C uint16be 1 1 0 x * Math.pow(10, sf['40106']) value true false false 40106 I_Temp_SF Kühlkörpertemperatur Skalierungsfaktor SF int16be 1 1 0 value true false true 40206 M_AC_Power Total Real Power (sum of active phases) W int16be 1 1 0 x * Math.pow(10, sf['40210']) value true false false 40210 M_AC_Power_SF AC Real Power Scale Factor SF int16be 1 1 0 value true false true
-
Hi, vieln Dank für die Hilfe. SF Haken ist gesetzt. anbei der Auszug:
40085 I_AC_Power_SF I_AC_Power_SF SF int16be 1 1 0 value true false false true 40084 I_AC_Power I_AC_Power W uint16be 1 1 0 x * Math.pow(10, sf['40085']) value true false false
Das Ergebnis ist, dass vorher (Ohne Formel sonst alles gleich) der AC Wert im Objekt stand (Natürlich ohne SF korrektur) und hinter herr ein 'null' also nicht definierter Wert.
-
Erselle eine weitere Modbus Instanz ( bestehende Instanz ausschalten ) und teste mal nur hiermit:
Deine Adresse habe ich schon angepasst :
40084 I_AC_Leistung AC-Leistungswert W uint16be 1 1 0 x * Math.pow(10, sf['40085']) value true false false false 40085 I_AC_Leistung_SF AC-Leistung Skalierungsfaktor SF int16be 1 1 0 value true false false true
-
Frage hat sich erledigt....es funktioniert wieder - warum auch immer.
-
@glasfaser Sorry dass das so lange gedauert hat, bin jetzt erst dazu gekommen.
Auch mit neuer Instanz und direktem Kopieren komme ich zum gleichen Effekt. Ich habe den Modbusadapter 3.4.11. muss ich noch was anderes beachten? Updates werden mir keine angezeigt, habe auch das neuste Node JS drauf. -
@soeni sagte in Solaredge Adapter (Photovoltaikanlage):
Ich habe den Modbusadapter 3.4.11. muss ich noch was anderes beachten?
Alles gut .
Da gibt es nichts zu beachten , ich habe keine schimmer warum er dann bei dir (null) anzeigen sollte !Ich weiß nicht ob man das mit der Logstufe DEBUG herrausfinden kann , teste es mal was kommt dann im Log ( nur die Instanz mit den zwei Werten nutzen )