NEWS
E3DC Hauskraftwerk steuern
-
@zelkin sagte in E3DC Hauskraftwerk steuern:
hab seit gestern im tibber scrpt Fehler drin, hab jetzt eben auf 1.3.14 umgestellt in der Hoffnung, dass sie weg seien:
Hast du den Fehler noch?
Kann das bei mir nicht nachstellen.
Der Fehler tritt auf wen versucht wird, eine nicht iterierbare Variable mit einer Iterationsmethode zu verwenden.
Was eigentlich nicht sein kann, da die JSON PricesTomorrow und PricesToday in ein neues Array zusammengeführt werden und somit nie ein leeres Array entstehen kann, also null oder undefined sein kann.
Was ist bei dir untertibberlink.0.Homes.(tibberLinkId).PricesTomorrow.json
enthalten?Nachtrag: Fehler gefunden, wird mit Version 1.3.15 behoben.
-
Tibber Skript,
Version: 1.3.15 auf Github hochgeladen.Änderungen:
- Fehler in der Funktion getCurrentPrice() behoben. Es wird geprüft, ob datenMorgen ein gültiges Array ist.
-
@arnod
HiFehler liegt im Moment nicht mehr an, versuche gerade das angeschwollene Log runterzuladen um zu Prüfen ab wann der Fehler nicht mehr vorhanden ist.
..........
Gestern kein iterable und data Fehler, ab hier ging es dann los, und nein, Ich hab nachts um 12 nichts verändert
:
2025-01-31 00:01:54.825 - [31merror[39m: javascript.0 (1759236) script.js.common.00_Haus.31_PV_Anlage.Tibber_Script_1_3_12: TypeError: datenMorgen is not iterable 2025-01-31 07:44:00.058 - [31merror[39m: javascript.0 (1759236) script.js.common.00_Haus.31_PV_Anlage.Tibber_Script_1_3_12: Fehler: 'data' ist entweder kein Array oder es ist leer.
Der Iterable Fehler ist dann mit einem neustart des Script weggefallen, hat sich aber (vermutlich durch den scriptwechsel) noch verändert:
2025-01-31 07:43:00.124 - [31merror[39m: javascript.0 (1759236) script.js.common.00_Haus.31_PV_Anlage.Tibber_Script_1_3_12: Fehler in Funktion getCurrentPrice(): datenMorgen is not iterable 2025-01-31 07:58:56.677 - [31merror[39m: javascript.0 (1759236) script.js.common.00_Haus.31_PV_Anlage.Tibber_Script_1_3_14: TypeError: datenMorgen is not iterable
Und der Data Fehler ist Ominöser weise um ca 13 Uhr weggefallen ...... könnte nach meiner glaskugel an Tibber gelegen haben
2025-01-31 13:01:00.083 - [31merror[39m: javascript.0 (1759236) script.js.common.00_Haus.31_PV_Anlage.Tibber_Script_1_3_14: Fehler: 'data' ist entweder kein Array oder es ist leer.
Aktualisierung auf .15 hab Ich eingespielt, melde mich wenn es nochmal vorkommt!
Der Vollständigkeit halber:
Derzeit hab Ich in dem Datenpunkt:[{"total":0.3719,"energy":0.1369,"tax":0.235,"startsAt":"2025-02-01T00:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.363,"energy":0.1294,"tax":0.2336,"startsAt":"2025-02-01T01:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3568,"energy":0.1242,"tax":0.2326,"startsAt":"2025-02-01T02:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3507,"energy":0.1191,"tax":0.2316,"startsAt":"2025-02-01T03:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3504,"energy":0.1189,"tax":0.2315,"startsAt":"2025-02-01T04:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3524,"energy":0.1205,"tax":0.2319,"startsAt":"2025-02-01T05:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3602,"energy":0.1271,"tax":0.2331,"startsAt":"2025-02-01T06:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3812,"energy":0.1447,"tax":0.2365,"startsAt":"2025-02-01T07:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3916,"energy":0.1535,"tax":0.2381,"startsAt":"2025-02-01T08:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3784,"energy":0.1424,"tax":0.236,"startsAt":"2025-02-01T09:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3617,"energy":0.1284,"tax":0.2333,"startsAt":"2025-02-01T10:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3518,"energy":0.1201,"tax":0.2317,"startsAt":"2025-02-01T11:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3402,"energy":0.1103,"tax":0.2299,"startsAt":"2025-02-01T12:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.332,"energy":0.1034,"tax":0.2286,"startsAt":"2025-02-01T13:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3442,"energy":0.1137,"tax":0.2305,"startsAt":"2025-02-01T14:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.363,"energy":0.1295,"tax":0.2335,"startsAt":"2025-02-01T15:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3927,"energy":0.1544,"tax":0.2383,"startsAt":"2025-02-01T16:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.4092,"energy":0.1683,"tax":0.2409,"startsAt":"2025-02-01T17:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.4083,"energy":0.1675,"tax":0.2408,"startsAt":"2025-02-01T18:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.4029,"energy":0.163,"tax":0.2399,"startsAt":"2025-02-01T19:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3953,"energy":0.1566,"tax":0.2387,"startsAt":"2025-02-01T20:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3818,"energy":0.1452,"tax":0.2366,"startsAt":"2025-02-01T21:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3776,"energy":0.1417,"tax":0.2359,"startsAt":"2025-02-01T22:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3657,"energy":0.1317,"tax":0.234,"startsAt":"2025-02-01T23:00:00.000+01:00","currency":"EUR","level":"NORMAL"}]
Vielen Dank für deinen Support
-
@zelkin um Mitternacht wandern die Prices tomorrow in Prices today und Prices tomorrow ist leer.
-
Jup, Stimmt!
Was mich verwundert, warum hab ich den fehler dann nicht 24h vorher bekommen
Da hätte das Problem schließlich das selbe sein müssen. -
@zelkin Und um 13.00 oder auch später werden dann die Daten für den nächsten Tag eingetragen. Deshalb war auch der Fehler bei Dir um 13.00 wieder weg. Sollte aber eigentlich mit der aktuellen Version behoben sein.
-
@gargano
Prüfe Ich morgen früh mal wie es aussieht
Ich geb rückmeldung -
-
@arnod
Wie kann ich verhindern, daß die Batterie nicht entladen wird, wohl aber geladen werden kann ?
Du setzt in Deinem Script e3dc-rscp.0.EMS.MAX_DISCHARGE_POWER.Aber bei meinem System bewirkt e3dc-rscp.0.EMS.MAX_DISCHARGE_POWER auf Null setzen nichts.
E3DC S10E Compact.
Vielen Dank.
[Edit] Habs gefunden, ich muss noch e3dc-rscp.0.EMS.POWER_LIMITS_USED auf true setzen.
-
@gargano
e3dc-rscp.0.EMS.MAX_DISCHARGE_POWER setze ich nur am Abend auf null, wenn die Notstromreserve erreicht ist.
Das verhindert das Entladen, auch wenn das Script mal gestoppt wird wegen eines Backups z.B.
Diese Objekt-ID sollte man auch so selten wie nur möglich verwenden, da bei jeder Änderung auf die interne SSD geschrieben wird, um diese Einstellung zu sichern.Jetzt zu deiner Frage.
E3DC hat aktuell keine einfache Steuerungsmöglichkeit, um nur das Entladen der Batterie zu verhindern, aber das Laden zu ermöglichen.
Einzige Möglichkeit ist ein Script zu schreiben, das ständig überwacht, ob ausreichend PV-Leistung vorhanden ist, um die Batterie zu laden oder nicht.
Wenn ja, dann wird die Regelung E3DC überlassen, da hier das Standardverhalten ist, den kompletten Überschuss in die Batterie zu laden.
Wenn das Script feststellt, dass zu wenig PV-Leistung vorhanden ist und damit aus der Batterie entladen wird, muss alle 6 sek.e3dc-rscp.0.EMS.SET_POWER_MODE
auf 1(IDLE) unde3dc-rscp.0.EMS.SET_POWER_VALUE
auf 0 gesetzt werden, um das entladen zu unterbinden.
Wenn die PV-Leistung wieder ausreicht und die Batterie geladen werden soll, dann einfach nichts mehr setzen und E3DC übernimmt wieder nach ca.2 sek. die Regelung.Hoffe, das ist einigermaßen verständlich.
Wichtig ist noch, dass in den Einstellungen der e3dc-rscp Instanz "SET_POWER Wiederholintervall" auf 0 sek. eingestellt ist.
-
@gargano sagte in E3DC Hauskraftwerk steuern:
[Edit] Habs gefunden, ich muss noch e3dc-rscp.0.EMS.POWER_LIMITS_USED auf true setzen.
Bitte diese beiden Objekt ID nicht ständig zum Regeln verwenden.
E3DC hat davon abgeraten, da es die Lebensdauer der internen SSD verkürzt. -
@arnod
Schade , das wollte ich eigentlich verwenden, um PV Überschuss ins E-Auto zu laden ( Ich hab einen Hybrid und daher nicht sehr viel Kapazität) und den Rest der noch übrig ist in die E3DC Batterie zu laden.
So geht halt der Rest ins Netz.Ist das eigentlich eine SD-Karte oder eine richtige SSD ?
Angeblich soll es ein inhibit Discharge bald geben, das genau die Funktion macht.
Hast Du da etwas schon gehört ?Wo gibt es eigentlich die Doku für E3DC RSCP ?
-
@gargano
Wenn ich mich noch richtig erinnere, war es eine SSD.Angeblich soll es ein inhibit Discharge bald geben, das genau die Funktion macht.
Hast Du da etwas schon gehört ?nein.
Wo gibt es eigentlich die Doku für E3DC RSCP ?
Im E3DC Portal unter Downloads, ist aber leider nur lückenhaft dokumentiert und jetzt schon zum Teil veraltet.
-
Mal eine Frage an Tibber Kunden.
Habe aktuell das Problem, dass die Zählerstände auf den Abrechnungen von Tibber nicht stimmen.
Es geht dabei nicht um das Problem, dass die Zählerstände berechnet werden, sondern dass die Startzählerstände nicht mit dem letzten Zählerstand von der letzten Abrechnung übereinstimmen.
Bei Tibber ist es anscheinend normal, dass Zähler Rückwerts laufen.
Wenn z.B im November bis zu einem Zählerstand 15000 kWh abgerechnet wurde, startet der Zähler in der Dezemberabrechnung bei 14500 kWh.Hat das noch jemand beobachten können?
Die Antwort von Tibber ist auch sehr interessant: "Auf der Rechnung wird der Stromverbrauch als gewichteter Mittelwert auf Basis der stündlichen Verbrauchswerte ausgewiesen. Die auf der Rechnung hinterlegten Zählerstände stimmen nicht mit den tatsächlichen überein und unsere zuständige Fachabteilung arbeitet bereits daran, dies in Zukunft zu korrigieren."
-
@arnod
Ich habe mal ein paar Monate angeschaut.
Der errechnete Wert des Zählerstandes vom Vormonat ist anscheinend nicht immer gleich der neuen Rechnung. Bei mir ist es meistens ein wenig höher als im letzten Monat.
Hat sich aber im Dezember gezeigt, dass spätestens am Jahresende nicht mehr der errechnete Wert verwendet wird, sondern der abgelesene Wert, wodurch wieder alles ausgeglichen wird. -
@psrelax
Ok, Danke.
Ich werde nie verstehen, wie ein Unternehmen so abrechnen kann. Tibber ist verpflichtet, mit korrekten Zählerständen abzurechnen, da sonst die gesamte Rechnung zweifelhaft ist.
Wenn jeder Kunde von seinem Recht Gebrauch machen würde, falsche Rechnungen nicht zu zahlen, würde Tibber pleitegehen. -
Neue Version Charge-Control auf GitHub hochgeladen.
Version: 1.5.15
Änderungen:- Anpassung an e3dc-rscp Adapter ab Version 1.4.1 : Der Pfad zu PARAM_EP_RESERVE_ENERGY wurde geändert.
Bitte erst nach dem Update vom e3dc-rscp Adapter auf Version 1.4.1 verwenden.
-
Ich hätte da mal eine Frage besser gesagt 2:
1.) Wie wird die verbleibende Energiemenge in kWh denn berechnet oder woher kommt dieser Wert?
Ich hatte bis heute den Compact 14, laut E3DC 11,20 kWh nutzbar. Charge Control sagte hier immer nur 10,56 kWh. Nun ist er heute zu einem 21 umgebaut worden,
laut e3dc 20,6 kWh nutzbar. Der Speicher wurde heute zwar nicht mehr voll, aber wenn ich hochrechne gibt hier Charge Control nun 19,3 kWh voll aus. Das ist mir ein bisschen zuviel Differenz zu den 20,6 versprochenen, daher wäre es wichtig woher der Wert kommt bevor ich da mich bei e3dc beschwere. Die Einstellung hierzu habe ich schon auf 100% gesetzt bei den Parametern (Nutzbare Kapazität).2.) Ich habe kürzlich seit langem das Charge Control mal wieder geupdatet und bin leider enttäuscht das bei Autonomiezeit jetzt 2 Werte (in einem Wert) ausgegeben werden. Musste erstmal ewig Rätseln was der 2te wert überhaupt bedeutet…
Das musste ich jetzt mit Blockly kürzen und in einen neuen Wert schreiben lassen, weil ich nur den ersten Wert haben will. Könnte man hier nicht 2 Objekte anlegen, anstatt das in einem zu quetschen? So kann sich auch jeder aussuchen was er braucht/will und was nicht.Danke vorab und Lg
Edit:
Ich hab das mit der rscp version hier jetzt erst gelesen, wo bekomme ich die 14 Version nochmal? Auf Github ist sie nicht mehr zu finden.. -
@da_hood sagte in E3DC Hauskraftwerk steuern:
1.) Wie wird die verbleibende Energiemenge in kWh denn berechnet oder woher kommt dieser Wert?
(
e3dc-rscp.0.BAT.BAT_0.SPECIFIED_CAPACITY
+e3dc-rscp.0.BAT.BAT_1.SPECIFIED_CAPACITY
)
x (0_userdata.0.Charge_Control.USER_ANPASSUNGEN.10_maxEntladetiefeBatterie
/ 100 )
Davon wird dann noch der Alterungszustand der Batterie abgezogene3dc-rscp.0.BAT.BAT_0.ASOC
2.) Könnte man hier nicht 2 Objekte anlegen, anstatt das in einem zu quetschen? So kann sich auch jeder aussuchen was er braucht/will und was nicht.
Könnte man. Ich nehme es mit auf meine Liste. Bitte ein Issue auf Github erstellen, dass ich es nicht vergesse.
Ich hab das mit der rscp version hier jetzt erst gelesen, wo bekomme ich die 14 Version nochmal? Auf Github ist sie nicht mehr zu finden..
Gerade auf Github hochgeladen.
-
@arnod said in E3DC Hauskraftwerk steuern:
(
e3dc-rscp.0.BAT.BAT_0.SPECIFIED_CAPACITY
+e3dc-rscp.0.BAT.BAT_1.SPECIFIED_CAPACITY
)
x (0_userdata.0.Charge_Control.USER_ANPASSUNGEN.10_maxEntladetiefeBatterie
/ 100 )
Davon wird dann noch der Alterungszustand der Batterie abgezogene3dc-rscp.0.BAT.BAT_0.ASOC
Dann stimmt mit der Berechnung aber etwas nicht im Script. Ich habe nur einen Batteriekreis, somit fällt BAT_1 schonmal weg. Der Datenpunkt e3dc-rscp.0.BAT.BAT_0.SPECIFIED_CAPACITY meldet bei mir 22344 Wh also 22,34 kWh. Der ASOC steht seit der Batterierweiterung gestern auf 100% und der Datenpunkt 0_userdata.0.Charge_Control.USER_ANPASSUNGEN.10_maxEntladetiefeBatterie meldet ebenfalls 100 %.
Somit müsste er eigentlich die 22,34 kWh anzeigen.
Laut e3DC App wurden heute jedoch nur 20,05 kWh in die Batterie geladen. Passt also leider alles nicht zusammen...Müsstest du nicht eher den wert e3dc-rscp.0.BAT.BAT_0.USABLE_REMAINING_CAPACITY heranziehen für die Berechnung und diesen mit der angegebenen Spannung multiplizieren? Da steht bei mir aktuell 31,36 AH bei 99% SOC.
31,36 * (7x96Volt) /1000 = 21,07 KWh.
Kommt zumindest schonmal näher an das richtige Ergebnis ran...Könnte man. Ich nehme es mit auf meine Liste. Bitte ein Issue auf Github erstellen, dass ich es nicht vergesse.
Da muss ich mir erstmal einen Account erstellen mache ich die Tage dann mal.
Gerade auf Github hochgeladen.
Super, Danke!