Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. ArnoD

    NEWS

    • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar

    • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

    A
    • Profile
    • Following 0
    • Followers 11
    • Topics 2
    • Posts 1930
    • Best 189
    • Groups 3

    ArnoD

    @ArnoD

    Pro

    199
    Reputation
    310
    Profile views
    1930
    Posts
    11
    Followers
    0
    Following
    Joined Last Online

    ArnoD Follow
    Pro Starter Most Active

    Best posts made by ArnoD

    • E3DC Hauskraftwerk steuern

      Ich habe dieses Topic eröffnet, um gemeinsam an einer Überschusssteuerung des E3DC Hauskraftwerks in ioBroker zu arbeiten.
      Dankeschön an dieser Stelle an Eberhard und sein Programm E3DC-Control, ohne ihn wäre das alles nicht möglich gewesen.
      Großes Lob und Danke auch an Uli, der den Adapter e3dc-rscp programmiert hat, über den die Steuerung im ioBroker erst möglich wurde.

      Ziel der Steuerung ist:
      Mit der Steuerung soll erreicht werden, dass der Batteriespeicher möglichst schonend geladen wird, um die Lebensdauer zu erhöhen.

      • Speicher soll nie längere Zeit auf 100 % geladen werden oder auf 0 % entladen werden.
      • Möglichst gleichmäßige Ladeleistung beim Laden.
      • PV-Überschuss soll gespeichert werden, um nicht in die 70 % Abriegelung zu kommen.
      • Bei Überschreitung WR Begrenzung soll Überschuss in die Batterie gespeichert werden.

      ioBroker
      Es werden folgende Adapter benötigt:

      • Javascript (NPM-Module: axios, is-it-bst)
      • e3dc-rscp

      Für die View Beispiele in VIS werden noch folgende Adapter benötigt:

      • vis-hqwidgets
      • vis-materialdesign
      • vis-timeandweather

      Beispiel View zum Importieren und das Skript Charge-Control, sowie eine Anleitung findet ihr auf GitHub:
      https://github.com/ArnoD15/iobroker_E3DC

      Einstellbare Parameter:
      Unload: Wenn der SoC Wert der Batterie > Wert „Unload“ ist, wird der Batteriespeicher mit Beginn Solarproduktion bis Beginn Regelzeitraum, auf SOC Wert Parameter "Unload" entladen. Ist Unload < Ladeschwelle wird bis Ladeschwelle geladen und Unload ignoriert.

      Ladeschwelle: Mit Beginn Solarproduktion wird die Batterie mit der maximalen Ladeleistung bis zum Wert Ladeschwelle geladen. Erst wenn der Batterie SOC den Wert Ladeschwelle erreicht, wird mit dem geregelten Laden begonnen. Danach wird bis SOC Wert „Ladeende“ gleichmäßig geladen, mit Ausnahme, wenn die PV-Leistung das Einspeiselimit oder die WR-Maxleistung übersteigt, wird die Ladeleistung um den Wert erhöht, um das Einspeiselimit oder WR-Limit einhalten zu können. Bei unterschreiten von dem Wert Einspeiselimit oder WR-Limit, wird wieder mit neu berechneter Ladeleistung, gleichmäßig bis „Ladeende" geladen. Bei großem Überschuss kann die gleichmäßige Ladeleistung bis auf 0 abgesenkt werden. Parameter "Ladeschwelle" hat Vorrang vor "Unload", d.h. "Unload" wird ignoriert, falls "Ladeschwelle" größer sein sollte als „Unload“.

      Ladeende: SoC Wert Speicher, der zum Ende des Regelzeitraums erreicht werden soll.

      Ladeende2: SoC Wert Speicher, der zum Ende Sommer Ladeende erreicht werden sollten.

      Unterer Ladekorridor: Der „Untere Ladekorridor“ definiert nur den min. Wert, ab dem mit dem Laden der Batterie gestartet wird. Erst wenn die berechnetet Ladeleistung den Wert „unteren Ladekorridor“ übersteigt, wird mit dem Laden der Batterie gestartet.

      Offset Regelbeginn Zeit in hh:mm, die von der Astro Zeit "solarNoon" (höchster Sonnenstand) abgezogen wird.

      Offset Regelende Zeit in hh:mm, die zu der Astro Zeit "solarNoon" (höchster Sonnenstand) dazu addiert wird.

      Offset Ladeende Zeit in hh:mm, die von der Astro Zeit "sunset" (Sonnenuntergang) abgezogen wird.

      70c4baad-fc5b-45bb-8c02-45b0b14f89ea-grafik.png
      Eigenverbrauch: Der geschätzte Eigenverbrauch pro Tag in kWh. Wird für die Überschussberechnung der Prognose verwendet.

      Notstrom min.: Speicherreserve in % bei Wintersonnenwende 21.12

      Notstrom Sockel: min. SOC Wert bei Tag-/Nachtgleiche 21.3./21.9.

      Berechnung Notstrom: 21.12 (Wintersonnenwende) ist der Bezugs-SoC = Wert „Notstrom min“ und wird bis zum 21.3 (Tag-/Nachtgleiche) auf Wert „Notstrom Sockel“ reduziert und bis zum 20.06 (Sommersonnenwende) um ca. weitere 10% reduziert. Ab dem 20.06 (Sommersonnenwende) steigt der Bezugs-SoC wieder bis zum 21.09 (Tag-/Nachtgleiche) auf den Wert „Notstrom Sockel“ und bis zum 21.12 (Wintersonnenwende) auf den Wert „Notstrom min“. Je Monat ändert sich somit der SoC um ca. +- 3,3%. Mit Notstrom min. und Notstrom Sockel kann man eine Dynamische Notstromreserve vorhalten, Vorteil ist, dass der Speicher nicht alle 3 Wochen entladen wird wie bei der Notstromreserve von E3DC.

      Starten wir am 21.12 (Wintersonnenwende) der kürzeste Tag, da wird der Speicher bis auf Notstrom min = 20% entladen.
      Ab jetzt werden die Tage immer länger, bis zum 21.3 (Tag-/Nachtgleiche) wo die Tage und Nächte gleich lang sind.
      Das bedeutet deine Speicherreserve kann immer geringer werden je länger die Tage sind, da ja mehr PV-Leistung zur Verfügung steht. Es wird somit jeden Monat die Speichergrenze um ca.3,33% reduziert bis zum 21.03 auf den Wert Notstrom Sockel = 10%.

      Ab dem 21.03 werden die Tage immer länger bis zum 20.06 (Sommersonnenwende) dem längsten Tag im Jahr.
      Es wird also die Speichergrenze weiter jeden Monat um ca. 3,33% reduziert bis zum 20.06 auf 0%,
      Ab diesem Zeitpunkt werden die Tage wieder kürzer bis zum 21.9 (Tag-/Nachtgleiche) wo die Tage und Nächte wieder gleich lang sind und die Speicherreserve wird jeden Monat um ca. 3,33% erhöht auf Notstrom Sockel = 10%.
      Die Tage werden immer kürzer bis zum 21.12 (Wintersonnenwende) und die Speichergrenze wird weiter jeden Monat um ca. 3,33% erhöht auf den Wert Notstrom min = 20%

      Notstrom Sockel ist somit der min. SOC Wert, wenn die Tage und Nächte gleich lang sind, also am 21.3 und 21.09 und
      Notstrom min wenn die Tage am kürzesten sind am 21.12 .

      Laderegelung:
      Mit Beginn Solarproduktion wird die Batterie mit der maximalen Ladeleistung bis zum Wert Ladeschwelle geladen oder bis zum SOC Wert Unload entladen. Erst wenn der Batterie SOC den Wert Ladeschwelle erreicht, wird mit dem geregelten Laden begonnen.

      Mit Start Regelzeitraum wird die benötigte Ladeleistung berechnet, um den SOC Ladeende bis zum Ende Regelzeitraum zu erreichen.

      Bei Überschreitung der Zeit, Ende Regelzeitraum wird die benötigte Ladeleistung neu berechnet, um den SOC Ladeende2 bis zur Zeit Ladeende zu erreichen.

      Wenn die Zeit Ladeende erreicht ist und die Batterie noch nicht den SOC Ladeende2 erreicht hat, wird das Laden mit maximal noch zur Verfügung stehender PV-Leistung freigegeben.

      Ausnahme: Wenn die PV-Leistung das Einspeiselimit oder die maximale Wechselrichterleistung übersteigt, wird die Ladeleistung um den Wert erhöht, um das Einspeiselimit oder die maximale Wechselrichterleistung einhalten zu können. Bei Unterschreiten von dem Wert Einspeiselimit oder WR-Limit, wird mit neu berechneter Ladeleistung, gleichmäßig geladen.

      posted in JavaScript
      A
      ArnoD
    • RE: Neuer Adapter für Roborock-Staubsauger

      @docsnyder7 sagte in Neuer Adapter für Roborock-Staubsauger:

      Hallo zusammen... da hier ein S7 Einzug gehalten hat , hab ich natürlich auch den Adapter installiert .
      Eine Frage... der stat gibt in den Objekten zb CHARGING (8) aus... wenn ich den DP benutzten will bekomme ich immernur die 8 statt dem Wert... ein kleiner Wink evt ?

      Kann man so lösen:

      function getRoboStatus() {
          const input = getState("roborock.0.Devices.blabla.deviceStatus.state").val;
      
          const statusMapping = {
              1: "Initiating", 2: "Sleeping", 3: "Idle", 4: "Remote Control", 
              5: "Cleaning", 6: "Returning Dock", 7: "Manual Mode", 8: "Charging", 
              9: "Charging Error", 10: "Paused", 11: "Spot Cleaning", 12: "In Error", 
              13: "Shutting Down", 14: "Updating", 15: "Docking", 16: "Go To", 
              17: "Zone Clean", 18: "Room Clean", 22: "Empying dust container", 
              23: "Washing the mop", 26: "Going to wash the mop", 28: "In call", 
              29: "Mapping", 100: "Fully Charged"
          };
      
          return statusMapping[input] || "Unbekannter Status";
      }
      

      ok @tropisch war schneller 🙂

      posted in ioBroker Allgemein
      A
      ArnoD
    • RE: E3DC Hauskraftwerk steuern

      Neue Version 0.2.25 hochgeladen.

      Version: 0.2.25 Änderungen:
      Beim Abrufen der Wetterdaten Forecast wurden die letzten Werte vorher nicht gelöscht.
      Wenn aus irgendeinem Grund keine neuen Daten abgerufen werden konnten, wurde mit den alten Werten gerechnet.

      Für alle die nicht das original Script verwenden, es muss nur ab Zeile 363 bis 367 und die Funktion "SheduleForecast()" komplett kopiert werden, alles andere ist gleich geblieben.

      posted in JavaScript
      A
      ArnoD
    • RE: E3DC Hauskraftwerk steuern

      Ich habe mich jetzt etwas mit Github beschäftigt und alle Javascript Dateien für E3DC dort hochgeladen.
      Ich werde neue Versionen ab jetzt immer auf Github aktualisieren:
      https://github.com/ArnoD15/iobroker_E3DC

      posted in JavaScript
      A
      ArnoD
    • RE: E3DC Hauskraftwerk steuern

      Neue Version 0.3.0 hochgeladen.

      Änderungen:
      Bei den Prognosen von Proplanta und Forecast liegt die Wahrheit wie so oft meistens in der Mitte.
      Ich habe jetzt bei "PrognoseAnwahl" zwei weiter Möglichkeiten hinzugefügt.
      Wenn beide Prognosen verwendet werden, kann jetzt nach max., min. oder Durchschnitt die Prognose berechnet werden.

      Proplanta und Forecast Berechnung nach min. Wert = 0
      nur Proplanta = 1
      nur Forecast = 2
      Proplanta und Forecast Berechnung nach max. Wert = 3
      Proplanta und Forecast Berechnung nach Ø Wert = 4

      posted in JavaScript
      A
      ArnoD
    • RE: E3DC Hauskraftwerk steuern

      @chrischros sagte in E3DC Hauskraftwerk steuern:

      @arnod said in E3DC Hauskraftwerk steuern:

      Das wird auch die letzte Optimierung in dieser Version sein

      Wie wird es mit dem Script weitergehen?

      Ich werde es komplett ändern, um die Ladeleistung der Batterie zu steuern. Dann sollte das ganze auch ohne E3DC-Control funktionieren.

      posted in JavaScript
      A
      ArnoD
    • RE: E3DC Hauskraftwerk steuern

      @icke-pp sagte in E3DC Hauskraftwerk steuern:

      Das ist aber dein persönlicher Wunsch das nicht weiter geladen wird. Ich z.B. teile diesen Wunsch nicht. Mir ist es im Gegenteil sogar ganz recht wenn E3DC die Ladung ab diesem Zeitpunkt übernimmt da ich für abends einen vollen Akku erwarte wenn ich die meisten Verbraucher anwerfe.

      Jeder darf hier natürlich seine Wünsche äußern, ich werde es in der Regel immer so lösen das dadurch kein Nachteil entsteht. In dem Fall hat es @smartboart richtig angemerkt das man den Parameter Ladeende2 dann auf 100% einstellt um die Batterie voll zu laden.
      Ob das voll Laden sinnvoll ist oder nicht, kann dann jeder selber entscheiden. 😉

      posted in JavaScript
      A
      ArnoD
    • RE: E3DC Hauskraftwerk steuern

      Neue Version Charge-Control auf GitHub hochgeladen.
      Version: 1.0.28
      Änderungen:

      • Wenn die PV-Erzeugung die Prognose übersteigt, wird diese nicht mehr bei der Überschussberechnung abgezogen. Damit soll verhindert werden, dass die Einstellung sich ändert, wenn die
        Prognose zu gering war.

      • Wenn Ladeende erreicht ist und der Batterie SOC den Ladeende2 SOC erreicht hat, wird das Laden der Batterie gestoppt. Ladeende2 muss somit auf 100 % eingestellt werden, wenn die Batterie voll geladen werden soll.

      posted in JavaScript
      A
      ArnoD
    • RE: E3DC Hauskraftwerk steuern

      Neue Version Charge-Control auf GitHub hochgeladen.
      Version: 1.1.0
      Änderungen:

      • Neue Funktion Notstromreserve verwenden, wenn die Prognose am nächsten Tag über einem einstellbaren Wert liegt. Es wurden zwei neue User und zwei allgemein Parameter erstellt, 10_NotstromEntladen, 10_minWertPrognose_kWh, EigenverbrauchAbend_kWh,EigenverbrauchDurchschnitt_kWh. Mit 10_NotstromEntladen = true wird die Funktion aktiviert und mit 10_minWertPrognose_kWh kann festgelegt werden, ab welcher Prognose in kWh am nächsten Tag die Notstromreserve freigegeben wird. EigenverbrauchAbend_kWh summiert den Eigenverbrauch von 0:00 Uhr bis 8:00 Uhr und unter EigenverbrauchDurchschnitt_kWh wird der berechnete Durchschnittsverbrauch von diesem Zeitraum gespeichert. Wenn der Notstrom SOC erreicht ist und 10_NotstromEntladen= true und die Prognose am nächsten Tag über dem eingestellten Wert in 10_minWertPrognose_kWh liegt, wird anhand vom Durchschnittsverbrauch berechnet, wie lange der Notstrom SOC den Eigenverbrauch abdecken kann. Ab dem Zeitpunkt, wo die Notstromreserve bis zum Sonnenaufgang reicht, wird das Entladen der Batterie freigegeben. Bitte beachten, wenn die Prognose nicht stimmt, kann es vorkommen, dass bei Stromausfall eventuell keine Notstromreserve mehr vorhanden ist. Danke an @zelkin für diese Idee.

      • Fehler behoben, dass der falsche Timer verwendet wurde. Danke an @icke-pp

      • LOG Texte optimiert, wenn das Script regelt, werden jetzt Warnungen ausgegeben, um das besser unterscheiden zu können. Natürlich, nur wenn 10_LogAusgabeRegelung = true ist

      posted in JavaScript
      A
      ArnoD
    • RE: E3DC Hauskraftwerk steuern

      Neue Version Charge-Control auf GitHub hochgeladen.
      Version: 1.2.10
      Änderungen:

      • E3DC-RSCP Adapater kann ab Version 1.2.0 die Info Tags anzeigen und somit auch die Firmware Version.
        Das wurde im Script integriert und zwei neue Objekte angelegt:
        "0_userdata.0.Charge_Control.Allgemein.FirmwareDate" und
        "0_userdata.0.Charge_Control.Allgemein.LastFirmwareVersion"
        um in VIS das Datum und die Uhrzeit der Firmware Installation anzeigen zu können und sich die alte Version zu merken und auch diese anzeigen zu können.

      • Fehler behoben, dass e3dc-rscp.0.EMS.POWER_LIMITS_USED nicht automatisch aktiviert wurde.

      • Fehler behoben, dass beim Erreichen von Ladeschwelle, Ladeende und Ladeende2 es zum „Pulsen“ der Ladeleistung führen kann.

      posted in JavaScript
      A
      ArnoD

    Latest posts made by ArnoD

    • RE: E3DC Hauskraftwerk steuern

      @psrelax
      Entschuldige bitte, dass ich erst jetzt antworte, aber bei mir ist die vermeintlich ruhige Zeit alles andere als ruhig. 😊

      Warum möchtest du im "pv" Modus einen Grenzwert für die Wallbox setzen? Das lässt sich doch bereits in EVCC einstellen, oder?

      posted in JavaScript
      A
      ArnoD
    • RE: E3DC Hauskraftwerk steuern

      Neue Version Charge-Control auf GitHub hochgeladen.

      Version: 1.6.5
      Änderungen:

      • Die Logik der Funktion Ladesteuerung() wurde angepasst, um das Zusammenspiel zwischen EVCC und Charge-Control zu verbessern.
        Neue Logik:
        Die Laderegelung von Charge-Control wird jetzt angehalten, wenn: EVCC im Schnelllademodus ist (sMode_evcc === 'now') und der State vom Tibber-Skript BatterieLaden = false ist.
      posted in JavaScript
      A
      ArnoD
    • RE: E3DC Hauskraftwerk steuern

      @psrelax sagte in E3DC Hauskraftwerk steuern:

      @arnod
      Wie ich in Post vom 30. Sept. 2025, 19:03 erwähnt habe, ist das komplette ausschalten des Scripts ja das Problem.
      Es soll nur die Steuerung der Entladung im Script beendet werden, da dies EVCC übernimmt. Die Ladungssteuerung von ChargeControl soll weiterhin funktionieren. Evtl. Will das TibberScript ja auch gleichzeitig den Speicher laden, da gerade ein günstiger Preis ist.

      An dem Problem Auto und Hausbatterie gleichzeitig laden bin ich dran. 😉

      posted in JavaScript
      A
      ArnoD
    • RE: E3DC Hauskraftwerk steuern

      @psrelax
      CC versucht die Lade/Entladeleistung auf 0 zu setzen, aber aus irgendeinem Grund, den ich aus der Ferne nicht feststellen kann, wird diese wieder aktiviert.
      Ich weiß nicht, was alles bei dir läuft und auf die Einstellungen vom E3DC zugreift.
      Es könnte aber auch EVCC der Grund sein, da hier das Entladen der Batterie immer noch über das Deaktivieren der Lade/Entladeleistung realisiert wird.
      Wenn das Schnellladen beendet wird, wird die maximale Entladeleistung statisch wieder auf den Standardwert von 12.000 W gesetzt, ebenso wie die untere Lade-/Entladeschwelle, die ebenfalls statisch auf den Standardwert von 95 W gesetzt wird.
      Ich würde die Funktion von EVCC "Verhindere Entladung im Schnell-Modus und beim geplanten Laden" nicht verwenden.

      posted in JavaScript
      A
      ArnoD
    • RE: E3DC Hauskraftwerk steuern

      @psrelax
      Sollte sich nur noch beim Schnellladen ausschalten.

      posted in JavaScript
      A
      ArnoD
    • RE: E3DC Hauskraftwerk steuern

      Neue Version Charge-Control auf GitHub hochgeladen.

      Version: 1.6.4
      Änderungen:

      Unter 0_userdata.0.Charge_Control.USER_ANPASSUNGEN wurden zwei neue States hinzugefügt:

      • 10_evcc_WB1_Loadpoint
      • 10_evcc_WB2_Loadpoint

      Diese States ermöglichen die Angabe des jeweiligen EVCC Loadpoints für Wallbox 1 und Wallbox 2.
      Wertebereich: 0 = Deaktiviert
      Hinweis: Aktuell können maximal zwei Wallboxen konfiguriert werden.

      Verbrauchseinträge enthalten nun zusätzlich die aktuelle Stunde (hour) bei Speicherung.

      • Neue Datenstruktur: homeConsumption[Wochentag][day|night] = [{ hour, value }, ...]

      ⚠️ Wichtiger Hinweis
      Vor dem ersten Start nach dem Update muss folgender Datenpunkt manuell gelöscht werden: 0_userdata.0.Charge_Control.Allgemein.arrayHausverbrauch anschließend das Skript neu starten, damit die neue Datenstruktur korrekt initialisiert wird.

      posted in JavaScript
      A
      ArnoD
    • RE: E3DC Hauskraftwerk steuern

      Neue Version TibberSkript auf GitHub hochgeladen.
      Version: 2.1.0

      Änderungen:

      • Stündliche Prognosedaten werden von Solcast abgerufen.(Benötigte State werden von Charge-Control übernommen)
      • Funktion pruefeAbweichung() Vergleicht aufsummierte Prognoseenergie bis zur aktuellen Uhrzeit mit dem Ist-Tagesertrag um Abweichung zur Prognose zu berechnen.
      • 30 min-Intervall Prognosewerte werden als JSON unter 0_userdata.0.TibberSkript.History.JSON_PvSolcastSumme gespeichert

      Ablauflogik
      Prognosedaten werden täglich um 04:00 Uhr neu abgerufen.
      Abweichungsprüfung läuft stündlich zwischen 10:00 – 17:00 Uhr.
      Erkennt zuverlässig Ertragsverluste (z. B. Schneebedeckung).

      Änderungen der Funktion pruefePVLeistung()

      • Korrektur der PV-Prognose anhand Ist-Abweichung
      • Integration der globalen Variable pvAbweichung_kWh zur dynamischen Anpassung der PV-Prognose.
      • Positive Abweichung (mehr PV als erwartet) → keine Änderung.
      • Negative Abweichung (weniger PV als erwartet) → Prognose um den Betrag reduziert.
      • Vergleich der benötigten Energie mit der maximal ladbaren Energie. Dadurch wird verhindert, dass unrealistische Ladeszenarien als „ausreichend“ gewertet werden.
      • Wirkungsgrad EU wird bei der Berechnung der benötigten Kapazität berücksichtigt.

      Anpassung von getCurrentPrice() zur Unterstützung von 15-Minuten-Preisdaten.

      • Automatische Erkennung des Datenintervalls (15min / 60min) über vorhandene Funktion detectIntervalMinutes().
      posted in JavaScript
      A
      ArnoD
    • RE: E3DC Hauskraftwerk steuern

      @psrelax
      Ja, kann mich aber erst später damit beschäftigen.

      posted in JavaScript
      A
      ArnoD
    • RE: E3DC Hauskraftwerk steuern

      @psrelax
      Ja, muss angepasst werden.
      Für die Diagramme habe ich diese Option beim JSON Chart Widget angewählt:
      2275ea6e-6df0-4573-a872-02e892c80a1e-grafik.png

      Dann habe ich eine neue Seite erstellt, wo ich die Diagramme für heute und Morgen getrennt anzeige:
      125df7e5-0b74-4c0a-9284-a17b3e972c22-grafik.png

      So sind die Preise mindestens einigermaßen lesbar.

      posted in JavaScript
      A
      ArnoD
    • RE: E3DC Hauskraftwerk steuern

      @psrelax sagte in E3DC Hauskraftwerk steuern:

      Das oben gezeigte "Ist", ist das bei mir aktuelle. Ausgewählt ist der ..

      Bei dir wird das Diagramm nicht aktualisiert.
      Läuft das Script? Eventuell mal neu starten.
      Was steht im LOG?

      Nachtrag: Hast du den TibberLink Adapter aktualisiert v6.0.1 ? In der alten Version werden noch Stundenwerte abgerufen.

      posted in JavaScript
      A
      ArnoD
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo