NEWS
Test Adapter e3dc-rscp v0.0.x GitHub
-
Hallo Zusammen,
hat denn schon Jemand die HISTORY_DATA genutzt? Per Script die Daten aktualisieren und mit dem History Adapter dann speichern, dass man sie u.a. in VIS nutzen kann?
Schöne Grüße
-
Hallo zusammen,
ist es möglich mit dem Adapter kWh Tages-/Montas/Jahreswerte auszulesen oder habt ihr das über eine Berechnung gelöst?
-
@kysr zusammen mit sourceanalytics ist das problemlos möglich.
Alternativ über die history Werte -
@brumark sagte in Test Adapter e3dc-rscp v0.0.x GitHub:
Gibt es eine Einschränkung beim setzen des Polling Intervalls?
Wenn ich das Intervall für die folgenden TAGs von L auf M ändere, dann werden die gesamten Batteriedaten beim Start genau einmal abgefragt, danach nie wieder.
- TAG_BAT_REQ_FCC
- TAG_BAT_REQ_RC
- TAG_BAT_REQ_USABLE_CAPACITY
- TAG_BAT_REQ_USABLE_REMAINING_CAPACITY
Es scheint so, als ob die Anfrage nicht mehr geschickt wird. Bin für einen Tipp dankbar.
Wenn sich der Wert nicht ändert, dann wird auch nichts aktualisiert.
Dachte am Anfang auch das die Werte nicht aktualisiert werden.
Kannst du prüfen, indem du dir die Werte merkst und dann die State löscht und die Instanz neu startest,
wenn jetzt die gleichen Werte eingetragen werden dann liegt es daran das diese sich nicht ändern und dann natürlich auch nicht aktualisiert werden. -
Habt ihr bereits das regulieren der Ladleistung versucht und hat es funktioniert?
Entscheidend sind doch diese 3 Werte oder habe ich hier ein Missverständnis?
Egal welche Werte ich gesetzt habe, es hatte keine Auswirkung. Es wurde immer 100 % geladen -
@kysr said in Test Adapter e3dc-rscp v0.0.x GitHub:
Hallo zusammen,
ist es möglich mit dem Adapter kWh Tages-/Montas/Jahreswerte auszulesen oder habt ihr das über eine Berechnung gelöst?
Hallo @kysr, setz doch mal in DB.HISTORY_DATA_YEAR den TIME_START Wert, dann bekommst du 12 Monatswerte.
-
Ja. Habe ich getestet und es funktioniert generell schon mal.
In den Einstellungen der Instanz musst du auch die Wiederholintervalle richtig einstellen, da sonst E3DC wieder die Regelung übernimmt.Mit SET_POWER_VALUE stellt man den Wert ein und mit SET_POWER_Mode den Modus, also idle, discharge, charge oder grid_charge.
-
@tbsjah said in Test Adapter e3dc-rscp v0.0.x GitHub:
Habt ihr bereits das regulieren der Ladleistung versucht und hat es funktioniert?
Entscheidend sind doch diese 3 Werte oder habe ich hier ein Missverständnis?
Egal welche Werte ich gesetzt habe, es hatte keine Auswirkung. Es wurde immer 100 % geladenJa stimmt, wobei
SET_POWER
rein lesend ist und den eingestellten Wert widerspiegeln sollte.
Bei mir ist das Verhalten anders: ich setzeSET_POWER_MODE
auf "Charge" und dannSET_POWER_VALUE
auf die gewünschten Watt. Die Ladeleistung wird reduziert, aber nur kurz, dann schwankt sie etwa im 30-Sekunden-Takt zwischen dem eingestellten Wert und dem maximal möglichen, siehe blaue Linie in ff. Grafik:
Der Kommentar in der E3/DC Tag-Liste zu
SET_POWER
lautet:
Mit diesem TAG kann in die Regelung des S10s eingegriffen werden. / Bei DC-Systemen ist die Ladeleistung auf die anliegende PV-Leistung beschränkt, bei AC und Hybrid-Systemen kann die Ladeleistung auch größer der PV-Leistung sein. / Achtung: Wenn mit diesem Kommando eingegriffen wird, wird eine eventuell gesetzte Einspeisereduzierung NICHT beachtet! / Achtung: Das Kommando muss mindestens alle 30 Sekunden gesetzt werden, ansonsten geht das EMS in den Normalmodus.
Dementsprechend wiederholt der Adapter dieSET_POWER
Nachricht alle 15 Sekunden (einstellbar im Admin-Dialog).Mir ist momentan nicht klar, warum die Ladeleistung nicht durchgehend unten auf dem gesetzten Wert bleibt - wer eine Idee dazu hat, immer her damit
-
@ujok Ich bin auch an einer vernünftigen History interessiert. Das mit dem Setzen des Datenpunktes habe ich verstanden, aber wie kann man das nun realisieren, dass man mit dem History Adapter diese Daten speichern kann. Ich denke mit einem Script geht das, aber mir fehlt hier das nötige Verständnis.
-
@schnutexxl said in Test Adapter e3dc-rscp v0.0.x GitHub:
@ujok Ich bin auch an einer vernünftigen History interessiert. Das mit dem Setzen des Datenpunktes habe ich verstanden, aber wie kann man das nun realisieren, dass man mit dem History Adapter diese Daten speichern kann. Ich denke mit einem Script geht das, aber mir fehlt hier das nötige Verständnis.
Der Adapter speichert die empfangenen Daten im Objektbaum, so wie es die meisten Adapter machen. Meines Wissens ist in ioBroker Javascript das Standardtool, um auf die Daten zuzugreifen. Vielleicht kann man auch einen Visualisierungs- oder anderen Datenbank-Adapter auf den Objektbaum aufsetzen. Da gibt es tausend Möglichkeiten.
@ArnoD hat den Vorschlag gemacht, die Daten als JSON-Datei abzulegen; diese Anforderung hat sich aber dann nicht weiter konkretisiert.
Also im Moment gibt es nur den Objektbaum, "as is".
Wenn jemand einen konkreten Vorschlag macht, wie der Adapter die Daten zusätzlich noch bereitstellen soll, damit viele das besser nutzen können, bitte das o.g. Ticket ergänzen oder ein neues anlegen. -
Hi. Ich nutze den Adapter auch. Leider benötige ich eine einfache Erklärung, wie ich die Datenpunkte für den Verbrauch "day, month + year" in kW umwandle/berechne Mit dem History Adapter habe ich noch nicht gearbeitet.
-
@marcusw said in Test Adapter e3dc-rscp v0.0.x GitHub:
Hi. Ich nutze den Adapter auch. Leider benötige ich eine einfache Erklärung, wie ich die Datenpunkte für den Verbrauch "day, month + year" in kW umwandle/berechne Mit dem History Adapter habe ich noch nicht gearbeitet.
Jeder Wert in DB repräsentiert ein Zeitintervall der Länge TIME_INTERVAL, dafür werden die Energiemengen (Wh) geliefert.
Man kann daraus eine mittlere Leistung z.B. DC_POWER / (TIME_INTERVAL/3600) = <MittlerePVLeistungimZeitintervall> berechnen, aber da kann man mit den DB-Daten nur bis auf 900 Sekunden (15 Minuten) genau werden - das ist augenscheinlich auch die Auflösung im E3/DC-Portal bzw. der App.Wenn man mehr zeitliche Auflösung haben will, muss man entweder mit dem Adapter z.B. alle 5 Sekunden abfragen und POWER_PV abspeichern (dafür gibts die History-DB) oder man nimmt dafür eine spezielle Time-Series-Datenbank wie z.B. InfluxDB (die hat einen Modbus-Adapter und das funktioniert bei mir seit 2 Jahren ohne Ausfall). Deren Daten kann man dann extra visualisieren (Grafana) oder auch in ioBroker (Influx-Adapter - Achtung ich glaube der ist veraltet).
Mein Eindruck aus den bisherigen Diskussionen ist, dass sich ioBroker für hochaufgelöste Zeitreihen eher nicht so gut eignet, dafür aber zur Visualisierung des Status und für regelbasierte Steuerung bei bestimmmten Ereignissen. Aber ich lasse mich da gerne widerlegen!
-
@ujok sagte in Test Adapter e3dc-rscp v0.0.x GitHub:
Bei mir ist das Verhalten anders: ich setze SET_POWER_MODE auf "Charge" und dann SET_POWER_VALUE auf die gewünschten Watt. Die Ladeleistung wird reduziert, aber nur kurz, dann schwankt sie etwa im 30-Sekunden-Takt zwischen dem eingestellten Wert und dem maximal möglichen, siehe blaue Linie in ff. Grafik:
Was hast du da in den Instanzeinstellungen unter "Zeitintervalle für Senden" für eine Zeit eingetragen?
Mit 9 sek. hat es bei mir funktioniert, müsste es aber jetzt mit der neuen Adapterversion 1.0.4 noch mal testen ob sich da was geändert hat. -
@marcusw sagte in Test Adapter e3dc-rscp v0.0.x GitHub:
Hi. Ich nutze den Adapter auch. Leider benötige ich eine einfache Erklärung, wie ich die Datenpunkte für den Verbrauch "day, month + year" in kW umwandle/berechne Mit dem History Adapter habe ich noch nicht gearbeitet.
Also da musst du nichts mehr umwandeln oder berechnen. Dir geht es um den Hausverbrauch, wenn ich dich richtig verstehe. Wenn du das wirklich genau haben willst, müsstest du deinen Hauszähler auslesen, alle anderen Methoden liefern dir nur einen ungefähren Wert, der nicht mit deinem Zähler übereinstimmen wird.
Als Beispiel nehme ich jetzt mal als Zeitraum den 01.01.2022 bis zum 31.03.2022 also 90 Tage = 2160 h = 7776000 s
Da ich keine Zwischenwerte benötige nehme ich bei beiden den gleichen Zeitraum:
TIME_INTERVAL = 7776000 s
TIME_SPAN = 7776000 s
TIME_START = 2022-01-01 00:00:00.000Jetzt bekomme ich folgende Werte vom e3dc-rscp Adapter:
Das sind bereits für diesen Zeitraum berechnetet Wh Werte, die du nur noch in kWh (/1000) umrechnen musst.
Wenn ich jetzt die Zählerstände für den gleichen Zeitraum von meinem Hauszähler und PV-Zähler mit denen vom E3DC vergleiche, kommt folgendes raus:
E3DC Einspeiseleistung = 1601 kWh Hauszähler Einspeiseleistung = 1048 kWh
E3DC PV-Leistung = 3871 kWh PV-Zähler Energieversorger = 3056 kWh
E3DC Netzbezug = 571 kWh Hauszähler Netzbezug = 752 kWhWarum die Zählerwerte so abweichen ist meine Vermutung das E3DC einen DC Zähler verwendet und im DC Kreis misst und beim Hauszähler und PV-Zähler vom Energieversorger handelt es sich um AC Zähler die im AC Kreis verbaut sind.
Damit würde sich erklären, warum E3DC immer mehr Leistung zählt als der Zähler vom Energieversorger, da hier die Wechselverluste bereits enthalten sind.
Aber wie gesagt nur eine Vermutung, die ja eventuell jemand hier bestätigen oder berichtigen kann.Wenn es dir nur um die PV-Leistung geht, kannst du die drei AC Zähler der einzelnen Phasen aus dem Adapter verwenden:
e3dc-rscp.0.PVI.PVI_0.Phase_0.AC_ENERGY_ALL
e3dc-rscp.0.PVI.PVI_0.Phase_1.AC_ENERGY_ALL
e3dc-rscp.0.PVI.PVI_0.Phase_2.AC_ENERGY_ALL
Hier musst du natürlich die drei Phasen zusammenzählen.Das Gleiche hast du auch für den Netzbezug:
e3dc-rscp.0.PVI.PVI_0.Phase_0.AC_ENERGY_GRID_CONSUMPTION
e3dc-rscp.0.PVI.PVI_0.Phase_1.AC_ENERGY_GRID_CONSUMPTION
e3dc-rscp.0.PVI.PVI_0.Phase_2.AC_ENERGY_GRID_CONSUMPTION
auch hier musst du natürlich die drei Phasen zusammenzählen.Die Zähler stimmt sogar einigermaßen mit dem vom Energieversorger überein.
-
@arnod said in Test Adapter e3dc-rscp v0.0.x GitHub:
Wenn sich der Wert nicht ändert, dann wird auch nichts aktualisiert.
Dachte am Anfang auch das die Werte nicht aktualisiert werden.
Kannst du prüfen, indem du dir die Werte merkst und dann die State löscht und die Instanz neu startest,
wenn jetzt die gleichen Werte eingetragen werden dann liegt es daran das diese sich nicht ändern und dann natürlich auch nicht aktualisiert werden.Dass die States nur bei einer Änderung aktualisiert werden ist mir bewusst und auch nicht das Problem.
Es reicht wenn ich z.B. das Intervall vom TAG_BAT_REQ_RC von L auf M ändere. Danach werden die Werte ALLER Tags beginnend mit TAG_BAT nicht mehr aktualisiert. Im ausführlichen Log sehe ich, dass die Werte gar nicht mehr abgefragt werden.Die beiden TAGs TAG_BAT_REQ_RC und TAG_BAT_REQ_USABLE_REMAINING_CAPACITY ändern ihren Wert beim Laden und Entladen ständig, da macht ein Interval von 12 h keinen Sinn.
-
@arnod
Also ich habe nun sehr viel rumprobiert und musste einige Ungereimtheiten feststellen.Daten aus dem E3DC Portal: Schaut man sich ein Tagesprofil an (Graphen), unterscheiden sich die 15min Werte zu denen aus den exportierten Werte aus dem Portal.
Summiert man die exportierten wiederum auf, stimmen die mit dem angezeigtem Tagesprofil überein. Nimmt man sich nun noch die 15min-Werte über den RSCP-Adapter kommen wieder ganz andere Werte raus.
Für mich ist erstmal eine brauchbare Lösung, sich einen richtigen Tageswert zu erzeugen. Da ich das ganze mit dem History-Adapter speichern möchte helfen mir die Werte in Value_00 bis Value_xx nicht wirklich, oder ich weiß nicht wie. Somit habe ich für einen verlässlichen Tageswert folgende Einstellungen gewählt:
Somit bekomme ich nur einen Wert, Value_00 entspricht den Werten in SUM.
Alle Werte bis auf zwei sind identisch mit den Portalwerten. Batterie (Entladen) und Hausverbrauch stimmen minimal nicht über ein. Bei den Batterie (Entladen) wäre das nicht so dramatisch, aber der Verbrauch ist zur Berechnung des Eigenstrom notwendig. (Eigenstrom = Hausverbrauch - Netzbezug).
Also auch schade.
Somit trete ich wieder auf der Stelle.
Punkt zur Genauigkeit zwischen Portalwerte und zu Zähler für Einspeise und Eigenverbrauch --> noch sind die Werte gleich. Hier könnte ich mir auf Dauer auch eine Abweichung vorstellen. Aber das ist erstmal zweitrangig.
Weitere Ideen zur richtigen Historisierung der Daten?
-
@arnod said in Test Adapter e3dc-rscp v0.0.x GitHub:
@ujok sagte in Test Adapter e3dc-rscp v0.0.x GitHub:
Bei mir ist das Verhalten anders: ich setze SET_POWER_MODE auf "Charge" und dann SET_POWER_VALUE auf die gewünschten Watt. Die Ladeleistung wird reduziert, aber nur kurz, dann schwankt sie etwa im 30-Sekunden-Takt zwischen dem eingestellten Wert und dem maximal möglichen, siehe blaue Linie in ff. Grafik:
Was hast du da in den Instanzeinstellungen unter "Zeitintervalle für Senden" für eine Zeit eingetragen?
Mit 9 sek. hat es bei mir funktioniert, müsste es aber jetzt mit der neuen Adapterversion 1.0.4 noch mal testen ob sich da was geändert hat.Ich habe es mit 15 sec und 5 sec getestet, das Ergebnis war immer gleich (schlecht).
-
@brumark said in Test Adapter e3dc-rscp v0.0.x GitHub:
@arnod said in Test Adapter e3dc-rscp v0.0.x GitHub:
Wenn sich der Wert nicht ändert, dann wird auch nichts aktualisiert.
Dachte am Anfang auch das die Werte nicht aktualisiert werden.
Kannst du prüfen, indem du dir die Werte merkst und dann die State löscht und die Instanz neu startest,
wenn jetzt die gleichen Werte eingetragen werden dann liegt es daran das diese sich nicht ändern und dann natürlich auch nicht aktualisiert werden.Dass die States nur bei einer Änderung aktualisiert werden ist mir bewusst und auch nicht das Problem.
Es reicht wenn ich z.B. das Intervall vom TAG_BAT_REQ_RC von L auf M ändere. Danach werden die Werte ALLER Tags beginnend mit TAG_BAT nicht mehr aktualisiert. Im ausführlichen Log sehe ich, dass die Werte gar nicht mehr abgefragt werden.Die beiden TAGs TAG_BAT_REQ_RC und TAG_BAT_REQ_USABLE_REMAINING_CAPACITY ändern ihren Wert beim Laden und Entladen ständig, da macht ein Interval von 12 h keinen Sinn.
Ich schlage vor, das hier in einem Bug Report niederzulegen (incl. debug log). Dann versuche ich das nachzuvollziehen und zu beheben.
-
@schnutexxl sagte in Test Adapter e3dc-rscp v0.0.x GitHub:
Weitere Ideen zur richtigen Historisierung der Daten?
Wenn du mir sagst, was du genau machen willst bzw. anzeigen willst.
-
Eigentlich reichen mir die Daten aus dem DB Baum. Zusätzlich den Eigenverbrauch (Hausverbrauch-Netzbezug), aber den könnte man ja irgendwie berechnen und historisieren.
Diese Daten in der Granularität Tag, Monat, Quartal, Jahr (15min wären auch klasse). Die Daten sollten natürlich mit den E3DC Portal Daten übereinstimmen.
Benötige die Daten zur Visualisierung in VIS aber auch ein Export wäre klasse, oder eine Liste bei der alle Finanzamt relevanten Daten angezeigt werden.Momentan mache ich das so und speichere die Daten dann mit dem History Adapter:
//Tagesdaten schedule('{"time":{"exactTime":true,"start":"23:56"},"period":{"days":1}}', function () { var zeit = new Date(); zeit = formatDate(zeit, "YYYY-MM-DD"); zeit = zeit + " 00:00:00.000"; setState('e3dc-rscp.0.DB.HISTORY_DATA_WEEK.TIME_START'/*Startzeit*/, zeit); }); Jedoch sind hier wie gesagt Batterie(entladen) und Verbrauch fehlerhaft.