Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Tester
  4. Test Adapter sun2000 v0.1.x - Huawei Wechselrichter

NEWS

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    11
    1
    420

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    1.9k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    11
    1
    816

Test Adapter sun2000 v0.1.x - Huawei Wechselrichter

Geplant Angeheftet Gesperrt Verschoben Tester
adapteremmahuaweiinverterluna2000modbus tcpmodbus-proxysdonglesmartloggersun2000
1.3k Beiträge 96 Kommentatoren 385.9k Aufrufe 86 Beobachtet
  • Ä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 leonundjulie

    @juggi1962 danke für Deine Unterstützung. Ich habe gesehen, dass Du ein paar Widgets exportiert hast. Kannst Du bitte versuchen, die gesamte View zu exportieren?

    3fe3e122-1e0d-4296-9432-8e3fd2d8b028-image.jpeg

    Auf Grund Deines Exports frage ich mich, ob Du für die 5 Statistiken fünf einzelne Views erzeugt hast? Und zwischen diesen über 5 Menütasten wechselst?

    J Offline
    J Offline
    juggi1962
    schrieb am zuletzt editiert von
    #1249

    @leonundjulie hallo und ja ich habe 5 Seiten angelegt die musst du dann ja nur kopieren und den richtigen Datenpunkt dir holen für Tagesansicht usw.
    Leider lässt sich die View hier nicht senden bekomme Meldung, dass es zu lang ist.

    Gruß Jürgen

    L 1 Antwort Letzte Antwort
    0
    • J juggi1962

      @leonundjulie hallo und ja ich habe 5 Seiten angelegt die musst du dann ja nur kopieren und den richtigen Datenpunkt dir holen für Tagesansicht usw.
      Leider lässt sich die View hier nicht senden bekomme Meldung, dass es zu lang ist.

      Gruß Jürgen

      L Offline
      L Offline
      leonundjulie
      schrieb am zuletzt editiert von
      #1250

      @juggi1962 ok, dann habe ich Deine Idee aber verstanden … werde mich in Kürze an das Umsetzen herantasten. DANKE, Gruß, Andreas

      10x JA-Solar (380Wp) unter 15° gen Süden und 12x JA-Solar (385Wp) unter 10° gen Westen auf Carport, HUAWEI SUN2000 WR

      Daran HUAWEI LUNA2000, 10kWh

      Und via Kaskade 8x JA-Solar (385Wp) unter 45° gen Osten und 14x JA-Solar (385Wp) unter 23° gen Westen am 2. HUAWEI SUN2000 WR.

      SMARTFOX PRO als EMS, KEBA P30-X Wallbox

      1 Antwort Letzte Antwort
      0
      • B Online
        B Online
        bolliy
        Developer
        schrieb am zuletzt editiert von
        #1251

        Neue Testversion sun2000 Adapter Version v2.4.5 released.

        Die Installation erfolgt über npm oder morgen über das Beta Repository.

        Diese Update ist besonders interessant, falls du das build-in Charts anpassen möchtest.
        Über den Befehl {"command": "createTemplateFromBuiltin"} im Template kann man sich das eingebaute Standarddiagramm (build-in) als Vorlage in den Template-State schreiben lassen und es dann nach Belieben anpassen.
        Im Tooltip wird die Einheiten (kWh / %) explizit über tooltip.valueFormatter übergeben – das macht Templates robuster und unabhängig von Änderungen an den Serienbezeichnern.

        Doku (Wiki): https://github.com/bolliy/ioBroker.sun2000/wiki/Statistk-(statistics)

        Changelog
        2.4.5 (2026-05-14)

        • statistics fix: return weekly range up to current Monday
        • statistics: added support for generating statistics templates directly from built-in charts
        • statistics: improved tooltip formatter - tooltip units are now provided explicitly via tooltip.valueFormatter
        J 1 Antwort Letzte Antwort
        1
        • B Online
          B Online
          bolliy
          Developer
          schrieb am zuletzt editiert von bolliy
          #1252

          Mir ist aufgefallen, dass es bisher kaum Nachfragen zur Überschuss-Steuerung des sun2000 Adapters gibt. Deshalb habe ich die AI mal gebeten das Funktionalität (Surplus Power Control) genauer zu beleuchen.
          Wichtig! Das Beispiel script habe ich nicht selbts geschrieben und (noch) nicht getestet. Deshalb kann ich für die Funktion kann keine Garantie oder Support übernehmen bzw. anbieten. Es soll vielmehr das Funktionsprinzip einer Überschuss-Steuerung greifbarer machen.

          Überschuss-Steuerung: usablePower und Batterie-Integration

          Der Adapter berechnet kontinuierlich, wie viel Solarleistung aktuell nicht selbst verbraucht wird. Dieser Wert bildet die Grundlage für Automationen, die Großverbraucher (Waschmaschine, Spülmaschine, Wallbox, Heizstab) bedarfsgerecht zuschalten – mit dem Ziel, Eigenverbrauch zu maximieren und Netzbezug zu minimieren.


          Zwei Kerndatenpunkte

          Datenpunkt Bedeutung
          collected.surplus.power Die aktuell ins Netz eingespeiste Wirkleistung (reine Einspeisung)
          collected.surplus.usablePower Die tatsächlich nutzbare Überschussleistung: Netzeinspeisung + optionaler Batterie-Beitrag

          Für Automationen sollte grundsätzlich usablePower verwendet werden, da dieser Wert die Batterie als zusätzliche Quelle einbezieht und damit ein realistischeres Bild der verfügbaren Leistung liefert.


          Batterie-Integration: Funktionsprinzip

          Ohne Konfiguration entspricht usablePower dem reinen Netzüberschuss. Sobald die Batterie ausreichend geladen ist, kann sie zusätzliche Leistung beisteuern – zum Beispiel an sonnigen Nachmittagen, wenn der SOC hoch ist und abends sowieso PV-Nachladung erwartet wird. Die Steuerlogik stellt dabei sicher, dass die Batterie nicht so weit entladen wird, dass die Nacht-Reserve gefährdet ist.


          Parameter unter control.usableSurplus

          Parameter Funktion
          minSoc SOC-Untergrenze in %. Unterhalb dieses Werts hat Batterieladung absolute Priorität – usablePower basiert dann ausschließlich auf dem Netzüberschuss. Oberhalb von minSoc wird auch die aktuelle Ladeleistung der Batterie als Überschuss gewertet.
          bufferSoc SOC-Schwelle, ab der die Batterie aktiv Leistung zum Überschuss beisteuern darf (zusätzlich zur Einspeisung).
          bufferPower Maximale Batterie-Entladeleistung in Watt, die zum usablePower-Wert addiert wird, sobald bufferSoc erreicht ist.
          bufferHysteresis Hysterese-Band um die bufferSoc-Schwelle, um Flattern (schnelles Ein-/Ausschalten) zu vermeiden. Größere Werte = stabileres Verhalten, kleinere Werte = präzisere Regelung.
          residualPower Offset zur Feinabstimmung des Arbeitspunkts zwischen minSoc und bufferSoc. Positive Werte verschieben den Arbeitspunkt Richtung Batterieladen bzw. Netzbezug, negative Werte Richtung Einspeisung.
          allowNegativeValue Standardmäßig wird usablePower bei Werten unter 0,1 kW auf 0 geklemmt. Mit true werden auch negative Werte durchgereicht – sinnvoll für Steuerlogiken, die z.B. aktiv drosseln müssen.

          residualPower – Feinabstimmung des Arbeitspunkts

          Dieser Parameter wirkt im SOC-Bereich zwischen minSoc und bufferSoc und verschiebt den Punkt, ab dem Leistung als „nutzbar" gilt. Ein Beispiel:

          • Die Anlage speist gerade 500 W ins Netz ein
          • residualPower = +200 → Der Adapter zieht 200 W ab → usablePower = 300 W
          • residualPower = -200 → Der Adapter addiert 200 W → usablePower = 700 W

          Mit einem positiven Wert wird die Batterie bevorzugt weiter geladen bzw. ein kleiner Netz-Puffer gehalten, bevor Überschuss gemeldet wird. Ein negativer Wert meldet früher Überschuss, nimmt also in Kauf, dass minimal Strom aus dem Netz gezogen wird. Sinnvoll z.B. wenn ein Verbraucher eine Mindestleistung benötigt, die knapp über dem aktuellen Solarüberschuss liegt.


          Empfohlene Konfigurationsstrategie

          • minSoc definiert die harte Untergrenze für die Nacht-Reserve und sollte konservativ gewählt werden.
          • bufferSoc und bufferPower aktivieren die Batterie als Surplus-Quelle und sind vor allem für den Nachmittag relevant, wenn hoher SOC und noch ausreichend PV-Ertrag zusammenkommen.
          • Automationen reagieren dann auf usablePower und können Verbraucher mit der verfügbaren Leistung abgleichen.

          Praxisbeispiel: Warmwasser-Heizstab per Shelly steuern

          Der folgende ioBroker-JavaScript liest usablePower, prüft die Wassertemperatur über den DS18B20-Sensor des Shelly und schaltet den Heizstab entsprechend.

          Voraussetzungen

          • Shelly mit DS18B20-Temperatursensor am Warmwasserspeicher
          • ioBroker mit Shelly-Adapter und JavaScript-Adapter
          • sun2000-Adapter mit konfiguriertem usablePower-Datenpunkt

          Skript

          // ===== Konfiguration =====
          const SURPLUS_STATE     = 'sun2000.0.collected.surplus.usablePower'; // Verfügbare Überschussleistung in W
          const SHELLY_TEMP_STATE = 'shelly.0.SHSW-1#<ID>#1.ext_temperature.TC'; // DS18B20 Temperatur in °C
          const SHELLY_RELAY      = 'shelly.0.SHSW-1#<ID>#1.relay.0';            // Shelly Relais
          
          const MIN_SURPLUS_W     = 1500;   // Mindest-Überschuss in W, um Heizstab zu aktivieren
          const TARGET_TEMP_C     = 60;     // Zieltemperatur Warmwasserspeicher in °C
          const HYSTERESIS_C      = 3;      // Hysterese: Heizstab geht erst bei (TARGET - HYSTERESIS) wieder an
          const CHECK_INTERVAL_MS = 60000;  // Prüfintervall in ms (hier: 1 Minute)
          
          // ===== Zustandsvariable =====
          let heaterOn = false;
          
          // ===== Steuerlogik =====
          function controlHeater() {
              const surplus = getState(SURPLUS_STATE).val;    // Aktueller Überschuss in W
              const temp    = getState(SHELLY_TEMP_STATE).val; // Aktuelle Wassertemperatur in °C
          
              system.log(`Überschuss: ${surplus} W | Wassertemperatur: ${temp} °C | Heizstab: ${heaterOn ? 'EIN' : 'AUS'}`);
          
              if (heaterOn) {
                  // Heizstab läuft → ausschalten wenn Zieltemperatur erreicht oder Surplus weggefallen
                  if (temp >= TARGET_TEMP_C || surplus < MIN_SURPLUS_W) {
                      sytem.log(`Heizstab AUS → Temp: ${temp}°C / Überschuss: ${surplus}W`);
                      setState(SHELLY_RELAY, false);
                      heaterOn = false;
                  }
              } else {
                  // Heizstab aus → einschalten wenn genug Surplus UND Temp noch unter Ziel (minus Hysterese)
                  if (surplus >= MIN_SURPLUS_W && temp < TARGET_TEMP_C - HYSTERESIS_C) {
                      sytem.log(`Heizstab EIN → Temp: ${temp}°C / Überschuss: ${surplus}W`);
                      setState(SHELLY_RELAY, true);
                      heaterOn = true;
                  }
              }
          }
          
          // ===== Start =====
          controlHeater(); // Einmal sofort ausführen
          setInterval(controlHeater, CHECK_INTERVAL_MS); // Dann zyklisch alle 60s
          

          Schaltlogik im Überblick

          Bedingung Aktion
          Surplus ≥ 1500 W und Temp < 57 °C (60 − 3 Hysterese) Heizstab EIN
          Temp ≥ 60 °C oder Surplus < 1500 W Heizstab AUS

          Wichtige Hinweise zur Konfiguration

          • MIN_SURPLUS_W sollte der Leistungsaufnahme des Heizstabs entsprechen (typisch 1–3 kW). Etwas darunter ansetzen ist okay, da usablePower bereits einen Batterie-Puffer einrechnet.
          • Die Hysterese verhindert, dass der Heizstab bei schwankender PV-Leistung ständig ein- und ausschaltet.
          • Die Shelly-State-Pfade (<ID> ersetzen) findet man in der ioBroker-Objektliste unter dem Shelly-Adapter.
          • Alternativ zu setInterval kann das Skript auch auf Änderungen von usablePower per on() reagieren – dann ist die Reaktion schneller, aber häufiger.
          P 1 Antwort Letzte Antwort
          1
          • B bolliy

            Neue Testversion sun2000 Adapter Version v2.4.5 released.

            Die Installation erfolgt über npm oder morgen über das Beta Repository.

            Diese Update ist besonders interessant, falls du das build-in Charts anpassen möchtest.
            Über den Befehl {"command": "createTemplateFromBuiltin"} im Template kann man sich das eingebaute Standarddiagramm (build-in) als Vorlage in den Template-State schreiben lassen und es dann nach Belieben anpassen.
            Im Tooltip wird die Einheiten (kWh / %) explizit über tooltip.valueFormatter übergeben – das macht Templates robuster und unabhängig von Änderungen an den Serienbezeichnern.

            Doku (Wiki): https://github.com/bolliy/ioBroker.sun2000/wiki/Statistk-(statistics)

            Changelog
            2.4.5 (2026-05-14)

            • statistics fix: return weekly range up to current Monday
            • statistics: added support for generating statistics templates directly from built-in charts
            • statistics: improved tooltip formatter - tooltip units are now provided explicitly via tooltip.valueFormatter
            J Offline
            J Offline
            juggi1962
            schrieb am zuletzt editiert von juggi1962
            #1253

            @bolliy Hallo und danke erst mal für diese tolle Verbesserung.
            Es hat alles super funktioniert und durch das kann ich jetzt die Farben anpassen die ich schon in der Vis für andere Anzeigen verwendet habe. Jetzt ist alles einheitlich, SUPER Arbeit 👍

            Ach ja, gibt es vielleicht eine Möglichkeit den Abfrage Intervall zu ändern?
            Bei der Stundenanzeige dann vielleicht 10 Minuten Anzeige würden die Kurven viel genauer sein.
            Vielleicht kann man das einbauen, dass jeder wie er möchte das machen kann, oder kann man das schon im Template ändern?
            Bin leider nur Anwender darum auch diese Fragen.
            Danke noch mal, Gruß Jürgen

            1 Antwort Letzte Antwort
            1
            • B bolliy

              @Samson71 super! Habe ich nicht daran gedacht. Habe ich auf der ToDo Liste gesetzt.
              Würdest du auch als Beta-Tester mitwirken? So solpern wir rechtzeitig auf solche Fehler.
              Stephan

              Samson71S Offline
              Samson71S Offline
              Samson71
              Global Moderator
              schrieb zuletzt editiert von Samson71
              #1254

              @bolliy sagte:
              Habe ich auf der ToDo Liste gesetzt.

              In der 2.4.5 ist das aber noch nicht behoben oder? Die Meldung kommt jedenfalls immer noch regelmäßig.

              Habe heute den Dongle von WLAN auf LAN ungestellt und die Firmware des WR zumindest mal aktualisiert.

              Markus

              Bitte beachten:
              Hinweise für gute Forenbeiträge
              Maßnahmen zum Schutz des Forums

              B 1 Antwort Letzte Antwort
              0
              • Samson71S Samson71

                @bolliy sagte:
                Habe ich auf der ToDo Liste gesetzt.

                In der 2.4.5 ist das aber noch nicht behoben oder? Die Meldung kommt jedenfalls immer noch regelmäßig.

                Habe heute den Dongle von WLAN auf LAN ungestellt und die Firmware des WR zumindest mal aktualisiert.

                B Online
                B Online
                bolliy
                Developer
                schrieb zuletzt editiert von
                #1255

                @Samson71 nein, bin noch am basteln ;)

                1 Antwort Letzte Antwort
                0
                • B bolliy

                  Mir ist aufgefallen, dass es bisher kaum Nachfragen zur Überschuss-Steuerung des sun2000 Adapters gibt. Deshalb habe ich die AI mal gebeten das Funktionalität (Surplus Power Control) genauer zu beleuchen.
                  Wichtig! Das Beispiel script habe ich nicht selbts geschrieben und (noch) nicht getestet. Deshalb kann ich für die Funktion kann keine Garantie oder Support übernehmen bzw. anbieten. Es soll vielmehr das Funktionsprinzip einer Überschuss-Steuerung greifbarer machen.

                  Überschuss-Steuerung: usablePower und Batterie-Integration

                  Der Adapter berechnet kontinuierlich, wie viel Solarleistung aktuell nicht selbst verbraucht wird. Dieser Wert bildet die Grundlage für Automationen, die Großverbraucher (Waschmaschine, Spülmaschine, Wallbox, Heizstab) bedarfsgerecht zuschalten – mit dem Ziel, Eigenverbrauch zu maximieren und Netzbezug zu minimieren.


                  Zwei Kerndatenpunkte

                  Datenpunkt Bedeutung
                  collected.surplus.power Die aktuell ins Netz eingespeiste Wirkleistung (reine Einspeisung)
                  collected.surplus.usablePower Die tatsächlich nutzbare Überschussleistung: Netzeinspeisung + optionaler Batterie-Beitrag

                  Für Automationen sollte grundsätzlich usablePower verwendet werden, da dieser Wert die Batterie als zusätzliche Quelle einbezieht und damit ein realistischeres Bild der verfügbaren Leistung liefert.


                  Batterie-Integration: Funktionsprinzip

                  Ohne Konfiguration entspricht usablePower dem reinen Netzüberschuss. Sobald die Batterie ausreichend geladen ist, kann sie zusätzliche Leistung beisteuern – zum Beispiel an sonnigen Nachmittagen, wenn der SOC hoch ist und abends sowieso PV-Nachladung erwartet wird. Die Steuerlogik stellt dabei sicher, dass die Batterie nicht so weit entladen wird, dass die Nacht-Reserve gefährdet ist.


                  Parameter unter control.usableSurplus

                  Parameter Funktion
                  minSoc SOC-Untergrenze in %. Unterhalb dieses Werts hat Batterieladung absolute Priorität – usablePower basiert dann ausschließlich auf dem Netzüberschuss. Oberhalb von minSoc wird auch die aktuelle Ladeleistung der Batterie als Überschuss gewertet.
                  bufferSoc SOC-Schwelle, ab der die Batterie aktiv Leistung zum Überschuss beisteuern darf (zusätzlich zur Einspeisung).
                  bufferPower Maximale Batterie-Entladeleistung in Watt, die zum usablePower-Wert addiert wird, sobald bufferSoc erreicht ist.
                  bufferHysteresis Hysterese-Band um die bufferSoc-Schwelle, um Flattern (schnelles Ein-/Ausschalten) zu vermeiden. Größere Werte = stabileres Verhalten, kleinere Werte = präzisere Regelung.
                  residualPower Offset zur Feinabstimmung des Arbeitspunkts zwischen minSoc und bufferSoc. Positive Werte verschieben den Arbeitspunkt Richtung Batterieladen bzw. Netzbezug, negative Werte Richtung Einspeisung.
                  allowNegativeValue Standardmäßig wird usablePower bei Werten unter 0,1 kW auf 0 geklemmt. Mit true werden auch negative Werte durchgereicht – sinnvoll für Steuerlogiken, die z.B. aktiv drosseln müssen.

                  residualPower – Feinabstimmung des Arbeitspunkts

                  Dieser Parameter wirkt im SOC-Bereich zwischen minSoc und bufferSoc und verschiebt den Punkt, ab dem Leistung als „nutzbar" gilt. Ein Beispiel:

                  • Die Anlage speist gerade 500 W ins Netz ein
                  • residualPower = +200 → Der Adapter zieht 200 W ab → usablePower = 300 W
                  • residualPower = -200 → Der Adapter addiert 200 W → usablePower = 700 W

                  Mit einem positiven Wert wird die Batterie bevorzugt weiter geladen bzw. ein kleiner Netz-Puffer gehalten, bevor Überschuss gemeldet wird. Ein negativer Wert meldet früher Überschuss, nimmt also in Kauf, dass minimal Strom aus dem Netz gezogen wird. Sinnvoll z.B. wenn ein Verbraucher eine Mindestleistung benötigt, die knapp über dem aktuellen Solarüberschuss liegt.


                  Empfohlene Konfigurationsstrategie

                  • minSoc definiert die harte Untergrenze für die Nacht-Reserve und sollte konservativ gewählt werden.
                  • bufferSoc und bufferPower aktivieren die Batterie als Surplus-Quelle und sind vor allem für den Nachmittag relevant, wenn hoher SOC und noch ausreichend PV-Ertrag zusammenkommen.
                  • Automationen reagieren dann auf usablePower und können Verbraucher mit der verfügbaren Leistung abgleichen.

                  Praxisbeispiel: Warmwasser-Heizstab per Shelly steuern

                  Der folgende ioBroker-JavaScript liest usablePower, prüft die Wassertemperatur über den DS18B20-Sensor des Shelly und schaltet den Heizstab entsprechend.

                  Voraussetzungen

                  • Shelly mit DS18B20-Temperatursensor am Warmwasserspeicher
                  • ioBroker mit Shelly-Adapter und JavaScript-Adapter
                  • sun2000-Adapter mit konfiguriertem usablePower-Datenpunkt

                  Skript

                  // ===== Konfiguration =====
                  const SURPLUS_STATE     = 'sun2000.0.collected.surplus.usablePower'; // Verfügbare Überschussleistung in W
                  const SHELLY_TEMP_STATE = 'shelly.0.SHSW-1#<ID>#1.ext_temperature.TC'; // DS18B20 Temperatur in °C
                  const SHELLY_RELAY      = 'shelly.0.SHSW-1#<ID>#1.relay.0';            // Shelly Relais
                  
                  const MIN_SURPLUS_W     = 1500;   // Mindest-Überschuss in W, um Heizstab zu aktivieren
                  const TARGET_TEMP_C     = 60;     // Zieltemperatur Warmwasserspeicher in °C
                  const HYSTERESIS_C      = 3;      // Hysterese: Heizstab geht erst bei (TARGET - HYSTERESIS) wieder an
                  const CHECK_INTERVAL_MS = 60000;  // Prüfintervall in ms (hier: 1 Minute)
                  
                  // ===== Zustandsvariable =====
                  let heaterOn = false;
                  
                  // ===== Steuerlogik =====
                  function controlHeater() {
                      const surplus = getState(SURPLUS_STATE).val;    // Aktueller Überschuss in W
                      const temp    = getState(SHELLY_TEMP_STATE).val; // Aktuelle Wassertemperatur in °C
                  
                      system.log(`Überschuss: ${surplus} W | Wassertemperatur: ${temp} °C | Heizstab: ${heaterOn ? 'EIN' : 'AUS'}`);
                  
                      if (heaterOn) {
                          // Heizstab läuft → ausschalten wenn Zieltemperatur erreicht oder Surplus weggefallen
                          if (temp >= TARGET_TEMP_C || surplus < MIN_SURPLUS_W) {
                              sytem.log(`Heizstab AUS → Temp: ${temp}°C / Überschuss: ${surplus}W`);
                              setState(SHELLY_RELAY, false);
                              heaterOn = false;
                          }
                      } else {
                          // Heizstab aus → einschalten wenn genug Surplus UND Temp noch unter Ziel (minus Hysterese)
                          if (surplus >= MIN_SURPLUS_W && temp < TARGET_TEMP_C - HYSTERESIS_C) {
                              sytem.log(`Heizstab EIN → Temp: ${temp}°C / Überschuss: ${surplus}W`);
                              setState(SHELLY_RELAY, true);
                              heaterOn = true;
                          }
                      }
                  }
                  
                  // ===== Start =====
                  controlHeater(); // Einmal sofort ausführen
                  setInterval(controlHeater, CHECK_INTERVAL_MS); // Dann zyklisch alle 60s
                  

                  Schaltlogik im Überblick

                  Bedingung Aktion
                  Surplus ≥ 1500 W und Temp < 57 °C (60 − 3 Hysterese) Heizstab EIN
                  Temp ≥ 60 °C oder Surplus < 1500 W Heizstab AUS

                  Wichtige Hinweise zur Konfiguration

                  • MIN_SURPLUS_W sollte der Leistungsaufnahme des Heizstabs entsprechen (typisch 1–3 kW). Etwas darunter ansetzen ist okay, da usablePower bereits einen Batterie-Puffer einrechnet.
                  • Die Hysterese verhindert, dass der Heizstab bei schwankender PV-Leistung ständig ein- und ausschaltet.
                  • Die Shelly-State-Pfade (<ID> ersetzen) findet man in der ioBroker-Objektliste unter dem Shelly-Adapter.
                  • Alternativ zu setInterval kann das Skript auch auf Änderungen von usablePower per on() reagieren – dann ist die Reaktion schneller, aber häufiger.
                  P Online
                  P Online
                  Peguschwein
                  schrieb zuletzt editiert von
                  #1256

                  @bolliy Ich bin schoin seit einiger Zeit ein EMS zu basteln. Aber ist ein sehr komplexes Thema.
                  Peak-Shaving damit Speicher etc erst kurz vor erreichen der 70% Regelung geladen wird, Danach ist der Boiler an der Reihe
                  Netzdienlich damit ich den Peak der Anlage ausnutze statt abzuriegeln.

                  • EVU Überwachung
                  • Einspeisebegrenzung
                  • Batterie
                  • Boiler/Puffer Speicher Regelung
                  • Secomat
                  • Warnungen per whatsapp

                  und das kann jeden Tag anders aussehen. Wenn ich einen Wagen laden möchte soll der Speicher unf Boiler möglichst schnell geladen sein damit ich danach
                  die volle Energie für die beiden E-Autos habe. Also viel Regelung aber immer mit der Möglichkeit einzugreifen oder zu übersteuern.

                  Gruss Pegu

                  HomoranH 1 Antwort Letzte Antwort
                  0
                  • P Peguschwein

                    @bolliy Ich bin schoin seit einiger Zeit ein EMS zu basteln. Aber ist ein sehr komplexes Thema.
                    Peak-Shaving damit Speicher etc erst kurz vor erreichen der 70% Regelung geladen wird, Danach ist der Boiler an der Reihe
                    Netzdienlich damit ich den Peak der Anlage ausnutze statt abzuriegeln.

                    • EVU Überwachung
                    • Einspeisebegrenzung
                    • Batterie
                    • Boiler/Puffer Speicher Regelung
                    • Secomat
                    • Warnungen per whatsapp

                    und das kann jeden Tag anders aussehen. Wenn ich einen Wagen laden möchte soll der Speicher unf Boiler möglichst schnell geladen sein damit ich danach
                    die volle Energie für die beiden E-Autos habe. Also viel Regelung aber immer mit der Möglichkeit einzugreifen oder zu übersteuern.

                    Gruss Pegu

                    HomoranH Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb zuletzt editiert von
                    #1257

                    @Peguschwein sagte:

                    Aber ist ein sehr komplexes Thema.

                    Ist es
                    1089.jpg

                    kein Support per PN! - Fragen im Forum stellen -
                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                    Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    1 Antwort Letzte Antwort
                    0
                    • B Online
                      B Online
                      bolliy
                      Developer
                      schrieb zuletzt editiert von
                      #1258

                      Ich bin auch dabei und bei mir im Einsatz. Kann ich aber noch nicht auf die Allgemeinheit loslassen ;)
                      https://github.com/bolliy/ioBroker.sun2000-ems

                      1 Antwort Letzte Antwort
                      0

                      Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                      Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                      Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                      Registrieren Anmelden
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      500

                      Online

                      32.9k

                      Benutzer

                      83.0k

                      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