NEWS
Daten aus Fronius Solarweb auslesen
-
Hallo,
ich sehe gerade das mein Forecast Wert nicht mehr stimmt,
laut App habe ich noch eine Energieprognose von 0,86 kWh:
Habe dann die Forcast Werte neu abgerufen und dann ist die Restmenge auf 4,86 kWh gesprungen:

Wo zieht er denn diesen Wert von 4,86 kWh her? Den sehe ich nirgends in der App.
Danke im Voraus.
-
Hallo,
ich habe jetzt auch Warnings. Kann wer weiterhelfen - dürfte scheinbar nicht alleine mit dem Problem sein (@reutli bzw. @Strobelix)
Danke für eure Hilfe
Lg
TMinimax@tminimax
hast du das Script mal neu rein kopiert? Vielleicht hat sich irgendwo ein Fehler eingeschlichen?
Ich habe bei mir keine Probleme und daher schau ich hier auch selten vorbei, da ich mich im Normalfall nur melde, wenn bei mir auch etwas hängt oder nicht geht -
@nik82 die Prognosen werden aus den API Daten berechnet. Leider entstehen hier teilweise Probleme mit der Zeitzone und daher sind die angefragten Daten manchmal nicht richtig.
@strobelix
Ich habe den Fehler@reutli sagte in Daten aus Fronius Solarweb auslesen:
Hallo zusammen,
ich habe seit längerem die folgenden Fehler:
javascript.0 2025-03-28 19:02:08.068 warn script.js.PV_Überwachung.Fronius: Solarweb Total konnte nicht abgefragt werden javascript.0 2025-03-28 19:02:06.077 warn script.js.PV_Überwachung.Fronius: Solarweb Current Year konnte nicht abgefragt werden javascript.0 2025-03-28 19:02:04.062 warn script.js.PV_Überwachung.Fronius: Solarweb Current Month konnte nicht abgefragt werden javascript.0 2025-03-28 19:02:02.056 warn script.js.PV_Überwachung.Fronius: Solarweb Current Day konnte nicht abgefragt werdendauerhaft, also nicht nur ab und zu...
-
@tminimax
hast du das Script mal neu rein kopiert? Vielleicht hat sich irgendwo ein Fehler eingeschlichen?
Ich habe bei mir keine Probleme und daher schau ich hier auch selten vorbei, da ich mich im Normalfall nur melde, wenn bei mir auch etwas hängt oder nicht geht@strobelix Hallo strobelix, ja ich habe gestern das Script neu reinkopiert. Werde es heute nochmals probieren.
Besteht auch die Möglichkeit die Daten in einen "vorgegebenen" Ordner erstellen zu lassen, also nicht automatisch'0_userdata.0.Solarweb' sondern eine andere Ordnerstruktur die man wo angeben kann?
Danke dir -
@strobelix Hallo strobelix, ja ich habe gestern das Script neu reinkopiert. Werde es heute nochmals probieren.
Besteht auch die Möglichkeit die Daten in einen "vorgegebenen" Ordner erstellen zu lassen, also nicht automatisch'0_userdata.0.Solarweb' sondern eine andere Ordnerstruktur die man wo angeben kann?
Danke dir -
ich kann heute nicht wirklich Daten abrufen, kann dies wer bestätigen?
-
ich kann heute nicht wirklich Daten abrufen, kann dies wer bestätigen?
@maximal1981
Ja -
ich kann heute nicht wirklich Daten abrufen, kann dies wer bestätigen?
@maximal1981 Habe auch direkt im Solarweb völlig falsche Daten. Das Problem müsste also bei Fronius liegen.
-
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.
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>@strobelix [Fehler] script meldet Fehler
Hallo strobelix. Ich habe heute (2025) Dein script mit meinem Symno ausprobiert

Gibt bei mir eine Fehlermeldung:
22.4.2025, 09:20:47.067 [info ]: javascript.0 (2145) Start JavaScript script.js.Skript_1 (Blockly) 22.4.2025, 09:20:47.071 [warn ]: javascript.0 (2145) script.js.Skript_1: request package is deprecated - please use httpGet (or a stable lib like axios) instead! 22.4.2025, 09:20:47.076 [info ]: javascript.0 (2145) script.js.Skript_1: registered 1 subscription, 5 schedules, 0 messages, 0 logs and 0 file subscriptions 22.4.2025, 09:20:52.159 [error]: javascript.0 (2145) script.js.Skript_1: TypeError: Cannot read properties of undefined (reading 'channels') 22.4.2025, 09:20:52.159 [error]: javascript.0 (2145) at Request.callback [as _callback] (script.js.Skript_1:227:96) 22.4.2025, 09:20:53.043 [info ]: javascript.0 (2145) Stopping script script.js.Skript_1Kannst Du mir helfen?
-
@strobelix [Fehler] script meldet Fehler
Hallo strobelix. Ich habe heute (2025) Dein script mit meinem Symno ausprobiert

Gibt bei mir eine Fehlermeldung:
22.4.2025, 09:20:47.067 [info ]: javascript.0 (2145) Start JavaScript script.js.Skript_1 (Blockly) 22.4.2025, 09:20:47.071 [warn ]: javascript.0 (2145) script.js.Skript_1: request package is deprecated - please use httpGet (or a stable lib like axios) instead! 22.4.2025, 09:20:47.076 [info ]: javascript.0 (2145) script.js.Skript_1: registered 1 subscription, 5 schedules, 0 messages, 0 logs and 0 file subscriptions 22.4.2025, 09:20:52.159 [error]: javascript.0 (2145) script.js.Skript_1: TypeError: Cannot read properties of undefined (reading 'channels') 22.4.2025, 09:20:52.159 [error]: javascript.0 (2145) at Request.callback [as _callback] (script.js.Skript_1:227:96) 22.4.2025, 09:20:53.043 [info ]: javascript.0 (2145) Stopping script script.js.Skript_1Kannst Du mir helfen?
Fronius hat ein Problem.
"----------- Deutsch -----------
Momentan liegt ein technisches Problem mit der Anzeige Ihrer Erzeugungs- & Verbrauchsdaten vor.
Unser Team arbeitet bereits mit Hochdruck an einer Lösung.
Vielen Dank für Ihr Verständnis!" -
ein Abruf ist möglich, nur die Daten sind falsch, denke hier liegt vermutlich ein anderer Fehler vor.
würde aber trotzdem abwarten, bis Fronius wieder "rund läuft"
-
@strobelix [Fehler] script meldet Fehler
Hallo strobelix. Ich habe heute (2025) Dein script mit meinem Symno ausprobiert

Gibt bei mir eine Fehlermeldung:
22.4.2025, 09:20:47.067 [info ]: javascript.0 (2145) Start JavaScript script.js.Skript_1 (Blockly) 22.4.2025, 09:20:47.071 [warn ]: javascript.0 (2145) script.js.Skript_1: request package is deprecated - please use httpGet (or a stable lib like axios) instead! 22.4.2025, 09:20:47.076 [info ]: javascript.0 (2145) script.js.Skript_1: registered 1 subscription, 5 schedules, 0 messages, 0 logs and 0 file subscriptions 22.4.2025, 09:20:52.159 [error]: javascript.0 (2145) script.js.Skript_1: TypeError: Cannot read properties of undefined (reading 'channels') 22.4.2025, 09:20:52.159 [error]: javascript.0 (2145) at Request.callback [as _callback] (script.js.Skript_1:227:96) 22.4.2025, 09:20:53.043 [info ]: javascript.0 (2145) Stopping script script.js.Skript_1Kannst Du mir helfen?
@norbert999 sagte in Daten aus Fronius Solarweb auslesen:
@strobelix [Fehler] script meldet Fehler
Hallo strobelix. Ich habe heute (2025) Dein script mit meinem Symno ausprobiert

rechts fehlt was, oder hast du es verschoben?
oder hab ich eine ältere Version :yum:
-
@norbert999 sagte in Daten aus Fronius Solarweb auslesen:
@strobelix [Fehler] script meldet Fehler
Hallo strobelix. Ich habe heute (2025) Dein script mit meinem Symno ausprobiert

rechts fehlt was, oder hast du es verschoben?
oder hab ich eine ältere Version :yum:
Habe jetzt meinen Account auf Premium umgestellt. Im IoBroker alle Datenpunkte unter Userdata/0/Solarweb gelöscht. Nach start vom Script kommt diese Meldung. Datenpunkte werden auch nicht neu erstellt.
2.5.2025, 10:34:41.329 [info ]: javascript.0 (339) Stopping script script.js.common.Solarweb 2.5.2025, 10:34:43.789 [info ]: javascript.0 (339) Start JavaScript script.js.common.Solarweb (Blockly) 2.5.2025, 10:34:43.867 [error]: javascript.0 (339) script.js.common.Solarweb: ReferenceError: URL is not defined 2.5.2025, 10:34:43.871 [error]: javascript.0 (339) at Login (script.js.common.Solarweb:9:9) 2.5.2025, 10:34:43.874 [error]: javascript.0 (339) at Aggrdata_Zeitplan (script.js.common.Solarweb:995:9) 2.5.2025, 10:34:43.874 [error]: javascript.0 (339) at script.js.common.Solarweb:1041:7 2.5.2025, 10:34:43.874 [error]: javascript.0 (339) at script.js.common.Solarweb:1050:3 -
Habe jetzt meinen Account auf Premium umgestellt. Im IoBroker alle Datenpunkte unter Userdata/0/Solarweb gelöscht. Nach start vom Script kommt diese Meldung. Datenpunkte werden auch nicht neu erstellt.
2.5.2025, 10:34:41.329 [info ]: javascript.0 (339) Stopping script script.js.common.Solarweb 2.5.2025, 10:34:43.789 [info ]: javascript.0 (339) Start JavaScript script.js.common.Solarweb (Blockly) 2.5.2025, 10:34:43.867 [error]: javascript.0 (339) script.js.common.Solarweb: ReferenceError: URL is not defined 2.5.2025, 10:34:43.871 [error]: javascript.0 (339) at Login (script.js.common.Solarweb:9:9) 2.5.2025, 10:34:43.874 [error]: javascript.0 (339) at Aggrdata_Zeitplan (script.js.common.Solarweb:995:9) 2.5.2025, 10:34:43.874 [error]: javascript.0 (339) at script.js.common.Solarweb:1041:7 2.5.2025, 10:34:43.874 [error]: javascript.0 (339) at script.js.common.Solarweb:1050:3Hallo,
wollte jetzt keinen extra Thread aufmachen, hoffe das ist OK:Habe Fronius-Solarweb und auch Fronius -Adpater installiert.
Gibt es einen DP, der die vom Netz bezogene Energiemenge beinhaltet? Wenn ja, wo?(Bezug pro Tag oder Summe insgesamt)
-
Hallo,
wollte jetzt keinen extra Thread aufmachen, hoffe das ist OK:Habe Fronius-Solarweb und auch Fronius -Adpater installiert.
Gibt es einen DP, der die vom Netz bezogene Energiemenge beinhaltet? Wenn ja, wo?(Bezug pro Tag oder Summe insgesamt)
@topsurfer sagte in Daten aus Fronius Solarweb auslesen:
Hallo,
wollte jetzt keinen extra Thread aufmachen, hoffe das ist OK:Habe Fronius-Solarweb (..) -Adpater installiert.
Gibt es einen DP, der die vom Netz bezogene Energiemenge beinhaltet? Wenn ja, wo?(Bezug pro Tag oder Summe insgesamt)
fronius-solarweb.0.LAANGENUMMER.day.EnergyPurchased.values.1Zeigt (auf einige Wh) genau ab dem 2. des Monats den Netzbezug am 1. des laufenden Monats an.
Ähnliches gilt für
fronius-solarweb.0.LAANGENUMMER.day.EnergyPurchased.values.2Also zumindest wenn man einen Fronius Zähler eingebaut hat, was bei einer Batterie der Fall ist. Alternativ: Selbst aus dem Wert des Zählers berechnen.
fronius.0.meter.0.EnergyReal_WAC_Sum_Consumed -
Hallo,
wollte jetzt keinen extra Thread aufmachen, hoffe das ist OK:Habe Fronius-Solarweb und auch Fronius -Adpater installiert.
Gibt es einen DP, der die vom Netz bezogene Energiemenge beinhaltet? Wenn ja, wo?(Bezug pro Tag oder Summe insgesamt)
@topsurfer
Im Solarweb0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyPurchased -
Hi,
ich hab den Solarweb Adapter und würde nun gerne die Prognose für den heutigen Tag der erzeugten Leistung berechnen/auslesen. Ich hab diese 15min Datenpunkte schon gefunden, leider hab ich nun keine Ahnung, wie ich daraus den ganzen Tag berechne (sind ja auch nur 6h und 15min).
Ziel der Sache ist zu wissen, wie weit ich den Akku mit der Autoladung aussaugen darf, um trotzdem noch über die Runden zu kommen.Danke,
Philipp -
Hi,
ich hab den Solarweb Adapter und würde nun gerne die Prognose für den heutigen Tag der erzeugten Leistung berechnen/auslesen. Ich hab diese 15min Datenpunkte schon gefunden, leider hab ich nun keine Ahnung, wie ich daraus den ganzen Tag berechne (sind ja auch nur 6h und 15min).
Ziel der Sache ist zu wissen, wie weit ich den Akku mit der Autoladung aussaugen darf, um trotzdem noch über die Runden zu kommen.Danke,
Philipp@superflip
Hast Du den Solarweb-Adapter, oder das Script aus dem ersten Post?Bei dem Script schaut das bei mir so aus:

-
Gen24 und Solarweb
Hallo zusammen.
Da der Gen24 ja über die lokale xml API nicht die Tages/Monats und Jahreswerte liefert und deren Berechnungen mit Sourceanalytics zu ungenau sind (ausserdem sind manche Werte nicht verfügbar), habe ich die Solarweb App mal abgehört und ein Script geschrieben, dass die aktuellen Tages/Monats/Jahres/Totalwerte der Verbräuche abfragt.Falls ihr eine Version vor dem 10. Jan 2021 nutzt, bitte noch mal den gesamten Solarweb Ordner löschen.
Ich musste zu viele Anpassungen vornehmen um alles in die Ordnerstruktur zu bekommen.Ihr müsst die Solarweb Zugangsdaten und die PV-ID (aus dem Browser ersichtlich) einfügen und das Blockly starten.
Totalwerte und Tages/Monats/Jahres-Werte des dem aktuellen Jahr werden sofort geladen.
Bereits vergangene Wochentage der aktuellen Woche können mit einem Button nachgeladen werden.Vergangene Werte werden entweder zum Ende der Periode (Tag/Woche/Monat/Jahr) geladen oder manuell über den Button.
Um 0:00 jeden Tag/Woche/Monat/Jahr werden die Vordaten zurückgesetzt und neu befüllt, sobald Solarweb Daten zur Verfügung stellt.
Die Daten im "Previous" Ordner werden auch um 0:00 der neuen Periode zurückgesetzt, aber erst um 2:00 mit den Daten aus Solarweb aktualisiert.
Manchmal liefert der Wechselrichter erst nach Mitternacht die letzten Tagesdaten an Solarweb und damit hier nicht - wie mit Sourceanalytix - beim Tagesübergang Fehler entstehen, werden diese Werte erst um 2:00 abgefragt.Außerdem kann man durch das manuelle Nachladen, sofort auf Vorjahresdaten zugreifen und muss nicht erst ein Jahr abwarten. Sollte das abfragen von alten Werten mal nicht funktionieren, bitte nach einer Minute nochmal testen.
Laut Solarweb-API müssten alle Vergangenheitswerte auch als Nicht-Premium-Kunde funktionieren.
Lediglich beim Forecast erhalten Basic-Nutzer einen Hinweis im Log, das kein Premium vorhanden ist.Änderungsprotokoll:
12. Jan 2021
Änderung: Umlaute korrigiert, Forecast Wertrundung korrigiert, Premium-Fehlermeldung als Info und nicht als Error
Einfach Blockly austauschen - Datenpunkte bleiben identisch, wenn ihr das Script vom 10.Jan 2021 genutzt habt-
März 2022:
Fehlerbehebung: Annual Month wurde monatlich zurückgesetzt, statt jährlich.
Änderung: Ohne Premium Account erfolgt beim Forecast nur noch eine Loginfo und keine Warnung mehr -
September 2023
Fehlerbehebung Forecast Today.
Fronius hat die API geändert und auch vergangene Tagesdaten dazuaddiert. Fehler behoben, in dem ich nur noch ab der aktuellen Uhrzeit abfrage. -
März 2024
Fehler beim Periodenwechsel behoben (Fehlermeldung im Log bzgl Booleanwert der mit Number beschrieben wird)
Optimierung der Forcastabfrage -
Mai 2024
Library von Request auf Axios umgestellt, damit der Javascript-Adapter keine Fehler mehr berichtet.
@strobelix Hallo Strobelix, ich finde dein Script super. Wäre es möglich, die 3 Datenpunkte EnergyEVCCharge, EnergyEVCChargeBatt, EnergyEVCChargeGrid zu ergänzen?
-