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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. Daten aus Fronius Solarweb auslesen

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

Daten aus Fronius Solarweb auslesen

Geplant Angeheftet Gesperrt Verschoben Entwicklung
619 Beiträge 60 Kommentatoren 189.0k Aufrufe 50 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M MartyBr

    @jb_sullivan
    Im Statistik Script Solarweb. Da sind deine Anmeldedaten (Login-Daten) enthalten. In der Javascript-Funktion.

    JB_SullivanJ Offline
    JB_SullivanJ Offline
    JB_Sullivan
    schrieb am zuletzt editiert von
    #60

    @martybr sagte in FRONIUS Adapter Entwicklung eingestellt?:

    @jb_sullivan
    Im Statistik Script Solarweb. Da sind deine Anmeldedaten (Login-Daten) enthalten. In der Javascript-Funktion.

    Vielen Dank - in der Tat - blöd von mir. Ich habe jetzt auch gleich das SolarWeb PW geändert. Da du die Daten ja hast, kannst du mal einen Login Versuch machen. Sollte nicht mehr gehen.

    ioBroker auf Intel Core i3-5005U NUC und Windwos10 Pro

    1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      MartyBr
      schrieb am zuletzt editiert von MartyBr
      #61

      @jb_sullivan
      Richtig, Zugang gesperrt.

      P.S.
      Deine View sehen toll aus. Da steckt ja jede Menge Arbeit drin. Ich habe deine "Monstertabelle" in VIS nachgebaut und setze dort die Werte aus SourceAnalytix und meinem Kostal.
      Ich habe gerade die Zuordnungen zu den Jahren geändert. Dazu habe ich die VIS in einem Editor geladen und ein Ersetzen 2021 auf 2022 gemacht. So war der Aufwand vertretbar.

      Gruß
      Martin


      Intel NUCs mit Proxmox / Iobroker als VM unter Debian
      Raspeberry mit USB Leseköpfen für Smartmeter
      Homematic und Homematic IP

      JB_SullivanJ 1 Antwort Letzte Antwort
      0
      • M MartyBr

        @jb_sullivan
        Richtig, Zugang gesperrt.

        P.S.
        Deine View sehen toll aus. Da steckt ja jede Menge Arbeit drin. Ich habe deine "Monstertabelle" in VIS nachgebaut und setze dort die Werte aus SourceAnalytix und meinem Kostal.
        Ich habe gerade die Zuordnungen zu den Jahren geändert. Dazu habe ich die VIS in einem Editor geladen und ein Ersetzen 2021 auf 2022 gemacht. So war der Aufwand vertretbar.

        JB_SullivanJ Offline
        JB_SullivanJ Offline
        JB_Sullivan
        schrieb am zuletzt editiert von JB_Sullivan
        #62

        @martybr sagte in FRONIUS Adapter Entwicklung eingestellt?:

        Richtig, Zugang gesperrt.

        Danke für das gegenprüfen.

        In der Monstertabelle bei "Summe" ist noch ein kleiner Verknüpfungsfehler drin. Die unteren beiden "inverter_1_PAC" Werte müssen wie folgt heißen. Da stand vorher consumption & cost drin.

        Muss gegen delivered & earnings ausgetauscht werden. Betrifft nur den Tabellenteil mit der Jahressumme.

        a6033377-1393-4ca3-a806-c5dad2659a3d-image.png

        EDIT: Ich mache heute nix mehr - noch ein Fehler in der PAC Zeile - so muss es richtig heißen.

        HTML+=" <td align=right bgcolor=#DDDDDD><i><b>" + Math.round(getState("sourceanalytix.0.fronius__0__inverter__1__PAC.currentYear.delivered.05_previousYear").val * 100) / 100 + " kwh</i></b></td>";
        HTML+=" <td align=right bgcolor=#DDDDDD><i><b>" + Math.round(getState("sourceanalytix.0.fronius__0__inverter__1__PAC.currentYear.earnings.05_previousYear").val * 1000) / 1000 + " €</i></b></td>";
        

        Ach meno - war noch ein Fehler drin - habe oben die Datei nochmal ausgetauscht mit allen behobenen Fehlern.

        ioBroker auf Intel Core i3-5005U NUC und Windwos10 Pro

        M 1 Antwort Letzte Antwort
        0
        • JB_SullivanJ JB_Sullivan

          @martybr sagte in FRONIUS Adapter Entwicklung eingestellt?:

          Richtig, Zugang gesperrt.

          Danke für das gegenprüfen.

          In der Monstertabelle bei "Summe" ist noch ein kleiner Verknüpfungsfehler drin. Die unteren beiden "inverter_1_PAC" Werte müssen wie folgt heißen. Da stand vorher consumption & cost drin.

          Muss gegen delivered & earnings ausgetauscht werden. Betrifft nur den Tabellenteil mit der Jahressumme.

          a6033377-1393-4ca3-a806-c5dad2659a3d-image.png

          EDIT: Ich mache heute nix mehr - noch ein Fehler in der PAC Zeile - so muss es richtig heißen.

          HTML+=" <td align=right bgcolor=#DDDDDD><i><b>" + Math.round(getState("sourceanalytix.0.fronius__0__inverter__1__PAC.currentYear.delivered.05_previousYear").val * 100) / 100 + " kwh</i></b></td>";
          HTML+=" <td align=right bgcolor=#DDDDDD><i><b>" + Math.round(getState("sourceanalytix.0.fronius__0__inverter__1__PAC.currentYear.earnings.05_previousYear").val * 1000) / 1000 + " €</i></b></td>";
          

          Ach meno - war noch ein Fehler drin - habe oben die Datei nochmal ausgetauscht mit allen behobenen Fehlern.

          M Offline
          M Offline
          MartyBr
          schrieb am zuletzt editiert von
          #63

          @jb_sullivan

          Danke für den Hinweis. :+1:

          Gruß
          Martin


          Intel NUCs mit Proxmox / Iobroker als VM unter Debian
          Raspeberry mit USB Leseköpfen für Smartmeter
          Homematic und Homematic IP

          1 Antwort Letzte Antwort
          0
          • NegaleinN Negalein

            @Strobelix

            mir werden die DB unter "Savings" nicht befüllt.

            Photovoltaik Max.png
            objects - ioBroker.png

            S Offline
            S Offline
            Strobelix
            schrieb am zuletzt editiert von
            #64

            @negalein magst du mal das Blockly laufen lassen und das Ergebnis anschauen?
            Das ist das direkte Ergebnis der Abfrage und wäre gespannt, ob da auch keine Werte für die Savings drinstehen.

            Result Solarweb.txt

            Raspberrymatic, Homematic & Homematic IP Aktoren, ioBroker auf NUC i3, Nuki, Harmony Hub, Digitalstrom, Diverse Sonoff (Tasmota) und Shellies

            NegaleinN 1 Antwort Letzte Antwort
            0
            • S Strobelix

              @negalein magst du mal das Blockly laufen lassen und das Ergebnis anschauen?
              Das ist das direkte Ergebnis der Abfrage und wäre gespannt, ob da auch keine Werte für die Savings drinstehen.

              Result Solarweb.txt

              NegaleinN Offline
              NegaleinN Offline
              Negalein
              Global Moderator
              schrieb am zuletzt editiert von
              #65

              @strobelix sagte in FRONIUS Adapter Entwicklung eingestellt?:

              und das Ergebnis anschauen

              javascript.0 (383) script.js.Fronius.Solarweb_Test: {'pvSystemId':'xxxxxxxxxxxxxxxxxxxxx','data':[{'logDateTime':'total','channels':[{'channelName':'EnergyOutput','channelType':'Energy','unit':'Wh','value':60387891.0127},{'channelName':'EnergyDirectConsumption','channelType':'Energy','unit':'Wh','value':0},{'channelName':'EnergyProductionTotal','channelType':'Energy','unit':'Wh','value':60387891.0127},{'channelName':'EnergySelfConsumptionTotal','channelType':'Energy','unit':'Wh','value':0},{'channelName':'EnergyConsumptionTotal','channelType':'Energy','unit':'Wh','value':0},{'channelName':'SavingsCO2','channelType':'CO2 savings','unit':'kg','value':32005.56},{'channelName':'SavingsTrees','channelType':'CO2 savings','unit':'tree','value':820.66},{'channelName':'SavingsTravelCar','channelType':'CO2 savings','unit':'km','value':128433.23},{'channelName':'SavingsTravelPlane','channelType':'CO2 savings','unit':'mile','value':496.64},{'channelName':'Profits','channelType':'Currency','unit':'EUR','value':7246.5494},{'channelName':'Earnings','channelType':'Currency','unit':'EUR','value':7246.5494},{'channelName':'Savings','channelType':'Currency','unit':'EUR','value':0}]}],'links':{'first':'https://swqapi.solarweb.com/pvsystems/xxxxxxxxxxxxxxxxxxxxx/aggrdata?period=total&offset=0&limit=50','prev':null,'self':'https://swqapi.solarweb.com/pvsystems/xxxxxxxxxxxxxxxxxxxxx/aggrdata?period=total&offset=0&limit=50','next':null,'last':'https://swqapi.solarweb.com/pvsystems/xxxxxxxxxxxxxxxxxxxxx/aggrdata?period=total&offset=0&limit=50','totalItemsCount':1}}
              

              ° Node.js: 20.17.0 NPM: 10.8.2
              ° Proxmox, Ubuntu 22.04.3 LTS
              ° Fixer ---> iob fix

              S 2 Antworten Letzte Antwort
              0
              • NegaleinN Negalein

                @strobelix sagte in FRONIUS Adapter Entwicklung eingestellt?:

                und das Ergebnis anschauen

                javascript.0 (383) script.js.Fronius.Solarweb_Test: {'pvSystemId':'xxxxxxxxxxxxxxxxxxxxx','data':[{'logDateTime':'total','channels':[{'channelName':'EnergyOutput','channelType':'Energy','unit':'Wh','value':60387891.0127},{'channelName':'EnergyDirectConsumption','channelType':'Energy','unit':'Wh','value':0},{'channelName':'EnergyProductionTotal','channelType':'Energy','unit':'Wh','value':60387891.0127},{'channelName':'EnergySelfConsumptionTotal','channelType':'Energy','unit':'Wh','value':0},{'channelName':'EnergyConsumptionTotal','channelType':'Energy','unit':'Wh','value':0},{'channelName':'SavingsCO2','channelType':'CO2 savings','unit':'kg','value':32005.56},{'channelName':'SavingsTrees','channelType':'CO2 savings','unit':'tree','value':820.66},{'channelName':'SavingsTravelCar','channelType':'CO2 savings','unit':'km','value':128433.23},{'channelName':'SavingsTravelPlane','channelType':'CO2 savings','unit':'mile','value':496.64},{'channelName':'Profits','channelType':'Currency','unit':'EUR','value':7246.5494},{'channelName':'Earnings','channelType':'Currency','unit':'EUR','value':7246.5494},{'channelName':'Savings','channelType':'Currency','unit':'EUR','value':0}]}],'links':{'first':'https://swqapi.solarweb.com/pvsystems/xxxxxxxxxxxxxxxxxxxxx/aggrdata?period=total&offset=0&limit=50','prev':null,'self':'https://swqapi.solarweb.com/pvsystems/xxxxxxxxxxxxxxxxxxxxx/aggrdata?period=total&offset=0&limit=50','next':null,'last':'https://swqapi.solarweb.com/pvsystems/xxxxxxxxxxxxxxxxxxxxx/aggrdata?period=total&offset=0&limit=50','totalItemsCount':1}}
                
                S Offline
                S Offline
                Strobelix
                schrieb am zuletzt editiert von
                #66

                @negalein ok da sind ja alle Werte da. Fehlen dir die Savingswerte in allen Abfragen oder nur in Total?

                Raspberrymatic, Homematic & Homematic IP Aktoren, ioBroker auf NUC i3, Nuki, Harmony Hub, Digitalstrom, Diverse Sonoff (Tasmota) und Shellies

                NegaleinN 1 Antwort Letzte Antwort
                0
                • S Strobelix

                  @negalein ok da sind ja alle Werte da. Fehlen dir die Savingswerte in allen Abfragen oder nur in Total?

                  NegaleinN Offline
                  NegaleinN Offline
                  Negalein
                  Global Moderator
                  schrieb am zuletzt editiert von
                  #67

                  @strobelix sagte in FRONIUS Adapter Entwicklung eingestellt?:

                  Fehlen dir die Savingswerte in allen Abfragen oder nur in Total?

                  in allen

                  ° Node.js: 20.17.0 NPM: 10.8.2
                  ° Proxmox, Ubuntu 22.04.3 LTS
                  ° Fixer ---> iob fix

                  1 Antwort Letzte Antwort
                  0
                  • S Strobelix

                    Here we go.

                    Anbei das Blockly für die Abfrage der Solarweb Daten.
                    Wie gesagt, es werden Werte des aktuellen Tag / Monat / Jahr sowie Total abgefragt.
                    Ich hoffe das die Batteriewerte bei Nicht-Hybrid-WR ein 0 liefern, sonst gibt es Probleme bei der Zuordnung der Werte.

                    Ihr müsst nur eure Solarweb Daten und die System-ID eingeben.
                    Die PV System-ID findet ihr im der Browseradresszeile, wenn ihr Solarweb mit dem PC öffnet.

                    Bildschirmfoto 2021-12-27 um 15.31.38.png

                    Hier das Blockly - einfach kopieren und in ein leeres Blockly-JS einfügen und die 3 Werte eintragen.
                    Nach dem Start wird ein Token generiert und alle 30min erneuert.
                    Tagesdaten werden im 5 min Takt abgefragt und um 0:00 zurückgesetzt bis neue Werte ab ca 2:00 kommen.
                    Monatsdaten werden stündlich geholt, Tages und Totaldaten um 0:05 Uhr.
                    Das Abfrageintervall solltet ihr auch nicht groß verändern, sonst fliegt das bei Fronius wohl recht bald auf, da man eigentlich API-Paktete kaufen soll. Hier verwenden wir aber den API-Key aus der App.

                    Die Werte findet ihr unter Userdata Solarweb

                    Viel Spaß beim Testen!

                    <xml xmlns="https://developers.google.com/blockly/xml">
                      <variables>
                        <variable id="|E4tM?b0_)MRsOFi{wkM">Mail</variable>
                        <variable id="{k.cWFPG!5`U(5hkG1PL">Pass</variable>
                        <variable id="yMTLb2yEf[B/b7g~MW%w">Solarweb PV ID</variable>
                        <variable type="timeout" id="timeout">timeout</variable>
                      </variables>
                      <block type="variables_set" id="y9%S(TQa=L_j{}TPD~lW" x="-38" y="-488">
                        <field name="VAR" id="|E4tM?b0_)MRsOFi{wkM">Mail</field>
                        <value name="VALUE">
                          <block type="text" id="1q;T1^B6YEm2fQjLbT(Z">
                            <field name="TEXT">Solarweb mail</field>
                          </block>
                        </value>
                        <next>
                          <block type="variables_set" id="avgU2}f}]BGkZCN68viR">
                            <field name="VAR" id="{k.cWFPG!5`U(5hkG1PL">Pass</field>
                            <value name="VALUE">
                              <block type="text" id="izwYU~U6}W5B3PQ,bw.j">
                                <field name="TEXT">Solarweb password</field>
                              </block>
                            </value>
                            <next>
                              <block type="variables_set" id="olYna.9IIpz6Agx?;D-J">
                                <field name="VAR" id="yMTLb2yEf[B/b7g~MW%w">Solarweb PV ID</field>
                                <value name="VALUE">
                                  <block type="text" id="^N~`8nj!FweMs{zSShq-">
                                    <field name="TEXT">PV ID</field>
                                  </block>
                                </value>
                                <next>
                                  <block type="procedures_callnoreturn" id="N2gn!P$@%EJ*q{,dlYcu">
                                    <mutation name="Main"></mutation>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                      <block type="procedures_defcustomnoreturn" id="7L8`}amFwFO0ox1,c||o" x="-38" y="-363">
                        <mutation statements="false"></mutation>
                        <field name="NAME">Login</field>
                        <field name="SCRIPT">dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKdmFyIHJlcXVlc3QgPSByZXF1aXJlKCJyZXF1ZXN0Iik7CnZhciBkYXRhID0gSlNPTi5zdHJpbmdpZnkoe3VzZXJJZDogTWFpbCwgcGFzc3dvcmQ6IFBhc3N9KTsKIAogdmFyIG9wdGlvbnMgPSB7CiAgdXJsOiAnaHR0cHM6Ly9zd3FhcGkuc29sYXJ3ZWIuY29tL2lhbS9qd3QnLAogIGhlYWRlcnM6IHsKICAnQWNjZXNzS2V5SWQnOidGS0lBRkZCM0QwOTg2Q0YyNENCREJGNTgwNzU1QTlGMzg3NjknLAogICdBY2Nlc3NLZXlWYWx1ZSc6ICdhYjU1NjNmYi1mZjBhLTQzZDAtYTUyNi1jMDdhNGQwYjAzYWEnLAogICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicKICB9LAogIGJvZHk6IGRhdGEsCiAgCn07CiAKZnVuY3Rpb24gY2FsbGJhY2soZXJyb3IsIHJlc3BvbnNlLCBib2R5KSB7CnZhciByZXN1bHQgPSBKU09OLnBhcnNlKGJvZHkpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRva2VuIi8qVG9rZW4qLywgKCcnICsgcmVzdWx0Lmp3dFRva2VuKSwgdHJ1ZSkKfQogIApyZXF1ZXN0LnBvc3Qob3B0aW9ucywgY2FsbGJhY2spOw==</field>
                        <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                      </block>
                      <block type="procedures_defcustomnoreturn" id="bAMwR5:%H]d@qKJ(SK}I" x="-38" y="-338">
                        <mutation statements="false"></mutation>
                        <field name="NAME">Datenpunkte erstellen</field>
                        <field name="SCRIPT">Y3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub2tlbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJUb2tlbiIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG9rZW4gZXJzdGVsbGVuIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIk5ldWVuIFRva2VuIGVyc3RlbGxlbiIsInJvbGUiOiAiYnV0dG9uIiwidHlwZSI6ICJib29sZWFuIiwicmVhZCI6IHRydWUsIndyaXRlIjogdHJ1ZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjpmYWxzZX0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwoKCmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lCYXR0Q2hhcmdlIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkluIGRpZSBCYXR0ZXJpZSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5FbmVyZ3kuRW5lcmd5QmF0dENoYXJnZUdyaWQiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiQmF0dGVyaWUgRXJoYWx0dW5nc2xhZHVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5FbmVyZ3kuRW5lcmd5QmF0dERpc2NoYXJnZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJBdXMgZGVyIEJhdHRlcmllIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lCYXR0RGlzY2hhcmdlR3JpZCIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJWb24gZGVyIEJhdHRlcmllIGlucyBOZXR6Iiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lDb25zdW1wdGlvblRvdGFsIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkdlc2FtdHZlcmJyYXVjaCIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5FbmVyZ3kuRW5lcmd5RGlyZWN0Q29uc3VtcHRpb24iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRGlyZWt0dmVyYnJhdWNoIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lGZWVkSW4iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiTmV0emVpbnNwZWlzdW5nIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lPdXRwdXQiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiUHJvZHVrdGlvbiBvaG5lIFNtYXJ0bWV0ZXIiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5EYXkuRW5lcmd5LkVuZXJneVByb2R1Y3Rpb25Ub3RhbCIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJQcm9kdWt0aW9uIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lQdXJjaGFzZWQiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiTmV0emJlenVnIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lTZWxmQ29uc3VtcHRpb24iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWlnZW5lcnpldWd1bmciLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5EYXkuRW5lcmd5LkVuZXJneVNlbGZDb25zdW1wdGlvblRvdGFsIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkVpZ2VudmVyYnJhdWNoIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5PaG1waWxvdEVuZXJneSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJadSBPaG1waWxvdCIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5TYXZpbmcuRWFybmluZ3MiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRXJ0cmFnIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJFVVIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LlNhdmluZy5Qcm9maXRzIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkdld2lubiIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAiRVVSIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5TYXZpbmcuU2F2aW5ncyIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJFaW5zcGFydW5nIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJFVVIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LlNhdmluZy5TYXZpbmdzQ08yIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkNPMiBFaW5zcGFydW5nIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrZyJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5EYXkuU2F2aW5nLlNhdmluZ3NUcmF2ZWxDYXIiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWluc3BhcnVuZyBQS1cga20iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImttIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5TYXZpbmcuU2F2aW5nc1RyYXZlbFBsYW5lIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkVpbnNwYXJ1bmcgRmx1ZyBrbSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia20ifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LlNhdmluZy5TYXZpbmdzVHJlZXMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiR2VzY2jDvHR6dGUgQsOkdW1lIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJCw6R1bWUifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CgoKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5QmF0dENoYXJnZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJJbiBkaWUgQmF0dGVyaWUiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5QmF0dENoYXJnZUdyaWQiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiQmF0dGVyaWUgRXJoYWx0dW5nc2xhZHVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLkVuZXJneS5FbmVyZ3lCYXR0RGlzY2hhcmdlIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkF1cyBkZXIgQmF0dGVyaWUiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5QmF0dERpc2NoYXJnZUdyaWQiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiVm9uIGRlciBCYXR0ZXJpZSBpbnMgTmV0eiIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLkVuZXJneS5FbmVyZ3lDb25zdW1wdGlvblRvdGFsIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkdlc2FtdHZlcmJyYXVjaCIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLkVuZXJneS5FbmVyZ3lEaXJlY3RDb25zdW1wdGlvbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJEaXJla3R2ZXJicmF1Y2giLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5RmVlZEluIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIk5ldHplaW5zcGVpc3VuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLkVuZXJneS5FbmVyZ3lPdXRwdXQiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiUHJvZHVrdGlvbiBvaG5lIFNtYXJ0bWV0ZXIiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5UHJvZHVjdGlvblRvdGFsIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlByb2R1a3Rpb24iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5UHVyY2hhc2VkIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIk5ldHpiZXp1ZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLkVuZXJneS5FbmVyZ3lTZWxmQ29uc3VtcHRpb24iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWlnZW5lcnpldWd1bmciLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5U2VsZkNvbnN1bXB0aW9uVG90YWwiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWlnZW52ZXJicmF1Y2giLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuT2htcGlsb3RFbmVyZ3kiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiWnUgT2htcGlsb3QiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5TYXZpbmcuRWFybmluZ3MiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRXJ0cmFnIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJFVVIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuTW9udGguU2F2aW5nLlByb2ZpdHMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiR2V3aW5uIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJFVVIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuTW9udGguU2F2aW5nLlNhdmluZ3MiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWluc3BhcnVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAiRVVSIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLlNhdmluZy5TYXZpbmdzQ08yIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkNPMiBFaW5zcGFydW5nIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrZyJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5TYXZpbmcuU2F2aW5nc1RyYXZlbENhciIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJFaW5zcGFydW5nIFBLVyBrbSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia20ifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuTW9udGguU2F2aW5nLlNhdmluZ3NUcmF2ZWxQbGFuZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJFaW5zcGFydW5nIEZsdWcga20iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImttIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLlNhdmluZy5TYXZpbmdzVHJlZXMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiR2VzY2jDvHR6dGUgQsOkdW1lIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJCw6R1bWUifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgCiAgCiAgCmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuRW5lcmd5QmF0dENoYXJnZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJJbiBkaWUgQmF0dGVyaWUiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5ZZWFyLkVuZXJneS5FbmVyZ3lCYXR0Q2hhcmdlR3JpZCIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJCYXR0ZXJpZSBFcmhhbHR1bmdzbGFkdW5nIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuRW5lcmd5QmF0dERpc2NoYXJnZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJBdXMgZGVyIEJhdHRlcmllIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuRW5lcmd5QmF0dERpc2NoYXJnZUdyaWQiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiVm9uIGRlciBCYXR0ZXJpZSBpbnMgTmV0eiIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuRW5lcmd5LkVuZXJneUNvbnN1bXB0aW9uVG90YWwiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiR2VzYW10dmVyYnJhdWNoIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuRW5lcmd5RGlyZWN0Q29uc3VtcHRpb24iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRGlyZWt0dmVyYnJhdWNoIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuRW5lcmd5RmVlZEluIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIk5ldHplaW5zcGVpc3VuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuRW5lcmd5LkVuZXJneU91dHB1dCIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJQcm9kdWt0aW9uIG9obmUgU21hcnRtZXRlciIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuRW5lcmd5LkVuZXJneVByb2R1Y3Rpb25Ub3RhbCIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJQcm9kdWt0aW9uIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuRW5lcmd5UHVyY2hhc2VkIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIk5ldHpiZXp1ZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuRW5lcmd5LkVuZXJneVNlbGZDb25zdW1wdGlvbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJFaWdlbmVyemV1Z3VuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuRW5lcmd5LkVuZXJneVNlbGZDb25zdW1wdGlvblRvdGFsIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkVpZ2VudmVyYnJhdWNoIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuT2htcGlsb3RFbmVyZ3kiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiWnUgT2htcGlsb3QiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5ZZWFyLlNhdmluZy5FYXJuaW5ncyIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJFcnRyYWciLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogIkVVUiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5ZZWFyLlNhdmluZy5Qcm9maXRzIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkdld2lubiIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAiRVVSIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuU2F2aW5nLlNhdmluZ3MiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWluc3BhcnVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAiRVVSIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuU2F2aW5nLlNhdmluZ3NDTzIiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiQ08yIEVpbnNwYXJ1bmciLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtnIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuU2F2aW5nLlNhdmluZ3NUcmF2ZWxDYXIiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWluc3BhcnVuZyBQS1cga20iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImttIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuU2F2aW5nLlNhdmluZ3NUcmF2ZWxQbGFuZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJFaW5zcGFydW5nIEZsdWcga20iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImttIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuU2F2aW5nLlNhdmluZ3NUcmVlcyIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJHZXNjaMO8dHp0ZSBCw6R1bWUiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogIkLDpHVtZSJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICAKICAKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuRW5lcmd5QmF0dENoYXJnZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJJbiBkaWUgQmF0dGVyaWUiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuRW5lcmd5QmF0dENoYXJnZUdyaWQiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiQmF0dGVyaWUgRXJoYWx0dW5nc2xhZHVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRvdGFsLkVuZXJneS5FbmVyZ3lCYXR0RGlzY2hhcmdlIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkF1cyBkZXIgQmF0dGVyaWUiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuRW5lcmd5QmF0dERpc2NoYXJnZUdyaWQiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiVm9uIGRlciBCYXR0ZXJpZSBpbnMgTmV0eiIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRvdGFsLkVuZXJneS5FbmVyZ3lDb25zdW1wdGlvblRvdGFsIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkdlc2FtdHZlcmJyYXVjaCIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRvdGFsLkVuZXJneS5FbmVyZ3lEaXJlY3RDb25zdW1wdGlvbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJEaXJla3R2ZXJicmF1Y2giLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuRW5lcmd5RmVlZEluIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIk5ldHplaW5zcGVpc3VuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRvdGFsLkVuZXJneS5FbmVyZ3lPdXRwdXQiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiUHJvZHVrdGlvbiBvaG5lIFNtYXJ0bWV0ZXIiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuRW5lcmd5UHJvZHVjdGlvblRvdGFsIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlByb2R1a3Rpb24iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuRW5lcmd5UHVyY2hhc2VkIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIk5ldHpiZXp1ZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRvdGFsLkVuZXJneS5FbmVyZ3lTZWxmQ29uc3VtcHRpb24iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWlnZW5lcnpldWd1bmciLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuRW5lcmd5U2VsZkNvbnN1bXB0aW9uVG90YWwiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWlnZW52ZXJicmF1Y2giLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuT2htcGlsb3RFbmVyZ3kiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiWnUgT2htcGlsb3QiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5TYXZpbmcuRWFybmluZ3MiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRXJ0cmFnIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJFVVIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuU2F2aW5nLlByb2ZpdHMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiR2V3aW5uIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJFVVIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuU2F2aW5nLlNhdmluZ3MiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWluc3BhcnVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAiRVVSIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRvdGFsLlNhdmluZy5TYXZpbmdzQ08yIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkNPMiBFaW5zcGFydW5nIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrZyJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5TYXZpbmcuU2F2aW5nc1RyYXZlbENhciIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJFaW5zcGFydW5nIFBLVyBrbSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia20ifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuU2F2aW5nLlNhdmluZ3NUcmF2ZWxQbGFuZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJFaW5zcGFydW5nIEZsdWcga20iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImttIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRvdGFsLlNhdmluZy5TYXZpbmdzVHJlZXMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiR2VzY2jDvHR6dGUgQsOkdW1lIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJCw6R1bWUifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7</field>
                        <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                      </block>
                      <block type="procedures_defcustomnoreturn" id="C|Hc:`b-c/c[Tgs1y:IM" x="-37" y="-313">
                        <mutation statements="false"></mutation>
                        <field name="NAME">Tagesdaten</field>
                        <field name="SCRIPT">dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKdmFyIHJlcXVlc3QgPSByZXF1aXJlKCJyZXF1ZXN0Iik7CgogCiB2YXIgb3B0aW9ucyA9IHsKICB1cmw6ICdodHRwczovL3N3cWFwaS5zb2xhcndlYi5jb20vcHZzeXN0ZW1zLycrU29sYXJ3ZWJfUFZfSUQrJy9hZ2dyZGF0YT9mcm9tPScrKGZvcm1hdERhdGUobmV3IERhdGUoKSwgIkpKSkotTU0tVFQiKSkrJyZkdXJhdGlvbj0xJywKICBoZWFkZXJzOiB7CiAgJ0FjY2Vzc0tleUlkJzonRktJQUZGQjNEMDk4NkNGMjRDQkRCRjU4MDc1NUE5RjM4NzY5JywKICAnQWNjZXNzS2V5VmFsdWUnOiAnYWI1NTYzZmItZmYwYS00M2QwLWE1MjYtYzA3YTRkMGIwM2FhJywKICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nCiAgfSwKICAnYXV0aCc6IHsKICAgICdiZWFyZXInOiAoZ2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub2tlbiIpLnZhbCkKICB9Cn07CgpmdW5jdGlvbiBjYWxsYmFjayhlcnJvciwgcmVzcG9uc2UsIGJvZHkpIHsKdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UoYm9keSk7CmlmIChyZXNwb25zZS5zdGF0dXNDb2RlID09MjAwKSB7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lCYXR0RGlzY2hhcmdlIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1swXS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5FbmVyZ3kuRW5lcmd5QmF0dERpc2NoYXJnZUdyaWQiLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzFdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lCYXR0Q2hhcmdlIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1syXS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5FbmVyZ3kuRW5lcmd5U2VsZkNvbnN1bXB0aW9uIiwgTWF0aC5yb3VuZCgocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMF0udmFsdWUgKyByZXN1bHQuZGF0YVswXS5jaGFubmVsc1szXS52YWx1ZSkgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5EYXkuRW5lcmd5LkVuZXJneUZlZWRJbiIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbNF0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5EYXkuRW5lcmd5Lk9obXBpbG90RW5lcmd5IiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1s1XS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5FbmVyZ3kuRW5lcmd5QmF0dENoYXJnZUdyaWQiLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzZdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lQdXJjaGFzZWQiLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzddLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lPdXRwdXQiLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzhdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lEaXJlY3RDb25zdW1wdGlvbiIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbOV0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5EYXkuRW5lcmd5LkVuZXJneVByb2R1Y3Rpb25Ub3RhbCIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTBdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lTZWxmQ29uc3VtcHRpb25Ub3RhbCIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTFdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lDb25zdW1wdGlvblRvdGFsIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxMl0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5EYXkuU2F2aW5nLlNhdmluZ3NDTzIiLCByZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxM10udmFsdWUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5TYXZpbmcuU2F2aW5nc1RyZWVzIiwgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTRdLnZhbHVlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5EYXkuU2F2aW5nLlNhdmluZ3NUcmF2ZWxDYXIiLCByZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxNV0udmFsdWUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5TYXZpbmcuU2F2aW5nc1RyYXZlbFBsYW5lIiwgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTZdLnZhbHVlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5EYXkuU2F2aW5nLlByb2ZpdHMiLCByZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxN10udmFsdWUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5TYXZpbmcuRWFybmluZ3MiLCByZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxOF0udmFsdWUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5TYXZpbmcuU2F2aW5ncyIsIHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzE5XS52YWx1ZSwgdHJ1ZSkKfQplbHNlewogICAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5OZXVlclRva2VuIi8qTmV1ZXJUb2tlbiovLCB0cnVlKTsKfX0KcmVxdWVzdC5nZXQob3B0aW9ucywgY2FsbGJhY2spOw==</field>
                        <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                      </block>
                      <block type="procedures_defcustomnoreturn" id="7/as2:pgrDERe:#9|@v%" x="-37" y="-288">
                        <mutation statements="false"></mutation>
                        <field name="NAME">Monatsdaten</field>
                        <field name="SCRIPT">dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKdmFyIHJlcXVlc3QgPSByZXF1aXJlKCJyZXF1ZXN0Iik7CgogCiB2YXIgb3B0aW9ucyA9IHsKICB1cmw6ICdodHRwczovL3N3cWFwaS5zb2xhcndlYi5jb20vcHZzeXN0ZW1zLycrU29sYXJ3ZWJfUFZfSUQrJy9hZ2dyZGF0YT9mcm9tPScrKGZvcm1hdERhdGUobmV3IERhdGUoKSwgIkpKSkotTU0iKSkrJyZkdXJhdGlvbj0xJywKICBoZWFkZXJzOiB7CiAgJ0FjY2Vzc0tleUlkJzonRktJQUZGQjNEMDk4NkNGMjRDQkRCRjU4MDc1NUE5RjM4NzY5JywKICAnQWNjZXNzS2V5VmFsdWUnOiAnYWI1NTYzZmItZmYwYS00M2QwLWE1MjYtYzA3YTRkMGIwM2FhJywKICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nCiAgfSwKICAnYXV0aCc6IHsKICAgICdiZWFyZXInOiAoZ2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub2tlbiIpLnZhbCkKICB9Cn07CiAKZnVuY3Rpb24gY2FsbGJhY2soZXJyb3IsIHJlc3BvbnNlLCBib2R5KSB7CnZhciByZXN1bHQgPSBKU09OLnBhcnNlKGJvZHkpOwppZiAocmVzcG9uc2Uuc3RhdHVzQ29kZSA9PTIwMCkgewpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLkVuZXJneS5FbmVyZ3lCYXR0RGlzY2hhcmdlIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1swXS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLkVuZXJneS5FbmVyZ3lCYXR0RGlzY2hhcmdlR3JpZCIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMV0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5QmF0dENoYXJnZSIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMl0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5U2VsZkNvbnN1bXB0aW9uIiwgTWF0aC5yb3VuZCgocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMF0udmFsdWUgKyByZXN1bHQuZGF0YVswXS5jaGFubmVsc1szXS52YWx1ZSkgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5RmVlZEluIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1s0XS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLkVuZXJneS5PaG1waWxvdEVuZXJneSIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbNV0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5QmF0dENoYXJnZUdyaWQiLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzZdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuTW9udGguRW5lcmd5LkVuZXJneVB1cmNoYXNlZCIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbN10udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5T3V0cHV0IiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1s4XS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLkVuZXJneS5FbmVyZ3lEaXJlY3RDb25zdW1wdGlvbiIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbOV0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5UHJvZHVjdGlvblRvdGFsIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxMF0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5U2VsZkNvbnN1bXB0aW9uVG90YWwiLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzExXS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLkVuZXJneS5FbmVyZ3lDb25zdW1wdGlvblRvdGFsIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxMl0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5TYXZpbmcuU2F2aW5nc0NPMiIsIHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzEzXS52YWx1ZSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuTW9udGguU2F2aW5nLlNhdmluZ3NUcmVlcyIsIHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzE0XS52YWx1ZSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuTW9udGguU2F2aW5nLlNhdmluZ3NUcmF2ZWxDYXIiLCByZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxNV0udmFsdWUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLlNhdmluZy5TYXZpbmdzVHJhdmVsUGxhbmUiLCByZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxNl0udmFsdWUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLlNhdmluZy5Qcm9maXRzIiwgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTddLnZhbHVlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5TYXZpbmcuRWFybmluZ3MiLCByZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxOF0udmFsdWUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLlNhdmluZy5TYXZpbmdzIiwgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTldLnZhbHVlLCB0cnVlKQp9CmVsc2V7CiAgICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk5ldWVyVG9rZW4iLypOZXVlclRva2VuKi8sIHRydWUpOwp9fQpyZXF1ZXN0LmdldChvcHRpb25zLCBjYWxsYmFjayk7</field>
                        <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                      </block>
                      <block type="procedures_defcustomnoreturn" id="us0y}-Z{2OAoQ-3F+:(S" x="-37" y="-263">
                        <mutation statements="false"></mutation>
                        <field name="NAME">Jahresdaten</field>
                        <field name="SCRIPT">dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKdmFyIHJlcXVlc3QgPSByZXF1aXJlKCJyZXF1ZXN0Iik7CgogCiB2YXIgb3B0aW9ucyA9IHsKICB1cmw6ICdodHRwczovL3N3cWFwaS5zb2xhcndlYi5jb20vcHZzeXN0ZW1zLycrU29sYXJ3ZWJfUFZfSUQrJy9hZ2dyZGF0YT9mcm9tPScrKGZvcm1hdERhdGUobmV3IERhdGUoKSwgIkpKSkoiKSkrJyZkdXJhdGlvbj0xJywKICBoZWFkZXJzOiB7CiAgJ0FjY2Vzc0tleUlkJzonRktJQUZGQjNEMDk4NkNGMjRDQkRCRjU4MDc1NUE5RjM4NzY5JywKICAnQWNjZXNzS2V5VmFsdWUnOiAnYWI1NTYzZmItZmYwYS00M2QwLWE1MjYtYzA3YTRkMGIwM2FhJywKICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nCiAgfSwKICAnYXV0aCc6IHsKICAgICdiZWFyZXInOiAoZ2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub2tlbiIpLnZhbCkKICB9Cn07CgpmdW5jdGlvbiBjYWxsYmFjayhlcnJvciwgcmVzcG9uc2UsIGJvZHkpIHsKdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UoYm9keSk7CmlmIChyZXNwb25zZS5zdGF0dXNDb2RlID09MjAwKSB7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuRW5lcmd5QmF0dERpc2NoYXJnZSIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMF0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5ZZWFyLkVuZXJneS5FbmVyZ3lCYXR0RGlzY2hhcmdlR3JpZCIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMV0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5ZZWFyLkVuZXJneS5FbmVyZ3lCYXR0Q2hhcmdlIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1syXS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuRW5lcmd5LkVuZXJneVNlbGZDb25zdW1wdGlvbiIsIE1hdGgucm91bmQoKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzBdLnZhbHVlICsgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbM10udmFsdWUpIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuRW5lcmd5RmVlZEluIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1s0XS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuRW5lcmd5Lk9obXBpbG90RW5lcmd5IiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1s1XS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuRW5lcmd5LkVuZXJneUJhdHRDaGFyZ2VHcmlkIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1s2XS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuRW5lcmd5LkVuZXJneVB1cmNoYXNlZCIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbN10udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5ZZWFyLkVuZXJneS5FbmVyZ3lPdXRwdXQiLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzhdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuRW5lcmd5RGlyZWN0Q29uc3VtcHRpb24iLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzldLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuRW5lcmd5UHJvZHVjdGlvblRvdGFsIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxMF0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5ZZWFyLkVuZXJneS5FbmVyZ3lTZWxmQ29uc3VtcHRpb25Ub3RhbCIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTFdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuRW5lcmd5Q29uc3VtcHRpb25Ub3RhbCIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTJdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5TYXZpbmcuU2F2aW5nc0NPMiIsIHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzEzXS52YWx1ZSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5TYXZpbmcuU2F2aW5nc1RyZWVzIiwgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTRdLnZhbHVlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5ZZWFyLlNhdmluZy5TYXZpbmdzVHJhdmVsQ2FyIiwgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTVdLnZhbHVlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5ZZWFyLlNhdmluZy5TYXZpbmdzVHJhdmVsUGxhbmUiLCByZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxNl0udmFsdWUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuU2F2aW5nLlByb2ZpdHMiLCByZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxN10udmFsdWUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuU2F2aW5nLkVhcm5pbmdzIiwgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMThdLnZhbHVlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5ZZWFyLlNhdmluZy5TYXZpbmdzIiwgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTldLnZhbHVlLCB0cnVlKQp9CmVsc2V7CiAgICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk5ldWVyVG9rZW4iLypOZXVlclRva2VuKi8sIHRydWUpOwp9fQpyZXF1ZXN0LmdldChvcHRpb25zLCBjYWxsYmFjayk7</field>
                        <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                      </block>
                      <block type="procedures_defcustomnoreturn" id="eY2)6)q$`_|?REmXOi,~" x="-37" y="-237">
                        <mutation statements="false"></mutation>
                        <field name="NAME">Total</field>
                        <field name="SCRIPT">dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKdmFyIHJlcXVlc3QgPSByZXF1aXJlKCJyZXF1ZXN0Iik7CgogCiB2YXIgb3B0aW9ucyA9IHsKICB1cmw6ICdodHRwczovL3N3cWFwaS5zb2xhcndlYi5jb20vcHZzeXN0ZW1zLycrU29sYXJ3ZWJfUFZfSUQrJy9hZ2dyZGF0YT9wZXJpb2Q9dG90YWwnLAogIGhlYWRlcnM6IHsKICAnQWNjZXNzS2V5SWQnOidGS0lBRkZCM0QwOTg2Q0YyNENCREJGNTgwNzU1QTlGMzg3NjknLAogICdBY2Nlc3NLZXlWYWx1ZSc6ICdhYjU1NjNmYi1mZjBhLTQzZDAtYTUyNi1jMDdhNGQwYjAzYWEnLAogICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicKICB9LAogICdhdXRoJzogewogICAgJ2JlYXJlcic6IChnZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRva2VuIikudmFsKQogIH0KfTsKCmZ1bmN0aW9uIGNhbGxiYWNrKGVycm9yLCByZXNwb25zZSwgYm9keSkgewp2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShib2R5KTsKaWYgKHJlc3BvbnNlLnN0YXR1c0NvZGUgPT0yMDApIHsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuRW5lcmd5QmF0dERpc2NoYXJnZSIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMF0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuRW5lcmd5QmF0dERpc2NoYXJnZUdyaWQiLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzFdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuRW5lcmd5LkVuZXJneUJhdHRDaGFyZ2UiLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzJdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuRW5lcmd5LkVuZXJneVNlbGZDb25zdW1wdGlvbiIsIE1hdGgucm91bmQoKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzBdLnZhbHVlICsgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbM10udmFsdWUpIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuRW5lcmd5LkVuZXJneUZlZWRJbiIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbNF0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuT2htcGlsb3RFbmVyZ3kiLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzVdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuRW5lcmd5LkVuZXJneUJhdHRDaGFyZ2VHcmlkIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1s2XS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRvdGFsLkVuZXJneS5FbmVyZ3lQdXJjaGFzZWQiLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzddLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuRW5lcmd5LkVuZXJneU91dHB1dCIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbOF0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuRW5lcmd5RGlyZWN0Q29uc3VtcHRpb24iLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzldLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuRW5lcmd5LkVuZXJneVByb2R1Y3Rpb25Ub3RhbCIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTBdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuRW5lcmd5LkVuZXJneVNlbGZDb25zdW1wdGlvblRvdGFsIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxMV0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuRW5lcmd5Q29uc3VtcHRpb25Ub3RhbCIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTJdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuU2F2aW5nLlNhdmluZ3NDTzIiLCByZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxM10udmFsdWUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRvdGFsLlNhdmluZy5TYXZpbmdzVHJlZXMiLCByZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxNF0udmFsdWUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRvdGFsLlNhdmluZy5TYXZpbmdzVHJhdmVsQ2FyIiwgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTVdLnZhbHVlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5TYXZpbmcuU2F2aW5nc1RyYXZlbFBsYW5lIiwgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTZdLnZhbHVlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5TYXZpbmcuUHJvZml0cyIsIHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzE3XS52YWx1ZSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuU2F2aW5nLkVhcm5pbmdzIiwgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMThdLnZhbHVlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5TYXZpbmcuU2F2aW5ncyIsIHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzE5XS52YWx1ZSwgdHJ1ZSkKfQplbHNlewogICAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5OZXVlclRva2VuIi8qTmV1ZXJUb2tlbiovLCB0cnVlKTsKfX0KcmVxdWVzdC5nZXQob3B0aW9ucywgY2FsbGJhY2spOw==</field>
                        <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                      </block>
                      <block type="procedures_defnoreturn" id="qGP7EAzkx$~je*F._z.`" collapsed="true" x="-37" y="-213">
                        <field name="NAME">Tageswerte zurücksetzen</field>
                        <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                        <statement name="STACK">
                          <block type="update" id="z!(=5*e`~|#}eq{Jj*nq">
                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                            <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergyBattCharge</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE">
                              <block type="math_number" id="-515jdOC`^g:YN3UyO3A">
                                <field name="NUM">0</field>
                              </block>
                            </value>
                            <next>
                              <block type="update" id="l5q6u#~WV%qrTcW-w_MR">
                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergyBattChargeGrid</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="math_number" id="+6;A$yjh-(][6%BV@1C?">
                                    <field name="NUM">0</field>
                                  </block>
                                </value>
                                <next>
                                  <block type="update" id="GugUxJ}/sO$67T:2aoq8">
                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                    <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergyBattDischarge</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="math_number" id="PA[-3z5aaNiB3+r)99fu">
                                        <field name="NUM">0</field>
                                      </block>
                                    </value>
                                    <next>
                                      <block type="update" id="#1)jyQ(z`:h73OFrQKJ~">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                        <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergyBattDischargeGrid</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="math_number" id="Er+O3JC4:R^|I@japS2k">
                                            <field name="NUM">0</field>
                                          </block>
                                        </value>
                                        <next>
                                          <block type="update" id="rrk)_7B_I4KH#e1N$Vye">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                            <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergyConsumptionTotal</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="math_number" id="@?JR3L2Jx]6Y38#MQ(NT">
                                                <field name="NUM">0</field>
                                              </block>
                                            </value>
                                            <next>
                                              <block type="update" id="k-d|oPXl!]U[{c!GGsKm">
                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergyDirectConsumption</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="math_number" id="[a6.OaKC/$cposMz%]5H">
                                                    <field name="NUM">0</field>
                                                  </block>
                                                </value>
                                                <next>
                                                  <block type="update" id="zwYD?_ccY@mbzzLi-64V">
                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                    <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergyFeedIn</field>
                                                    <field name="WITH_DELAY">FALSE</field>
                                                    <value name="VALUE">
                                                      <block type="math_number" id="q5#hX_=st(=5cCSz)c;U">
                                                        <field name="NUM">0</field>
                                                      </block>
                                                    </value>
                                                    <next>
                                                      <block type="update" id="QIzfD0{1sKG[.t/3re0j">
                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                        <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergyOutput</field>
                                                        <field name="WITH_DELAY">FALSE</field>
                                                        <value name="VALUE">
                                                          <block type="math_number" id="QW8`kmhJ;ywXV_%5ai{~">
                                                            <field name="NUM">0</field>
                                                          </block>
                                                        </value>
                                                        <next>
                                                          <block type="update" id="QcyOhxKsW=;{4CmHyq9e">
                                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                            <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergyProductionTotal</field>
                                                            <field name="WITH_DELAY">FALSE</field>
                                                            <value name="VALUE">
                                                              <block type="math_number" id="H57;WpDH:22$Ecpv.!.J">
                                                                <field name="NUM">0</field>
                                                              </block>
                                                            </value>
                                                            <next>
                                                              <block type="update" id="T.#{0ivycT2{]UdyTkP[">
                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergyPurchased</field>
                                                                <field name="WITH_DELAY">FALSE</field>
                                                                <value name="VALUE">
                                                                  <block type="math_number" id="tV[kN([8HR]Q7!bk5.5r">
                                                                    <field name="NUM">0</field>
                                                                  </block>
                                                                </value>
                                                                <next>
                                                                  <block type="update" id="~joJ{@iEw4FL/nJ/0`bK">
                                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                    <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergySelfConsumption</field>
                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                    <value name="VALUE">
                                                                      <block type="math_number" id="}%leB=mCd.BB~+FKC;@B">
                                                                        <field name="NUM">0</field>
                                                                      </block>
                                                                    </value>
                                                                    <next>
                                                                      <block type="update" id="3,t$pNCr_Y[-|DGfCm:[">
                                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                        <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergySelfConsumptionTotal</field>
                                                                        <field name="WITH_DELAY">FALSE</field>
                                                                        <value name="VALUE">
                                                                          <block type="math_number" id="bj1.gS%qQGa;cY=JDA]x">
                                                                            <field name="NUM">0</field>
                                                                          </block>
                                                                        </value>
                                                                        <next>
                                                                          <block type="update" id="*CvDL(=y~7v..ySvnS%g">
                                                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                            <field name="OID">0_userdata.0.Solarweb.Day.Energy.OhmpilotEnergy</field>
                                                                            <field name="WITH_DELAY">FALSE</field>
                                                                            <value name="VALUE">
                                                                              <block type="math_number" id="g2dEb[scw.~u=[xtbIi^">
                                                                                <field name="NUM">0</field>
                                                                              </block>
                                                                            </value>
                                                                            <next>
                                                                              <block type="update" id="upL*eAnOJRC^TTA$=-9d">
                                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                <field name="OID">0_userdata.0.Solarweb.Day.Saving.Earnings</field>
                                                                                <field name="WITH_DELAY">FALSE</field>
                                                                                <value name="VALUE">
                                                                                  <block type="math_number" id="w]mT;5@Asz{9+p?`m9b?">
                                                                                    <field name="NUM">0</field>
                                                                                  </block>
                                                                                </value>
                                                                                <next>
                                                                                  <block type="update" id="[d0}oLm)9yXEie@dTQUQ">
                                                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                    <field name="OID">0_userdata.0.Solarweb.Day.Saving.Profits</field>
                                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                                    <value name="VALUE">
                                                                                      <block type="math_number" id="U8e%mpj@}Q*uOLAuBKf,">
                                                                                        <field name="NUM">0</field>
                                                                                      </block>
                                                                                    </value>
                                                                                    <next>
                                                                                      <block type="update" id="!L]x:#UP.kv~[V#:_XQy">
                                                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                        <field name="OID">0_userdata.0.Solarweb.Day.Saving.Savings</field>
                                                                                        <field name="WITH_DELAY">FALSE</field>
                                                                                        <value name="VALUE">
                                                                                          <block type="math_number" id="4WG_S8hnq(?]ZBXP?k0q">
                                                                                            <field name="NUM">0</field>
                                                                                          </block>
                                                                                        </value>
                                                                                        <next>
                                                                                          <block type="update" id="%(mQP|(PigkeAQYB/)1l">
                                                                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                            <field name="OID">0_userdata.0.Solarweb.Day.Saving.SavingsCO2</field>
                                                                                            <field name="WITH_DELAY">FALSE</field>
                                                                                            <value name="VALUE">
                                                                                              <block type="math_number" id="p?k$t2k?ZkaYh~+IXt/{">
                                                                                                <field name="NUM">0</field>
                                                                                              </block>
                                                                                            </value>
                                                                                            <next>
                                                                                              <block type="update" id="|_%fJ*8{E$H{RxaK=P__">
                                                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                <field name="OID">0_userdata.0.Solarweb.Day.Saving.SavingsTravelCar</field>
                                                                                                <field name="WITH_DELAY">FALSE</field>
                                                                                                <value name="VALUE">
                                                                                                  <block type="math_number" id=":MPZ~#T0B:p-`[I7CE$j">
                                                                                                    <field name="NUM">0</field>
                                                                                                  </block>
                                                                                                </value>
                                                                                                <next>
                                                                                                  <block type="update" id="ePh*#,Ykee4]u1M1-6_c">
                                                                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                    <field name="OID">0_userdata.0.Solarweb.Day.Saving.SavingsTravelPlane</field>
                                                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                                                    <value name="VALUE">
                                                                                                      <block type="math_number" id="AU=gvB.9[S#Yphy?u-;e">
                                                                                                        <field name="NUM">0</field>
                                                                                                      </block>
                                                                                                    </value>
                                                                                                    <next>
                                                                                                      <block type="update" id="Gxj]@vW[BZT7|nX%SpEv">
                                                                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                        <field name="OID">0_userdata.0.Solarweb.Day.Saving.SavingsTrees</field>
                                                                                                        <field name="WITH_DELAY">FALSE</field>
                                                                                                        <value name="VALUE">
                                                                                                          <block type="math_number" id="seYgF=~{FX|K#G%1Pk3,">
                                                                                                            <field name="NUM">0</field>
                                                                                                          </block>
                                                                                                        </value>
                                                                                                      </block>
                                                                                                    </next>
                                                                                                  </block>
                                                                                                </next>
                                                                                              </block>
                                                                                            </next>
                                                                                          </block>
                                                                                        </next>
                                                                                      </block>
                                                                                    </next>
                                                                                  </block>
                                                                                </next>
                                                                              </block>
                                                                            </next>
                                                                          </block>
                                                                        </next>
                                                                      </block>
                                                                    </next>
                                                                  </block>
                                                                </next>
                                                              </block>
                                                            </next>
                                                          </block>
                                                        </next>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </next>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </statement>
                      </block>
                      <block type="procedures_defnoreturn" id="mme0_Wu%]YT26*%YeEd7" collapsed="true" x="-37" y="-188">
                        <field name="NAME">Main</field>
                        <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                        <statement name="STACK">
                          <block type="on" id=")QODy$[H-(7lc9HPc%Xx">
                            <field name="OID">0_userdata.0.Solarweb.Token erstellen</field>
                            <field name="CONDITION">any</field>
                            <field name="ACK_CONDITION">false</field>
                            <statement name="STATEMENT">
                              <block type="controls_if" id="qi2OU5y9AjO|pE1=!(W`">
                                <value name="IF0">
                                  <block type="on_source" id="]6?RDB6_qbNs}FH@FT/5">
                                    <field name="ATTR">state.val</field>
                                  </block>
                                </value>
                                <statement name="DO0">
                                  <block type="procedures_callcustomnoreturn" id="Y2Cno,9z#O(5P6fkEXzB">
                                    <mutation name="Login"></mutation>
                                  </block>
                                </statement>
                              </block>
                            </statement>
                            <next>
                              <block type="schedule" id="@7Aif*%qaC~F)[1eH/(.">
                                <field name="SCHEDULE">*/30 * * * *</field>
                                <statement name="STATEMENT">
                                  <block type="procedures_callcustomnoreturn" id="XH.ADTvB7aVuop1VMaU/">
                                    <mutation name="Login"></mutation>
                                  </block>
                                </statement>
                                <next>
                                  <block type="procedures_callcustomnoreturn" id="PHr!0H7A=[ilK*Iy;-u#">
                                    <mutation name="Datenpunkte erstellen"></mutation>
                                    <next>
                                      <block type="procedures_callcustomnoreturn" id="R;%BsdaUGTABxAtoprfr">
                                        <mutation name="Login"></mutation>
                                        <next>
                                          <block type="timeouts_settimeout" id="a3~Qxd$::g(|s-r#muEn">
                                            <field name="NAME">timeout</field>
                                            <field name="DELAY">5</field>
                                            <field name="UNIT">sec</field>
                                            <statement name="STATEMENT">
                                              <block type="procedures_callcustomnoreturn" id="a#wf2cZN(Kj`mi9hLKtT">
                                                <mutation name="Tagesdaten"></mutation>
                                                <next>
                                                  <block type="procedures_callcustomnoreturn" id="cV07:=atrA8ies4QZg1p">
                                                    <mutation name="Monatsdaten"></mutation>
                                                    <next>
                                                      <block type="procedures_callcustomnoreturn" id="nw2X73beuBcwr{uTw,.4">
                                                        <mutation name="Jahresdaten"></mutation>
                                                        <next>
                                                          <block type="procedures_callcustomnoreturn" id="5ZGdT$?/l.SiRO?QPQKj">
                                                            <mutation name="Total"></mutation>
                                                          </block>
                                                        </next>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </next>
                                              </block>
                                            </statement>
                                            <next>
                                              <block type="schedule" id="RTCSc~nn@qUWsglZ!yqz">
                                                <field name="SCHEDULE">*/5 2-23 * * *</field>
                                                <statement name="STATEMENT">
                                                  <block type="procedures_callcustomnoreturn" id="DC)Em1Ehbz1LW6fj[K!7">
                                                    <mutation name="Tagesdaten"></mutation>
                                                  </block>
                                                </statement>
                                                <next>
                                                  <block type="schedule" id=",:!g:I~V@by_*KX6[Vo#">
                                                    <field name="SCHEDULE">0 * * * *</field>
                                                    <statement name="STATEMENT">
                                                      <block type="procedures_callcustomnoreturn" id="38qFGa6EuiDOcGX@*s[`">
                                                        <mutation name="Monatsdaten"></mutation>
                                                      </block>
                                                    </statement>
                                                    <next>
                                                      <block type="schedule" id="XSmgAIX.OtZCLmC;|}xC">
                                                        <field name="SCHEDULE">5 0 * * *</field>
                                                        <statement name="STATEMENT">
                                                          <block type="procedures_callcustomnoreturn" id="?So7px!1Y?5jXgi7zprA">
                                                            <mutation name="Jahresdaten"></mutation>
                                                            <next>
                                                              <block type="procedures_callcustomnoreturn" id=",!:p]Q%ES1iL5Ov@!q{{">
                                                                <mutation name="Total"></mutation>
                                                              </block>
                                                            </next>
                                                          </block>
                                                        </statement>
                                                        <next>
                                                          <block type="schedule" id="pqvH?_]l(vX_4dnD[S~x">
                                                            <field name="SCHEDULE">0 0 * * *</field>
                                                            <statement name="STATEMENT">
                                                              <block type="procedures_callnoreturn" id="q7pwj(2sWAXP[LZQ0*/d">
                                                                <mutation name="Tageswerte zurücksetzen"></mutation>
                                                              </block>
                                                            </statement>
                                                          </block>
                                                        </next>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </next>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </statement>
                      </block>
                    </xml>
                    
                    R Offline
                    R Offline
                    RainerL
                    schrieb am zuletzt editiert von
                    #68

                    Hallo @strobelix ,

                    vielen Dank für das super blockly.

                    Bei mir kommen die Werte korrekt, aber die Feldzuordnung passt nicht. Habe die aktuelle GEN24 FW 1.14.110-1
                    und Solerweb Premium.

                    Hatte schon mit @JB_Sullivan im PV-Forum Kontakt, er hat Solarweb Standard. Bei ihm stimmen die Werte zu den Datenpunkten.

                    a49a2bf4-7849-4e15-a159-c42b2f4380be-grafik.png

                    S 2 Antworten Letzte Antwort
                    0
                    • R RainerL

                      Hallo @strobelix ,

                      vielen Dank für das super blockly.

                      Bei mir kommen die Werte korrekt, aber die Feldzuordnung passt nicht. Habe die aktuelle GEN24 FW 1.14.110-1
                      und Solerweb Premium.

                      Hatte schon mit @JB_Sullivan im PV-Forum Kontakt, er hat Solarweb Standard. Bei ihm stimmen die Werte zu den Datenpunkten.

                      a49a2bf4-7849-4e15-a159-c42b2f4380be-grafik.png

                      S Offline
                      S Offline
                      Strobelix
                      schrieb am zuletzt editiert von
                      #69

                      @rainerl Danke dir für die Info, da scheint sich die Reihenfolge der Antworten zu verschieben. Das sieht bei @Negalein nämlich auch anders aus als bei mir.

                      Ich habe die Antworten der Reihe nach hart auf die Datenpunkte gecoded, aber scheinbar ist das nicht immer identisch bei unterschiedlichen Accounts.
                      Ich bin ebenfalls Premiumkunde und bei mir ist die Reihenfolge trotzdem anders.
                      Ich muss das Script also so ändern, das ich nicht von oben nach unten abarbeite, sondern die Namen der Channels den passenden Datenpunkten zuordne. Das wird noch bisschen Dauern, bekomme ich aber hin.
                      Dazu habe ich auch schon eine History eingebaut, die aktuelle Woche, Vorwoche, Vormonat und Vorjahr abfragt. Das ist gerade im Test und kommt dann auch noch dazu

                      Raspberrymatic, Homematic & Homematic IP Aktoren, ioBroker auf NUC i3, Nuki, Harmony Hub, Digitalstrom, Diverse Sonoff (Tasmota) und Shellies

                      R 1 Antwort Letzte Antwort
                      1
                      • NegaleinN Negalein

                        @strobelix sagte in FRONIUS Adapter Entwicklung eingestellt?:

                        und das Ergebnis anschauen

                        javascript.0 (383) script.js.Fronius.Solarweb_Test: {'pvSystemId':'xxxxxxxxxxxxxxxxxxxxx','data':[{'logDateTime':'total','channels':[{'channelName':'EnergyOutput','channelType':'Energy','unit':'Wh','value':60387891.0127},{'channelName':'EnergyDirectConsumption','channelType':'Energy','unit':'Wh','value':0},{'channelName':'EnergyProductionTotal','channelType':'Energy','unit':'Wh','value':60387891.0127},{'channelName':'EnergySelfConsumptionTotal','channelType':'Energy','unit':'Wh','value':0},{'channelName':'EnergyConsumptionTotal','channelType':'Energy','unit':'Wh','value':0},{'channelName':'SavingsCO2','channelType':'CO2 savings','unit':'kg','value':32005.56},{'channelName':'SavingsTrees','channelType':'CO2 savings','unit':'tree','value':820.66},{'channelName':'SavingsTravelCar','channelType':'CO2 savings','unit':'km','value':128433.23},{'channelName':'SavingsTravelPlane','channelType':'CO2 savings','unit':'mile','value':496.64},{'channelName':'Profits','channelType':'Currency','unit':'EUR','value':7246.5494},{'channelName':'Earnings','channelType':'Currency','unit':'EUR','value':7246.5494},{'channelName':'Savings','channelType':'Currency','unit':'EUR','value':0}]}],'links':{'first':'https://swqapi.solarweb.com/pvsystems/xxxxxxxxxxxxxxxxxxxxx/aggrdata?period=total&offset=0&limit=50','prev':null,'self':'https://swqapi.solarweb.com/pvsystems/xxxxxxxxxxxxxxxxxxxxx/aggrdata?period=total&offset=0&limit=50','next':null,'last':'https://swqapi.solarweb.com/pvsystems/xxxxxxxxxxxxxxxxxxxxx/aggrdata?period=total&offset=0&limit=50','totalItemsCount':1}}
                        
                        S Offline
                        S Offline
                        Strobelix
                        schrieb am zuletzt editiert von Strobelix
                        #70

                        @negalein du hast keinen Speicher, oder? Genau daher verschieben sich die Datenpunkte.
                        In deiner Antwort sind 12 Channels enthalten, in meiner Antwort sind es 20. Ich versuche das mal zu lösen

                        Raspberrymatic, Homematic & Homematic IP Aktoren, ioBroker auf NUC i3, Nuki, Harmony Hub, Digitalstrom, Diverse Sonoff (Tasmota) und Shellies

                        NegaleinN da_WoodyD 2 Antworten Letzte Antwort
                        0
                        • R RainerL

                          Hallo @strobelix ,

                          vielen Dank für das super blockly.

                          Bei mir kommen die Werte korrekt, aber die Feldzuordnung passt nicht. Habe die aktuelle GEN24 FW 1.14.110-1
                          und Solerweb Premium.

                          Hatte schon mit @JB_Sullivan im PV-Forum Kontakt, er hat Solarweb Standard. Bei ihm stimmen die Werte zu den Datenpunkten.

                          a49a2bf4-7849-4e15-a159-c42b2f4380be-grafik.png

                          S Offline
                          S Offline
                          Strobelix
                          schrieb am zuletzt editiert von
                          #71

                          @rainerl kannst du das auch mal einfügen und mir die Antwort schicken?
                          Bitte die PV id schwärzen oder löschen

                          Result Solarweb.txt

                          Raspberrymatic, Homematic & Homematic IP Aktoren, ioBroker auf NUC i3, Nuki, Harmony Hub, Digitalstrom, Diverse Sonoff (Tasmota) und Shellies

                          R 2 Antworten Letzte Antwort
                          0
                          • S Strobelix

                            @negalein du hast keinen Speicher, oder? Genau daher verschieben sich die Datenpunkte.
                            In deiner Antwort sind 12 Channels enthalten, in meiner Antwort sind es 20. Ich versuche das mal zu lösen

                            NegaleinN Offline
                            NegaleinN Offline
                            Negalein
                            Global Moderator
                            schrieb am zuletzt editiert von
                            #72

                            @strobelix sagte in FRONIUS Adapter Entwicklung eingestellt?:

                            du hast keinen Speicher, oder?

                            genau

                            ° Node.js: 20.17.0 NPM: 10.8.2
                            ° Proxmox, Ubuntu 22.04.3 LTS
                            ° Fixer ---> iob fix

                            1 Antwort Letzte Antwort
                            0
                            • S Strobelix

                              @rainerl kannst du das auch mal einfügen und mir die Antwort schicken?
                              Bitte die PV id schwärzen oder löschen

                              Result Solarweb.txt

                              R Offline
                              R Offline
                              RainerL
                              schrieb am zuletzt editiert von
                              #73

                              @strobelix lasse ich heute abend mal laufen und schicke es Dir. Habe im Moment nur über iphone Zugriff auf meinen ioB, da brech ich mir die Finger mit blockly.

                              1 Antwort Letzte Antwort
                              0
                              • S Strobelix

                                @rainerl Danke dir für die Info, da scheint sich die Reihenfolge der Antworten zu verschieben. Das sieht bei @Negalein nämlich auch anders aus als bei mir.

                                Ich habe die Antworten der Reihe nach hart auf die Datenpunkte gecoded, aber scheinbar ist das nicht immer identisch bei unterschiedlichen Accounts.
                                Ich bin ebenfalls Premiumkunde und bei mir ist die Reihenfolge trotzdem anders.
                                Ich muss das Script also so ändern, das ich nicht von oben nach unten abarbeite, sondern die Namen der Channels den passenden Datenpunkten zuordne. Das wird noch bisschen Dauern, bekomme ich aber hin.
                                Dazu habe ich auch schon eine History eingebaut, die aktuelle Woche, Vorwoche, Vormonat und Vorjahr abfragt. Das ist gerade im Test und kommt dann auch noch dazu

                                R Offline
                                R Offline
                                RainerL
                                schrieb am zuletzt editiert von
                                #74

                                @strobelix perfekt danke, das klingt gut. Eilt nicht, ist Hobby. Danke für die tolle Entwicklungsarbeit.:+1:

                                1 Antwort Letzte Antwort
                                0
                                • S Strobelix

                                  @negalein du hast keinen Speicher, oder? Genau daher verschieben sich die Datenpunkte.
                                  In deiner Antwort sind 12 Channels enthalten, in meiner Antwort sind es 20. Ich versuche das mal zu lösen

                                  da_WoodyD Offline
                                  da_WoodyD Offline
                                  da_Woody
                                  schrieb am zuletzt editiert von
                                  #75

                                  @strobelix ich les da jetzt schon einige zeit mit. hab ja auch eine fronius, mit akkupack dran. bei adapterversion 1.0.5 wird mir storage angezeigt, also der akku. sobald ich aber update, verschwindet der ordner. ich blick da einfach nicht mehr durch. vllt kannst du mir das erklären. auf bisherige anfragen wurde nie reagiert.
                                  c8c10a73-5e1e-49cc-83c2-63e76b45ae5a-grafik.png
                                  auf solarweb.com seh ich alles.
                                  694b6c97-8dc1-48e0-b74c-12ebb7acfbaa-grafik.png

                                  gruß vom Woody
                                  HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                                  S 1 Antwort Letzte Antwort
                                  0
                                  • da_WoodyD da_Woody

                                    @strobelix ich les da jetzt schon einige zeit mit. hab ja auch eine fronius, mit akkupack dran. bei adapterversion 1.0.5 wird mir storage angezeigt, also der akku. sobald ich aber update, verschwindet der ordner. ich blick da einfach nicht mehr durch. vllt kannst du mir das erklären. auf bisherige anfragen wurde nie reagiert.
                                    c8c10a73-5e1e-49cc-83c2-63e76b45ae5a-grafik.png
                                    auf solarweb.com seh ich alles.
                                    694b6c97-8dc1-48e0-b74c-12ebb7acfbaa-grafik.png

                                    S Offline
                                    S Offline
                                    Strobelix
                                    schrieb am zuletzt editiert von
                                    #76

                                    @da_woody mit dem Froniusadapter hab ich nichts zu tun. Storage gibt es bei mir auch nicht, den Frage ich über den BYD Adapter ab.
                                    Ich müsste mal in die FroniusAPI schauen ob da der Storage überhaupt noch drin ist

                                    Raspberrymatic, Homematic & Homematic IP Aktoren, ioBroker auf NUC i3, Nuki, Harmony Hub, Digitalstrom, Diverse Sonoff (Tasmota) und Shellies

                                    da_WoodyD 1 Antwort Letzte Antwort
                                    0
                                    • S Strobelix

                                      @da_woody mit dem Froniusadapter hab ich nichts zu tun. Storage gibt es bei mir auch nicht, den Frage ich über den BYD Adapter ab.
                                      Ich müsste mal in die FroniusAPI schauen ob da der Storage überhaupt noch drin ist

                                      da_WoodyD Offline
                                      da_WoodyD Offline
                                      da_Woody
                                      schrieb am zuletzt editiert von da_Woody
                                      #77

                                      @strobelix axooo...

                                      den Frage ich über den BYD Adapter ab

                                      der sagt mir im moment gar nichts... mal schauen. :)
                                      hrnz, da gibts ja 2 davon. welcher wäre das?
                                      11b76c1c-b3fc-44ae-9314-69f6eb5dc05c-grafik.png

                                      gruß vom Woody
                                      HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                                      S 1 Antwort Letzte Antwort
                                      0
                                      • da_WoodyD da_Woody

                                        @strobelix axooo...

                                        den Frage ich über den BYD Adapter ab

                                        der sagt mir im moment gar nichts... mal schauen. :)
                                        hrnz, da gibts ja 2 davon. welcher wäre das?
                                        11b76c1c-b3fc-44ae-9314-69f6eb5dc05c-grafik.png

                                        S Offline
                                        S Offline
                                        Strobelix
                                        schrieb am zuletzt editiert von
                                        #78

                                        @da_woody der byd hvs wenn du einen byd speicher hast

                                        Raspberrymatic, Homematic & Homematic IP Aktoren, ioBroker auf NUC i3, Nuki, Harmony Hub, Digitalstrom, Diverse Sonoff (Tasmota) und Shellies

                                        da_WoodyD 1 Antwort Letzte Antwort
                                        1
                                        • S Strobelix

                                          @da_woody der byd hvs wenn du einen byd speicher hast

                                          da_WoodyD Offline
                                          da_WoodyD Offline
                                          da_Woody
                                          schrieb am zuletzt editiert von
                                          #79

                                          @strobelix sorry, irgendwie blick ich da nicht wirklich durch, oder ich hab einen knopf im hirn.. meine BYD:
                                          638d97e7-4362-468f-9df2-030b556f18f1-grafik.png
                                          hab versucht die beschreibung zu verstehen. nicht wirklich. :(
                                          viel ist ja nicht einzutragen, aber wie kommts zu der IP 192.168.16.254? trage ich meine fronius ein, gibts auch keine verbindung. weder LAN, noch WLAN. mehr tut nicht.
                                          7a91733c-98fc-4a24-9004-d3868682c829-grafik.png

                                          gruß vom Woody
                                          HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          919

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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