Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Neues Script: Hausspeicher Energiemanager Sonnen

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    509

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.6k

Neues Script: Hausspeicher Energiemanager Sonnen

Geplant Angeheftet Gesperrt Verschoben Blockly
27 Beiträge 8 Kommentatoren 2.7k Aufrufe 13 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • lehmann-makerL Offline
    lehmann-makerL Offline
    lehmann-maker
    schrieb am zuletzt editiert von
    #12

    Hi @babl ,

    Ich habe deine Skripte auf meinen Anwendungsfall (SMA STP 6.0 SE + SMA Home Storage + SMA EV Charger 22). Auch Adapter nutze ich andere:

    PV-Vorhersage: Solarprognose Adapter
    Wallbox: SMA-EV-Charger Adapter
    Wechselrichter: Modbus Adapter

    Integration war soweit erst einmal kein Problem, nur ein Hinweis: Nach Import der Zip müssen den Skripten einzeln die Java-Skript Instanz manuell (unter Stift -"bearbeiten") zugeordnet werden. Ich hab viel gesucht bis ich das fand :D Vor erschien bei mir neben den run/stop button nur "Die Instanz ist deaktiviert".

    Nun zur eigentlichen Frage: Berücksichtigt das Skript das Nachladen in der Nacht um die Nacht/den morgen bis zu errechnetem Grundlast-SOC mit möglichst günstigen Strom zu überbrücken obwohl der Ertrag am nächsten Tag größer als die die berechnete Tagesgrundlast und/oder Speicherkapazität?

    Grund meiner Frage: Skript 2 enthält die SOC Berechnung mit folgenden ähnlichen Blöcken:
    Bildschirmfoto 2025-09-27 um 13.12.04.png

    Dies sieht für mich so aus, als würde der errechnete SOC nachfolgend immer <0 bzw im Weiteren 0 % , da (Batteriekapazität-Grundlast-PV-Ertrag(nächster Tag)) << 0. Ist das korrekt oder wurde nachladen in der Nacht berücksichtig?

    Ich habe das Problem, dass das Skript momentan zumindest noch nicht das Laden zulässt, obwohl der Preis niedrig genug wäre.

    Außerdem möchte ich gern fragen, ob "PV_Ertrag" der Ertrag der Überschuss (PV Leistung - Grundlast) abzüglich Speicherbeladeleistung ist oder soll die Beladeleistung aus der Grundlast herausgezogen werden? Momentan erechnet sich meine Grundlast (bei dir sonnen.0.status.consumption) ohne die Beladeleistung.

    Dank dir für die Hilfe und deine Skripte ;)

    Grüße

    Sebastian

    B 1 Antwort Letzte Antwort
    0
    • lehmann-makerL lehmann-maker

      Hi @babl ,

      Ich habe deine Skripte auf meinen Anwendungsfall (SMA STP 6.0 SE + SMA Home Storage + SMA EV Charger 22). Auch Adapter nutze ich andere:

      PV-Vorhersage: Solarprognose Adapter
      Wallbox: SMA-EV-Charger Adapter
      Wechselrichter: Modbus Adapter

      Integration war soweit erst einmal kein Problem, nur ein Hinweis: Nach Import der Zip müssen den Skripten einzeln die Java-Skript Instanz manuell (unter Stift -"bearbeiten") zugeordnet werden. Ich hab viel gesucht bis ich das fand :D Vor erschien bei mir neben den run/stop button nur "Die Instanz ist deaktiviert".

      Nun zur eigentlichen Frage: Berücksichtigt das Skript das Nachladen in der Nacht um die Nacht/den morgen bis zu errechnetem Grundlast-SOC mit möglichst günstigen Strom zu überbrücken obwohl der Ertrag am nächsten Tag größer als die die berechnete Tagesgrundlast und/oder Speicherkapazität?

      Grund meiner Frage: Skript 2 enthält die SOC Berechnung mit folgenden ähnlichen Blöcken:
      Bildschirmfoto 2025-09-27 um 13.12.04.png

      Dies sieht für mich so aus, als würde der errechnete SOC nachfolgend immer <0 bzw im Weiteren 0 % , da (Batteriekapazität-Grundlast-PV-Ertrag(nächster Tag)) << 0. Ist das korrekt oder wurde nachladen in der Nacht berücksichtig?

      Ich habe das Problem, dass das Skript momentan zumindest noch nicht das Laden zulässt, obwohl der Preis niedrig genug wäre.

      Außerdem möchte ich gern fragen, ob "PV_Ertrag" der Ertrag der Überschuss (PV Leistung - Grundlast) abzüglich Speicherbeladeleistung ist oder soll die Beladeleistung aus der Grundlast herausgezogen werden? Momentan erechnet sich meine Grundlast (bei dir sonnen.0.status.consumption) ohne die Beladeleistung.

      Dank dir für die Hilfe und deine Skripte ;)

      Grüße

      Sebastian

      B Online
      B Online
      babl
      schrieb am zuletzt editiert von
      #13

      @lehmann-maker hallo,

      der errechnete soc sollte eigentlich nicht kleiner als 0 sein, du hast es ja oben recht schön gerechnet, Batteriekapazität - Grundlast - Pv Ertrag nur du musst bedenken einmal rechnet sie von mitternacht weg und einmal mitternacht zu darum hast du das 5x grundlastspezifisch, nachladen wurde in der nacht berücksichtigt nur aktuell sind halt in der nacht die preise teilweise höher als unterm tag, hierzu habe ich ncoh nicht wirklich eine lösung gefunden, zumindestens nicht mit diesem script.
      Der PV Ertrag Durchschnitt wird zur Berechnung von Schnee auf dem Dach zwischen sonnenaufgang und untergang berechnet. Ansonsten wüsste ich jetzt nicht welchen datenpunkt du meinst?

      Gruß

      lehmann-makerL 1 Antwort Letzte Antwort
      0
      • B babl

        @lehmann-maker hallo,

        der errechnete soc sollte eigentlich nicht kleiner als 0 sein, du hast es ja oben recht schön gerechnet, Batteriekapazität - Grundlast - Pv Ertrag nur du musst bedenken einmal rechnet sie von mitternacht weg und einmal mitternacht zu darum hast du das 5x grundlastspezifisch, nachladen wurde in der nacht berücksichtigt nur aktuell sind halt in der nacht die preise teilweise höher als unterm tag, hierzu habe ich ncoh nicht wirklich eine lösung gefunden, zumindestens nicht mit diesem script.
        Der PV Ertrag Durchschnitt wird zur Berechnung von Schnee auf dem Dach zwischen sonnenaufgang und untergang berechnet. Ansonsten wüsste ich jetzt nicht welchen datenpunkt du meinst?

        Gruß

        lehmann-makerL Offline
        lehmann-makerL Offline
        lehmann-maker
        schrieb am zuletzt editiert von
        #14

        @babl In dem gewählten blockly Beispiel substrahiert er den gesamten PV-Ertrag des Folgetages. Um das in Zahlen auszudrücken: Mein Batteriespeicher hat 13120 netto Wh, morgen zeigt mein PV-Forecast 33613 Wh, die Grundlast hab ich mit 800 Wh angegeben. Daraus folgt 13120 - 5x800 - 33613 = -24,493 Wh. Oder versteh ich etwas falsch? Dank dir

        B 1 Antwort Letzte Antwort
        0
        • lehmann-makerL lehmann-maker

          @babl In dem gewählten blockly Beispiel substrahiert er den gesamten PV-Ertrag des Folgetages. Um das in Zahlen auszudrücken: Mein Batteriespeicher hat 13120 netto Wh, morgen zeigt mein PV-Forecast 33613 Wh, die Grundlast hab ich mit 800 Wh angegeben. Daraus folgt 13120 - 5x800 - 33613 = -24,493 Wh. Oder versteh ich etwas falsch? Dank dir

          B Online
          B Online
          babl
          schrieb am zuletzt editiert von
          #15

          @lehmann-maker ja bei soviel erzeugung ist es natürlich nicht gedacht die batterie mit netzstrom zu laden, dies ist nur gedacht wenn es tage gibt wo nur 3 - 4 kwh vorhergesagt sind und dann funktioniert auch die rechnung, so würde er natürlich immer unter 0 sein und daher auch nie laden. aber achtung es gibt 3 verschiedene möglichkeiten bei dem errechneten soc.

          1 mal mit der vorhersage für heute
          1 mal mit der vorhersage rest des tages heute
          und dann mit der geschätzten energie für morgen.

          dies ist nur interessant wie bereits oben geschrieben.

          10kwh Batteriekapazität - 5* 800 Grundlast - 4 kwh Vorhersage = 2kwh Rest => errechneter Soc von 20% wurde dies um diese Uhrzeit unterschritten sucht er nach einem günstigen Preisfenster vorher und läd dann die Batterie. Dieses Script habe ich für mich geschrieben, da ich eigentlich eine Grundlast von ca. 200-300 habe und wir in einem Nebelloch sind und daher auch die Vorhersagen teiwlweise bis unter 2kwh für den ganzen Tag sind. Wenn du es für dich ummünzen willst dann brauchst du nur den Block mit dem errechneten Soc (wie dein Beispiel) auf dich umändern. Ich weiß das Script ist nicht das beste, aber es hat das letzte Jahr erfolgreich seinen Dienst erledigt. Für mich war es so optimal und du musst natürlich auch bedenken, daß hier alles nur von errechneten werten oder geschätzten vorhersagen abhängt.

          lehmann-makerL 1 Antwort Letzte Antwort
          0
          • B babl

            @lehmann-maker ja bei soviel erzeugung ist es natürlich nicht gedacht die batterie mit netzstrom zu laden, dies ist nur gedacht wenn es tage gibt wo nur 3 - 4 kwh vorhergesagt sind und dann funktioniert auch die rechnung, so würde er natürlich immer unter 0 sein und daher auch nie laden. aber achtung es gibt 3 verschiedene möglichkeiten bei dem errechneten soc.

            1 mal mit der vorhersage für heute
            1 mal mit der vorhersage rest des tages heute
            und dann mit der geschätzten energie für morgen.

            dies ist nur interessant wie bereits oben geschrieben.

            10kwh Batteriekapazität - 5* 800 Grundlast - 4 kwh Vorhersage = 2kwh Rest => errechneter Soc von 20% wurde dies um diese Uhrzeit unterschritten sucht er nach einem günstigen Preisfenster vorher und läd dann die Batterie. Dieses Script habe ich für mich geschrieben, da ich eigentlich eine Grundlast von ca. 200-300 habe und wir in einem Nebelloch sind und daher auch die Vorhersagen teiwlweise bis unter 2kwh für den ganzen Tag sind. Wenn du es für dich ummünzen willst dann brauchst du nur den Block mit dem errechneten Soc (wie dein Beispiel) auf dich umändern. Ich weiß das Script ist nicht das beste, aber es hat das letzte Jahr erfolgreich seinen Dienst erledigt. Für mich war es so optimal und du musst natürlich auch bedenken, daß hier alles nur von errechneten werten oder geschätzten vorhersagen abhängt.

            lehmann-makerL Offline
            lehmann-makerL Offline
            lehmann-maker
            schrieb am zuletzt editiert von
            #16

            @babl OK verstanden. Bliebe noch das Problem mit dem ausbleibenden Laden über Nacht, da die Preise hier höher sind als am Tag. Wäre es möglich das Script zu in einem Nacht- und einen Tagmodus zu splitten? Es müsste dann über eine Vergleichsfunktion den niedrigsten Preis zwischen bspw. 9:00 und 16:00 finden und zwischen 16:00 und 9:00. Ich befürchte jedoch, dass ich das nicht hinbekomme :(

            1 Antwort Letzte Antwort
            0
            • lehmann-makerL Offline
              lehmann-makerL Offline
              lehmann-maker
              schrieb am zuletzt editiert von
              #17

              Warum war es nötig den EVCC Durchnitt /6 /60 /24 umzurechnen? Wir dieser durch den EVCC Adapter nicht bereits in Wh angezeigt, oder steckt hier mehr hinter? Danke.

              B 1 Antwort Letzte Antwort
              0
              • lehmann-makerL lehmann-maker

                Warum war es nötig den EVCC Durchnitt /6 /60 /24 umzurechnen? Wir dieser durch den EVCC Adapter nicht bereits in Wh angezeigt, oder steckt hier mehr hinter? Danke.

                B Online
                B Online
                babl
                schrieb am zuletzt editiert von
                #18

                @lehmann-maker da steckt mehr dahinter, weil wenn evcc aktiv ist, dann soll ja evcc nicht in die grundlast miteinfließen, so war damals mein plan. dies wird dann auf die 24 stunden wieder rausgerechnet, so daß die grundlast dann wirklich nur deine grundlast vom haus beträgt.

                F lehmann-makerL 2 Antworten Letzte Antwort
                0
                • B babl

                  @lehmann-maker da steckt mehr dahinter, weil wenn evcc aktiv ist, dann soll ja evcc nicht in die grundlast miteinfließen, so war damals mein plan. dies wird dann auf die 24 stunden wieder rausgerechnet, so daß die grundlast dann wirklich nur deine grundlast vom haus beträgt.

                  F Offline
                  F Offline
                  FloHa 0
                  schrieb am zuletzt editiert von
                  #19

                  Hat schon jemand das Tibber script auf die neue 15 Minütige berechnung angepasst?

                  lehmann-makerL 1 Antwort Letzte Antwort
                  0
                  • F FloHa 0

                    Hat schon jemand das Tibber script auf die neue 15 Minütige berechnung angepasst?

                    lehmann-makerL Offline
                    lehmann-makerL Offline
                    lehmann-maker
                    schrieb am zuletzt editiert von
                    #20

                    @floha-0 dafür müsste zunächst der Adapter tibberlink angepasst werden. Die einstündige Berechnung funktioniert aber nach wie vor.

                    1 Antwort Letzte Antwort
                    0
                    • B babl

                      @lehmann-maker da steckt mehr dahinter, weil wenn evcc aktiv ist, dann soll ja evcc nicht in die grundlast miteinfließen, so war damals mein plan. dies wird dann auf die 24 stunden wieder rausgerechnet, so daß die grundlast dann wirklich nur deine grundlast vom haus beträgt.

                      lehmann-makerL Offline
                      lehmann-makerL Offline
                      lehmann-maker
                      schrieb am zuletzt editiert von
                      #21

                      @babl das Skript läuft soweit, manchmal passiert es allerdings, dass er die Entladesperre setzt obwohl eigentlich mehr PV-Leistung vom Dach kommt als der aktuelle Verbrauch ist, aber scheinbar weniger als der Tagesdurchschnitt. In Konsequenz wird der Speicher nicht geladen. Hast du eine Idee wo man das im Skript anpassen/implementieren kann?

                      Danke.

                      B 1 Antwort Letzte Antwort
                      0
                      • lehmann-makerL lehmann-maker

                        @babl das Skript läuft soweit, manchmal passiert es allerdings, dass er die Entladesperre setzt obwohl eigentlich mehr PV-Leistung vom Dach kommt als der aktuelle Verbrauch ist, aber scheinbar weniger als der Tagesdurchschnitt. In Konsequenz wird der Speicher nicht geladen. Hast du eine Idee wo man das im Skript anpassen/implementieren kann?

                        Danke.

                        B Online
                        B Online
                        babl
                        schrieb am zuletzt editiert von
                        #22

                        @lehmann-maker schau mal in deiner grundlastberechnung ob die stimmt, denn nach dieser richtet sich das.

                        du kannst das ändern im script 2 unter "entladesperre bei preisen die sich nicht lohnen" einfach dann eine berechnung hinzufügen z.B. Grundlast -100 dann sollte er schneller reagieren

                        lehmann-makerL 1 Antwort Letzte Antwort
                        0
                        • B babl

                          @lehmann-maker schau mal in deiner grundlastberechnung ob die stimmt, denn nach dieser richtet sich das.

                          du kannst das ändern im script 2 unter "entladesperre bei preisen die sich nicht lohnen" einfach dann eine berechnung hinzufügen z.B. Grundlast -100 dann sollte er schneller reagieren

                          lehmann-makerL Offline
                          lehmann-makerL Offline
                          lehmann-maker
                          schrieb am zuletzt editiert von
                          #23

                          @babl Kannst du mir bitte noch erklären warum im Beladen Skript einmal die Bedingung für das Laden in der Funktion "laden" schreiben=0 ist vorher aber schreiben=1 an die Funktion übergeben wird?Bildschirmfoto 2025-10-15 um 14.55.17.png

                          Ich hab das Laden über Nacht nun übrigens so gelöst, dass ich eine extra JSON mit den Preisen und Zeiten von 0 - 6 Uhr erstellen lasse und diese dann nach Preis sortiere und dann analog zum vorgehen von dir die 3 günstigsten Stunden rauspicke. Falls jemand Interesse hat bitte melden.

                          B 1 Antwort Letzte Antwort
                          0
                          • lehmann-makerL lehmann-maker

                            @babl Kannst du mir bitte noch erklären warum im Beladen Skript einmal die Bedingung für das Laden in der Funktion "laden" schreiben=0 ist vorher aber schreiben=1 an die Funktion übergeben wird?Bildschirmfoto 2025-10-15 um 14.55.17.png

                            Ich hab das Laden über Nacht nun übrigens so gelöst, dass ich eine extra JSON mit den Preisen und Zeiten von 0 - 6 Uhr erstellen lasse und diese dann nach Preis sortiere und dann analog zum vorgehen von dir die 3 günstigsten Stunden rauspicke. Falls jemand Interesse hat bitte melden.

                            B Online
                            B Online
                            babl
                            schrieb am zuletzt editiert von
                            #24

                            @lehmann-maker das ist nur eine hilfsvariable, damit man weiß daß jetzt gerade geschrieben wurde. 1= wurde geschrieben 0 = wurde nicht geschrieben

                            lehmann-makerL 1 Antwort Letzte Antwort
                            0
                            • B babl

                              @lehmann-maker das ist nur eine hilfsvariable, damit man weiß daß jetzt gerade geschrieben wurde. 1= wurde geschrieben 0 = wurde nicht geschrieben

                              lehmann-makerL Offline
                              lehmann-makerL Offline
                              lehmann-maker
                              schrieb am zuletzt editiert von lehmann-maker
                              #25

                              @babl Was wurde denn geschrieben? Batterie laden? Für mich ist im "Hausspeicher Laden" Skript das Laden doppelt geschrieben. Im oberen Hauptblock wird bereits der Operation Mode und die Ladeleistung geschrieben, dann kommt die Funktion "laden", welche das ganze nochmals beinhaltet. Warum? Ich habe häufiger das Problem, dass sich der Speicher morgens dann noch im manuellen Modus befindet obwohl laut "Batteriestatus" im "normalen Modus" und obwohl "Batterie_laden" und "Batterie_nicht_entladen" auf falls. Ich suche nach möglichen Ursachen. Zweite Frage: Was bewirkt die Variable "Batterie_laden" im Hauptskript "2"? Sie ist mit keinem Datenpunkt verknüpft. Dank dir.

                              B 1 Antwort Letzte Antwort
                              0
                              • lehmann-makerL lehmann-maker

                                @babl Was wurde denn geschrieben? Batterie laden? Für mich ist im "Hausspeicher Laden" Skript das Laden doppelt geschrieben. Im oberen Hauptblock wird bereits der Operation Mode und die Ladeleistung geschrieben, dann kommt die Funktion "laden", welche das ganze nochmals beinhaltet. Warum? Ich habe häufiger das Problem, dass sich der Speicher morgens dann noch im manuellen Modus befindet obwohl laut "Batteriestatus" im "normalen Modus" und obwohl "Batterie_laden" und "Batterie_nicht_entladen" auf falls. Ich suche nach möglichen Ursachen. Zweite Frage: Was bewirkt die Variable "Batterie_laden" im Hauptskript "2"? Sie ist mit keinem Datenpunkt verknüpft. Dank dir.

                                B Online
                                B Online
                                babl
                                schrieb am zuletzt editiert von
                                #26

                                @lehmann-maker ok zu punkt 1, warum steht das 2 mal drin?

                                Wenn der Befehl kommt die Batterie zu laden dann fängt sie das laden an und wie lange? Denn hier wird ja der User Soc nicht berücksichtigt, darum wird das laden im 2 Block durch den User Soc Status beschränkt.

                                Wenn dir der Modus nicht auf Eigenverbrauch zurückgeht probier mal die Pausen länger zu setzen. Eventuell darfst du auch in Charge und Discharge vielleicht nichts mehr schreiben, vielleicht meint dein system dann daß es auf manuell bleiben soll. Ich weiß es nicht daß musst du selbst testen.

                                zu 2. also bei mir wird die variable benutzt.

                                screen script 2.png

                                1 Antwort Letzte Antwort
                                0
                                • M Offline
                                  M Offline
                                  mmueller1990
                                  schrieb am zuletzt editiert von
                                  #27

                                  Hallo zusammen,

                                  habe gestern die Scripte spontan bei mir importiert. Bekomme keine Fehlermeldung oder sonstige Probleme.
                                  Hoffe es klappt eigentlich alles...
                                  Jetzt frage ich mich kann ich die Funktion der Instanzen und Scripte prüfen/ testen?

                                  Gruß Markus

                                  1 Antwort Letzte Antwort
                                  0
                                  Antworten
                                  • In einem neuen Thema antworten
                                  Anmelden zum Antworten
                                  • Älteste zuerst
                                  • Neuste zuerst
                                  • Meiste Stimmen


                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  669

                                  Online

                                  32.5k

                                  Benutzer

                                  81.8k

                                  Themen

                                  1.3m

                                  Beiträge
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                  ioBroker Community 2014-2025
                                  logo
                                  • Anmelden

                                  • Du hast noch kein Konto? Registrieren

                                  • Anmelden oder registrieren, um zu suchen
                                  • Erster Beitrag
                                    Letzter Beitrag
                                  0
                                  • Home
                                  • Aktuell
                                  • Tags
                                  • Ungelesen 0
                                  • Kategorien
                                  • Unreplied
                                  • Beliebt
                                  • GitHub
                                  • Docu
                                  • Hilfe