Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Fenster und andere Geräte zählen opt. Alexa Ansagen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Fenster und andere Geräte zählen opt. Alexa Ansagen

    This topic has been deleted. Only users with topic management privileges can see it.
    • dslraser
      dslraser Forum Testing Most Active @DocGame last edited by

      @DocGame sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

      So ziemlich alles was der Markt hergibt.

      ich möchte so nach und nach alle integrieren, dafür bräuchte ich jeweils einen RAW von so einem state. HUE über den HUE Adapter habe ich selbst, den brauche ich nicht.

      1 Reply Last reply Reply Quote 0
      • dslraser
        dslraser Forum Testing Most Active @flkontakt last edited by

        @flkontakt sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

        was kann/muss ich anpassen?

        ne ganze Menge...ist mir jetzt gerade zu lang das zu erklären. Würdest Du es genau so wie gezeigt haben wollen ?

        flkontakt 1 Reply Last reply Reply Quote 0
        • flkontakt
          flkontakt @dslraser last edited by

          @dslraser die Datenpunkte würden mir völlig reichen, weitere Anpassungen würde ich hinbekommen, falls nötig. Wenn du etwas fertiges hättest, würde ich das gerne übernehmen. vielen dank für die Unterstützung!

          dslraser 1 Reply Last reply Reply Quote 0
          • dslraser
            dslraser Forum Testing Most Active @flkontakt last edited by dslraser

            @flkontakt sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

            die Datenpunkte würden mir völlig reichen, weitere Anpassungen würde ich hinbekommen, falls nötig.

            Die Datenpunkte habe ich hiermit erstellt, die kannst Du ja in zwei Blocklys aufteilen.

            Bildschirmfoto 2020-05-14 um 18.03.19.png

            <xml xmlns="http://www.w3.org/1999/xhtml">
              <variables>
                <variable type="" id="q-e8vKpWl@Q9cU2jes}t">anlegen_in</variable>
              </variables>
              <block type="procedures_defcustomnoreturn" id="eZsGA^2r{c%G,YpuLp]K" x="13" y="62">
                <mutation statements="false">
                  <arg name="anlegen_in" varid="q-e8vKpWl@Q9cU2jes}t"></arg>
                </mutation>
                <field name="NAME">Datenpunkte_anlegen_EG</field>
                <field name="SCRIPT">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjEgKDI2IEphbnVhcnkgMjAyMCkKICogRXhhbXBsZTogICAgICAgICAgICAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWMtTS9pb2Jyb2tlci5jcmVhdGVVc2VyU3RhdGVzI2JlaXNwaWVsCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiAnMF91c2VyZGF0YS4wJyBvciAnamF2YXNjcmlwdC54Jy4KICogQHBhcmFtIHtib29sZWFufSBmb3JjZSAgICAgICAgIEZvcmNlIHN0YXRlIGNyZWF0aW9uIChvdmVyd3JpdGUpLCBpZiBzdGF0ZSBpcyBleGlzdGluZy4KICogQHBhcmFtIHthcnJheX0gc3RhdGVzVG9DcmVhdGUgIFN0YXRlKHMpIHRvIGNyZWF0ZS4gc2luZ2xlIGFycmF5IG9yIGFycmF5IG9mIGFycmF5cwogKiBAcGFyYW0ge29iamVjdH0gW2NhbGxiYWNrXSAgICAgT3B0aW9uYWw6IGEgY2FsbGJhY2sgZnVuY3Rpb24gLS0gVGhpcyBwcm92aWRlZCBmdW5jdGlvbiB3aWxsIGJlIGV4ZWN1dGVkIGFmdGVyIGFsbCBzdGF0ZXMgYXJlIGNyZWF0ZWQuCiAqLwoKZnVuY3Rpb24gY3JlYXRlVXNlclN0YXRlcyh3aGVyZSwgZm9yY2UsIHN0YXRlc1RvQ3JlYXRlLCBjYWxsYmFjayA9IHVuZGVmaW5lZCkgewogCiAgICBjb25zdCBXQVJOID0gZmFsc2U7IC8vIE9ubHkgZm9yIDBfdXNlcmRhdGEuMDogVGhyb3dzIHdhcm5pbmcgaW4gbG9nLCBpZiBzdGF0ZSBpcyBhbHJlYWR5IGV4aXN0aW5nIGFuZCBmb3JjZT1mYWxzZS4gRGVmYXVsdCBpcyBmYWxzZSwgc28gbm8gd2FybmluZyBpbiBsb2csIGlmIHN0YXRlIGV4aXN0cy4KICAgIGNvbnN0IExPR19ERUJVRyA9IGZhbHNlOyAvLyBUbyBkZWJ1ZyB0aGlzIGZ1bmN0aW9uLCBzZXQgdG8gdHJ1ZQogICAgLy8gUGVyIGlzc3VlICM0NzQgKGh0dHBzOi8vZ2l0aHViLmNvbS9pb0Jyb2tlci9pb0Jyb2tlci5qYXZhc2NyaXB0L2lzc3Vlcy80NzQpLCB0aGUgdXNlZCBmdW5jdGlvbiBzZXRPYmplY3QoKSBleGVjdXRlcyB0aGUgY2FsbGJhY2sgCiAgICAvLyBiZWZvcmUgdGhlIHN0YXRlIGlzIGFjdHVhbCBjcmVhdGVkLiBUaGVyZWZvcmUsIHdlIHVzZSBhIHNldFRpbWVvdXQgYW5kIGNvdW50ZXIgYXMgYSB3b3JrYXJvdW5kLgogICAgY29uc3QgREVMQVkgPSA1MDsgLy8gRGVsYXkgaW4gbWlsbGlzZWNvbmRzIChtcykuIEluY3JlYXNlIHRoaXMgdG8gMTAwLCBpZiBpdCBpcyBub3Qgd29ya2luZy4KCiAgICAvLyBWYWxpZGF0ZSAid2hlcmUiCiAgICBpZiAod2hlcmUuZW5kc1dpdGgoJy4nKSkgd2hlcmUgPSB3aGVyZS5zbGljZSgwLCAtMSk7IC8vIFJlbW92ZSB0cmFpbGluZyBkb3QKICAgIGlmICggKHdoZXJlLm1hdGNoKC9eKChqYXZhc2NyaXB0XC4oWzEtOV1bMC05XXxbMC05XSkpJHwwX3VzZXJkYXRhXC4wJCkvKSA9PSBudWxsKSApIHsKICAgICAgICBsb2coJ1RoaXMgc2NyaXB0IGRvZXMgbm90IHN1cHBvcnQgdG8gY3JlYXRlIHN0YXRlcyB1bmRlciBbJyArIHdoZXJlICsgJ10nLCAnZXJyb3InKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgLy8gUHJlcGFyZSAic3RhdGVzVG9DcmVhdGUiIHNpbmNlIHdlIGFsc28gYWxsb3cgYSBzaW5nbGUgc3RhdGUgdG8gY3JlYXRlCiAgICBpZighQXJyYXkuaXNBcnJheShzdGF0ZXNUb0NyZWF0ZVswXSkpIHN0YXRlc1RvQ3JlYXRlID0gW3N0YXRlc1RvQ3JlYXRlXTsgLy8gd3JhcCBpbnRvIGFycmF5LCBpZiBqdXN0IG9uZSBhcnJheSBhbmQgbm90IGluc2lkZSBhbiBhcnJheQoKICAgIC8vIEFkZCAid2hlcmUiIHRvIFNUQVRFU19UT19DUkVBVEUKICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RhdGVzVG9DcmVhdGUubGVuZ3RoOyBpKyspIHsKICAgICAgICBsZXQgbHBQYXRoID0gc3RhdGVzVG9DcmVhdGVbaV1bMF0ucmVwbGFjZSgvXC4qXC4vZywgJy4nKTsgLy8gcmVwbGFjZSBhbGwgbXVsdGlwbGUgZG90cyBsaWtlICcuLicsICcuLi4nIHdpdGggYSBzaW5nbGUgJy4nCiAgICAgICAgbHBQYXRoID0gbHBQYXRoLnJlcGxhY2UoL14oKGphdmFzY3JpcHRcLihbMS05XVswLTldfFswLTldKVwuKXwwX3VzZXJkYXRhXC4wXC4pLywnJykgLy8gcmVtb3ZlIGFueSBqYXZhc2NyaXB0LnguIC8gMF91c2VyZGF0YS4wLiBmcm9tIGJlZ2lubmluZwogICAgICAgIGxwUGF0aCA9IHdoZXJlICsgJy4nICsgbHBQYXRoOyAvLyBhZGQgd2hlcmUgdG8gYmVnaW5uaW5nIG9mIHN0cmluZwogICAgICAgIHN0YXRlc1RvQ3JlYXRlW2ldWzBdID0gbHBQYXRoOwogICAgfQoKICAgIGlmICh3aGVyZSAhPSAnMF91c2VyZGF0YS4wJykgewogICAgICAgIC8vIENyZWF0ZSBTdGF0ZXMgdW5kZXIgamF2YXNjcmlwdC54CiAgICAgICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsKICAgICAgICBzdGF0ZXNUb0NyZWF0ZS5mb3JFYWNoKGZ1bmN0aW9uKGxvb3BQYXJhbSkgewogICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gTm93IHdlIGFyZSBjcmVhdGluZyBuZXcgc3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXScpOwogICAgICAgICAgICBsZXQgbG9vcEluaXQgPSAobG9vcFBhcmFtWzFdWydkZWYnXSA9PSB1bmRlZmluZWQpID8gbnVsbCA6IGxvb3BQYXJhbVsxXVsnZGVmJ107IC8vIG1pbWljIHNhbWUgYmVoYXZpb3IgYXMgY3JlYXRlU3RhdGUgaWYgbm8gaW5pdCB2YWx1ZSBpcyBwcm92aWRlZAogICAgICAgICAgICBjcmVhdGVTdGF0ZShsb29wUGFyYW1bMF0sIGxvb3BJbml0LCBmb3JjZSwgbG9vcFBhcmFtWzFdLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIG51bVN0YXRlcy0tOwogICAgICAgICAgICAgICAgaWYgKG51bVN0YXRlcyA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBBbGwgc3RhdGVzIHByb2Nlc3NlZC4nKTsKICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7IC8vIGV4ZWN1dGUgaWYgYSBmdW5jdGlvbiB3YXMgcHJvdmlkZWQgdG8gcGFyYW1ldGVyIGNhbGxiYWNrCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBGdW5jdGlvbiB0byBjYWxsYmFjayBwYXJhbWV0ZXIgd2FzIHByb3ZpZGVkJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgfSBlbHNlIHsKICAgICAgICAvLyBDcmVhdGUgU3RhdGVzIHVuZGVyIDBfdXNlcmRhdGEuMAogICAgICAgIGxldCBudW1TdGF0ZXMgPSBzdGF0ZXNUb0NyZWF0ZS5sZW5ndGg7CiAgICAgICAgbGV0IGNvdW50ZXIgPSAtMTsKICAgICAgICBzdGF0ZXNUb0NyZWF0ZS5mb3JFYWNoKGZ1bmN0aW9uKGxvb3BQYXJhbSkgewogICAgICAgICAgICBjb3VudGVyICs9IDE7CiAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZyAoJ1tEZWJ1Z10gQ3VycmVudGx5IHByb2Nlc3NpbmcgZm9sbG93aW5nIHN0YXRlOiBbJyArIGxvb3BQYXJhbVswXSArICddJyk7CiAgICAgICAgICAgIGlmKCAoJChsb29wUGFyYW1bMF0pLmxlbmd0aCA+IDApICYmIChleGlzdHNTdGF0ZShsb29wUGFyYW1bMF0pKSApIHsgLy8gV29ya2Fyb3VuZCBkdWUgdG8gaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3OAogICAgICAgICAgICAgICAgLy8gU3RhdGUgaXMgZXhpc3RpbmcuCiAgICAgICAgICAgICAgICBpZiAoV0FSTiAmJiAhZm9yY2UpIGxvZygnU3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXSBpcyBhbHJlYWR5IGV4aXN0aW5nIGFuZCB3aWxsIG5vIGxvbmdlciBiZSBjcmVhdGVkLicsICd3YXJuJyk7CiAgICAgICAgICAgICAgICBpZiAoIVdBUk4gJiYgTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gU3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXSBpcyBhbHJlYWR5IGV4aXN0aW5nLiBPcHRpb24gZm9yY2UgKD1vdmVyd3JpdGUpIGlzIHNldCB0byBbJyArIGZvcmNlICsgJ10uJyk7CiAgICAgICAgICAgICAgICBpZighZm9yY2UpIHsKICAgICAgICAgICAgICAgICAgICAvLyBTdGF0ZSBleGlzdHMgYW5kIHNoYWxsIG5vdCBiZSBvdmVyd3JpdHRlbiBzaW5jZSBmb3JjZT1mYWxzZQogICAgICAgICAgICAgICAgICAgIC8vIFNvLCB3ZSBkbyBub3QgcHJvY2VlZC4KICAgICAgICAgICAgICAgICAgICBudW1TdGF0ZXMtLTsKICAgICAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBBbGwgc3RhdGVzIHN1Y2Nlc3NmdWxseSBwcm9jZXNzZWQhJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBBbiBvcHRpb25hbCBjYWxsYmFjayBmdW5jdGlvbiB3YXMgcHJvdmlkZWQsIHdoaWNoIHdlIGFyZSBnb2luZyB0byBleGVjdXRlIG5vdy4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBnbyBvdXQgYW5kIGNvbnRpbnVlIHdpdGggbmV4dCBlbGVtZW50IGluIGxvb3AuCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTg0NTI5MjAvY29udGludWUtaW4tY3Vyc29yLWZvcmVhY2gKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IC8vIGlmKCFmb3JjZSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gU3RhdGUgaXMgbm90IGV4aXN0aW5nIG9yIGZvcmNlID0gdHJ1ZSwgc28gd2UgYXJlIGNvbnRpbnVpbmcgdG8gY3JlYXRlIHRoZSBzdGF0ZSB0aHJvdWdoIHNldE9iamVjdCgpLgogICAgICAgICAgICBsZXQgb2JqID0ge307CiAgICAgICAgICAgIG9iai50eXBlID0gJ3N0YXRlJzsKICAgICAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgICAgICBvYmouY29tbW9uID0gbG9vcFBhcmFtWzFdOwogICAgICAgICAgICBzZXRPYmplY3QobG9vcFBhcmFtWzBdLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgICAgIGlmIChlcnIpIHsKICAgICAgICAgICAgICAgICAgICBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3QgZm9yIHN0YXRlIFsnICsgbG9vcFBhcmFtWzBdICsgJ106ICcgKyBlcnIpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gTm93IHdlIGFyZSBjcmVhdGluZyBuZXcgc3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXScpCiAgICAgICAgICAgICAgICAgICAgbGV0IGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICcnOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGluaXQgPSBsb29wUGFyYW1bMV0uZGVmOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBzZXRTdGF0ZShsb29wUGFyYW1bMF0sIGluaXQsIHRydWUsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIHNldFN0YXRlIGR1cmNoZ2Vmw7xocnQ6ICcgKyBsb29wUGFyYW1bMF0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEZ1bmN0aW9uIHRvIGNhbGxiYWNrIHBhcmFtZXRlciB3YXMgcHJvdmlkZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICB9LCBERUxBWSArICgyMCAqIGNvdW50ZXIpICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgfQp9CgpsZXQgc3RhdGVzVG9DcmVhdGUgPSBbCiAgICAvL1N0aW1tZW4KICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uQWxleGFfU3RpbW1lbi4wMUFsZXhhJywgeyduYW1lJzonMDFBbGV4YScsICd0eXBlJzonYm9vbGVhbicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonc3dpdGNoJywgJ2RlZic6dHJ1ZSwgInNtYXJ0TmFtZSI6IHsiZGUiOiAiQWxleGEiLCJzbWFydFR5cGUiOiAiU1dJVENIIn0gfV0sCiAgICBbJ0dlcmFldGVfemFlaGxlbl9vcHRpb25hbF9BbnNhZ2VuLkFsZXhhX1N0aW1tZW4uMDJIYW5zJywgeyduYW1lJzonMDJIYW5zJywgJ3R5cGUnOidib29sZWFuJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidzd2l0Y2gnLCAnZGVmJzpmYWxzZSwgInNtYXJ0TmFtZSI6IHsiZGUiOiAiSGFucyIsInNtYXJ0VHlwZSI6ICJTV0lUQ0gifSB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uQWxleGFfU3RpbW1lbi4wM1ZpY2tpJywgeyduYW1lJzonMDNWaWNraScsICd0eXBlJzonYm9vbGVhbicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonc3dpdGNoJywgJ2RlZic6ZmFsc2UsICJzbWFydE5hbWUiOiB7ImRlIjogIlZpY2tpIiwic21hcnRUeXBlIjogIlNXSVRDSCJ9IH1dLAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5BbGV4YV9TdGltbWVuLjA0Q29uY2hpdGEnLCB7J25hbWUnOicwNENvbmNoaXRhJywgJ3R5cGUnOidib29sZWFuJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidzd2l0Y2gnLCAnZGVmJzpmYWxzZSwgInNtYXJ0TmFtZSI6IHsiZGUiOiAiQ29uY2hpdGEiLCJzbWFydFR5cGUiOiAiU1dJVENIIn0gfV0sCiAgICBbJ0dlcmFldGVfemFlaGxlbl9vcHRpb25hbF9BbnNhZ2VuLkFsZXhhX1N0aW1tZW4uMDVBbGV4YV9zc21sJywgeyduYW1lJzonMDVBbGV4YV9zc21sJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPHNwZWFrPjx2b2ljZSBuYW1lPSJBbGV4YSI+JyB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uQWxleGFfU3RpbW1lbi4wNkhhbnNfc3NtbCcsIHsnbmFtZSc6JzA2SGFuc19zc21sJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPHNwZWFrPjx2b2ljZSBuYW1lPSJIYW5zIj4nIH1dLAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5BbGV4YV9TdGltbWVuLjA3Vmlja2lfc3NtbCcsIHsnbmFtZSc6JzA3Vmlja2lfc3NtbCcsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6JzxzcGVhaz48dm9pY2UgbmFtZT0iVmlja2kiPicgfV0sCiAgICBbJ0dlcmFldGVfemFlaGxlbl9vcHRpb25hbF9BbnNhZ2VuLkFsZXhhX1N0aW1tZW4uMDhDb25jaGl0YV9zc21sJywgeyduYW1lJzonMDhDb25jaGl0YV9zc21sJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPHNwZWFrPjx2b2ljZSBuYW1lPSJDb25jaGl0YSI+JyB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uQWxleGFfU3RpbW1lbi4wOXNzbWxfZW5kZScsIHsnbmFtZSc6JzA5c3NtbF9lbmRlJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPC92b2ljZT48L3NwZWFrPicgfV0sCiAgICAvL0Fuc2FnZSBCdXR0b24KICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uQWxleGFfQW5zYWdlbi4wOUZlbnN0ZXJhbnNhZ2VfRUcnLCB7J25hbWUnOiAnMDlGZW5zdGVyYW5zYWdlJywndHlwZSc6ICdib29sZWFuJywgJ3JlYWQnOiB0cnVlLCAnd3JpdGUnOiB0cnVlLCAncm9sZSc6ICdidXR0b24nLCdkZWYnOnRydWUsICJzbWFydE5hbWUiOiB7ImRlIjogIjA5RmVuc3RlcmFuc2FnZSIsInNtYXJ0VHlwZSI6ICJTV0lUQ0gifSB9XSwgCiAgICAvL0dlcmFldGUgemFlaGxlbgogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5HZXJhZXRlX3phZWhsZW4uRUcuRmVuc3Rlcl96YWVobGVuLjAxX0FuemFobF9GZW5zdGVyX2dla2lwcHQnLCB7J25hbWUnOicwMV9BbnphaGxfRmVuc3Rlcl9nZWtpcHB0JywgJ3R5cGUnOidudW1iZXInLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidudW1iZXInLCd1bml0JzonRmVuc3RlcicsICdkZWYnOjAgfV0sCiAgICBbJ0dlcmFldGVfemFlaGxlbl9vcHRpb25hbF9BbnNhZ2VuLkdlcmFldGVfemFlaGxlbi5FRy5GZW5zdGVyX3phZWhsZW4uMDJfQW56YWhsX0ZlbnN0ZXJfb2ZmZW4nLCB7J25hbWUnOicwMl9BbnphaGxfRmVuc3Rlcl9vZmZlbicsICd0eXBlJzonbnVtYmVyJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonbnVtYmVyJywndW5pdCc6J0ZlbnN0ZXInLCAnZGVmJzowIH1dLAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5HZXJhZXRlX3phZWhsZW4uRUcuRmVuc3Rlcl96YWVobGVuLjAzX0FuemFobF9GZW5zdGVyX2dlc2NobG9zc2VuJywgeyduYW1lJzonMDNfQW56YWhsX0ZlbnN0ZXJfZ2VzY2hsb3NzZW4nLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J251bWJlcicsJ3VuaXQnOidGZW5zdGVyJywgJ2RlZic6MCB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uR2VyYWV0ZV96YWVobGVuLkVHLkZlbnN0ZXJfemFlaGxlbi4wNF9BbnphaGxfRmVuc3Rlcl9nZXNhbXQnLCB7J25hbWUnOicwNF9BbnphaGxfRmVuc3Rlcl9nZXNhbXQnLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J251bWJlcicsJ3VuaXQnOidGZW5zdGVyJywgJ2RlZic6MCB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uR2VyYWV0ZV96YWVobGVuLkVHLkZlbnN0ZXJfemFlaGxlbi4wNF8xX0FuemFobF9GZW5zdGVyX2dlb2VmZm5ldF91bmRfZ2VraXBwdF9nZXNhbXQnLCB7J25hbWUnOicwNF8xX0FuemFobF9GZW5zdGVyX2dlb2VmZm5ldF91bmRfZ2VraXBwdF9nZXNhbXQnLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J251bWJlcicsJ3VuaXQnOidGZW5zdGVyJywgJ2RlZic6MCB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uR2VyYWV0ZV96YWVobGVuLkVHLkZlbnN0ZXJfemFlaGxlbi4wNV9vZmZlbmVfZ2VraXBwdGVfRmVuc3Rlcl9MaXN0ZScsIHsnbmFtZSc6JzA1X29mZmVuZV9nZWtpcHB0ZV9GZW5zdGVyX0xpc3RlJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonbm9jaCBsZWVyJyB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uR2VyYWV0ZV96YWVobGVuLkVHLkZlbnN0ZXJfemFlaGxlbi4wNl9nZXNhbXRlX0ZlbnN0ZXJfTGlzdGUnLCB7J25hbWUnOicwNl9nZXNhbXRlX0ZlbnN0ZXJfTGlzdGUnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOidub2NoIGxlZXInIH1dLAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5HZXJhZXRlX3phZWhsZW4uRUcuRmVuc3Rlcl96YWVobGVuLjA3X2h0bWxfRmVuc3Rlcl9MaXN0ZScsIHsnbmFtZSc6JzA3X2h0bWxfRmVuc3Rlcl9MaXN0ZScsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6J25vY2ggbGVlcicgfV0sCiAgICAvL1RlbGVncmFtIE5hY2hyaWNodGVudmVyc2FuZAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5UZWxlZ3JhbS4wMVRlbGVncmFtX0ZlbnN0ZXJfVmVyc2FuZF9hbl9hdXNfRUcnLCB7J25hbWUnOicwMVRlbGVncmFtX0ZlbnN0ZXJfVmVyc2FuZF9hbl9hdXMnLCAndHlwZSc6J2Jvb2xlYW4nLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J3N3aXRjaCcsICdkZWYnOmZhbHNlIH1dLAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5UZWxlZ3JhbS4wMlRlbGVncmFtX0ZlbnN0ZXJzdGF0dXNfc2VuZGVuX0VHJywgeyduYW1lJzonMDJUZWxlZ3JhbV9GZW5zdGVyc3RhdHVzX3NlbmRlbicsICd0eXBlJzonYm9vbGVhbicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonYnV0dG9uJywgJ2RlZic6ZmFsc2UsICJzbWFydE5hbWUiOiB7ImRlIjogIlRlbGVncmFtX0ZlbnN0ZXJzdGF0dXNfc2VuZGVuIiwic21hcnRUeXBlIjogIlNXSVRDSCJ9IH1dLCAKICAgIC8vRS1NYWlsIE5hY2hyaWNodGVudmVyc2FuZAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5FTUFJTC4wMUVNYWlsX0ZlbnN0ZXJfVmVyc2FuZF9hbl9hdXNfRUcnLCB7J25hbWUnOicwMUVNYWlsX0ZlbnN0ZXJfVmVyc2FuZF9hbl9hdXMnLCAndHlwZSc6J2Jvb2xlYW4nLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J3N3aXRjaCcsICdkZWYnOmZhbHNlIH1dLAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5FTUFJTC4wMkVNYWlsX0ZlbnN0ZXJzdGF0dXNfc2VuZGVuX0VHJywgeyduYW1lJzonMDJFTWFpbF9GZW5zdGVyc3RhdHVzX3NlbmRlbicsICd0eXBlJzonYm9vbGVhbicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonYnV0dG9uJywgJ2RlZic6ZmFsc2UsICJzbWFydE5hbWUiOiB7ImRlIjogIkVNQUlMX0ZlbnN0ZXJzdGF0dXNfc2VuZGVuIiwic21hcnRUeXBlIjogIlNXSVRDSCJ9IH1dLCAKICAgIApdOwoKY3JlYXRlVXNlclN0YXRlcyhhbmxlZ2VuX2luLCBmYWxzZSwgc3RhdGVzVG9DcmVhdGUsIGZ1bmN0aW9uKCl7OwogICAgbWFpbl9lZygpOwp9KTsKCgo=</field>
                <comment pinned="false" h="80" w="160">Datenpunkte erstellen</comment>
              </block>
              <block type="procedures_defcustomnoreturn" id="Zvy_1dO.m7QsW5~:T1E*" x="12" y="112">
                <mutation statements="false">
                  <arg name="anlegen_in" varid="q-e8vKpWl@Q9cU2jes}t"></arg>
                </mutation>
                <field name="NAME">Datenpunkte_anlegen_OG</field>
                <field name="SCRIPT">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjEgKDI2IEphbnVhcnkgMjAyMCkKICogRXhhbXBsZTogICAgICAgICAgICAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWMtTS9pb2Jyb2tlci5jcmVhdGVVc2VyU3RhdGVzI2JlaXNwaWVsCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiAnMF91c2VyZGF0YS4wJyBvciAnamF2YXNjcmlwdC54Jy4KICogQHBhcmFtIHtib29sZWFufSBmb3JjZSAgICAgICAgIEZvcmNlIHN0YXRlIGNyZWF0aW9uIChvdmVyd3JpdGUpLCBpZiBzdGF0ZSBpcyBleGlzdGluZy4KICogQHBhcmFtIHthcnJheX0gc3RhdGVzVG9DcmVhdGUgIFN0YXRlKHMpIHRvIGNyZWF0ZS4gc2luZ2xlIGFycmF5IG9yIGFycmF5IG9mIGFycmF5cwogKiBAcGFyYW0ge29iamVjdH0gW2NhbGxiYWNrXSAgICAgT3B0aW9uYWw6IGEgY2FsbGJhY2sgZnVuY3Rpb24gLS0gVGhpcyBwcm92aWRlZCBmdW5jdGlvbiB3aWxsIGJlIGV4ZWN1dGVkIGFmdGVyIGFsbCBzdGF0ZXMgYXJlIGNyZWF0ZWQuCiAqLwoKZnVuY3Rpb24gY3JlYXRlVXNlclN0YXRlcyh3aGVyZSwgZm9yY2UsIHN0YXRlc1RvQ3JlYXRlLCBjYWxsYmFjayA9IHVuZGVmaW5lZCkgewogCiAgICBjb25zdCBXQVJOID0gZmFsc2U7IC8vIE9ubHkgZm9yIDBfdXNlcmRhdGEuMDogVGhyb3dzIHdhcm5pbmcgaW4gbG9nLCBpZiBzdGF0ZSBpcyBhbHJlYWR5IGV4aXN0aW5nIGFuZCBmb3JjZT1mYWxzZS4gRGVmYXVsdCBpcyBmYWxzZSwgc28gbm8gd2FybmluZyBpbiBsb2csIGlmIHN0YXRlIGV4aXN0cy4KICAgIGNvbnN0IExPR19ERUJVRyA9IGZhbHNlOyAvLyBUbyBkZWJ1ZyB0aGlzIGZ1bmN0aW9uLCBzZXQgdG8gdHJ1ZQogICAgLy8gUGVyIGlzc3VlICM0NzQgKGh0dHBzOi8vZ2l0aHViLmNvbS9pb0Jyb2tlci9pb0Jyb2tlci5qYXZhc2NyaXB0L2lzc3Vlcy80NzQpLCB0aGUgdXNlZCBmdW5jdGlvbiBzZXRPYmplY3QoKSBleGVjdXRlcyB0aGUgY2FsbGJhY2sgCiAgICAvLyBiZWZvcmUgdGhlIHN0YXRlIGlzIGFjdHVhbCBjcmVhdGVkLiBUaGVyZWZvcmUsIHdlIHVzZSBhIHNldFRpbWVvdXQgYW5kIGNvdW50ZXIgYXMgYSB3b3JrYXJvdW5kLgogICAgY29uc3QgREVMQVkgPSA1MDsgLy8gRGVsYXkgaW4gbWlsbGlzZWNvbmRzIChtcykuIEluY3JlYXNlIHRoaXMgdG8gMTAwLCBpZiBpdCBpcyBub3Qgd29ya2luZy4KCiAgICAvLyBWYWxpZGF0ZSAid2hlcmUiCiAgICBpZiAod2hlcmUuZW5kc1dpdGgoJy4nKSkgd2hlcmUgPSB3aGVyZS5zbGljZSgwLCAtMSk7IC8vIFJlbW92ZSB0cmFpbGluZyBkb3QKICAgIGlmICggKHdoZXJlLm1hdGNoKC9eKChqYXZhc2NyaXB0XC4oWzEtOV1bMC05XXxbMC05XSkpJHwwX3VzZXJkYXRhXC4wJCkvKSA9PSBudWxsKSApIHsKICAgICAgICBsb2coJ1RoaXMgc2NyaXB0IGRvZXMgbm90IHN1cHBvcnQgdG8gY3JlYXRlIHN0YXRlcyB1bmRlciBbJyArIHdoZXJlICsgJ10nLCAnZXJyb3InKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgLy8gUHJlcGFyZSAic3RhdGVzVG9DcmVhdGUiIHNpbmNlIHdlIGFsc28gYWxsb3cgYSBzaW5nbGUgc3RhdGUgdG8gY3JlYXRlCiAgICBpZighQXJyYXkuaXNBcnJheShzdGF0ZXNUb0NyZWF0ZVswXSkpIHN0YXRlc1RvQ3JlYXRlID0gW3N0YXRlc1RvQ3JlYXRlXTsgLy8gd3JhcCBpbnRvIGFycmF5LCBpZiBqdXN0IG9uZSBhcnJheSBhbmQgbm90IGluc2lkZSBhbiBhcnJheQoKICAgIC8vIEFkZCAid2hlcmUiIHRvIFNUQVRFU19UT19DUkVBVEUKICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RhdGVzVG9DcmVhdGUubGVuZ3RoOyBpKyspIHsKICAgICAgICBsZXQgbHBQYXRoID0gc3RhdGVzVG9DcmVhdGVbaV1bMF0ucmVwbGFjZSgvXC4qXC4vZywgJy4nKTsgLy8gcmVwbGFjZSBhbGwgbXVsdGlwbGUgZG90cyBsaWtlICcuLicsICcuLi4nIHdpdGggYSBzaW5nbGUgJy4nCiAgICAgICAgbHBQYXRoID0gbHBQYXRoLnJlcGxhY2UoL14oKGphdmFzY3JpcHRcLihbMS05XVswLTldfFswLTldKVwuKXwwX3VzZXJkYXRhXC4wXC4pLywnJykgLy8gcmVtb3ZlIGFueSBqYXZhc2NyaXB0LnguIC8gMF91c2VyZGF0YS4wLiBmcm9tIGJlZ2lubmluZwogICAgICAgIGxwUGF0aCA9IHdoZXJlICsgJy4nICsgbHBQYXRoOyAvLyBhZGQgd2hlcmUgdG8gYmVnaW5uaW5nIG9mIHN0cmluZwogICAgICAgIHN0YXRlc1RvQ3JlYXRlW2ldWzBdID0gbHBQYXRoOwogICAgfQoKICAgIGlmICh3aGVyZSAhPSAnMF91c2VyZGF0YS4wJykgewogICAgICAgIC8vIENyZWF0ZSBTdGF0ZXMgdW5kZXIgamF2YXNjcmlwdC54CiAgICAgICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsKICAgICAgICBzdGF0ZXNUb0NyZWF0ZS5mb3JFYWNoKGZ1bmN0aW9uKGxvb3BQYXJhbSkgewogICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gTm93IHdlIGFyZSBjcmVhdGluZyBuZXcgc3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXScpOwogICAgICAgICAgICBsZXQgbG9vcEluaXQgPSAobG9vcFBhcmFtWzFdWydkZWYnXSA9PSB1bmRlZmluZWQpID8gbnVsbCA6IGxvb3BQYXJhbVsxXVsnZGVmJ107IC8vIG1pbWljIHNhbWUgYmVoYXZpb3IgYXMgY3JlYXRlU3RhdGUgaWYgbm8gaW5pdCB2YWx1ZSBpcyBwcm92aWRlZAogICAgICAgICAgICBjcmVhdGVTdGF0ZShsb29wUGFyYW1bMF0sIGxvb3BJbml0LCBmb3JjZSwgbG9vcFBhcmFtWzFdLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIG51bVN0YXRlcy0tOwogICAgICAgICAgICAgICAgaWYgKG51bVN0YXRlcyA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBBbGwgc3RhdGVzIHByb2Nlc3NlZC4nKTsKICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7IC8vIGV4ZWN1dGUgaWYgYSBmdW5jdGlvbiB3YXMgcHJvdmlkZWQgdG8gcGFyYW1ldGVyIGNhbGxiYWNrCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBGdW5jdGlvbiB0byBjYWxsYmFjayBwYXJhbWV0ZXIgd2FzIHByb3ZpZGVkJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgfSBlbHNlIHsKICAgICAgICAvLyBDcmVhdGUgU3RhdGVzIHVuZGVyIDBfdXNlcmRhdGEuMAogICAgICAgIGxldCBudW1TdGF0ZXMgPSBzdGF0ZXNUb0NyZWF0ZS5sZW5ndGg7CiAgICAgICAgbGV0IGNvdW50ZXIgPSAtMTsKICAgICAgICBzdGF0ZXNUb0NyZWF0ZS5mb3JFYWNoKGZ1bmN0aW9uKGxvb3BQYXJhbSkgewogICAgICAgICAgICBjb3VudGVyICs9IDE7CiAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZyAoJ1tEZWJ1Z10gQ3VycmVudGx5IHByb2Nlc3NpbmcgZm9sbG93aW5nIHN0YXRlOiBbJyArIGxvb3BQYXJhbVswXSArICddJyk7CiAgICAgICAgICAgIGlmKCAoJChsb29wUGFyYW1bMF0pLmxlbmd0aCA+IDApICYmIChleGlzdHNTdGF0ZShsb29wUGFyYW1bMF0pKSApIHsgLy8gV29ya2Fyb3VuZCBkdWUgdG8gaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3OAogICAgICAgICAgICAgICAgLy8gU3RhdGUgaXMgZXhpc3RpbmcuCiAgICAgICAgICAgICAgICBpZiAoV0FSTiAmJiAhZm9yY2UpIGxvZygnU3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXSBpcyBhbHJlYWR5IGV4aXN0aW5nIGFuZCB3aWxsIG5vIGxvbmdlciBiZSBjcmVhdGVkLicsICd3YXJuJyk7CiAgICAgICAgICAgICAgICBpZiAoIVdBUk4gJiYgTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gU3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXSBpcyBhbHJlYWR5IGV4aXN0aW5nLiBPcHRpb24gZm9yY2UgKD1vdmVyd3JpdGUpIGlzIHNldCB0byBbJyArIGZvcmNlICsgJ10uJyk7CiAgICAgICAgICAgICAgICBpZighZm9yY2UpIHsKICAgICAgICAgICAgICAgICAgICAvLyBTdGF0ZSBleGlzdHMgYW5kIHNoYWxsIG5vdCBiZSBvdmVyd3JpdHRlbiBzaW5jZSBmb3JjZT1mYWxzZQogICAgICAgICAgICAgICAgICAgIC8vIFNvLCB3ZSBkbyBub3QgcHJvY2VlZC4KICAgICAgICAgICAgICAgICAgICBudW1TdGF0ZXMtLTsKICAgICAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBBbGwgc3RhdGVzIHN1Y2Nlc3NmdWxseSBwcm9jZXNzZWQhJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBBbiBvcHRpb25hbCBjYWxsYmFjayBmdW5jdGlvbiB3YXMgcHJvdmlkZWQsIHdoaWNoIHdlIGFyZSBnb2luZyB0byBleGVjdXRlIG5vdy4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBnbyBvdXQgYW5kIGNvbnRpbnVlIHdpdGggbmV4dCBlbGVtZW50IGluIGxvb3AuCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTg0NTI5MjAvY29udGludWUtaW4tY3Vyc29yLWZvcmVhY2gKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IC8vIGlmKCFmb3JjZSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gU3RhdGUgaXMgbm90IGV4aXN0aW5nIG9yIGZvcmNlID0gdHJ1ZSwgc28gd2UgYXJlIGNvbnRpbnVpbmcgdG8gY3JlYXRlIHRoZSBzdGF0ZSB0aHJvdWdoIHNldE9iamVjdCgpLgogICAgICAgICAgICBsZXQgb2JqID0ge307CiAgICAgICAgICAgIG9iai50eXBlID0gJ3N0YXRlJzsKICAgICAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgICAgICBvYmouY29tbW9uID0gbG9vcFBhcmFtWzFdOwogICAgICAgICAgICBzZXRPYmplY3QobG9vcFBhcmFtWzBdLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgICAgIGlmIChlcnIpIHsKICAgICAgICAgICAgICAgICAgICBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3QgZm9yIHN0YXRlIFsnICsgbG9vcFBhcmFtWzBdICsgJ106ICcgKyBlcnIpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gTm93IHdlIGFyZSBjcmVhdGluZyBuZXcgc3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXScpCiAgICAgICAgICAgICAgICAgICAgbGV0IGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICcnOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGluaXQgPSBsb29wUGFyYW1bMV0uZGVmOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBzZXRTdGF0ZShsb29wUGFyYW1bMF0sIGluaXQsIHRydWUsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIHNldFN0YXRlIGR1cmNoZ2Vmw7xocnQ6ICcgKyBsb29wUGFyYW1bMF0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEZ1bmN0aW9uIHRvIGNhbGxiYWNrIHBhcmFtZXRlciB3YXMgcHJvdmlkZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICB9LCBERUxBWSArICgyMCAqIGNvdW50ZXIpICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgfQp9CgpsZXQgc3RhdGVzVG9DcmVhdGUgPSBbCiAgICAvL1N0aW1tZW4KICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uQWxleGFfU3RpbW1lbi4wMUFsZXhhJywgeyduYW1lJzonMDFBbGV4YScsICd0eXBlJzonYm9vbGVhbicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonc3dpdGNoJywgJ2RlZic6dHJ1ZSwgInNtYXJ0TmFtZSI6IHsiZGUiOiAiQWxleGEiLCJzbWFydFR5cGUiOiAiU1dJVENIIn0gfV0sCiAgICBbJ0dlcmFldGVfemFlaGxlbl9vcHRpb25hbF9BbnNhZ2VuLkFsZXhhX1N0aW1tZW4uMDJIYW5zJywgeyduYW1lJzonMDJIYW5zJywgJ3R5cGUnOidib29sZWFuJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidzd2l0Y2gnLCAnZGVmJzpmYWxzZSwgInNtYXJ0TmFtZSI6IHsiZGUiOiAiSGFucyIsInNtYXJ0VHlwZSI6ICJTV0lUQ0gifSB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uQWxleGFfU3RpbW1lbi4wM1ZpY2tpJywgeyduYW1lJzonMDNWaWNraScsICd0eXBlJzonYm9vbGVhbicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonc3dpdGNoJywgJ2RlZic6ZmFsc2UsICJzbWFydE5hbWUiOiB7ImRlIjogIlZpY2tpIiwic21hcnRUeXBlIjogIlNXSVRDSCJ9IH1dLAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5BbGV4YV9TdGltbWVuLjA0Q29uY2hpdGEnLCB7J25hbWUnOicwNENvbmNoaXRhJywgJ3R5cGUnOidib29sZWFuJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidzd2l0Y2gnLCAnZGVmJzpmYWxzZSwgInNtYXJ0TmFtZSI6IHsiZGUiOiAiQ29uY2hpdGEiLCJzbWFydFR5cGUiOiAiU1dJVENIIn0gfV0sCiAgICBbJ0dlcmFldGVfemFlaGxlbl9vcHRpb25hbF9BbnNhZ2VuLkFsZXhhX1N0aW1tZW4uMDVBbGV4YV9zc21sJywgeyduYW1lJzonMDVBbGV4YV9zc21sJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPHNwZWFrPjx2b2ljZSBuYW1lPSJBbGV4YSI+JyB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uQWxleGFfU3RpbW1lbi4wNkhhbnNfc3NtbCcsIHsnbmFtZSc6JzA2SGFuc19zc21sJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPHNwZWFrPjx2b2ljZSBuYW1lPSJIYW5zIj4nIH1dLAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5BbGV4YV9TdGltbWVuLjA3Vmlja2lfc3NtbCcsIHsnbmFtZSc6JzA3Vmlja2lfc3NtbCcsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6JzxzcGVhaz48dm9pY2UgbmFtZT0iVmlja2kiPicgfV0sCiAgICBbJ0dlcmFldGVfemFlaGxlbl9vcHRpb25hbF9BbnNhZ2VuLkFsZXhhX1N0aW1tZW4uMDhDb25jaGl0YV9zc21sJywgeyduYW1lJzonMDhDb25jaGl0YV9zc21sJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPHNwZWFrPjx2b2ljZSBuYW1lPSJDb25jaGl0YSI+JyB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uQWxleGFfU3RpbW1lbi4wOXNzbWxfZW5kZScsIHsnbmFtZSc6JzA5c3NtbF9lbmRlJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPC92b2ljZT48L3NwZWFrPicgfV0sCiAgICAvL0Fuc2FnZSBCdXR0b24KICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uQWxleGFfQW5zYWdlbi4wOUZlbnN0ZXJhbnNhZ2VfT0cnLCB7J25hbWUnOiAnMDlGZW5zdGVyYW5zYWdlJywndHlwZSc6ICdib29sZWFuJywgJ3JlYWQnOiB0cnVlLCAnd3JpdGUnOiB0cnVlLCAncm9sZSc6ICdidXR0b24nLCdkZWYnOnRydWUsICJzbWFydE5hbWUiOiB7ImRlIjogIjA5RmVuc3RlcmFuc2FnZSIsInNtYXJ0VHlwZSI6ICJTV0lUQ0gifSB9XSwgCiAgICAvL0dlcmFldGUgemFlaGxlbgogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5HZXJhZXRlX3phZWhsZW4uT0cuRmVuc3Rlcl96YWVobGVuLjAxX0FuemFobF9GZW5zdGVyX2dla2lwcHQnLCB7J25hbWUnOicwMV9BbnphaGxfRmVuc3Rlcl9nZWtpcHB0JywgJ3R5cGUnOidudW1iZXInLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidudW1iZXInLCd1bml0JzonRmVuc3RlcicsICdkZWYnOjAgfV0sCiAgICBbJ0dlcmFldGVfemFlaGxlbl9vcHRpb25hbF9BbnNhZ2VuLkdlcmFldGVfemFlaGxlbi5PRy5GZW5zdGVyX3phZWhsZW4uMDJfQW56YWhsX0ZlbnN0ZXJfb2ZmZW4nLCB7J25hbWUnOicwMl9BbnphaGxfRmVuc3Rlcl9vZmZlbicsICd0eXBlJzonbnVtYmVyJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonbnVtYmVyJywndW5pdCc6J0ZlbnN0ZXInLCAnZGVmJzowIH1dLAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5HZXJhZXRlX3phZWhsZW4uT0cuRmVuc3Rlcl96YWVobGVuLjAzX0FuemFobF9GZW5zdGVyX2dlc2NobG9zc2VuJywgeyduYW1lJzonMDNfQW56YWhsX0ZlbnN0ZXJfZ2VzY2hsb3NzZW4nLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J251bWJlcicsJ3VuaXQnOidGZW5zdGVyJywgJ2RlZic6MCB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uR2VyYWV0ZV96YWVobGVuLk9HLkZlbnN0ZXJfemFlaGxlbi4wNF9BbnphaGxfRmVuc3Rlcl9nZXNhbXQnLCB7J25hbWUnOicwNF9BbnphaGxfRmVuc3Rlcl9nZXNhbXQnLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J251bWJlcicsJ3VuaXQnOidGZW5zdGVyJywgJ2RlZic6MCB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uR2VyYWV0ZV96YWVobGVuLk9HLkZlbnN0ZXJfemFlaGxlbi4wNF8xX0FuemFobF9GZW5zdGVyX2dlb2VmZm5ldF91bmRfZ2VraXBwdF9nZXNhbXQnLCB7J25hbWUnOicwNF8xX0FuemFobF9GZW5zdGVyX2dlb2VmZm5ldF91bmRfZ2VraXBwdF9nZXNhbXQnLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J251bWJlcicsJ3VuaXQnOidGZW5zdGVyJywgJ2RlZic6MCB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uR2VyYWV0ZV96YWVobGVuLk9HLkZlbnN0ZXJfemFlaGxlbi4wNV9vZmZlbmVfZ2VraXBwdGVfRmVuc3Rlcl9MaXN0ZScsIHsnbmFtZSc6JzA1X29mZmVuZV9nZWtpcHB0ZV9GZW5zdGVyX0xpc3RlJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonbm9jaCBsZWVyJyB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uR2VyYWV0ZV96YWVobGVuLk9HLkZlbnN0ZXJfemFlaGxlbi4wNl9nZXNhbXRlX0ZlbnN0ZXJfTGlzdGUnLCB7J25hbWUnOicwNl9nZXNhbXRlX0ZlbnN0ZXJfTGlzdGUnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOidub2NoIGxlZXInIH1dLAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5HZXJhZXRlX3phZWhsZW4uT0cuRmVuc3Rlcl96YWVobGVuLjA3X2h0bWxfRmVuc3Rlcl9MaXN0ZScsIHsnbmFtZSc6JzA3X2h0bWxfRmVuc3Rlcl9MaXN0ZScsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6J25vY2ggbGVlcicgfV0sCiAgICAvL1RlbGVncmFtIE5hY2hyaWNodGVudmVyc2FuZAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5UZWxlZ3JhbS4wMVRlbGVncmFtX0ZlbnN0ZXJfVmVyc2FuZF9hbl9hdXNfT0cnLCB7J25hbWUnOicwMVRlbGVncmFtX0ZlbnN0ZXJfVmVyc2FuZF9hbl9hdXMnLCAndHlwZSc6J2Jvb2xlYW4nLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J3N3aXRjaCcsICdkZWYnOmZhbHNlIH1dLAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5UZWxlZ3JhbS4wMlRlbGVncmFtX0ZlbnN0ZXJzdGF0dXNfc2VuZGVuX09HJywgeyduYW1lJzonMDJUZWxlZ3JhbV9GZW5zdGVyc3RhdHVzX3NlbmRlbicsICd0eXBlJzonYm9vbGVhbicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonYnV0dG9uJywgJ2RlZic6ZmFsc2UsICJzbWFydE5hbWUiOiB7ImRlIjogIlRlbGVncmFtX0ZlbnN0ZXJzdGF0dXNfc2VuZGVuIiwic21hcnRUeXBlIjogIlNXSVRDSCJ9IH1dLCAKICAgIC8vRS1NYWlsIE5hY2hyaWNodGVudmVyc2FuZAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5FTUFJTC4wMUVNYWlsX0ZlbnN0ZXJfVmVyc2FuZF9hbl9hdXNfT0cnLCB7J25hbWUnOicwMUVNYWlsX0ZlbnN0ZXJfVmVyc2FuZF9hbl9hdXMnLCAndHlwZSc6J2Jvb2xlYW4nLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J3N3aXRjaCcsICdkZWYnOmZhbHNlIH1dLAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5FTUFJTC4wMkVNYWlsX0ZlbnN0ZXJzdGF0dXNfc2VuZGVuX09HJywgeyduYW1lJzonMDJFTWFpbF9GZW5zdGVyc3RhdHVzX3NlbmRlbicsICd0eXBlJzonYm9vbGVhbicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonYnV0dG9uJywgJ2RlZic6ZmFsc2UsICJzbWFydE5hbWUiOiB7ImRlIjogIkVNQUlMX0ZlbnN0ZXJzdGF0dXNfc2VuZGVuIiwic21hcnRUeXBlIjogIlNXSVRDSCJ9IH1dLCAKICAgIApdOwoKY3JlYXRlVXNlclN0YXRlcyhhbmxlZ2VuX2luLCBmYWxzZSwgc3RhdGVzVG9DcmVhdGUsIGZ1bmN0aW9uKCl7OwogICAgbWFpbl9vZygpOwp9KTsKCgo=</field>
                <comment pinned="false" h="80" w="160">Datenpunkte erstellen</comment>
              </block>
              <block type="procedures_callcustomnoreturn" id="jF?p*bfL@wiJRZXO9]+}" x="12" y="162">
                <mutation name="Datenpunkte_anlegen_EG">
                  <arg name="anlegen_in"></arg>
                </mutation>
                <value name="ARG0">
                  <block type="text" id="(F_d$2%z]Oc$;UCfCU=h">
                    <field name="TEXT">javascript.0</field>
                  </block>
                </value>
                <next>
                  <block type="procedures_callcustomnoreturn" id="tA~^OS%}Fy.}/{4Zc4lA">
                    <mutation name="Datenpunkte_anlegen_OG">
                      <arg name="anlegen_in"></arg>
                    </mutation>
                    <value name="ARG0">
                      <block type="text" id="^}uKX/c.8x0ClcNS*J18">
                        <field name="TEXT">javascript.0</field>
                      </block>
                    </value>
                  </block>
                </next>
              </block>
              <block type="procedures_defnoreturn" id="K`--nJY%DS|!u4N4*0F:" x="12" y="312">
                <field name="NAME">main_eg</field>
                <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
              </block>
              <block type="procedures_defnoreturn" id="(ZQhT?Uu8=m$`[Sd3;yx" x="12" y="388">
                <field name="NAME">main_og</field>
                <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
              </block>
            </xml>
            

            flkontakt 1 Reply Last reply Reply Quote 0
            • D
              DocGame @dslraser last edited by

              @dslraser Das ist ja höchst ominös mit den 2 unbekannten Sensoren...
              Bin mal mit meinen Garagensensoren (oben und unten) von MiHome auf Zigbee umgestiegen und habe diese auf MiHome scheinbar nicht abgemeldet. Jetzt sind Sie in beiden drin und zeigen sogar in beiden Adaptern die korrekten Werte. Bin immer davon ausgegangen, das dies nicht geht. Die MiHome hatte ich nicht mehr den Fenster.enum zugewiesen. Scheinbar hat dein Blockly diese trotzdem gefunden aber nicht zugewiesen. Wenn ich diese "Fenster" zuweise wird alles korrekt angezeigt (die 2 eben doppelt).
              Wg. der RAW's der "Licht" Geräte aus dem anderen Post werde ich mich noch melden. Du meinst aber auch, das das Anlegen einer neuen Aufzählung nur mit dem Power State dein Blockly schon einmal beruhigen würde?

              dslraser 1 Reply Last reply Reply Quote 0
              • dslraser
                dslraser Forum Testing Most Active @DocGame last edited by dslraser

                @DocGame sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                nur mit dem Power State

                im Moment werden nur diese gefunden. (beim Licht Blockly)

                .on
                .STATE
                .state

                Edit: und in die Aufzählung immer nur einen state packen (nicht einen ganzen Kanal), mit dem Du das Licht an/aus schalten kannst.

                D 1 Reply Last reply Reply Quote 0
                • D
                  DocGame @dslraser last edited by DocGame

                  @dslraser sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                  @DocGame sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                  nur mit dem Power State

                  im Moment werden nur diese gefunden. (beim Licht Blockly)

                  .on
                  .STATE
                  .state

                  Mich irritiert eben, dass das Fenster-Blockly auch die 2 Geräte ohne Zuweisung auf die Fenster.enum anhand des "is opened" State die Geräte gefunden hat.
                  Nicht das er bei dem gescheiterten Licht-Versuch States aus anderen Geräten (BWM, Steckdosen usw.) berücksichtigt hat und dadurch getilt ist.
                  Sicherheitshalber werde ich die "komplette" zuweisung auf Lichtgeraete.enum nehmen und in Licht nur den jeweilige On/Off State in Licht.enum nehmen. Ist doch sicherlich kein Fehler, da es in deinem Blockly ja nur um Zustandsanzeigen geht....oder?
                  Hier mal die Datenpunkte eines Yeelight(RGB) und eines Zigbee-Leuchtmittels(Weiß)
                  LichtDatenpunkteYeelight.JPG
                  LichtDatenpunkteZigbee-White.JPG
                  Edit: Habe deinen vorherigen Post leider nicht gesehen. die Frage hat sich dann ja erledigt.

                  dslraser 1 Reply Last reply Reply Quote 0
                  • dslraser
                    dslraser Forum Testing Most Active @DocGame last edited by

                    @DocGame
                    Danke für die Bilder, aber der ein RAW in Code Tags wäre besser zum testen. (den kann ich bei mir einfügen)

                    D 1 Reply Last reply Reply Quote 0
                    • D
                      DocGame @dslraser last edited by DocGame

                      @dslraser sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                      @DocGame
                      Danke für die Bilder, aber der ein RAW in Code Tags wäre besser zum testen. (den kann ich bei mir einfügen)

                      Hier ein "Switch State" vom Zigbee-Adapter:

                      {
                        "from": "system.adapter.zigbee.0",
                        "user": "system.user.admin",
                        "ts": 1583356481398,
                        "common": {
                          "name": "Kinderdecke 1 Switch state",
                          "type": "boolean",
                          "role": "switch",
                          "smartType": "SWITCH",
                          "read": true,
                          "write": true
                        },
                        "native": {},
                        "acl": {
                          "object": 1636,
                          "owner": "system.user.admin",
                          "ownerGroup": "system.group.administrator",
                          "state": 1636
                        },
                        "_id": "zigbee.0.7cb03eaa0a050960.state",
                        "type": "state"
                      }
                      
                      

                      und hier Yeelight:

                      {
                        "type": "state",
                        "common": {
                          "name": "power",
                          "role": "switch",
                          "write": true,
                          "read": true,
                          "type": "boolean",
                          "smartName": {
                            "de": "",
                            "smartType": "LIGHT"
                          },
                          "custom": {
                            "iot.0": {
                              "smartName": {
                                "smartType": "LIGHT"
                              }
                            }
                          }
                        },
                        "native": {},
                        "from": "system.adapter.yeelight-2.0",
                        "user": "system.user.admin",
                        "ts": 1567203791546,
                        "_id": "yeelight-2.0.Fernsehlicht.control.power",
                        "acl": {
                          "object": 1636,
                          "state": 1636
                        }
                      }
                      

                      WLED:

                      {
                        "type": "state",
                        "common": {
                          "name": "On / Off",
                          "role": "switch",
                          "type": "boolean",
                          "unit": "",
                          "write": true,
                          "read": true
                        },
                        "native": {},
                        "from": "system.adapter.wled.0",
                        "user": "system.user.admin",
                        "ts": 1589284310155,
                        "_id": "wled.0.84f3eb73d78e.on",
                        "acl": {
                          "object": 1636,
                          "state": 1636,
                          "owner": "system.user.admin",
                          "ownerGroup": "system.group.administrator"
                        }
                      }
                      
                      1 Reply Last reply Reply Quote 1
                      • dslraser
                        dslraser Forum Testing Most Active @dirk1962 last edited by

                        @dirk1962 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                        Das wäre echt super. Habe wahrscheinlich noch genügend Zeit zum Testen.

                        Steckdosen sind jetzt oben drinn. Ich hoffe es passt und es gibt keine anderen Fehler. Die "sortieren Geschichte" war/ist ein größerer Umbau (intern im Blockly). Datenpunkte können alle bleiben, es braucht nichts gelöscht zu werden.

                        D dirk1962 2 Replies Last reply Reply Quote 0
                        • flkontakt
                          flkontakt @dslraser last edited by

                          @dslraser werde ich testen, vielen Dank!!!

                          1 Reply Last reply Reply Quote 0
                          • D
                            DocGame @dslraser last edited by

                            @dslraser
                            die Fehler bei "Licht" kommen jetzt Gott sei Dank nicht mehr....
                            Allerdings ist die Anzeige auch nich recht Bescheiden:
                            Licht_IQontrol.JPG

                            dslraser 1 Reply Last reply Reply Quote 0
                            • dslraser
                              dslraser Forum Testing Most Active @DocGame last edited by

                              @DocGame
                              ja, schaue ich mir an, aber das dauert etwas...

                              D 1 Reply Last reply Reply Quote 0
                              • D
                                DocGame @dslraser last edited by

                                @dslraser sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                                @DocGame
                                ja, schaue ich mir an, aber das dauert etwas...

                                Kein Thema....Ist ja eh super wie Hilfsbereit du bist.
                                Muss auch mal wieder nach dem Frauchen schauen 😊

                                1 Reply Last reply Reply Quote 0
                                • siggi85
                                  siggi85 last edited by

                                  @dslraser Ich habe Xiaomi Fenstersensoren mit deconz eingebunden und die werden als Sensor unbekannt erkannt. Anbei der RAW von einem der Datenpunkte.


                                  {
                                  "from": "system.adapter.deconz.0",
                                  "ts": 1555133853429,
                                  "common": {
                                  "name": "Fenster Bad open",
                                  "type": "boolean",
                                  "role": "state",
                                  "read": true,
                                  "write": false
                                  },
                                  "native": {},
                                  "acl": {
                                  "object": 1636,
                                  "owner": "system.user.admin",
                                  "ownerGroup": "system.group.administrator",
                                  "state": 1636
                                  },
                                  "_id": "deconz.0.Sensors.20.open",
                                  "type": "state"
                                  }

                                  dslraser 1 Reply Last reply Reply Quote 0
                                  • dslraser
                                    dslraser Forum Testing Most Active @siggi85 last edited by

                                    @siggi85 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                                    Xiaomi Fenstersensoren mit deconz

                                    okay, das habe ich nun auch drinn. Update kommt demnächst dann im ersten Beitrag.

                                    Bildschirmfoto 2020-05-14 um 20.41.27.png

                                    1 Reply Last reply Reply Quote 1
                                    • dirk1962
                                      dirk1962 @dslraser last edited by

                                      @dslraser sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                                      Steckdosen sind jetzt oben drin. Ich hoffe es passt und es gibt keine anderen Fehler. Die "sortieren Geschichte" war/ist ein größerer Umbau (intern im Blockly). Datenpunkte können alle bleiben, es braucht nichts gelöscht zu werden.

                                      Perfekt, Sortierung ist alphabetisch sowohl für aktive als auch für inaktive Aktoren. Ansage über Alexa und E-Mail Versand sind ebenfalls okay.
                                      Durch die Vereinfachung der Eingaben war das neue Blockly in 1 min eingerichtet und einsatzbereit.
                                      Top Arbeit.👏 👏

                                      dslraser 1 Reply Last reply Reply Quote 1
                                      • falke69
                                        falke69 last edited by

                                        @dslraser

                                        wenn ich das Script Fenster zählen vom 05.05. nehme stimmt die 04_Anzahl_Fenster_gesamt mit meinen Fenstern überein. Jetzt habe ich das aktuelle Script verwendet und mir werden statt 11 Fenster 18 Fenster angezeigt.
                                        Zähle ich die Fenster in der 06_gesamte_Fenster_Liste zusammen, komme ich auch nur auf 11 Fenster. Ich kann leider nicht genau sagen, ob das bei einer der von Dir kürzlich aktuallisierten Scripte auch der Fall war - ist mir nur jetzt erst aufgefallen.
                                        Irgendwann werde ich die Anzahl der Fensterkontakte noch erweitern - vielleicht sogar auf 18. 🙂

                                        dslraser 1 Reply Last reply Reply Quote 0
                                        • dslraser
                                          dslraser Forum Testing Most Active @falke69 last edited by

                                          @falke69 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                                          wenn ich das Script Fenster zählen vom 05.05. nehme stimmt die 04_Anzahl_Fenster_gesamt mit meinen Fenstern überein.

                                          welche Fenstersensoren hast Du ?

                                          falke69 1 Reply Last reply Reply Quote 0
                                          • falke69
                                            falke69 @dslraser last edited by

                                            @dslraser

                                            ich habe von HomeMatic
                                            Funk-Fenster-Drehgriffkontakte (hm-sec-rhs)
                                            und
                                            Funk-Tür-Fensterkontakte (HM-Sec-SC) an den Fenstern verbaut.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            669
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly javascript
                                            41
                                            1186
                                            346349
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo