Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Script zum Laden/Entladen von Zendure Solarflow

NEWS

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

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

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

Script zum Laden/Entladen von Zendure Solarflow

Scheduled Pinned Locked Moved Blockly
149 Posts 10 Posters 20.1k Views 8 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Murphy 0

    @lesiflo
    Welche unterste Zellspannung würdest du beim Einspeisen empfehlen.
    Ich glaube etwas über 3,1 Volt als Abschaltgrenze gelesen zu haben, finde es aber nicht mehr.

    3,2 bis 3,4 habe ich als Arbeitsbereich.

    WildshunterW Offline
    WildshunterW Offline
    Wildshunter
    wrote on last edited by
    #99

    Halloechen,
    jetzt schaue ich seit längerem mal wieder in meine Scripte bzw. die Automatisiation (Script wie oben beschrieben lief 1a) und mir fällt leider folgendes auf, vielleicht hat jemand eine Idee:
    sobald mein Akku nun voll ist, schaltet er meine Solarmodule ab und kurz danach (alle 3-4 Sekunden) wieder auf Bypass, somit wieder kurzzeitig die Module dazu. Das geht bis Abends, bis sich der Akku entleert und am nächsten Tag genau das gleiche, Akku wird geladen und sobald er voll ist, schaltet Bypass "hin und her".
    Echt komisch, auch wenn ich das Script hier anhalte, bleibt es bei dem Verhalten (zyklische Bypass schalten / wieder aus).
    Neustes Firmware Update von Hyper 2000 wurde noch nicht durchgeführt. Ich ueberlege jetzt ob ich jetzt den ganzen lokalen MQTT wieder auf die Zendure Cloud lege und danach das Firmware Update durchführe.... um zu sehen, ob das irgendwie am Hyper 2000 liegt oder nicht...
    Gibt es sonst Ideen (Zendure Adapter nicht ganz aktuell, kann aber momentan wegen aelterer node Version nicht updaten)? Danke!
    (1.13.1 - zendure Adapter)

    M 1 Reply Last reply
    0
    • WildshunterW Wildshunter

      Halloechen,
      jetzt schaue ich seit längerem mal wieder in meine Scripte bzw. die Automatisiation (Script wie oben beschrieben lief 1a) und mir fällt leider folgendes auf, vielleicht hat jemand eine Idee:
      sobald mein Akku nun voll ist, schaltet er meine Solarmodule ab und kurz danach (alle 3-4 Sekunden) wieder auf Bypass, somit wieder kurzzeitig die Module dazu. Das geht bis Abends, bis sich der Akku entleert und am nächsten Tag genau das gleiche, Akku wird geladen und sobald er voll ist, schaltet Bypass "hin und her".
      Echt komisch, auch wenn ich das Script hier anhalte, bleibt es bei dem Verhalten (zyklische Bypass schalten / wieder aus).
      Neustes Firmware Update von Hyper 2000 wurde noch nicht durchgeführt. Ich ueberlege jetzt ob ich jetzt den ganzen lokalen MQTT wieder auf die Zendure Cloud lege und danach das Firmware Update durchführe.... um zu sehen, ob das irgendwie am Hyper 2000 liegt oder nicht...
      Gibt es sonst Ideen (Zendure Adapter nicht ganz aktuell, kann aber momentan wegen aelterer node Version nicht updaten)? Danke!
      (1.13.1 - zendure Adapter)

      M Offline
      M Offline
      Murphy 0
      wrote on last edited by Murphy 0
      #100

      @wildshunter

      Wenn du auf deinem lokalen Broker bist kannst du deine Hardware jederzeit durch eine Bluetooth Verbindung updaten. Soll sogar stabiler sein als über die Zendure Cloud.

      Solange ich auf Fehlersuche bin setze ich nach jedem Schritt im Blockly wo ich mir im geringsten unsicher bin einen debug output.
      So komme ich dann den kleinsten Fehlern auf die Schliche.

      Ich bin im Moment dabei die Schreibzugriffe ins Flash zu minimieren.
      Der Debuglog sieht dann so aus:IMG_3588.png

      1 Reply Last reply
      0
      • L lesiflo

        @cordobadb Moin, hier mal das Script. Ist aber sehr stark an meine Bedürfnisse angepasst und auch noch nicht ganz fehlerfrei.

        hems.txt

        Das ioBroker-JavaScript ist eine komplexe und intelligente Steuerung für zwei Zendure Hyper-Batteriespeicher (Hyper1 und Hyper2). Es berücksichtigt:

        • PV-Produktion
        • Strompreis (Tibber)
        • Hausverbrauch
        • SOC der Akkus
        • Sonnenauf- und -untergang
        • Auto-Ladevorgang
        • VIS-Log-Ausgabe für visuelle Rückmeldung

        Zentrale Aufgaben & Ziele des Skripts

        1. Optimale Ladung/Entladung der Akkus
          Priorisiert PV-Überschuss-Laden.
          Nutzt günstigen Strompreis für zusätzliches Laden.
          Verhindert Entladen bei günstigen Strompreisen oder Vorrang fürs Auto.
          Erlaubt Entladung bei teurem Strompreis.

        2. Speicher-Priorisierung:
          Wenn der Speicher lädt und sein SOC unter einer definierten Schwelle ist, haben Speicher-Ladevorgänge Vorrang.

        3. Strompreis-Integration (Tibber):
          Laden bei günstigem Preis (aggressiv oder konservativ je nach Einstellung).
          Entladen bei teurem Preis.

        4. PV-Forecast-Nutzung:
          Verwendet pvforecast-Daten für Tages- und Restprognose.

        5. Nachtbedarf-Absicherung (AmountHours):
          Nutzt SOC und Sonnenuntergangs-/aufgangszeit zur Berechnung von Tibber’s AmountHours.
          Stellt sicher, dass genug Akkuenergie für die Nacht verbleibt.

        6. Leistungsaufteilung zwischen Hyper1 und Hyper2:
          Dynamisch je nach SOC-Differenz.
          Leistung ist begrenzt auf xxx W je Gerät.

        7. Hysterese und Modusverzögerung:
          Verhindert zu schnelles Umschalten zwischen Lade- und Entlademodus (20s Delay).

        8. VIS-kompatibles Logging:
          Ausgabe der Vorgänge (PV, SOC, Ladeleistung, Preisstatus etc.) in einem HTML-Log-Table im VIS

        SchaafAlexanderS Offline
        SchaafAlexanderS Offline
        SchaafAlexander
        wrote on last edited by
        #101

        @lesiflo said in Script zum Laden/Entladen von Zendure Solarflow:

        @cordobadb Moin, hier mal das Script. Ist aber sehr stark an meine Bedürfnisse angepasst und auch noch nicht ganz fehlerfrei.

        hems.txt

        Das ioBroker-JavaScript ist eine komplexe und intelligente Steuerung für zwei Zendure Hyper-Batteriespeicher (Hyper1 und Hyper2). Es berücksichtigt:

        • PV-Produktion
        • Strompreis (Tibber)
        • Hausverbrauch
        • SOC der Akkus
        • Sonnenauf- und -untergang
        • Auto-Ladevorgang
        • VIS-Log-Ausgabe für visuelle Rückmeldung

        Zentrale Aufgaben & Ziele des Skripts

        1. Optimale Ladung/Entladung der Akkus
          Priorisiert PV-Überschuss-Laden.
          Nutzt günstigen Strompreis für zusätzliches Laden.
          Verhindert Entladen bei günstigen Strompreisen oder Vorrang fürs Auto.
          Erlaubt Entladung bei teurem Strompreis.

        2. Speicher-Priorisierung:
          Wenn der Speicher lädt und sein SOC unter einer definierten Schwelle ist, haben Speicher-Ladevorgänge Vorrang.

        3. Strompreis-Integration (Tibber):
          Laden bei günstigem Preis (aggressiv oder konservativ je nach Einstellung).
          Entladen bei teurem Preis.

        4. PV-Forecast-Nutzung:
          Verwendet pvforecast-Daten für Tages- und Restprognose.

        5. Nachtbedarf-Absicherung (AmountHours):
          Nutzt SOC und Sonnenuntergangs-/aufgangszeit zur Berechnung von Tibber’s AmountHours.
          Stellt sicher, dass genug Akkuenergie für die Nacht verbleibt.

        6. Leistungsaufteilung zwischen Hyper1 und Hyper2:
          Dynamisch je nach SOC-Differenz.
          Leistung ist begrenzt auf xxx W je Gerät.

        7. Hysterese und Modusverzögerung:
          Verhindert zu schnelles Umschalten zwischen Lade- und Entlademodus (20s Delay).

        8. VIS-kompatibles Logging:
          Ausgabe der Vorgänge (PV, SOC, Ladeleistung, Preisstatus etc.) in einem HTML-Log-Table im VIS

        Hallo @lesiflo ,

        vielen Dank für das Skript und die Erklärungen.
        Sind die Screenshots aus Post 1 noch aktuell zu dem hier erwähnten Umfang?
        Leider kann ich das txt nicht importieren und würde es gerne anhand der Screenshots in etwa nachbauen.

        Habe ein ähnliche Ausgangslage.

        • PV (SolarEdge mit 9.2kWh Batterie)
        • Tibber
        • OpenWB
        • Zendure 2400 AC (1-3 je nachdem wie gut das läuft :-D )

        Vielen lieben Dank und weiterhin einen schönen Tag!

        L 1 Reply Last reply
        0
        • SchaafAlexanderS SchaafAlexander

          @lesiflo said in Script zum Laden/Entladen von Zendure Solarflow:

          @cordobadb Moin, hier mal das Script. Ist aber sehr stark an meine Bedürfnisse angepasst und auch noch nicht ganz fehlerfrei.

          hems.txt

          Das ioBroker-JavaScript ist eine komplexe und intelligente Steuerung für zwei Zendure Hyper-Batteriespeicher (Hyper1 und Hyper2). Es berücksichtigt:

          • PV-Produktion
          • Strompreis (Tibber)
          • Hausverbrauch
          • SOC der Akkus
          • Sonnenauf- und -untergang
          • Auto-Ladevorgang
          • VIS-Log-Ausgabe für visuelle Rückmeldung

          Zentrale Aufgaben & Ziele des Skripts

          1. Optimale Ladung/Entladung der Akkus
            Priorisiert PV-Überschuss-Laden.
            Nutzt günstigen Strompreis für zusätzliches Laden.
            Verhindert Entladen bei günstigen Strompreisen oder Vorrang fürs Auto.
            Erlaubt Entladung bei teurem Strompreis.

          2. Speicher-Priorisierung:
            Wenn der Speicher lädt und sein SOC unter einer definierten Schwelle ist, haben Speicher-Ladevorgänge Vorrang.

          3. Strompreis-Integration (Tibber):
            Laden bei günstigem Preis (aggressiv oder konservativ je nach Einstellung).
            Entladen bei teurem Preis.

          4. PV-Forecast-Nutzung:
            Verwendet pvforecast-Daten für Tages- und Restprognose.

          5. Nachtbedarf-Absicherung (AmountHours):
            Nutzt SOC und Sonnenuntergangs-/aufgangszeit zur Berechnung von Tibber’s AmountHours.
            Stellt sicher, dass genug Akkuenergie für die Nacht verbleibt.

          6. Leistungsaufteilung zwischen Hyper1 und Hyper2:
            Dynamisch je nach SOC-Differenz.
            Leistung ist begrenzt auf xxx W je Gerät.

          7. Hysterese und Modusverzögerung:
            Verhindert zu schnelles Umschalten zwischen Lade- und Entlademodus (20s Delay).

          8. VIS-kompatibles Logging:
            Ausgabe der Vorgänge (PV, SOC, Ladeleistung, Preisstatus etc.) in einem HTML-Log-Table im VIS

          Hallo @lesiflo ,

          vielen Dank für das Skript und die Erklärungen.
          Sind die Screenshots aus Post 1 noch aktuell zu dem hier erwähnten Umfang?
          Leider kann ich das txt nicht importieren und würde es gerne anhand der Screenshots in etwa nachbauen.

          Habe ein ähnliche Ausgangslage.

          • PV (SolarEdge mit 9.2kWh Batterie)
          • Tibber
          • OpenWB
          • Zendure 2400 AC (1-3 je nachdem wie gut das läuft :-D )

          Vielen lieben Dank und weiterhin einen schönen Tag!

          L Offline
          L Offline
          lesiflo
          Most Active
          wrote on last edited by lesiflo
          #102

          @schaafalexander Das neue ist ein Java Script und hat mit dem ursprünglichen Blockly Script nichts mehr zu tun. Am besten das Blockly aus dem ersten Post nehmen. Das sollte klappen. Ansonsten das neue als Java Script importieren.

          SchaafAlexanderS 1 Reply Last reply
          0
          • L lesiflo

            @schaafalexander Das neue ist ein Java Script und hat mit dem ursprünglichen Blockly Script nichts mehr zu tun. Am besten das Blockly aus dem ersten Post nehmen. Das sollte klappen. Ansonsten das neue als Java Script importieren.

            SchaafAlexanderS Offline
            SchaafAlexanderS Offline
            SchaafAlexander
            wrote on last edited by
            #103

            @lesiflo
            Danke.
            Orientiere mich am Blockly und hab heute mal angefangen mich ranzutasten.

            Merci :-)

            1 Reply Last reply
            0
            • M Offline
              M Offline
              Michi 0
              wrote on last edited by
              #104

              Hallo Zusammen,

              bin gerade dabei für meinen Solarflow 2400ac ein Skript zu basteln und wollte mich an euren "Vorarbeiten" orientieren. Leider klappt das aber nicht, da bei mir kein BKW am Solarflow hängt. Statt dessen wird er über eine 10 kWp Anlage am Dach geladen. Daher kann ich die Regelung zum laden nicht übernehmen.

              Meine Regelung soll (fürs erste) nur laden bei Überschuss und entladen bei Stombezug aus dem Netz berücksichtigen. Soweit ganz einfach... dachte ich.

              Die "klassische" Berechnung mit "Netzeinspeisung* (-1) + Ladewert" für Laden und "Netzbezug+ Entladewert" funktioniert nicht in allen Varianten. Beispielsweise wenn die Batterie geladen wird, und dann der Verbrauch samt Ladewert über die vorhandene PV Leistung steigt.

              Ich komme einfach nicht auf die korrekten Formeln. Aktuell verwende ich folgendes Skript:

              var Ladewert, Entladewert;
              
              
              on({ id: 'fronius.0.site.P_Grid' /* Actual grid power */, change: 'ne' }, async (obj) => {
                let value = obj.state.val;
                let oldValue = obj.oldState.val;
                if ((obj.state ? obj.state.val : '') < 0) {
                  Ladewert = (obj.state ? obj.state.val : '') * -1 + getState('mqtt.0.Zendure.number.xxxxx.inputLimit.set').val;
                  setState('mqtt.0.Zendure.select.xxxxx.acMode' /* Zendure/select/xxxxx/acMode */, 'Input mode');
                  setState('mqtt.0.Zendure.number.xxxxx.inputLimit.set' /* Zendure/number/xxxxx/inputLimit/set */, Ladewert);
                } else if ((obj.state ? obj.state.val : '') > 0) {
                  Entladewert = (obj.state ? obj.state.val : '') + getState('mqtt.0.Zendure.number.xxxxx.outputLimit.set').val;
                  setState('mqtt.0.Zendure.select.xxxxx.acMode' /* Zendure/select/xxxxx/acMode */, 'Output mode');
                  setState('mqtt.0.Zendure.number.xxxxx.outputLimit.set' /* Zendure/number/xxxxx/outputLimit/set */, Entladewert);
                }
              });
              

              895e97a3-ad1a-4c67-aa8f-224409f38311-grafik.png

              Der Solarflow wird direkt über den MQTT Adapter gesteuert und ausgelesen.

              Stromwerte kommen vom Fronius Adapter: Einspeisung ist P-Grid mit negativen Werten. Strombezug ist P-Grid mit positiven Werten.

              Kann mir mal jemand Starthilfe geben? Ich komme auch nach mehreren Tagen einfach nicht auf den Fehler bzw. die nötigen Anpassungen. :face_with_thermometer:

              L 1 Reply Last reply
              0
              • M Michi 0

                Hallo Zusammen,

                bin gerade dabei für meinen Solarflow 2400ac ein Skript zu basteln und wollte mich an euren "Vorarbeiten" orientieren. Leider klappt das aber nicht, da bei mir kein BKW am Solarflow hängt. Statt dessen wird er über eine 10 kWp Anlage am Dach geladen. Daher kann ich die Regelung zum laden nicht übernehmen.

                Meine Regelung soll (fürs erste) nur laden bei Überschuss und entladen bei Stombezug aus dem Netz berücksichtigen. Soweit ganz einfach... dachte ich.

                Die "klassische" Berechnung mit "Netzeinspeisung* (-1) + Ladewert" für Laden und "Netzbezug+ Entladewert" funktioniert nicht in allen Varianten. Beispielsweise wenn die Batterie geladen wird, und dann der Verbrauch samt Ladewert über die vorhandene PV Leistung steigt.

                Ich komme einfach nicht auf die korrekten Formeln. Aktuell verwende ich folgendes Skript:

                var Ladewert, Entladewert;
                
                
                on({ id: 'fronius.0.site.P_Grid' /* Actual grid power */, change: 'ne' }, async (obj) => {
                  let value = obj.state.val;
                  let oldValue = obj.oldState.val;
                  if ((obj.state ? obj.state.val : '') < 0) {
                    Ladewert = (obj.state ? obj.state.val : '') * -1 + getState('mqtt.0.Zendure.number.xxxxx.inputLimit.set').val;
                    setState('mqtt.0.Zendure.select.xxxxx.acMode' /* Zendure/select/xxxxx/acMode */, 'Input mode');
                    setState('mqtt.0.Zendure.number.xxxxx.inputLimit.set' /* Zendure/number/xxxxx/inputLimit/set */, Ladewert);
                  } else if ((obj.state ? obj.state.val : '') > 0) {
                    Entladewert = (obj.state ? obj.state.val : '') + getState('mqtt.0.Zendure.number.xxxxx.outputLimit.set').val;
                    setState('mqtt.0.Zendure.select.xxxxx.acMode' /* Zendure/select/xxxxx/acMode */, 'Output mode');
                    setState('mqtt.0.Zendure.number.xxxxx.outputLimit.set' /* Zendure/number/xxxxx/outputLimit/set */, Entladewert);
                  }
                });
                

                895e97a3-ad1a-4c67-aa8f-224409f38311-grafik.png

                Der Solarflow wird direkt über den MQTT Adapter gesteuert und ausgelesen.

                Stromwerte kommen vom Fronius Adapter: Einspeisung ist P-Grid mit negativen Werten. Strombezug ist P-Grid mit positiven Werten.

                Kann mir mal jemand Starthilfe geben? Ich komme auch nach mehreren Tagen einfach nicht auf den Fehler bzw. die nötigen Anpassungen. :face_with_thermometer:

                L Offline
                L Offline
                lesiflo
                Most Active
                wrote on last edited by lesiflo
                #105

                @michi-0 Kleiner Tip: Frag mal Chat-GPT. Damit habe ich mittlerweile meine komplette Steuerung der Hyper erstellt.
                Ich würde das allerdings gleich in Java-Script machen.

                Versuchs mal so in etwa:

                e4bc7f55-e44d-4ac6-9f39-1e635a5a6a99-image.png
                a5450c76-18ef-4aa0-afc7-5262d78e99b0-image.png

                M 1 Reply Last reply
                0
                • L lesiflo

                  @michi-0 Kleiner Tip: Frag mal Chat-GPT. Damit habe ich mittlerweile meine komplette Steuerung der Hyper erstellt.
                  Ich würde das allerdings gleich in Java-Script machen.

                  Versuchs mal so in etwa:

                  e4bc7f55-e44d-4ac6-9f39-1e635a5a6a99-image.png
                  a5450c76-18ef-4aa0-afc7-5262d78e99b0-image.png

                  M Offline
                  M Offline
                  Michi 0
                  wrote on last edited by
                  #106

                  @lesiflo Danke!!! Läuft soweit. Bin mal gespannt was heute Abend passiert. Aktuell bekomme ich den Strom vom Dach nicht weiter, sodass ich das "runterregeln" noch nicht testen kann. Zumindest ist mein "Regelungs-Ping-Pong" aber schon mal weg.

                  ChatGPT hatte ich probiert. Allerdings hat der Import in Blockly nicht geklappt. :thinking_face:
                  Und Java-Script wollte ich mangels Kenntnisse nicht probieren <- Das Skrpit wird noch erweitert um eine Hysterese bei den Messwerten und einer Ladung bei günstigen Strompreisen. Das würde ich in Java definitiv auch mit Hilfe nicht mehr hinbekommen...

                  L 1 Reply Last reply
                  0
                  • M Michi 0

                    @lesiflo Danke!!! Läuft soweit. Bin mal gespannt was heute Abend passiert. Aktuell bekomme ich den Strom vom Dach nicht weiter, sodass ich das "runterregeln" noch nicht testen kann. Zumindest ist mein "Regelungs-Ping-Pong" aber schon mal weg.

                    ChatGPT hatte ich probiert. Allerdings hat der Import in Blockly nicht geklappt. :thinking_face:
                    Und Java-Script wollte ich mangels Kenntnisse nicht probieren <- Das Skrpit wird noch erweitert um eine Hysterese bei den Messwerten und einer Ladung bei günstigen Strompreisen. Das würde ich in Java definitiv auch mit Hilfe nicht mehr hinbekommen...

                    L Offline
                    L Offline
                    lesiflo
                    Most Active
                    wrote on last edited by
                    #107

                    @michi-0 So habe ich mal angefangen. Da ich auch das Blockly nicht in Chat-GPT laden konnte habe ich es mir im Java-Code ausgeben lassen, nach Chat-GPT kopiert und gesagt was ich haben möchte. So habe ich mich dann nach und nach an Java-Script rangetastet. Mittlerweile ist daraus ein recht großes Script mit allen was ich haben möchte entstanden. Übrigens auch mit Laden/Entladen nach Strompreis.

                    M 1 Reply Last reply
                    0
                    • L lesiflo

                      @michi-0 So habe ich mal angefangen. Da ich auch das Blockly nicht in Chat-GPT laden konnte habe ich es mir im Java-Code ausgeben lassen, nach Chat-GPT kopiert und gesagt was ich haben möchte. So habe ich mich dann nach und nach an Java-Script rangetastet. Mittlerweile ist daraus ein recht großes Script mit allen was ich haben möchte entstanden. Übrigens auch mit Laden/Entladen nach Strompreis.

                      M Offline
                      M Offline
                      Murphy 0
                      wrote on last edited by Murphy 0
                      #108

                      Michi,

                      So sieht mein Blockly für die Hysterese aus.
                      Für inputalt und outputalt und impuls habe ich User Objekte angelegt. So bleiben die Werte nach einem Neustart erhalten

                      Schreibimpulse werden auch geloggt.

                      Meine Formel mit Geräte Automation Limit hat geänderte Vorzeichen im Vergleich zum AC Modus.

                      IMG_3598.jpeg

                      IMG_3596.jpeg

                      L 1 Reply Last reply
                      0
                      • M Murphy 0

                        Michi,

                        So sieht mein Blockly für die Hysterese aus.
                        Für inputalt und outputalt und impuls habe ich User Objekte angelegt. So bleiben die Werte nach einem Neustart erhalten

                        Schreibimpulse werden auch geloggt.

                        Meine Formel mit Geräte Automation Limit hat geänderte Vorzeichen im Vergleich zum AC Modus.

                        IMG_3598.jpeg

                        IMG_3596.jpeg

                        L Offline
                        L Offline
                        lesiflo
                        Most Active
                        wrote on last edited by
                        #109

                        @murphy-0 inputalt und outputalt braucht man eigentlich nicht. Beim Trigger kann man auch "vorherigen Wert" auswählen. Aber geht so auch.

                        M 1 Reply Last reply
                        0
                        • L lesiflo

                          @murphy-0 inputalt und outputalt braucht man eigentlich nicht. Beim Trigger kann man auch "vorherigen Wert" auswählen. Aber geht so auch.

                          M Offline
                          M Offline
                          Murphy 0
                          wrote on last edited by
                          #110

                          @lesiflo
                          Bin immer dankbar für Tips 🙏

                          L 1 Reply Last reply
                          0
                          • M Murphy 0

                            @lesiflo
                            Bin immer dankbar für Tips 🙏

                            L Offline
                            L Offline
                            lesiflo
                            Most Active
                            wrote on last edited by
                            #111

                            @murphy-0 So etwa könnte gehen:

                            Beispiel Laden
                            410dda91-5c82-40f2-8a68-011a6f7b1a0a-image.png

                            M 1 Reply Last reply
                            0
                            • L lesiflo

                              @murphy-0 So etwa könnte gehen:

                              Beispiel Laden
                              410dda91-5c82-40f2-8a68-011a6f7b1a0a-image.png

                              M Offline
                              M Offline
                              Michi 0
                              wrote on last edited by Michi 0
                              #112

                              @ lesiflo Verständnisfrage:

                              Bezieht sich "vorheriger Wert" nicht auf den Triggerwert (hier Wert Stromanschluss)? Dieser Wert wird für Berechnung "Output" bearbeitet und taugt dann doch nicht mehr für den Abgleich...?

                              Und gleich nocht etwas: Ich bekomme die Meldung, dass "Set-Output" ein String anstatt Nummer haben will. Wenn ich dann in Blockly "konvertieren in String" vor die Berechnung von Output setze rechnet es mir aber ein vielfaches vom tatsächlichen Wert aus. Wo fehlts denn hier?

                              L 1 Reply Last reply
                              0
                              • M Michi 0

                                @ lesiflo Verständnisfrage:

                                Bezieht sich "vorheriger Wert" nicht auf den Triggerwert (hier Wert Stromanschluss)? Dieser Wert wird für Berechnung "Output" bearbeitet und taugt dann doch nicht mehr für den Abgleich...?

                                Und gleich nocht etwas: Ich bekomme die Meldung, dass "Set-Output" ein String anstatt Nummer haben will. Wenn ich dann in Blockly "konvertieren in String" vor die Berechnung von Output setze rechnet es mir aber ein vielfaches vom tatsächlichen Wert aus. Wo fehlts denn hier?

                                L Offline
                                L Offline
                                lesiflo
                                Most Active
                                wrote on last edited by lesiflo
                                #113

                                @michi-0

                                vorheriger Wert bezieht sich auch den Triggerwert hier "power".

                                Bsp:
                                Wert = 30 W
                                vorheriger Wert = 50 W -> keine Änderung

                                Wert = 30 W
                                vorheriger Wert = 100 W -> Änderung

                                output bezieht sich immer auf den aktuellen Wert.

                                M 1 Reply Last reply
                                0
                                • L lesiflo

                                  @michi-0

                                  vorheriger Wert bezieht sich auch den Triggerwert hier "power".

                                  Bsp:
                                  Wert = 30 W
                                  vorheriger Wert = 50 W -> keine Änderung

                                  Wert = 30 W
                                  vorheriger Wert = 100 W -> Änderung

                                  output bezieht sich immer auf den aktuellen Wert.

                                  M Offline
                                  M Offline
                                  Michi 0
                                  wrote on last edited by Michi 0
                                  #114

                                  @lesiflo
                                  Aber output ist doch das Rechenergebnis von von Triggerwert + Ladewert.
                                  Damit weicht mir der vorherige Triggerwert doch immer um mehr als 50 Watt ab, sobald der Ladewert mehr als 50 Watt beträgt? Zumindest klappt das bei mir nicht und er regelt immer nach, sobald der Trigger auslöst.

                                  L 1 Reply Last reply
                                  0
                                  • M Michi 0

                                    @lesiflo
                                    Aber output ist doch das Rechenergebnis von von Triggerwert + Ladewert.
                                    Damit weicht mir der vorherige Triggerwert doch immer um mehr als 50 Watt ab, sobald der Ladewert mehr als 50 Watt beträgt? Zumindest klappt das bei mir nicht und er regelt immer nach, sobald der Trigger auslöst.

                                    L Offline
                                    L Offline
                                    lesiflo
                                    Most Active
                                    wrote on last edited by
                                    #115

                                    @michi-0 Stimmt du hast recht. Kleiner Gedankenfehler. Dann muß bei der Oder-Verknüpfung statt "output" "Wert" rein.

                                    M 1 Reply Last reply
                                    0
                                    • L lesiflo

                                      @michi-0 Stimmt du hast recht. Kleiner Gedankenfehler. Dann muß bei der Oder-Verknüpfung statt "output" "Wert" rein.

                                      M Offline
                                      M Offline
                                      Michi 0
                                      wrote on last edited by Michi 0
                                      #116

                                      @lesiflo Und jetzt das nächste Problem:

                                      Die Umschaltung von AC Output und Input klappt nicht. Wenn der Verbauch stark steigt und gleichzeitig der PV wert nicht mehr aussreicht für eine Ladung erfolgt eine falsche Berechnung des Inputs (Irgendwelche Fabelwerte von mehr als 2000W bei 900 Watt Hausverbrauch -> müsste ja eigentlich auf 0 gehen). Es erfolgt dann keine Umschaltung auf Output samt Berechnung der richtigen Entladeleistung. Also eigentlich fast mein ursprünglich in "meinem" Skipt bestehendes Problem.

                                      Ich bin mir nicht sicher, dass das primär ein Problem des Skripts ist. Aktuell kann ich den Wert auch manuell nicht ändern. Wenn ich manuell auf "Output mode" stelle, springt es danach gleich wieder auf "Input mode". Die Batterie ist aber zu 28% geladen und es wird mehr Strom im Haus verbraucht als vom Dach kommt.

                                      Das Problem bleibt sogar wenn ich das Skript deaktiviere. Keine Ahnung was da Querschießt...
                                      Edit: Wenn ich in der App manuell eine Entladeleistung definiere wechselt MQTT auf Output. Muss da in ioBroker ggf. neben "Output Mode" noch irgendwas umgestellt werden?

                                      L 1 Reply Last reply
                                      0
                                      • M Michi 0

                                        @lesiflo Und jetzt das nächste Problem:

                                        Die Umschaltung von AC Output und Input klappt nicht. Wenn der Verbauch stark steigt und gleichzeitig der PV wert nicht mehr aussreicht für eine Ladung erfolgt eine falsche Berechnung des Inputs (Irgendwelche Fabelwerte von mehr als 2000W bei 900 Watt Hausverbrauch -> müsste ja eigentlich auf 0 gehen). Es erfolgt dann keine Umschaltung auf Output samt Berechnung der richtigen Entladeleistung. Also eigentlich fast mein ursprünglich in "meinem" Skipt bestehendes Problem.

                                        Ich bin mir nicht sicher, dass das primär ein Problem des Skripts ist. Aktuell kann ich den Wert auch manuell nicht ändern. Wenn ich manuell auf "Output mode" stelle, springt es danach gleich wieder auf "Input mode". Die Batterie ist aber zu 28% geladen und es wird mehr Strom im Haus verbraucht als vom Dach kommt.

                                        Das Problem bleibt sogar wenn ich das Skript deaktiviere. Keine Ahnung was da Querschießt...
                                        Edit: Wenn ich in der App manuell eine Entladeleistung definiere wechselt MQTT auf Output. Muss da in ioBroker ggf. neben "Output Mode" noch irgendwas umgestellt werden?

                                        L Offline
                                        L Offline
                                        lesiflo
                                        Most Active
                                        wrote on last edited by
                                        #117

                                        @michi-0 Schick mir mal das Script

                                        M 1 Reply Last reply
                                        0
                                        • L lesiflo

                                          @michi-0 Schick mir mal das Script

                                          M Offline
                                          M Offline
                                          Michi 0
                                          wrote on last edited by Michi 0
                                          #118

                                          @lesiflo

                                          var output_Korrektur, input_Korrektur, ausgang_max_soll, eingang_max_soll, Preisgrenze_f_C3_BCr_Tibber_Laden, output, input, timeout, timeout2;
                                          
                                          
                                          // Setzen der Variablen
                                          output_Korrektur = 0;
                                          input_Korrektur = 100;
                                          ausgang_max_soll = ('' + 2000);
                                          eingang_max_soll = ('' + 2000);
                                          Preisgrenze_f_C3_BCr_Tibber_Laden = 25;
                                          // Hauptscript
                                          on({ id: [].concat(['fronius.0.site.P_Grid']), change: 'ne' }, async (obj) => {
                                            let value = obj.state.val;
                                            let oldValue = obj.oldState.val;
                                            // Setzen der Ausgangsleistung
                                            output = ((obj.state ? obj.state.val : '') - output_Korrektur) + getState('mqtt.0.Zendure.number.xxx.outputLimit').val;
                                            // Setzen der Eingangsleistung
                                            input = ((obj.state ? obj.state.val : '') * -1 - input_Korrektur) + getState('mqtt.0.Zendure.number.xxx.inputLimit').val;
                                            if (output > 0) {
                                              // Entladen
                                              if (output > ausgang_max_soll) {
                                                output = ausgang_max_soll;
                                              }
                                              timeout = setTimeout(async () => {
                                                timeout = null;
                                                if (getState('mqtt.0.Zendure.select.xxx.acMode').val != 'Output mode') {
                                                  setState('mqtt.0.Zendure.select.xxx.acMode.set' /* Zendure/select/xxx/acMode/set */, 'Output mode');
                                                }
                                              }, 5000);
                                              setState('mqtt.0.Zendure.number.xxx.outputLimit.set' /* Zendure/number/xxx/outputLimit/set */, output);
                                              (() => { if (timeout) { clearTimeout(timeout); timeout = null; }})();
                                              (() => { if (timeout) { clearTimeout(timeout); timeout = null; }})();
                                            } else if (input > 0) {
                                              // Laden
                                              if (input > eingang_max_soll) {
                                                input = eingang_max_soll;
                                              }
                                              timeout2 = setTimeout(async () => {
                                                timeout2 = null;
                                                if (getState('mqtt.0.Zendure.select.xxx.acMode').val != 'Input mode') {
                                                  setState('mqtt.0.Zendure.select.xxx.acMode.set' /* Zendure/select/xxx/acMode/set */, 'Input mode');
                                                }
                                              }, 5000);
                                              setState('mqtt.0.Zendure.number.xxx.inputLimit.set' /* Zendure/number/xxx/inputLimit/set */, input);
                                              (() => { if (timeout) { clearTimeout(timeout); timeout = null; }})();
                                              (() => { if (timeout2) { clearTimeout(timeout2); timeout2 = null; }})();
                                            }
                                          });
                                          
                                          //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyTyU3RGUzJTdDVmpUekglMkIuZEhjLUJFXyUzQSUyMiUzRW91dHB1dF9Lb3JyZWt0dXIlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJQbW4lNUVSZnMyJTYwJTI1dlhvYiUyNCFKJTNEVVglMjIlM0VpbnB1dF9Lb3JyZWt0dXIlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjI4JTVEfnlIQy50VzYlNUQqR2ZrQ2JxKSU1RSUyMiUzRWF1c2dhbmdfbWF4X3NvbGwlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjIxcCUzRC1nJTI0empQTEs5TG82YX45eCUzQSUyMiUzRWVpbmdhbmdfbWF4X3NvbGwlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJaUlFjJTNCJTJDSSUyNCU0MEZWdjctU3hsJTdEdEUlMjIlM0VQcmVpc2dyZW56ZSUyMGYlQzMlQkNyJTIwVGliYmVyLUxhZGVuJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIydThDTClXZXglM0ZEb2NaNTh5KCUyRm4qJTIyJTNFb3V0cHV0JTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyczNvVGdrJTVFZCU1RFFUWXRXZnB5T2s2JTIyJTNFaW5wdXQlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwdHlwZSUzRCUyMnRpbWVvdXQlMjIlMjBpZCUzRCUyMnRpbWVvdXQlMjIlM0V0aW1lb3V0JTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMHR5cGUlM0QlMjJ0aW1lb3V0JTIyJTIwaWQlM0QlMjJ0aW1lb3V0MiUyMiUzRXRpbWVvdXQyJTNDJTJGdmFyaWFibGUlM0UlM0MlMkZ2YXJpYWJsZXMlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjJhQiUzRkclM0E1JTI0SlpzWlZOJTVEayU1QkZNZiUyNCUyMiUyMHglM0QlMjItMTIzNyUyMiUyMHklM0QlMjItMjExMyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0VTZXR6ZW4lMjBkZXIlMjBWYXJpYWJsZW4lMjAlM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjIlMjVUJTVFRiUzRih+JTdEZ344TW8uOTZoYlBjJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJPJTdEZTMlN0NWalR6SCUyQi5kSGMtQkVfJTNBJTIyJTNFb3V0cHV0X0tvcnJla3R1ciUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyQ2QtTHRLUyUzRlpRUiUzQjNmRSkxT2ZSJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJLZDYlMjVYJTI0KEUlMjVhJTIzOCUzQSUyRjROJTVCbyU1QmQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMlBtbiU1RVJmczIlNjAlMjV2WG9iJTI0IUolM0RVWCUyMiUzRWlucHV0X0tvcnJla3R1ciUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyNmNoTyUyNEpjdkVKcW8lMjNhQ2pjJTJCZXMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxMDAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyQzdXUC55VlkufnlMYm9UTyktLU0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMjglNUR+eUhDLnRXNiU1RCpHZmtDYnEpJTVFJTIyJTNFYXVzZ2FuZ19tYXhfc29sbCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb252ZXJ0X3Rvc3RyaW5nJTIyJTIwaWQlM0QlMjJtRio0LW8pMU80KXBQdSUyM2NyJTIzbjQlMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIhb352JTYwJTJGJTNBKiUyQiUzQiglNURwJTVEJTdCSCUzRldUQSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTIwMDAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMn5XQipuNyglMkZpRHJUbiU0MDFkb1RGTSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyMXAlM0QtZyUyNHpqUExLOUxvNmF+OXglM0ElMjIlM0VlaW5nYW5nX21heF9zb2xsJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnZlcnRfdG9zdHJpbmclMjIlMjBpZCUzRCUyMm8lM0FvWEo3TmQlNUI0LUslN0RLQUlUJTIzJTI0MSUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMnh2JTNCNHYlM0ZCJTVCKk5qWVNjUSUyM0JaYkQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UyMDAwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJaUjU1JTVCR34zS0xEVFdmWU1MJTNGISUzQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyWlJRYyUzQiUyQ0klMjQlNDBGVnY3LVN4bCU3RHRFJTIyJTNFUHJlaXNncmVuemUlMjBmJUMzJUJDciUyMFRpYmJlci1MYWRlbiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyWE9DdX5HY0hoWFclN0M4JTVCNiUyNG4lM0IpTCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTI1JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMkRKdmtKUUowMm90SHFXUSUyMyU2ME8tTyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0VIYXVwdHNjcmlwdCUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX2V4dCUyMiUyMGlkJTNEJTIyJTJGUyglM0IlNjBRQUJyaUlDJTVFTSUyQiElN0Q3VCUzQSUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGl0ZW1zJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFbmUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRDAlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJ3JTVFJTVENyU1RXcxJTdCQi0hJTI0biU2MDdJeTQ5MSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRWZyb25pdXMuMC5zaXRlLlBfR3JpZCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIyY04lMjQwaUhIJTVFQ2xBcTJpWEMlMjVoMmYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFU2V0emVuJTIwZGVyJTIwQXVzZ2FuZ3NsZWlzdHVuZyUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMlMybzhMJTNEUlFTJTJCJTJCN2lwWE9qalc1JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJ1OENMKVdleCUzRkRvY1o1OHkoJTJGbiolMjIlM0VvdXRwdXQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9hcml0aG1ldGljJTIyJTIwaWQlM0QlMjJoWWY0UWIlN0JJaCUyNGp3Kk4lM0JXc2NWViUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFQUREJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjI5Z3kwNG1iMSU1RVFOdWNZTXQlM0QlN0QwaCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTUwJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX2FyaXRobWV0aWMlMjIlMjBpZCUzRCUyMioxJTVEWHU3UDUhIU5PSChOJTdDaFZ6JTNBJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VNSU5VUyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyYiU3QiU2MDYlM0ZXRXlrKjg5amYlMkNaWkIlMjQuJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFNTAlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX3NvdXJjZSUyMiUyMGlkJTNEJTIyZlQ1V0YlNUJHMSUzQWdlYXM1YkIoZEtfJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLnZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMmZtMk0lMkMyem80VmJrTWElN0RqJTNEJTJGJTdCRSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTQwJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJQXypkJTdCVEdSJTdEfjYpRkdwJTNGYmVBZCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyTyU3RGUzJTdDVmpUekglMkIuZEhjLUJFXyUzQSUyMiUzRW91dHB1dF9Lb3JyZWt0dXIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyMyhHSTQlM0F3M2twUSU1RFhXcCEwaE9yJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJRbyU3RFZPcW8lM0IzJTJGKWJuaFhvKVdHJTNGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFbXF0dC4wLlplbmR1cmUubnVtYmVyLkhPQTFOUE40TjIzMTgxNi5vdXRwdXRMaW1pdCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIyamZUTUFaKiUzRCU1RFljOU4lM0EpWV9zRDElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFU2V0emVuJTIwZGVyJTIwRWluZ2FuZ3NsZWlzdHVuZyUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiUzREkhKnklN0NnYTZCT2RqJTNETyFYMEJOJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJzM29UZ2slNUVkJTVEUVRZdFdmcHlPazYlMjIlM0VpbnB1dCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX2FyaXRobWV0aWMlMjIlMjBpZCUzRCUyMn5MQmM5Zkc1WjZsSmQxMiUyRilqVDQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUFERCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyOWd5MDRtYjElNUVRTnVjWU10JTNEJTdEMGglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0U1MCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9hcml0aG1ldGljJTIyJTIwaWQlM0QlMjI3KnhDVk1MfjEudnFVOUhzYkVTeCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFTUlOVVMlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMmIlN0IlNjA2JTNGV0V5ayo4OWpmJTJDWlpCJTI0LiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTUwJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX2FyaXRobWV0aWMlMjIlMjBpZCUzRCUyMmg4JTJDY1BkNjhhJTNGN2x3czhoJTJCJTJCRiU0MCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFTVVMVElQTFklM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMkslMjV6ZEIlMjUlNURkYSlKTXclMjRfTSU3QiU2MDBBJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjI0LWglM0FSJTYwc202fnQ4REQlM0QlM0YlN0N+YkYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFc3RhdGUudmFsJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIycnVHJTVFc3olM0ElN0JlRXdiVE01ZjYlMkMlMkMzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFLTElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMiUyNEQ2WkNLQ1Q4RlR1XyUyNG9wd1RhdSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTgwJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJsMUFQJTJDN1olNUQqYW1pen5XJTI1LSUyNTFVJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJQbW4lNUVSZnMyJTYwJTI1dlhvYiUyNCFKJTNEVVglMjIlM0VpbnB1dF9Lb3JyZWt0dXIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyMyhHSTQlM0F3M2twUSU1RFhXcCEwaE9yJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjIlNUUlMjNlWiUyQlIlM0YpMiU3QkooYUIlM0E3dWUlM0ZSJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFbXF0dC4wLlplbmR1cmUubnVtYmVyLkhPQTFOUE40TjIzMTgxNi5pbnB1dExpbWl0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyOSU3Qm9FJTVFYzEzYSUzQTMxJTNCMnV0LkRJJTI0JTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlaWYlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjJVZHY2TFIlMkMlNjBmSjRSJTdEKjlZRWUlNjAlM0YlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUdUJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyflBPISUzQWdaa0ptWkEqMiU3Q2VIZUxGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJ1OENMKVdleCUzRkRvY1o1OHkoJTJGbiolMjIlM0VvdXRwdXQlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMi1rJTNBJTdEJTVCMUklNjBUJTIzMSU3QzdKdVNFVyUyQi0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjJvYUVabV9ISzdoLjdDSSUyNG9KJTYwdDQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFRW50bGFkZW4lM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyZiUyQm4lM0JvQmFWaWwlNUJoJTdEMWdidyUyRmZGJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyRWNoKiU1REMhbGJqcWYlM0JtTUJuaiUzQXklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUdUJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyU0hRQm9yZ2Nnb2UlNUIxJTVESTgtJTVEKiolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnU4Q0wpV2V4JTNGRG9jWjU4eSglMkZuKiUyMiUzRW91dHB1dCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjIlN0N2biU2MG9Ga0U3SSU1QkclMjN+KWZrQWY1JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjI4JTVEfnlIQy50VzYlNUQqR2ZrQ2JxKSU1RSUyMiUzRWF1c2dhbmdfbWF4X3NvbGwlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiUzQXBoYXdZRSUzQkg2JTNBSTIlMjMlNURLNCU3RCUyRi0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnU4Q0wpV2V4JTNGRG9jWjU4eSglMkZuKiUyMiUzRW91dHB1dCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJxd2RLbiU3QnlaTFgyRHBoLjklM0RPVFIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMjglNUR+eUhDLnRXNiU1RCpHZmtDYnEpJTVFJTIyJTNFYXVzZ2FuZ19tYXhfc29sbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX3NldHRpbWVvdXQlMjIlMjBpZCUzRCUyMiU3RDFNWDZFZGMlMkMlM0ExfjBVbiUyRlUlN0JFayUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0V0aW1lb3V0JTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJERUxBWSUyMiUzRTUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlVOSVQlMjIlM0VzZWMlM0MlMkZmaWVsZCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIycnIyVTFMJTVFcypJJTdDViUyMyUyM3olNjAzaSUyMyklMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjIlM0IlMjRmSiU1RHpJcU1fbW1ZJTJGUFdRcjRSJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VORVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMjVGdkZjbGNScGJwJTVFciU2MEslM0FBM2owJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFbXF0dC4wLlplbmR1cmUuc2VsZWN0LkhPQTFOUE40TjIzMTgxNi5hY01vZGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyaFRQS1BfWnQxIS1TJTdEX1Y0YkN0JTI1JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRU91dHB1dCUyMG1vZGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMmQtTXY1S04wRSU3QnI5Ri1kXyUyNSopWiUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRW1xdHQuMC5aZW5kdXJlLnNlbGVjdC5IT0ExTlBONE4yMzE4MTYuYWNNb2RlLnNldCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMlZRS2olN0NYSyUyNCU3Q3d+JTI1UU1xYVI0JTVCRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VPdXRwdXQlMjBtb2RlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjJSJTJCNHAlNUQhJTJCJTVESi0tUiUyMyUzRCUyNG5LNnVTJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFbXF0dC4wLlplbmR1cmUubnVtYmVyLkhPQTFOUE40TjIzMTgxNi5vdXRwdXRMaW1pdC5zZXQlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJmJTI1TWxkJTI1eWtsYUhBeGpCRDMpMEIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnU4Q0wpV2V4JTNGRG9jWjU4eSglMkZuKiUyMiUzRW91dHB1dCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0aW1lb3V0c19jbGVhcnRpbWVvdXQlMjIlMjBpZCUzRCUyMk41JTVCJTI1JTVFdiU3QkElMjN5akQlNDA3JTYwKSUyNW4lNUIlMjMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFdGltZW91dCUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX2NsZWFydGltZW91dCUyMiUyMGlkJTNEJTIyLiUzREVGJTQwUmluN0pZSChHRE14JTVCJTdDTSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0V0aW1lb3V0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMiU2MDFiJTVFVjE5Qy14ayUzRDZiJTJDZFUlM0ZYaSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFR1QlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJHRkJVJTYwKjk3bDcuU2xyR1ZaemRwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJzM29UZ2slNUVkJTVEUVRZdFdmcHlPazYlMjIlM0VpbnB1dCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyfmYxJTYwJTdEZGc4enRMJTYwRSU3RDRkNyU1QiUzQVklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjJCYU1MbVJ3JTIzbmglNUUyflchJTYwJTJDZColMjUlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFTGFkZW4lM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyfmdycEtBViUzQWhHSlN0QXBicCUyRjBoJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyRFc0JTJCejJfWnJMVmpYSSouJTQwOGpwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VHVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMnJQJTVCME0lMjUlNUIlNUJ+QyU3QiUyNC5RUiUzQjghY3olMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnMzb1RnayU1RWQlNURRVFl0V2ZweU9rNiUyMiUzRWlucHV0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMmYtJTNBOGMoJTVCJTVCZEdjJTYwJTVFdzctNSklMjVzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIxcCUzRC1nJTI0empQTEs5TG82YX45eCUzQSUyMiUzRWVpbmdhbmdfbWF4X3NvbGwlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMnN2JTdDbTNKRXZFR1g2RTFSOSU1QmtyJTVEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJzM29UZ2slNUVkJTVEUVRZdFdmcHlPazYlMjIlM0VpbnB1dCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjI4Ui01MzNhMmY2QTB3ZmZGb2FYZCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyMXAlM0QtZyUyNHpqUExLOUxvNmF+OXglM0ElMjIlM0VlaW5nYW5nX21heF9zb2xsJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGltZW91dHNfc2V0dGltZW91dCUyMiUyMGlkJTNEJTIyWHF+TyUzRnljQndsSnNoJTYwcF82TEgoJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTkFNRSUyMiUzRXRpbWVvdXQyJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJERUxBWSUyMiUzRTUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlVOSVQlMjIlM0VzZWMlM0MlMkZmaWVsZCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyJTdDVW9FaVl5ZiUzQmclM0Y5MyklM0RXdH5UMSUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMiUzRiUzRiU3QjZ+JTYwbiUyQzFIJTdCKW9iVCFWZUxyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VORVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMiUzQiUyMyUzQmQlN0QlM0QlNUUlNDAxTUJtQyU2MHVBYnR5JTdEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFbXF0dC4wLlplbmR1cmUuc2VsZWN0LkhPQTFOUE40TjIzMTgxNi5hY01vZGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyZiUzREohdyUzRm1ZbmYlM0EuNzlCISUyRlY5JTdCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRUlucHV0JTIwbW9kZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyIVZOYnRYJTVCWHkpNlBqeUElNURIY0RHJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFbXF0dC4wLlplbmR1cmUuc2VsZWN0LkhPQTFOUE40TjIzMTgxNi5hY01vZGUuc2V0JTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIybXRqMDElMkJ5MnJZaGgyYSU0MCk1OG9DJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRUlucHV0JTIwbW9kZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyJTJGLW9uTSUzRmk2NEZPOEQ1fjUlNUV5cyU2MCUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRW1xdHQuMC5aZW5kdXJlLm51bWJlci5IT0ExTlBONE4yMzE4MTYuaW5wdXRMaW1pdC5zZXQlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJTKCUzRkQlNUQlM0F6WldoOVNWa3JmcGNEcSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyczNvVGdrJTVFZCU1RFFUWXRXZnB5T2s2JTIyJTNFaW5wdXQlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGltZW91dHNfY2xlYXJ0aW1lb3V0JTIyJTIwaWQlM0QlMjJvKjI4dFZpJTNBaWoqenBkQiU1QlJxRiUyMyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0V0aW1lb3V0JTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGltZW91dHNfY2xlYXJ0aW1lb3V0JTIyJTIwaWQlM0QlMjIlN0IyJTQwMCU0MFpxKk9VUjAlNjBIJTdDJTdET2NaeiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0V0aW1lb3V0MiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGeG1sJTNF
                                          

                                          Aktueller Screenshot:

                                          99bb0b9b-0aba-42f8-adff-f65f533ac0eb-grafik.png

                                          Trotz Output-Mode wird der Maximalwert von Input (2000W) berechnet

                                          L 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          899

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe