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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Javascript für Zendure Hyper Steuerung

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.4k

Javascript für Zendure Hyper Steuerung

Geplant Angeheftet Gesperrt Verschoben JavaScript
5 Beiträge 3 Kommentatoren 278 Aufrufe 3 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.
  • L Offline
    L Offline
    lesiflo
    Most Active
    schrieb am zuletzt editiert von lesiflo
    #1

    Übersicht
    Das Skript steuert zwei Heim-Speicherbatterien („Hyper1“ und „Hyper2“) in einem Haus mit Photovoltaik (PV-Anlage) und einem Elektroauto. Es entscheidet automatisch, wann geladen, entladen oder gestoppt wird – basierend auf PV-Leistung, Hausverbrauch, Strompreis und Auto-Ladebedarf.

    Hauptaufgaben des Skripts

    1. PV-Leistung & Hausverbrauch messen
      o Das Skript ermittelt, wie viel Strom die Solaranlage gerade produziert und wie viel das Haus verbraucht.
      o Außerdem wird der Strombedarf vom Elektroauto berücksichtigt.
    2. SOC (Ladezustand der Batterien) überwachen
      o Jede Batterie hat einen aktuellen Ladezustand (SOC in %).
      o Daraus wird der durchschnittliche Ladezustand und die verfügbare Kapazität berechnet.
    3. Lade- und Entlade-Entscheidung treffen
      o Laden: Wenn PV-Überschuss vorhanden ist oder der Strompreis günstig ist, wird in die Batterien geladen.
      o Entladen: Wenn Strom teuer ist oder die Batterien überschüssige Energie haben, wird ins Hausnetz entladen.
      o Stopp: Wenn keine der Bedingungen zutrifft, wird weder geladen noch entladen.
    4. E-Auto priorisieren
      o Das Skript kann einstellen, dass das Elektroauto Vorrang hat.
      o Wenn das Auto geladen wird, wird die Batterie nur nach Bedarf genutzt, bis das Auto einen bestimmten SOC erreicht hat.
    5. Preisabhängiges Laden
      o Es erkennt günstige und teure Stromzeiten.
      o Bei günstigem Strom kann das Skript auch „preisgesteuert“ laden, unabhängig vom PV-Überschuss.
    6. Nachtverbrauch berücksichtigen
      o Vor Sonnenuntergang berechnet das Skript, wie lange die Batterien in der Nacht ausreichen.
      o Daraus wird die „AmountHours“-Variable gesetzt, die angibt, wie lange die Batterien das Haus noch versorgen können.
    7. Leistungsverteilung
      o Lade- oder Entladeleistung wird fair auf beide Batterien verteilt, abhängig vom Ladezustand, um Überladung oder Tiefentladung zu vermeiden.
    8. Logging
      o Alle wichtigen Aktionen werden in einer Tabelle angezeigt, die farblich zwischen Info, Laden, Entladen, Warnungen und Stopp unterscheidet.

    Trigger / Häufigkeit
    • Die Steuerung läuft alle 10 Sekunden.
    • Die Nachtverbrauchsberechnung (AmountHours) wird einmal täglich vor Sonnenuntergang aktualisiert.
    • Änderungen der Sonnenuntergangszeit setzen die Berechnung zurück.

    Kurz gesagt
    Das Skript ist ein intelligenter Energie-Manager:
    • Es lädt Batterien, wenn PV-Überschuss oder günstiger Strom vorhanden ist.
    • Es entlädt die Batterien, wenn Strom teuer ist oder das Haus zusätzliche Energie braucht.
    • Es priorisiert das Laden des Elektroautos, ohne die Hausversorgung zu gefährden.
    • Es plant auch für die Nacht, damit die Batterien nicht leer sind, bevor morgens wieder Sonne scheint.

    Script: hems.txt

    Beispiel Logausgabe:

    ac82e25f-299a-438f-84a5-1c003b6f8952-image.png

    Das Script ist sehr auf meine Umgebung zugeschnitten, muss daher individuell angepasst werden.
    Im Script habe ich so weit wie möglich die Werte kommentiert.

    F 1 Antwort Letzte Antwort
    0
    • L lesiflo

      Übersicht
      Das Skript steuert zwei Heim-Speicherbatterien („Hyper1“ und „Hyper2“) in einem Haus mit Photovoltaik (PV-Anlage) und einem Elektroauto. Es entscheidet automatisch, wann geladen, entladen oder gestoppt wird – basierend auf PV-Leistung, Hausverbrauch, Strompreis und Auto-Ladebedarf.

      Hauptaufgaben des Skripts

      1. PV-Leistung & Hausverbrauch messen
        o Das Skript ermittelt, wie viel Strom die Solaranlage gerade produziert und wie viel das Haus verbraucht.
        o Außerdem wird der Strombedarf vom Elektroauto berücksichtigt.
      2. SOC (Ladezustand der Batterien) überwachen
        o Jede Batterie hat einen aktuellen Ladezustand (SOC in %).
        o Daraus wird der durchschnittliche Ladezustand und die verfügbare Kapazität berechnet.
      3. Lade- und Entlade-Entscheidung treffen
        o Laden: Wenn PV-Überschuss vorhanden ist oder der Strompreis günstig ist, wird in die Batterien geladen.
        o Entladen: Wenn Strom teuer ist oder die Batterien überschüssige Energie haben, wird ins Hausnetz entladen.
        o Stopp: Wenn keine der Bedingungen zutrifft, wird weder geladen noch entladen.
      4. E-Auto priorisieren
        o Das Skript kann einstellen, dass das Elektroauto Vorrang hat.
        o Wenn das Auto geladen wird, wird die Batterie nur nach Bedarf genutzt, bis das Auto einen bestimmten SOC erreicht hat.
      5. Preisabhängiges Laden
        o Es erkennt günstige und teure Stromzeiten.
        o Bei günstigem Strom kann das Skript auch „preisgesteuert“ laden, unabhängig vom PV-Überschuss.
      6. Nachtverbrauch berücksichtigen
        o Vor Sonnenuntergang berechnet das Skript, wie lange die Batterien in der Nacht ausreichen.
        o Daraus wird die „AmountHours“-Variable gesetzt, die angibt, wie lange die Batterien das Haus noch versorgen können.
      7. Leistungsverteilung
        o Lade- oder Entladeleistung wird fair auf beide Batterien verteilt, abhängig vom Ladezustand, um Überladung oder Tiefentladung zu vermeiden.
      8. Logging
        o Alle wichtigen Aktionen werden in einer Tabelle angezeigt, die farblich zwischen Info, Laden, Entladen, Warnungen und Stopp unterscheidet.

      Trigger / Häufigkeit
      • Die Steuerung läuft alle 10 Sekunden.
      • Die Nachtverbrauchsberechnung (AmountHours) wird einmal täglich vor Sonnenuntergang aktualisiert.
      • Änderungen der Sonnenuntergangszeit setzen die Berechnung zurück.

      Kurz gesagt
      Das Skript ist ein intelligenter Energie-Manager:
      • Es lädt Batterien, wenn PV-Überschuss oder günstiger Strom vorhanden ist.
      • Es entlädt die Batterien, wenn Strom teuer ist oder das Haus zusätzliche Energie braucht.
      • Es priorisiert das Laden des Elektroautos, ohne die Hausversorgung zu gefährden.
      • Es plant auch für die Nacht, damit die Batterien nicht leer sind, bevor morgens wieder Sonne scheint.

      Script: hems.txt

      Beispiel Logausgabe:

      ac82e25f-299a-438f-84a5-1c003b6f8952-image.png

      Das Script ist sehr auf meine Umgebung zugeschnitten, muss daher individuell angepasst werden.
      Im Script habe ich so weit wie möglich die Werte kommentiert.

      F Offline
      F Offline
      Felli
      schrieb am zuletzt editiert von
      #2

      @lesiflo danke dir ich werde mir das mal zu Gemüte führen und durchdenken. Danke fürs teilen und dir ein schönes Wochenende 🍻

      1 Antwort Letzte Antwort
      0
      • I Offline
        I Offline
        intruder7
        schrieb am zuletzt editiert von
        #3

        hi @lesiflo , im Grunde bin ich auf der Suche nach einem Skript mit den von dir umgesetzten Funktionen. Ich habe aber nur einen Hyper mit 2 Akkus. Was muss ich anpassen damit dein Skript auch mit nur einem Hyper funktioniert?

        Grüße

        L 2 Antworten Letzte Antwort
        0
        • I intruder7

          hi @lesiflo , im Grunde bin ich auf der Suche nach einem Skript mit den von dir umgesetzten Funktionen. Ich habe aber nur einen Hyper mit 2 Akkus. Was muss ich anpassen damit dein Skript auch mit nur einem Hyper funktioniert?

          Grüße

          L Offline
          L Offline
          lesiflo
          Most Active
          schrieb am zuletzt editiert von
          #4

          @intruder7 Melde mich später ausführlicher dazu.

          1 Antwort Letzte Antwort
          1
          • I intruder7

            hi @lesiflo , im Grunde bin ich auf der Suche nach einem Skript mit den von dir umgesetzten Funktionen. Ich habe aber nur einen Hyper mit 2 Akkus. Was muss ich anpassen damit dein Skript auch mit nur einem Hyper funktioniert?

            Grüße

            L Offline
            L Offline
            lesiflo
            Most Active
            schrieb am zuletzt editiert von lesiflo
            #5

            @intruder7 Du musst alles was mit

            const hyper2 = { 
                name:           'Hyper2',
                inputLimitDP:   'zendure-solarflow.0.xxxxxx.yyyyyyyy.control.setInputLimit',
                inputDP:        'zendure-solarflow.0.xxxxxx.yyyyyyyy.gridInputPower',
                outputLimitDP:  'zendure-solarflow.0.xxxxxx.yyyyyyyy.control.setOutputLimit',
                outputDP:       'zendure-solarflow.0.xxxxxx.yyyyyyyy.outputHomePower',
                acModeDP:       'zendure-solarflow.0.xxxxxx.yyyyyyyy.control.acMode',
                pvLeistungDP:   'zendure-solarflow.0.xxxxxx.yyyyyyyy.solarInputPower',
                socDP:          'zendure-solarflow.0.xxxxxx.yyyyyyyy.electricLevel',
            };
            

            zu tun hat rausschmeißen

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


            Support us

            ioBroker
            Community Adapters
            Donate

            708

            Online

            32.4k

            Benutzer

            81.4k

            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