NEWS
[Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana
-
löschen, glaube hab den Fehler
-
@hennerich @Glasfaser
vielleicht kann mir einer von euch beiden einmal helfen, meine Werte richtig auszulesen bzw. zu berechnen. Ich kapiere es gerade nicht. Die Anlage besteht aus einem SE10K-RWB48BFN4, einem Meter SE-RGMTR-1D-240C-A und einer Batterie SolarEdge Home Battery 9.2kWh. Ich kann die Register entsprechend auslesen, aber wie berechne ich jetzt zB meine Produktion, meinen Hausverbrauch, meinen Netzbezug usw. Ich habe mir das Tutorial durchgelsen und verstehe im Prinzip die Berechnung/Auswertung. Irgendwie bringt mich aber die Batterie durcheinander und verstehe gerade nur noch Bahnhof.Könntet ihr mir bitte helfen und mir die Berechnungen mit Batterie noch einmal darstellen?
Ich komme gerade nicht mehr weiter...Wäre super nett - danke
Marcus
-
Hallo.
Ich bin mir gerade sehr unsicher ob die Werte stimmen:
Die Werte sind durch das ablesen minimal Zeitversetzt aber passen doch überhaupt nicht zusammen.Die umgerechneten Werte addiert, müssen doch die Werte in der App ergeben oder st der APP Wert die Aktuelle Sonnenenergie + In-Akku ?
Modbus ID:
WR1
40083: 17300 W
40084: -1
WR2
40083: 9500 W
40084: -1Mit dem Script umgerechnet:
WR1: 1683 W
WR2: 940 WAPP
1,9 kW -
@bitwicht
PV Erzeugung ist bei mir 40083+102837
Eigenverbrauch = PV Erzeugung - Einspeisung
Hausverbrauch = Eigenverbrauch + BezugEinspeisung = 40207 positive Werte
Bezug = 40207 negative WertePV Erzeugung weicht so aber ab ggü. App, da Speicherentladung auch dazu gezählt wird (auch nachts).
-
Hi Glasfaser, gibt es mittlerweile eine Lösung für die richtige Anzeige von 57718?
Ich werde da nicht richtig schlau, scheinbar funktioniert es ja bei einigen Usern im Forum, kannst Du mir da helfen?57666 Battery Rated Energy Battery Rated Energy Wh floatsw 2 1 0 value true
57716 Batterie Batterie W floatsw 2 1 0 value true
57718 Batterie Lifetime_Exp Batterie Lifetime_Exp Wh uint64le 4 1 0 value true
57722 Batterie Lifetime_Imp Batterie Lifetime_Imp Wh uint64le 4 1 0 value true
57728 Batterie Available Energy Batterie Available Energy Wh floatsw 2 1 value true
57732 Batterielevel Batterielevel % floatsw 2 1 0 value true
57734 Batteriezustand Batteriezustand Batterie Zustand (0 = Aus, 1 = Standby, 2 = Initialisierung, 3 = Laden, 4 = Entladen, 5 = Fehler, 6 = Leerlauf) uint32sw 2 1 0 value true
63236 Storage Control Mode 0 – Disabled 1 – Maximize Self Consumption 2 – Time of Use (Profile programming) 3 – Backup Only 4 – Remote Control by an external controller uint16be 1 1 0 value trueDanke & Vg Smartuser
-
Meine geschrieben Werte sind ja rein die aktuelle Erzeugung.
Wenn ich der App 1,9 kW steht müssen es doch über Modbus auch 1,9kW sein (aufgeteilt auf meine 2 WR).
-
@bitwicht
Dann meinst du aber kwh und nicht kw, sprich die Energie die du erzeugt hast oder?
Dass hab ich über das Register 40094 realisiert. Hier in der früh den Zählerstand gespeichert und dann den aktuellen Wert davon abgezogen. -
Nö, ich meine nicht die Produktion pro Tag sondern was die Anlage gerade an Leistung hat.
In der App steht kW das soll eigentlich dem Modbus Wert 40083 entsprechen.und das passt bei mir überhaupt nicht.
-
@bitwicht
Das passt bei mir, natürlich nicht auf das Watt genau und auch nicht auf die Sekunde genau. Aber am Ende des Tages stimmt alles überein.
Sorry dann kann ich dir auch nicht weiter helfen. -
Frage zur Berechnung.
ID 40083 ist doch die aktuelle Leitung der PVA.
ID 40084 ist der Scling FaktorDen Wert lasse ich dann über das Script umrechnen.
function convertValue(value, factor) { if (value === null) return; if (factor === null) factor = 0; setState('PV.Wechselrichter.SE-10KRWS-PVLeistungAktuell', value * Math.pow(10, factor), true); } createState('PV.Wechselrichter.SE-10KRWS-PVLeistungAktuell', { name: 'PV-WR-SE-10KRWS-PVLeistungAktuell', unit: 'W', min: 0, type: 'number', role: 'value.energy' }, function () { on('modbus.0.holdingRegisters.1.40083_I_AC_Power'/*AC-Leistungswert*/, function(obj) { var timeout = setTimeout(function () { clearTimeout(timeout); var factorState = getState('modbus.0.holdingRegisters.1.40084_I_AC_Power_SF'/*AC-Leistung Skalierungsfaktor*/); convertValue(obj.state.val, factorState ? factorState.val : 0); }, 100); }); var factorState = getState('modbus.0.holdingRegisters.1.40084_I_AC_Power_SF'/*AC-Leistung Skalierungsfaktor*/); var valueState = getState('modbus.0.holdingRegisters.1.40083_I_AC_Power'/*AC-Leistungswert*/); convertValue(valueState ? valueState.val : null, factorState ? factorState.val : 0); });
Den Datenpunkt aus dem Script, zeichne ich mit dem Sourceanalytics Adapter auf.
Hier die Config:
Somit müsste ich doch am Ende des Tages die am Tag erzeugte Energie haben.
Der Wert passt aber leider überhaupt nicht (viel zu hoch).
Haben ich einen Denkfehler?
@hennerich müsste das so passen, kannst du das bei dir kontrollieren?
-
Ja ist bei mir auch zu hoch in der Nacht zeigt mir die I AC Power ca 500 Watt an ?
Habe da auch noch keine Lösung gefunden -
Das kann ich bestätigen. Bei mir kommen aus dem Modbus Adapter auch ca. 500 Watt, aber nur bei dem Hybrid-WR. Ich glaube ich habe mal im PV Forum gelesen, dass der Hybrid WR nie "aus" geht wegen der Akku Minimal Ladung.
Aber er dürfte ja bei Produktion nichts anzeigen.Interessant ist auch das die Werte der SE-API nicht zu SE-App und auch nicht zur SE-Webportal Export CSV passen.
Gibt es auch minimale Abweichungen.Verstehe ich nicht was die Hersteller da für Mist machen.
Ich hatte bei SE schon 5 Tickets offen aber es heißt immer das alles passt.
-
@bitwicht
Ja, hatte ich ja auch schon mal geschrieben. Sehe das auf meinem Grafana ab und zu steigt Production und Verbrauch um 500 W an. Damit stimmt dann natürlich alles nicht mehr. Komischer Weise ist das ja beim Monitoring nicht so.Nutzt SolarEdge da andere Register? -
ich weiß es leider nicht da SE mir keine vernünftige Antwort gibt.
Komisch finde ich schon das die Daten SE-App vs SE-Web-CSV vs SE-API nicht übereinstimmen.
Vielleicht berechnet SE die Daten anhand des Smart-Meter und nicht anhand der Register.
-
@lisalisa
Danke. Die gehen gut.
Aber: 102829 ist die "Durchschnittstemperatur" der Batterie. Weißt du, wovon der Durchschnitt genommen wird?, etwa- von mehreren Batteriemodulen (so dass es eine zeitlich punktuelle Temperaturmessung ist). Wenn so: Kann man die Temperaturen der einzelnen Module auslesen?
- über Zeit? Dann: von welchem Zeitraum? Auch hier: Gibt es Register, die den aktuellen Temperaturwert ausgeben (vorhanden sein müsste er dann ja).
Woher hast Du diese Registerangaben?
Kennst Du (oder jemand anders hier) eine Dokumentation, wo auch angegeben ist, was die schreibbaren Steuer-Register konkret bewirken, wo also die Logik der Steuerung angegeben ist?
Dank im Voraus
W -
@wrod
Bitte schön, habe aber gerade keinen Plan welchen Beitrag du meinst.Irgendwelche Registerangaben und Infos habe ich hier aus dem Forum und aus PDFs.
Google mal nach "SunSpec-Protokoll in SolarEdge Wechselrichtern" oder "Open Protocol for SolarEdge Inverters"In dieser PDF z.B. stehen Register
https://www.photovoltaikforum.com/core/attachment/88445-power-control-open-protocol-for-solaredge-inverters-pdf/von dieser PDF:
......
E16C (F56C) 2 R Battery 1 Average Temperature Float32 °C
E16E (F56E) 2 R Battery 1 Max Temperature Float32 °C
.....Bei mir ist zu beachten meine Adressen sind immer plus 1:
holdingRegisters.102829 Batterie 1 Average Temperature °C
z.B. Adresse 102.829 - 40.000 = dezimal 62.829 = hexadezimal F56D (=Adresse plus 1) -
@lisalisa
Danke. Ich meine diesen hier: https://forum.iobroker.net/post/975915.In dem von Dir verlinkten Dokument und in Deiner letzten Mail sind Adressen in ganz anderem Format. in dem oben genannten Post hattest Du für BYD Register mit 100000er Adressen. Dafür bräuchte ich eine Dokumentation.
-
@wrod sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
In dem von Dir verlinkten Dokument und in Deiner letzten Mail sind Adressen in ganz anderem Format. in dem oben genannten Post hattest Du für BYD Register mit 100000er Adressen. Dafür bräuchte ich eine Dokumentation.
Einfach die 100000er Adressen ausrechnen
z.B. Adresse 102.829 - 40.000 = dezimal 62.829 = hexadezimal F56D (=Adresse plus 1) -
Habe mal meine Adressen umgerechnet...
-
@lisalisa Danke! Das hilft weiter.
Ich kann sie einrichten, aber einige (10072x) geben leider noch keine Werte. Vielleicht doch nicht für genau mein Modell geeignet (obwohl andere (1028xx) funktionieren).