NEWS
E3DC Hauskraftwerk steuern
-
@Chilihead
Aktuell könnte ich
e3dc-rscp.0.EMS.SYS_SPECS.maxDischargePower
e3dc-rscp.0.EMS.USED_DISCHARGE_LIMIT
e3dc-rscp.0.EMS.SYS_SPECS.maxStartDischargePower
verwenden.Dem Namen nach würde
e3dc-rscp.0.EMS.SYS_SPECS.maxStartDischargePoweram besten passen.
Wie sieht es da bei dir aus, würde da die max. Batterie Entladeleistung passen? -
@jans_ios sagte in E3DC Hauskraftwerk steuern:
Die "maximale Entladeleistung" in den Smart-Funktionen stand auch heute morgen wieder auf 65W, obwohl schon 3% über Notstromreserve wieder reingeladen waren hat die Kaffeemaschine sich dadurch dann aus dem Netz bedient. Ich habe Dir gerade nochmal per Chat einen Link zu meinem heutigen Log geschickt.
Das liegt vermutlich an dem falschen Wert.
Das Script versucht bei dir die Entladeleistung auf 7408 W einzustellen, was aber E3DC vernünftigerweise nicht zulässt.
Vermute das dann die min. Leistung von 65W von E3DC verwendet wird.
Was steht bei dir ine3dc-rscp.0.EMS.USED_DISCHARGE_LIMITfür einen Wert ? auch - 6000 W ?Wenn ja, würde ich diesen verwenden und heute eine neue Version hochladen, die du dann testen kannst.
Ich hoffe das sich @Chilihead auch noch meldet um zu sehen, ob das bei ihm auch passt. -
@arnod
Faszinierend - da steht bei mir aber exakt das selbe wie bei Dir, da habe ich nichts angefasst://************************************** Einstellungen Modul e3dc.rscp ************************************** const sID_Bat_Discharge_Limit = 'e3dc-rscp.0.EMS.BAT_DISCHARGE_LIMIT' // Batterie Entladelimit (negativer Wert) const sID_Bat_Charge_Limit = 'e3dc-rscp.0.EMS.SYS_SPECS.maxBatChargePower' // Batterie Ladelimit const sID_Notrom_Status = 'e3dc-rscp.0.EMS.EMERGENCY_POWER_STATUS' // 0= nicht möglich 1=Aktiv 2= nicht Aktiv 3= nicht verfügbar 4=Inselbetrieb const sID_installed_Battery_Capacity ='e3dc-rscp.0.EMS.SYS_SPECS.installedBatteryCapacity' // Installierte Batterie Kapazität E3DC const sID_SET_POWER_MODE = 'e3dc-rscp.0.EMS.SET_POWER_MODE' // Lademodus const sID_SET_POWER_VALUE_W ='e3dc-rscp.0.EMS.SET_POWER_VALUE' // Eingestellte Ladeleistung const sID_Max_Discharge_Power_W = 'e3dc-rscp.0.EMS.MAX_DISCHARGE_POWER' // Eingestellte maximale Batterie-Entladeleistung. (Variable Einstellung E3DC) const sID_Max_Charge_Power_W = 'e3dc-rscp.0.EMS.MAX_CHARGE_POWER' // Eingestellte maximale Batterie-Ladeleistung. (Variable Einstellung E3DC) const sID_startDischargeDefault = 'e3dc-rscp.0.EMS.SYS_SPECS.startDischargeDefault' // Anfängliche Entladeleistung Standard const sID_Max_wrleistung_W = 'e3dc-rscp.0.EMS.SYS_SPECS.maxAcPower' // Maximale Wechselrichter Leistung const sID_Einspeiselimit_W = 'e3dc-rscp.0.EMS.DERATE_AT_POWER_VALUE' // Eingestellte Einspeisegrenze E3DC const sID_BAT0_Alterungszustand = 'e3dc-rscp.0.BAT.BAT_0.ASOC' // Batterie ASOC e3dc-rscp const sID_DISCHARGE_START_POWER = 'e3dc-rscp.0.EMS.DISCHARGE_START_POWER' // Anfängliche Batterie-Entladeleistung const sID_PARAM_EP_RESERVE_W = 'e3dc-rscp.0.EP.PARAM_0.PARAM_EP_RESERVE_W' // Eingestellte Notstrom Reserve E3DC -
@arnod
Faszinierend - da steht bei mir aber exakt das selbe wie bei Dir, da habe ich nichts angefasst://************************************** Einstellungen Modul e3dc.rscp ************************************** const sID_Bat_Discharge_Limit = 'e3dc-rscp.0.EMS.BAT_DISCHARGE_LIMIT' // Batterie Entladelimit (negativer Wert) const sID_Bat_Charge_Limit = 'e3dc-rscp.0.EMS.SYS_SPECS.maxBatChargePower' // Batterie Ladelimit const sID_Notrom_Status = 'e3dc-rscp.0.EMS.EMERGENCY_POWER_STATUS' // 0= nicht möglich 1=Aktiv 2= nicht Aktiv 3= nicht verfügbar 4=Inselbetrieb const sID_installed_Battery_Capacity ='e3dc-rscp.0.EMS.SYS_SPECS.installedBatteryCapacity' // Installierte Batterie Kapazität E3DC const sID_SET_POWER_MODE = 'e3dc-rscp.0.EMS.SET_POWER_MODE' // Lademodus const sID_SET_POWER_VALUE_W ='e3dc-rscp.0.EMS.SET_POWER_VALUE' // Eingestellte Ladeleistung const sID_Max_Discharge_Power_W = 'e3dc-rscp.0.EMS.MAX_DISCHARGE_POWER' // Eingestellte maximale Batterie-Entladeleistung. (Variable Einstellung E3DC) const sID_Max_Charge_Power_W = 'e3dc-rscp.0.EMS.MAX_CHARGE_POWER' // Eingestellte maximale Batterie-Ladeleistung. (Variable Einstellung E3DC) const sID_startDischargeDefault = 'e3dc-rscp.0.EMS.SYS_SPECS.startDischargeDefault' // Anfängliche Entladeleistung Standard const sID_Max_wrleistung_W = 'e3dc-rscp.0.EMS.SYS_SPECS.maxAcPower' // Maximale Wechselrichter Leistung const sID_Einspeiselimit_W = 'e3dc-rscp.0.EMS.DERATE_AT_POWER_VALUE' // Eingestellte Einspeisegrenze E3DC const sID_BAT0_Alterungszustand = 'e3dc-rscp.0.BAT.BAT_0.ASOC' // Batterie ASOC e3dc-rscp const sID_DISCHARGE_START_POWER = 'e3dc-rscp.0.EMS.DISCHARGE_START_POWER' // Anfängliche Batterie-Entladeleistung const sID_PARAM_EP_RESERVE_W = 'e3dc-rscp.0.EP.PARAM_0.PARAM_EP_RESERVE_W' // Eingestellte Notstrom Reserve E3DC -
@jans_ios
Sorry vergiss meine oberen post, da habe ich die Werte vertauscht :-)
Welcher Wert steht bei dir ine3dc-rscp.0.EMS.BAT_DISCHARGE_LIMIT? -
Neue Version Charge-Control auf GitHub hochgeladen.
Version: 1.0.22
Änderungen:- Mit dem Ausschalten der Batterieladung ist es möglich, dass der SOC Wert Batterie wieder um 1 % ansteigt. Um ein ständiges ein und ausschalten zu verhindern, wird der Notstrom SOC nach dem Ausschalten um 1 % erhöht.
-
@jans_ios
Versuch mal die neue Version und dann schauen wir mal, ob das Morgen bei dir funktioniert. -
Ich bin auf der Suche nach dem Direktverbrauch der S10. Idealerweise einen aufsteigenden Zähler, aus dem man in Relation zur Zeit eine Differenz bilden kann, damit ein Ausfall oder das Abfrageintervall keinen Einfluss auf die Summe hat.
Die App my3e arbeitet da, laut Entwickler der App, mit den Daten aus der Cloud von E3DC. Allerdings soll es via rscp zumindest die Möglichkeit der Historie aus der DB unter anderm in dem DB_REQ_HISTORY geben.
Perfekt wäre natürlich ein Zähler für Direktverbrauch, einen für Entnahme aus der Batterie und eine Summe derer um z.B. die Ersparnis durch selbsterzeugtem Strom zu ermitteln. Vielleicht hat ja wer Ideen oder bereits was umgesetzt. Danke!
-
Neue Version Charge-Control auf GitHub hochgeladen.
Version: 1.0.24
Änderungen:- Für die maximale Entladeleistung der Batterie wird jetzt das Objekt
e3dc-rscp.0.EMS.SYS_SPECS.maxBatDischargPowerverwendet.
@arnod
Ich habe mich nun auch an Charge-Control 1.0.24 gewagtim Script wird folgender Fehler generiert
2022-09-28 14:58:36.005 - info: javascript.0 (549542) script.js.common.E3DC.Charge-Control: ****************************** Es wird Solcast Dach 2 abgerufen ******************************
2022-09-28 14:58:36.157 - info: javascript.0 (549542) script.js.common.E3DC.Modbus: EMS-Status Dez =132/ BIN =0000000010000100
2022-09-28 14:58:36.885 - warn: javascript.0 (549542) script.js.common.E3DC.Charge-Control: Error in der function InterrogateSolcast. Fehler = Error, status code = 404
2022-09-28 14:58:36.886 - info: javascript.0 (549542) script.js.common.E3DC.Charge-Control: ****************************** Es wird Solcast Dach 1 abgerufen ******************************
2022-09-28 14:58:37.563 - warn: javascript.0 (549542) script.js.common.E3DC.Charge-Control: Error in der function InterrogateSolcast. Fehler = Error, status code = 404
2Es werden keine Daten bei Solcast abgerufen.
was ist hier falsch ? - Für die maximale Entladeleistung der Batterie wird jetzt das Objekt
-
@arnod
Ich habe mich nun auch an Charge-Control 1.0.24 gewagtim Script wird folgender Fehler generiert
2022-09-28 14:58:36.005 - info: javascript.0 (549542) script.js.common.E3DC.Charge-Control: ****************************** Es wird Solcast Dach 2 abgerufen ******************************
2022-09-28 14:58:36.157 - info: javascript.0 (549542) script.js.common.E3DC.Modbus: EMS-Status Dez =132/ BIN =0000000010000100
2022-09-28 14:58:36.885 - warn: javascript.0 (549542) script.js.common.E3DC.Charge-Control: Error in der function InterrogateSolcast. Fehler = Error, status code = 404
2022-09-28 14:58:36.886 - info: javascript.0 (549542) script.js.common.E3DC.Charge-Control: ****************************** Es wird Solcast Dach 1 abgerufen ******************************
2022-09-28 14:58:37.563 - warn: javascript.0 (549542) script.js.common.E3DC.Charge-Control: Error in der function InterrogateSolcast. Fehler = Error, status code = 404
2Es werden keine Daten bei Solcast abgerufen.
was ist hier falsch ? -
Ich bin auf der Suche nach dem Direktverbrauch der S10. Idealerweise einen aufsteigenden Zähler, aus dem man in Relation zur Zeit eine Differenz bilden kann, damit ein Ausfall oder das Abfrageintervall keinen Einfluss auf die Summe hat.
Die App my3e arbeitet da, laut Entwickler der App, mit den Daten aus der Cloud von E3DC. Allerdings soll es via rscp zumindest die Möglichkeit der Historie aus der DB unter anderm in dem DB_REQ_HISTORY geben.
Perfekt wäre natürlich ein Zähler für Direktverbrauch, einen für Entnahme aus der Batterie und eine Summe derer um z.B. die Ersparnis durch selbsterzeugtem Strom zu ermitteln. Vielleicht hat ja wer Ideen oder bereits was umgesetzt. Danke!
-
@arnod
Grundsätzlich wäre es ganz cool, wenn das Skript in einem Datenpunkt die "für anderes" verwendbare Energie in Watt angeben würde. Da könnte man dann bspw. ein Skript für eine Wärmepumpe anhängen oder aber auch wie in meinem Fall den Heizstab. Das müsste doch recht einfach realisierbar sein, oder?@jans_ios sagte in E3DC Hauskraftwerk steuern:
Grundsätzlich wäre es ganz cool, wenn das Skript in einem Datenpunkt die "für anderes" verwendbare Energie in Watt angeben würde. Da könnte man dann bspw. ein Skript für eine Wärmepumpe anhängen oder aber auch wie in meinem Fall den Heizstab. Das müsste doch recht einfach realisierbar sein, oder?
Das ist dann die Einspeiseleistung, das ist der Rest, was aktuell nicht benötigt wird.
-
@jans_ios sagte in E3DC Hauskraftwerk steuern:
Grundsätzlich wäre es ganz cool, wenn das Skript in einem Datenpunkt die "für anderes" verwendbare Energie in Watt angeben würde. Da könnte man dann bspw. ein Skript für eine Wärmepumpe anhängen oder aber auch wie in meinem Fall den Heizstab. Das müsste doch recht einfach realisierbar sein, oder?
Das ist dann die Einspeiseleistung, das ist der Rest, was aktuell nicht benötigt wird.
@arnod
Das ist richtig - wenn ich die jedoch "aufsauge" und in Heizstab, Wärmepumpe o.ä. schicke, so dass die Einspeisung so gering wie möglich ist, bricht Charge-Control ab, weil zu wenig Strom zum Verwalten da ist. Daher dachte ich, Charge-Control könnte bspw. einen Strom per ioBroker-Objekt "zur Verfügung stellen", in einen weiteren Datenpunkt sollten dann die Abnehmer genau diesen Teils des Stroms reinschreiben, was sie nutzen. Daraus könnte Charge-Control dann errechnen, was wirklich verfügbar ist etc.Quasi eine kleine Schnittstelle, über die sonst eingespeister Strom kontrolliert zur Verfügung gestellt wird.
Ich hoffe, ich konnte es einigermaßen erklären.
-
@arnod
Das scheint geklappt zu haben - ich habe das Update jedoch auch erst ganz kurz vor Beginn der heutigen PV-Leistung eingespielt. Ich beobachte das nächste Nacht nochmal! Danke auf jeden Fall! -
Ich habe noch ein anderes "Problem": Der Energieverbrauch des Wallbox-Skripts wird lt. Log um 23:58 Uhr erfolgreich gespeichert:
2022-09-22 23:58:00.017 - [32minfo[39m: javascript.0 (475) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Tagesertragswert gespeichertAn dem Tag habe ich ca. 12kWh in meinen Hybrid geladen. Ich würde jetzt erwarten, dass im Objekt
0_userdata.0.E3DC_Wallbox.Stromverbrauch.Verbrauch_E-Auto_kWh_Tag22
genau diese ca. 12kWh auftauchen, dort steht aber eine glatte 0, zuletzt geändert am 13.09., allerdings mit Zeitstempel passend zum obigen Log 22.09. 28:58 Uhr:

Auch das Objekt "History.JSON" scheint nicht befüllt zu werden, hier ist sogar der Zeitstempel der 13.09.:

Am 13.09. habe ich das Skript übrigens in Betrieb genommen, da wurden dann die Objekte erstellt, daher dieses Datum.
Im View ist dadurch logischerweise auch alles leer:

Was läuft hier wo falsch?Danke!
Einen Download-Link zum kompletten Log des 22.09. schicke ich Dir per Chat, @ArnoD
-
@freudi
Hast du deinen Solcast API Key und die Dach ID Dachfläche1 und eventuell 2 richtig eingetragen?
Error 404 bedeutet, dass die Seite nicht gefunden wurde und diese baut sich aus diesen drei Parameter zusammen. -
@freudi
Da ich das hinbekommen habe, hier Hinweise, wo genau was zu finden ist. Auf der Solcast Website findest Du in Deinem Account (Manage Account) das Feld API Key, in dem Du Dir nach Klick auf "Show API Key" Deinen API-Key anzeigen lassen oder durch "Copy Key" in die Zwischenablage übernehmen kannst.

Im Bereich "Live and Forecast" findest Du die IDs Deiner beiden Dachflächen:

Und damit sollte es dann klappen.

