NEWS
[Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana
-
@foradh-0 nein, ich bin geauso nur normaler Kunde Daher kann ich dir die Frage nicht beantworten.
Die Aussage dass der Modbus nicht weiter unterstützt werden soll kam vom Support und bezieht sich so wie ich es verstanden habe in erster Linie auf die RWB WR mit SE Speicher und Backup Interface.
Das API ist aktuell noch sehr dünn und beinhaltet leider nur Lesezugriff. Hoffentlich gibt SE auch die Schreibenden Funktionen bald frei (die gibt es ja - sie werden vom Installateurs-Account und von der Monitoring App verwendet). -
Hallo,
bei mir Funktioniert alles aber warum wird in der Javascript Datei "PVErzeugteEnergieTag" drei mal der Zähler zurückgesetzt?
Durch dieses drei malige zurücksetzen ist der Wert in Grafana dann vom vorherigen Tag auch Falsch.schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"days":1}}', async () => { console.debug('Erzeugungswerte zurückgesetzt'); setState('javascript.0.Solar.Wechselrichter.PVErzeugteEnergieTag', getState('modbus.0.holdingRegisters.40094_TotalEnergy').val, true); setState('javascript.0.Solar.Wechselrichter.PVExportierteEnergieTag', getState('modbus.0.holdingRegisters.40227_MeterEnergyExportedTotal').val, true); setState('javascript.0.Solar.Wechselrichter.PVImportierteEnergieTag', getState('modbus.0.holdingRegisters.40235_MeterEnergyImportedTotal').val, true); }); schedule('{"time":{"exactTime":true,"start":"23:58"},"period":{"days":1}}', async () => { console.debug('Erzeugungswerte zurückgesetzt'); setState('javascript.0.Solar.Wechselrichter.PVErzeugteEnergieTag', getState('modbus.0.holdingRegisters.40094_TotalEnergy').val, true); setState('javascript.0.Solar.Wechselrichter.PVExportierteEnergieTag', getState('modbus.0.holdingRegisters.40227_MeterEnergyExportedTotal').val, true); setState('javascript.0.Solar.Wechselrichter.PVImportierteEnergieTag', getState('modbus.0.holdingRegisters.40235_MeterEnergyImportedTotal').val, true); }); schedule('{"time":{"exactTime":true,"start":"00:00"},"period":{"days":1}}', async () => { console.debug('Erzeugungswerte zurückgesetzt'); setState('javascript.0.Solar.Wechselrichter.PVErzeugteEnergieTag', getState('modbus.0.holdingRegisters.40094_TotalEnergy').val, true); setState('javascript.0.Solar.Wechselrichter.PVExportierteEnergieTag', getState('modbus.0.holdingRegisters.40227_MeterEnergyExportedTotal').val, true); });
Dieser Wert wird angezeigt wenn ich in Grafana "Yesterday" öffne. Obwohl es eigentlich gestern 30 kWh waren.
Danke im Voraus -
@foradh-0
Dieses Verhalten kann ich ebenfalls bestätigen mit meinem RWB48 SE10K Wechselrichter inkl. Batterie seit. ca. Anfang Dezember.Hätte aber noch eine andere Frage, weiß jemand von euch wie ich den gesamt Export von der Batterie berechnen kann?
-
@daruse sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
wie ich den gesamt Export von der Batterie berechnen kann?
aber nur ab jetzt , da es nicht Rückwirkend geht .
mit dem57718_Battery_1_Lifetime_Export_Energy_Counter
und dem SourceAnalytix Adapter
-
@glasfaser
das sollte dann bei mir folgendes Register sein: 102839_Batterie_export_Summe -
@glasfaser
Danke nochmal, soweit eingerichtet und sollte passen.
Dann bin auf morgen mal gespannt, weil das ist ja glaub nur ein Counter der bei guten 60.000 zurückgesetzt wird und ja doch recht flott hochzählt.
Weißt du wie die Logik dahinter ist? -
Upps Sorry .
Falschen Datenpunkt aus dem Script kopiert , das war mein trigger dafür57716_Battery_1_Instantaneous_Power
Muß aber per Script vom Wert - negativ dann x-1 gesetzt werden ., damit er positv ist und extra in einem neuen Datenpunkt gelegt werden .
Deswegen habe ich beide für michjavascript.0.Solar.Wechselrichter.Batterie Entlade-Leistung
javascript.0.Solar.Wechselrichter.Batterie Lade-Leistungper SourceAnalytix Adapter und auch per VIS
-
@daruse sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
Dann bin auf morgen mal gespannt, weil das ist ja glaub nur ein Counter der bei guten 60.000 zurückgesetzt wird und ja doch recht flott hochzählt.
Weißt du wie die Logik dahinter ist?hab das problem auch bei meinem SE Inline Energiezähler. Der Wert von Export (Total Exported Real Energy) zeigt irgendwas unter 60000 an. Dies stimmt nicht mit dem WErt am Display überein.
Der ImportWert (Total Imported Real Energy) stimmt jedoch. Nur der Export nicht.Was kann man da machen?
-
@glasfaser
Die Unterscheidung hatte ich scho wegen der Darstellung in der VIS, mit dem neuen Adapter und dem passenden Register klappt es jetzt auch.
Danke dir, gutes neues noch -
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