NEWS
Solaredge Adapter (Photovoltaikanlage)
-
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 )
-
@soeni sagte in Solaredge Adapter (Photovoltaikanlage):
Ich habe den Modbusadapter 3.4.11.
STOP !!!
Habe gerade etwas festgestellt , bzw. ausprobiert .
Ändere ich in meiner vorhandenen Instanz den SF Wert Eintrag , ist das Ergebniss so wie es sein sollte .
Aber , wenn ich eine neue Instanz anlege und dort die SF Werte , ändere oder als gesamt einfüge , wie die Vorlage z.B von @Al-Bundy wie die Registerreihenfolge auch bei mir ist ,
dann erscheind alles in (null).
Der SF-Skalierungsfaktor wird nicht genommen , ist wohl ein Bug .
-
@glasfaser Das heist dann für mich, dass ich das aktuell bei mir nicht nutzen kann. oder wie kann ich es machen, dass es bei mir funktioniert? Ich habe ja sowohl die alte instanz als auch eine neue Instanz genutzt. Beide zeigen ja null.
-
@soeni sagte in Solaredge Adapter (Photovoltaikanlage):
oder wie kann ich es machen, dass es bei mir funktioniert?
Du kannst eine Version erstmal runter gehen ,damit versuchen und ich weiß nicht ab welcher Version der Bug dort reinkahm.
Expertenmodus , dann auf bestimmte Version installieren .
.
-
@soeni
Habe ein Issues dazu erstellt. -
Kannst du mal bitte die Modbus Adapter Version 3.4.14 testen .
Changelog 3.4.14 (2021-08-31) (nkleber78) Fixed issue with sorting (bluefox) Corrected the calculations with scaling factor (bluefox) Read times were optimized
Bei mir stimmt es noch nicht !
siehe auch mein Issues Verlauf dazu , -
@glasfaser Hi, habs grad mal von Github instaliert und funktioniert bei mir jetzt. Vielen Dank. Habs erst mal mit dem Testadapter getestet. muss jetzt umziehen auf den richtigen Adapter.
-
Meine Testinstanz hat aber nur ein Testfeld. Ich probiere es die Tage noch einmal mit mehr werten.
-
Ich denke mal das liegt jetzt nur an meiner Test Instanz ..... die nicht geht .
Da es bei dir geht , schließe ich das Issues. -
Hallo zusammen,
erstmal ein riesen Lob für Eure Arbeit hier im Forum!!!
Bin auch seit einigen Tagen im Besitz einer PV-Anlage.
Jetzt versuche ich Eure Idee auch umzusetzen, klappt aber nicht.
Habe auch die Version 3.4.11 (Modbus) eingerichtet.
Beim Start oder Neustart ist alles grün, wird dann aber wieder gelb.
Ich habe alles versucht bekomme es aber nicht wirklich hin. Alle Werte stehen auf "0". Im Log bekomme ich auch eine Fehlermeldung, kann aber nicht wirklich etwas damit anfangen.
Habt Ihr eine Idee?