NEWS
Daten aus Fronius Solarweb auslesen
-
Hast du auf dem GEN24 schon die 14.x.xx Firmware drauf? Da ist ja laut Change Log die API Schnittstelle per default auf AUS gestellt. Ich weiß nicht ob man da ohne Technican PW ran kommen würde, da ich persönlich die 14.x.x. Firmware noch nicht installiert habe.
Könnte dann wieder für die Leute die keinen Technican Zugang haben zum Boomerang werden, wenn nach dem Firmware Update die API Schnittstelle nicht mehr geht.
Fronius bringt ja Firmware Updates gerne im Winter raus, wenn man kaum Chancen hat alle Solaren Betriebszustände anständig zu testen.
@jb_sullivan die api ist nur bei Neuauslieferung abgestellt. Updates sind davon nicht betroffen.
Lässt sich aber (wohl) in den Benutzereinstellungen aktivieren.
In 10min weiss ich mehrAlso mit 1.14 gibt es auch als Standardnutzer die Möglichkeit die lokale API zu aktivieren bzw sie bleibt nach Update aktiviert.
Aber sieht so aus, als wollen sie alle Nutzer in Solarweb bringen.
Hoffen wir mal, die API des Gen24 wird nicht noch weiter eingeschränkt
-
@strobelix sagte in FRONIUS Adapter Entwicklung eingestellt?:
So ich hab das Script noch mal ausgetauscht, jetzt wird alles auf 2 Nachkommastellen gerundet.
Jupp funktioniert auch und schaut auch besser als :+1: :+1: :+1: :+1:
@jb_sullivan Hab das Script jetzt noch mal angepasst. Da war für die Eigenerzeugung eine Berechnung notwendig, die hab ich jetzt eingebaut
-
@jb_sullivan Hab das Script jetzt noch mal angepasst. Da war für die Eigenerzeugung eine Berechnung notwendig, die hab ich jetzt eingebaut
@strobelix
Tolles Script. Ich musste mich zwar erst durchwursteln, weil ich mit Blockly noch nie gearbeitet habe, aber ich hab es auf Anhieb hin bekommen und die Zahlen schauen soweit gut aus.Ich hatte für ein paar Daten kleine Scripts gebastelt, aber hier ist ja alles inclusive. :+1: :+1: :+1:
-
Ich weiß es ist vermessen, aber magst du evtl. noch den Export deiner VIS Bilder posten?
Also ich persönlich hätte speziell an diesem hier Interesse. VIELEN DANK !!

-
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 said in FRONIUS Adapter Entwicklung eingestellt?:
<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>diese 3 werte eintragen? bei mir kommt es zu einem compile error
index0.js7 von 291 Problemen Cannot use JSX unless the '--jsx' flag is provided.(17004) -
@strobelix said in FRONIUS Adapter Entwicklung eingestellt?:
<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>diese 3 werte eintragen? bei mir kommt es zu einem compile error
index0.js7 von 291 Problemen Cannot use JSX unless the '--jsx' flag is provided.(17004)@massiveattack hast du es als blockly eingefügt?
-
Ich weiß es ist vermessen, aber magst du evtl. noch den Export deiner VIS Bilder posten?
Also ich persönlich hätte speziell an diesem hier Interesse. VIELEN DANK !!

@jb_sullivan
Hier der view -
@strobelix said in FRONIUS Adapter Entwicklung eingestellt?:
<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>diese 3 werte eintragen? bei mir kommt es zu einem compile error
index0.js7 von 291 Problemen Cannot use JSX unless the '--jsx' flag is provided.(17004)@massiveattack
So muss das aussehen - in die roten Felder dann die Daten für den Zugang
-
@massiveattack
So muss das aussehen - in die roten Felder dann die Daten für den Zugang
@c1olli
danke, jetzt läuft es!
wo werden die daten hingeschrieben? werden die DPs automatisch erzeugt? -
@c1olli
danke, jetzt läuft es!
wo werden die daten hingeschrieben? werden die DPs automatisch erzeugt?@massiveattack
Unter Objekte - Userdata - Solarweb -
@massiveattack
Unter Objekte - Userdata - Solarwebperfekt, danke!
wäre noch wünschenswert, wenn es eine monatsauswertung gäbe, dann könnte man komplett auf SA verzichten ;) -
perfekt, danke!
wäre noch wünschenswert, wenn es eine monatsauswertung gäbe, dann könnte man komplett auf SA verzichten ;)noch eine frage - ich weiß es ist offtopic - aber leider hab ich meine anderen skripts geschossen. habe zwar ein backup als js, kann diese aber nicht mehr einfügen. hat jemand eine schnelle hilfe parat?
-
perfekt, danke!
wäre noch wünschenswert, wenn es eine monatsauswertung gäbe, dann könnte man komplett auf SA verzichten ;)@massiveattack die Abfragen der Solarweb Api sind dynamisch und somit nicht so einfach das mit „hartem“ Code umzusetzen.
Welche Werte würden dich den interessieren?
Von allen Vormonaten oder welche Zeiträume? Nur Bezug und Produktion??Ich hab jetzt mal die Totalwerte in Sourceanalytics gesteckt, leider stimmen die aber auch nie zu 100%, da Solarweb ja immer erst nach ein paar Minuten die Werte liefert und über Mitternacht landet es dann im neuen Tag.
Die Gesamtwerte stimmen, aber der Rest hat immer kleine Fehler -
noch eine frage - ich weiß es ist offtopic - aber leider hab ich meine anderen skripts geschossen. habe zwar ein backup als js, kann diese aber nicht mehr einfügen. hat jemand eine schnelle hilfe parat?
@massiveattack hast kein backup vom backitup Adapter? Damit kannst es ja einfach zurückspielen
-
@massiveattack die Abfragen der Solarweb Api sind dynamisch und somit nicht so einfach das mit „hartem“ Code umzusetzen.
Welche Werte würden dich den interessieren?
Von allen Vormonaten oder welche Zeiträume? Nur Bezug und Produktion??Ich hab jetzt mal die Totalwerte in Sourceanalytics gesteckt, leider stimmen die aber auch nie zu 100%, da Solarweb ja immer erst nach ein paar Minuten die Werte liefert und über Mitternacht landet es dann im neuen Tag.
Die Gesamtwerte stimmen, aber der Rest hat immer kleine FehlerMich persönlich interessieren die Tages/Monats/Jahreswerte von Produktion, Einspeisung, Stromverbrauch. Die berechne ich mir jetzt auch schon. Wenn ich dazu aber keine scripte und SA brauche, wäre es einfacher und vor allem genauer
-
@massiveattack hast kein backup vom backitup Adapter? Damit kannst es ja einfach zurückspielen
@strobelix
doch, der wirft mir aber einen fehler :(habe die scripte gesichert im tar.gz und json, doch ich kann sie nicht mehr importieren. waren nur einfache blockly skripte
-
Mich persönlich interessieren die Tages/Monats/Jahreswerte von Produktion, Einspeisung, Stromverbrauch. Die berechne ich mir jetzt auch schon. Wenn ich dazu aber keine scripte und SA brauche, wäre es einfacher und vor allem genauer
@massiveattack ohne Script geht ja so jetzt auch, aber SA brauchst du halt.
Ich kann über mein Script zwar schon alle alten Werte abfragen, aber müsste mich auf eine Monatsanzahl festlegen. Also zb die letzten 12 Monate ab heute und das dann in Ordner schreiben (Monat 0/ Monat -1/ Monat-2 usw)
Bringt aber dann Fehlermeldungen, wenn eine Anlage jünger als 12 Monate ist, weil keine Werte vorhanden wären. -
@massiveattack ohne Script geht ja so jetzt auch, aber SA brauchst du halt.
Ich kann über mein Script zwar schon alle alten Werte abfragen, aber müsste mich auf eine Monatsanzahl festlegen. Also zb die letzten 12 Monate ab heute und das dann in Ordner schreiben (Monat 0/ Monat -1/ Monat-2 usw)
Bringt aber dann Fehlermeldungen, wenn eine Anlage jünger als 12 Monate ist, weil keine Werte vorhanden wären.@strobelix
SA hat super funktioniert, alle berechneten werte stimmen mit solarweb überein. nur im dezember habe ich mehr einspeisung als produktion :) :clown_face:
und ich finde den fehler nicht.btw, konnte mein backup wieder restoren. damit berechne ich mir zB den ertag/monat/jahr/gesamt bzw den direktverbrauch/jahr/gesamt. diese parameter können über den fronius adapter nicht ausgelesen werden.
-
perfekt, danke!
wäre noch wünschenswert, wenn es eine monatsauswertung gäbe, dann könnte man komplett auf SA verzichten ;)@massiveattack sagte in FRONIUS Adapter Entwicklung eingestellt?:
wenn es eine monatsauswertung
Eine Monatsauswertung gibt es doch im Grunde schon. Ich fände Wochentage wie oben in meiner Tabelle ganz schick. Jetzt mit diesen neuen Erkenntnissen sieht man mal wie weit SA abweicht ;)
-
@massiveattack sagte in FRONIUS Adapter Entwicklung eingestellt?:
wenn es eine monatsauswertung
Eine Monatsauswertung gibt es doch im Grunde schon. Ich fände Wochentage wie oben in meiner Tabelle ganz schick. Jetzt mit diesen neuen Erkenntnissen sieht man mal wie weit SA abweicht ;)
@jb_sullivan said in FRONIUS Adapter Entwicklung eingestellt?:
@massiveattack sagte in FRONIUS Adapter Entwicklung eingestellt?:
wenn es eine monatsauswertung
Eine Monatsauswertung gibt es doch im Grunde schon.
ja, fürs aktuelle monat, nicht aber für alle monate ;)