Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Script zum Laden/Entladen von Zendure Solarflow

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Script zum Laden/Entladen von Zendure Solarflow

    This topic has been deleted. Only users with topic management privileges can see it.
    • SchaafAlexander
      SchaafAlexander @lesiflo last edited by

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

      Merci 🙂

      1 Reply Last reply Reply Quote 0
      • M
        Michi 0 last edited by

        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. 🤒

        L 1 Reply Last reply Reply Quote 0
        • L
          lesiflo Most Active @Michi 0 last edited by 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 1 Reply Last reply Reply Quote 0
          • M
            Michi 0 @lesiflo last edited by

            @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. 🤔
            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 Reply Quote 0
            • L
              lesiflo Most Active @Michi 0 last edited by

              @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 Reply Quote 0
              • M
                Murphy 0 @lesiflo last edited by 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 1 Reply Last reply Reply Quote 0
                • L
                  lesiflo Most Active @Murphy 0 last edited by

                  @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 Reply Quote 0
                  • M
                    Murphy 0 @lesiflo last edited by

                    @lesiflo
                    Bin immer dankbar für Tips 🙏

                    L 1 Reply Last reply Reply Quote 0
                    • L
                      lesiflo Most Active @Murphy 0 last edited by

                      @murphy-0 So etwa könnte gehen:

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

                      M 1 Reply Last reply Reply Quote 0
                      • M
                        Michi 0 @lesiflo last edited by 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 1 Reply Last reply Reply Quote 0
                        • L
                          lesiflo Most Active @Michi 0 last edited by 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 1 Reply Last reply Reply Quote 0
                          • M
                            Michi 0 @lesiflo last edited by 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 1 Reply Last reply Reply Quote 0
                            • L
                              lesiflo Most Active @Michi 0 last edited by

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

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                Michi 0 @lesiflo last edited by 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 1 Reply Last reply Reply Quote 0
                                • L
                                  lesiflo Most Active @Michi 0 last edited by

                                  @michi-0 Schick mir mal das Script

                                  M 1 Reply Last reply Reply Quote 0
                                  • M
                                    Michi 0 @lesiflo last edited by Michi 0

                                    @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 Reply Quote 0
                                    • L
                                      lesiflo Most Active @Michi 0 last edited by

                                      @michi-0 Kannst du nochmal das Blockly als Bild einstellen?

                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        Michi 0 @lesiflo last edited by Michi 0

                                        @lesiflo Gerne 😉

                                        a851f6b9-5f2e-4859-8435-8309956ecbee-grafik.png
                                        bbce2bd9-c3e5-46f9-90d5-5ba07dd73ec6-grafik.png
                                        44876623-7a32-4c06-a134-8470d69710e0-grafik.png

                                        L 1 Reply Last reply Reply Quote 0
                                        • L
                                          lesiflo Most Active @Michi 0 last edited by lesiflo

                                          @michi-0

                                          1. Bei sonst (ganz unten) setzt du 2x das outputLimit auf 0. Einmal auf inputLimit ändern.
                                          2. Die Timeouts sind falsch gesetzt. Setzt die mal beim Laden/Entladen/Sonst genauso wie in meinem ersten Post.
                                            Entladen: timeout1 bei AC Modus und "stop timeout2" setzen
                                            Laden: timeout2 bei AC Modus raus und "stop timeout1" und "stop timeout2" rein
                                            Sonst: timeout2 setzen
                                          M 1 Reply Last reply Reply Quote 0
                                          • M
                                            Murphy 0 @lesiflo last edited by Murphy 0

                                            Um die Schreibzugriffe auf den Speicher noch etwas zu beruhigen lasse ich die opendtu nur noch alle 15 sec und den Shelly an der Messeinrichtung alle 15 sec Werte an den Mosquitto schicken.
                                            Vorher waren es 5 sec.
                                            Jetzt wird heute geloggt und morgen probiere ich es noch mit 20 sec.
                                            Bis jetzt sieht es gut aus.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            776
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            122
                                            9640
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo