Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter shuttercontrol v2.0.x

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Test Adapter shuttercontrol v2.0.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • simatec
      simatec Developer Most Active @guitardoc last edited by

      @guitardoc Hier wäre erstmal der States inkl. Script, welcher den State schaltet interessant.

      0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.Kombination_der_Kontaktsensoren

      Wird Ack gesetzt, was macht der Script etc...

      Du manipulierst mit deinen Scripten States und ich soll so debuggen? Das geht nicht...

      G 1 Reply Last reply Reply Quote 0
      • G
        guitardoc @simatec last edited by

        @simatec said in Test Adapter shuttercontrol v1.7.x:

        Wird Ack gesetzt

        Ich hole mir zunächst von den Geräten die Datenpunkte, die ich für Skripte brauche, in Alias-Datenpunkte. In den Skripten arbeite ich ausschließlich mit diesen und schreibe Ausgaben in Datenpunkte unter 0_userdata mittels "steuere", z.B.

        f541a3c7-b827-4726-91d9-ffdaf4e11572-image.png

        Wenn ich es richtig verstände habe, dann wird Ack nicht gesetzt.

        simatec 1 Reply Last reply Reply Quote 0
        • simatec
          simatec Developer Most Active @guitardoc last edited by

          @guitardoc das ist nicht der Script für die Kontaktsensoren... Ack sollte immer gesetzt werden

          G 1 Reply Last reply Reply Quote 0
          • G
            guitardoc @simatec last edited by

            @simatec Hier mal das Script für die Kombination der Kontaktsensoren:
            32f8f317-52a0-44e9-8780-638281d9c664-image.png

            simatec 1 Reply Last reply Reply Quote 0
            • simatec
              simatec Developer Most Active @guitardoc last edited by

              @guitardoc Gehe mal bitte in dem Script oben rechts in die Menüleiste und lasse es dir als Javascript anzeigen.
              Die Ausgabe bitte mal posten

              G 1 Reply Last reply Reply Quote 0
              • G
                guitardoc @simatec last edited by

                @simatec

                var k1, k2, k;
                
                
                // Wohnzimmer Tür zur Terrasse
                on({ id: [].concat(['0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.Virtueller_Kontaktsensor']).concat(['0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.offen_geschlossen/angekippt']), change: 'ne' }, async (obj) => {
                  k1 = getState('0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.Virtueller_Kontaktsensor').val;
                  k2 = getState('0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.offen_geschlossen/angekippt').val;
                  k = false;
                  if ((k1 == true) || (k2 == true)) {
                    k = true;
                  }
                  setState('0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.Kombination_der_Kontaktsensoren' /* Kombination der Kontaktsensoren Wohnzimmer Tür zur Terrasse */, k);
                });
                // Gästezimmer
                on({ id: [].concat(['0_userdata.0.Fenster.Gästezimmer.Virtueller_Kontaktsensor']).concat(['alias.0.Fenster.Gästezimmer.Offen']), change: 'ne' }, async (obj) => {
                  k1 = getState('0_userdata.0.Fenster.Gästezimmer.Virtueller_Kontaktsensor').val;
                  k2 = getState('alias.0.Fenster.Gästezimmer.Offen').val;
                  k = false;
                  if ((k1 == true) || (k2 == true)) {
                    k = true;
                  }
                  setState('0_userdata.0.Fenster.Gästezimmer.Kombination_der_Kontaktsensoren' /* Kombination der Kontaktsensoren Gästezimmer */, k);
                });
                // Schlafzimmer
                on({ id: [].concat(['0_userdata.0.Fenster.Schlafzimmer.Virtueller_Kontaktsensor']).concat(['0_userdata.0.Fenster.Schlafzimmer.offen_geschlossen/angekippt']), change: 'ne' }, async (obj) => {
                  k1 = getState('0_userdata.0.Fenster.Schlafzimmer.Virtueller_Kontaktsensor').val;
                  k2 = getState('0_userdata.0.Fenster.Schlafzimmer.offen_geschlossen/angekippt').val;
                  k = false;
                  if ((k1 == true) || (k2 == true)) {
                    k = true;
                  }
                  setState('0_userdata.0.Fenster.Schlafzimmer.Kombination_der_Kontaktsensoren' /* Kombination der Kontaktsensoren Schlafzimmer */, k);
                });
                
                //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyalJnYTMhZ0RYeEEhNGJ4SSUzQk16JTVFJTIyJTNFazElM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJFNGVqLTBsNjE2JTdESCUzQVUlNjBUJTNBJTVFJTdDJTNCJTIyJTNFazIlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJNMkxWRmMuSFhtJTNCQTVhekElMkNuQiUyNSUyMiUzRWslM0MlMkZ2YXJpYWJsZSUzRSUzQyUyRnZhcmlhYmxlcyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMllPQWM5Ti4lMjM5M3IzbyElN0N4JTI0dXUhJTIyJTIweCUzRCUyMjExMyUyMiUyMHklM0QlMjIzOCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0VXb2huemltbWVyJTIwVCVDMyVCQ3IlMjB6dXIlMjBUZXJyYXNzZSUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX2V4dCUyMiUyMGlkJTNEJTIyJTQwLXlffml6MFdMJTI1N3g5JTNGJTdCZk1QRCUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGl0ZW1zJTNEJTIyMiUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFbmUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRDAlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJSIUMhJTQwcUNrMXM4JTNBKW4lN0JJV1dmVyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRTBfdXNlcmRhdGEuMC5GZW5zdGVyLldvaG56aW1tZXIuVCVDMyVCQ3JfenVyX1RlcnJhc3NlLlZpcnR1ZWxsZXJfS29udGFrdHNlbnNvciUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQxJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyZzh6IThnJTdCMyUyQjVITlFkViU2MDhlJTVFdiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRTBfdXNlcmRhdGEuMC5GZW5zdGVyLldvaG56aW1tZXIuVCVDMyVCQ3JfenVyX1RlcnJhc3NlLm9mZmVuX2dlc2NobG9zc2VuJTJGYW5nZWtpcHB0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjIuQUhqbHpaOCpnJTdEJTIzMm5qbGhpdWElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMmpSZ2EzIWdEWHhBITRieEklM0JNeiU1RSUyMiUzRWsxJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZV92YXIlMjIlMjBpZCUzRCUyMmdBfiUyRlYzZ3N2VlNOJTI1bSUyQi5uUFA5JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyJTJCJTI1NDUlNUVjYi4lM0ROeEctRHdhQTA3TCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRTBfdXNlcmRhdGEuMC5GZW5zdGVyLldvaG56aW1tZXIuVCVDMyVCQ3JfenVyX1RlcnJhc3NlLlZpcnR1ZWxsZXJfS29udGFrdHNlbnNvciUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMk8udjklM0ZmUmolN0RTdSUyQ0ZyNmQlN0J+azIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMkU0ZWotMGw2MTYlN0RIJTNBVSU2MFQlM0ElNUUlN0MlM0IlMjIlM0VrMiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWVfdmFyJTIyJTIwaWQlM0QlMjJJJTNEQSE4JTNEREpwKXZVYVpmXypLeGQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJsJTI1aTdoayU1QiU3QyU3QjJpQVZfeiUzRkklM0ZmXyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRTBfdXNlcmRhdGEuMC5GZW5zdGVyLldvaG56aW1tZXIuVCVDMyVCQ3JfenVyX1RlcnJhc3NlLm9mZmVuX2dlc2NobG9zc2VuJTJGYW5nZWtpcHB0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIybyU3Q2olN0Jhfi1CUkQwRyUyQlZJJTJDUE0lM0Q4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJNMkxWRmMuSFhtJTNCQTVhekElMkNuQiUyNSUyMiUzRWslM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyLXclMjRzZnlYOVozVCUyNGJtciUzQiUzRmglM0R2JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjI0cSUzQWdjOHRnZTRLTU5WTzMhJTYweUMlMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19tdWx0aV9vciUyMiUyMGlkJTNEJTIyKjBTKUg1JTI1V2hHZDJhLml+OF8uJTdDJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwaXRlbXMlM0QlMjIyJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPUjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjJpKVdGJTdEUSU3QjQxJTJDUVF5U29OfkxTZCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjI4fkslNjB6R0JhJTJDaUhpVSU1RGVQJTJGJTdDJTVFJTQwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJqUmdhMyFnRFh4QSE0YnhJJTNCTXolNUUlMjIlM0VrMSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJfYiU2ME85dFp5JTdCTEthJTIzWUxpJTI1TmJ6JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT1IxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIydjJqTCplN0VhY21TKiUyNSUyRiklM0ItJTQwXyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjIlN0MlM0YlMjRVKUIteFVyU3RpUSU3RElzJTNEVjglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMkU0ZWotMGw2MTYlN0RIJTNBVSU2MFQlM0ElNUUlN0MlM0IlMjIlM0VrMiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjI2JTJGJTVCcyU0MEd5JTI1NCpmcyUyQ2t+fjguYjYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiUyMzlZLlBoLWklMkIlNjBWcyU0MCU1RHolNDAlM0EtMjMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMk0yTFZGYy5IWG0lM0JBNWF6QSUyQ25CJTI1JTIyJTNFayUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJ6cnM4a2FHVUxMY25KZUNfJTdDJTNCWiUyQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIydjglMjMlMkZrMiU3QzQlNUQlM0QlNDBUMiU1QnBlJTdEWWElN0IlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuRmVuc3Rlci5Xb2huemltbWVyLlQlQzMlQkNyX3p1cl9UZXJyYXNzZS5Lb21iaW5hdGlvbl9kZXJfS29udGFrdHNlbnNvcmVuJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyQ3l0NSU3RFEuLWxuNzZtcnElMkZfdWhCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJNMkxWRmMuSFhtJTNCQTVhekElMkNuQiUyNSUyMiUzRWslM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjJELTdzSDhXR0diRFdWZlpNKHBZVSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0VHJUMzJUE0c3RlemltbWVyJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fZXh0JTIyJTIwaWQlM0QlMjJrTShqKnhyVSU1RCkyJTQwcyU1RTNZJTJGcVIlM0YlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBpdGVtcyUzRCUyMjIlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRW5lJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBQ0tfQ09ORElUSU9OJTIyJTNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQwJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyJTI1KSUyMzRvYyU1RWIoaVNRR24tNUFsV3AlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0UwX3VzZXJkYXRhLjAuRmVuc3Rlci5HJUMzJUE0c3RlemltbWVyLlZpcnR1ZWxsZXJfS29udGFrdHNlbnNvciUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQxJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyLiUyQlowKCU2MCUyNCUyRmZ3JTVEMyU1RCU3Q1ZMQnklN0R4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFYWxpYXMuMC5GZW5zdGVyLkclQzMlQTRzdGV6aW1tZXIuT2ZmZW4lM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMndiZ0cxbzhsZjVZKTIpdkh1SXolM0ElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMmpSZ2EzIWdEWHhBITRieEklM0JNeiU1RSUyMiUzRWsxJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZV92YXIlMjIlMjBpZCUzRCUyMlhMciU3QyU2MCU2MHk3WGNHIV9lSVduJTYwYkMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJ+azglNDA3JTdEJTdDdyU3QiU1QiUyQiUzQVouaE9qN0x4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFMF91c2VyZGF0YS4wLkZlbnN0ZXIuRyVDMyVBNHN0ZXppbW1lci5WaXJ0dWVsbGVyX0tvbnRha3RzZW5zb3IlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJ3KiUzRkhxJTJGJTJDUnV2SU9VKEN1cFI4MSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyRTRlai0wbDYxNiU3REglM0FVJTYwVCUzQSU1RSU3QyUzQiUyMiUzRWsyJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZV92YXIlMjIlMjBpZCUzRCUyMl9CWl9tM0lmUmlTbSooJTJDRlhMciElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjIuRyUzQUVLaCUyNEYlM0FDOSUyM3MqSjcpMSU1RCU3RCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRWFsaWFzLjAuRmVuc3Rlci5HJUMzJUE0c3RlemltbWVyLk9mZmVuJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIySSUyRkE0WkNuUGglNUI5VH41Q2ElN0QlNDAlMjRhJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJNMkxWRmMuSFhtJTNCQTVhekElMkNuQiUyNSUyMiUzRWslM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyVCUyQjNpJTdEJTVCVjVQJTVFbGwlNjB2KDUlNURuJTVCNCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyJTNCJTVCbjM4X2FOTVVFTSUzRl8xeEJNJTNCJTYwJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfbXVsdGlfb3IlMjIlMjBpZCUzRCUyMjJ6QU4lN0NtJTNENnBLJTYwYVIlMjRGbWwlM0FEZyUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGl0ZW1zJTNEJTIyMiUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT1IwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyRGM5NUs3WVBkJTNGbTZvSlhVJTJDOXpiJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VFUSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMnAyTFpQSXYlN0IlM0FLMGtxJTdDMXhqR28lNDAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMmpSZ2EzIWdEWHhBITRieEklM0JNeiU1RSUyMiUzRWsxJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMm1mRElDRGslM0FpRyUzQWJQeHBwJTI0RyU3RDElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPUjElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjJVZm01bUUlNUJTRFdlOHQlM0ZGQ2RIdyU1QiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJ2RUhFVHYlMjRvb2c5Q1h5RUkzJTVFRSU3QyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyRTRlai0wbDYxNiU3REglM0FVJTYwVCUzQSU1RSU3QyUzQiUyMiUzRWsyJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMihOfiU1RTM0NiU3Q3pyb245JTI0VyUyQmhjbU4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMnQlNURoJTVFJTNBTEoyVWxLandvdWElMjRCa1IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMk0yTFZGYy5IWG0lM0JBNWF6QSUyQ25CJTI1JTIyJTNFayUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJWNklWNDQhM1ZhMDN5JTNCR09CbFI3JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjIlMjQlNUVjJTVCTG1ITyU3QmVLRWFKUi5OaElSJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLkZlbnN0ZXIuRyVDMyVBNHN0ZXppbW1lci5Lb21iaW5hdGlvbl9kZXJfS29udGFrdHNlbnNvcmVuJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTI1ZW1WKCUyNVAlMjROflBndUZiV3ZVJTNCeiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyTTJMVkZjLkhYbSUzQkE1YXpBJTJDbkIlMjUlMjIlM0VrJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIyTGwlMjNldGk3MiU3RGpteW5jTCUyNE5jUkQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFU2NobGFmemltbWVyJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fZXh0JTIyJTIwaWQlM0QlMjIoX1Z3JTVEKTczMlhnJTNEJTJCMCUyQmNOSSU3RGMlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBpdGVtcyUzRCUyMjIlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRW5lJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBQ0tfQ09ORElUSU9OJTIyJTNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQwJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyWEVLSFQoQXU1YkpqfiUzRiUzQktMSiF0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFMF91c2VyZGF0YS4wLkZlbnN0ZXIuU2NobGFmemltbWVyLlZpcnR1ZWxsZXJfS29udGFrdHNlbnNvciUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQxJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyJTNGTjVwJTI1QyU3REQlNjBTZCElMjVBJTQwM0olN0IzRCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRTBfdXNlcmRhdGEuMC5GZW5zdGVyLlNjaGxhZnppbW1lci5vZmZlbl9nZXNjaGxvc3NlbiUyRmFuZ2VraXBwdCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyZU1tSlBGdiF3MzhidFlpSyUzQWMlM0JMJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJqUmdhMyFnRFh4QSE0YnhJJTNCTXolNUUlMjIlM0VrMSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWVfdmFyJTIyJTIwaWQlM0QlMjIlMjVPJTNCTzMtSUE5aCUyNSk2JTNENksuZyUzQiUzRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMnR3WiUyQlhObmNhQyU0MGklNjAlMjQ0JTNGViUyQ0h0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFMF91c2VyZGF0YS4wLkZlbnN0ZXIuU2NobGFmemltbWVyLlZpcnR1ZWxsZXJfS29udGFrdHNlbnNvciUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMkl2b1FRMGMlMkNSeHMyXzFKLW5KenMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMkU0ZWotMGw2MTYlN0RIJTNBVSU2MFQlM0ElNUUlN0MlM0IlMjIlM0VrMiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWVfdmFyJTIyJTIwaWQlM0QlMjJnJTNBJTNCME5KZVZPJTNBUlNTJTI1RXd1JTQwRiUyNCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMi1PVVdofnN0OW5aJTNGKSUyNVl6bWpEdiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRTBfdXNlcmRhdGEuMC5GZW5zdGVyLlNjaGxhZnppbW1lci5vZmZlbl9nZXNjaGxvc3NlbiUyRmFuZ2VraXBwdCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMkJNY34lMjVpZ0olM0IqZ2htTlRnJTI0VU9OJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJNMkxWRmMuSFhtJTNCQTVhekElMkNuQiUyNSUyMiUzRWslM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyTzNVciU1RCUyNVRtMyUyNWcoJTIzUyklMkJOMEclMjQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMmIlMjN3RlRBVHNVKSklNDB2V003Y0VVJTdEJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfbXVsdGlfb3IlMjIlMjBpZCUzRCUyMktIYSU1RCElMkIlN0IlM0J1JTdENkQ1JTI0UDZMKE4xJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwaXRlbXMlM0QlMjIyJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPUjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjIlN0MuUURISVREJTI0JTdDbk8lN0MlN0Rod2FZZlIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyXzUlN0MlNDBCRSolN0IlN0Mzc0UlN0MlMkNiJTdCU28lNUJHJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJqUmdhMyFnRFh4QSE0YnhJJTNCTXolNUUlMjIlM0VrMSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJaNiE3ZnpQWEV5TSUyQk8tRyptMHZSJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT1IxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyR2ElM0RIV2NrVXppRFQlNDAxbSUyQ2dINyglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyQVJhJTdCVXd6ZWZvLSUyQjBYb0hHcklMJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJFNGVqLTBsNjE2JTdESCUzQVUlNjBUJTNBJTVFJTdDJTNCJTIyJTNFazIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyJTJDSClnTlUtZiFXdmtwKCUzQkdsNlhFJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjIlNjBwRUUlM0JURSUyNTQlMjNpLiElN0MlN0RsUDlDciUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyTTJMVkZjLkhYbSUzQkE1YXpBJTJDbkIlMjUlMjIlM0VrJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMiU2MHMqTTVjeSUyQnFwJTdDZmQwU3U0RyUzRkslMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMk5uJTNGeVJydWpobVRYJTYwMH4lNURNUSUzQSUzRCUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5GZW5zdGVyLlNjaGxhZnppbW1lci5Lb21iaW5hdGlvbl9kZXJfS29udGFrdHNlbnNvcmVuJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyd1ZPJTVCaSU3QzduOFd3aSglMkZSYUM1M2slMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMk0yTFZGYy5IWG0lM0JBNWF6QSUyQ25CJTI1JTIyJTNFayUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ4bWwlM0U=
                
                simatec 1 Reply Last reply Reply Quote 0
                • simatec
                  simatec Developer Most Active @guitardoc last edited by simatec

                  @guitardoc

                  // Wohnzimmer Tür zur Terrasse
                  on({ id: [].concat(['0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.Virtueller_Kontaktsensor']).concat(['0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.offen_geschlossen/angekippt']), change: 'ne' }, async (obj) => {
                    const k1 = await getStateAsync('0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.Virtueller_Kontaktsensor');
                    const k2 = await getStateAsync('0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.offen_geschlossen/angekippt');
                    const k = await getStateAsync('0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.Kombination_der_Kontaktsensoren');
                  
                    await setStateAsync('0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.Kombination_der_Kontaktsensoren' /* Kombination der Kontaktsensoren Wohnzimmer Tür zur Terrasse */, (k1.val || k2.val) && !k.val ? true : false, true);
                  });
                  

                  Und alle Scripte prüfen, dass überall die States sauber mit ack gesetzt werden

                  Homoran 1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @simatec last edited by Homoran

                    @simatec sagte in Test Adapter shuttercontrol v1.7.x:

                    Und alle Scripte prüfen, dass überall die States sauber mit ack gesetzt werden

                    @guitardoc
                    übersetzt für Blockly:
                    nimm aktualisiere und nicht steuere

                    simatec G 2 Replies Last reply Reply Quote 1
                    • simatec
                      simatec Developer Most Active @Homoran last edited by

                      @homoran Da mache ich doch mal ein wenig Werbung für unseren Matthias mit seinem befreundeten Youtubekanal.

                      @haus-automatisierung hat dazu ein schönes Video gemacht

                      1 Reply Last reply Reply Quote 2
                      • G
                        guitardoc @Homoran last edited by

                        @homoran said in Test Adapter shuttercontrol v1.7.x:

                        nimm aktualisiere und nicht steuere

                        Vielen Dank für die Info! Das werde ich gleich einbauen!
                        Ich hatte mich da an Blocklys für Dummies gehalten, wo stand, dass es (in den meisten Fällen) nur eine kosmetische Sache ist.

                        Eine Frage noch - was muss ich in Blockly nehmen für await getStateAsync?

                        haus-automatisierung 1 Reply Last reply Reply Quote 0
                        • haus-automatisierung
                          haus-automatisierung Developer Most Active @guitardoc last edited by

                          @guitardoc sagte in Test Adapter shuttercontrol v1.7.x:

                          dass es (in den meisten Fällen) nur eine kosmetische Sache ist.

                          Ist es leider oft nicht. Bitte einfach richtig machen und entweder die Werte selbst mit einem eigenen Script bestätigen (weil man etwas tun möchte, nachdem der Wert angesteuert wird) oder direkt bestätigt setzen.

                          Ersteres ist ja mit dem "neuen" bestätige-Baustein nochmal deutlich einfacher geworden:

                          Screenshot 2024-06-11 at 19.42.20.png

                          Siehe https://forum.iobroker.net/topic/75237/javascript-8-5-2-blockly-10-bausteine-überarbeitet

                          Homoran 1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @haus-automatisierung last edited by

                            @haus-automatisierung sagte in Test Adapter shuttercontrol v1.7.x:

                            Ist es leider oft nicht.

                            Mittlerweile!!
                            die Info, dass Adapter nur noch bestätigte Werte in fremden Namespaces akzeptierrn ist relativ neu.

                            haus-automatisierung 1 Reply Last reply Reply Quote 0
                            • haus-automatisierung
                              haus-automatisierung Developer Most Active @Homoran last edited by haus-automatisierung

                              @homoran Ne, schon immer (zumindest seit ich ioBroker kenne).

                              • Adapter reagieren immer nur auf unbestätigte Werte und
                              • in "fremde" Namespaces (außerhalb 0_userdata) schreibt man nie bestätigte Werte

                              Steht für mich auch noch auf ToDo, die Auswahl der Objekte dahingehend einzuschränken im JavaScript-Adapter. Also dass man im Steuere-Baustein nur Datenpunkte sieht, welche write: true definiert haben (und somit auch jemand darauf hört).

                              Genauso arbeiten ja viele Adapter nur mit bestätigten Werten, wenn diese weiterverarbeitet werden. Der statistics-Adapter (und viele weitere meiner Adapter) ignorieren z.B. alles, was nicht bestätigt ist. Weil der Wert ja potenziell "falsch" ist.

                              EDIT: Gerade geschaut. Der statistics-Adapter macht das seit 7+ Jahren so (seit Version 0.0.2: https://github.com/iobroker-community-adapters/ioBroker.statistics/blob/8a72dbf16a0b6e0244cac8f3e939a180c794ac72/main.js#L996-L997)

                              Homoran G 2 Replies Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @haus-automatisierung last edited by Homoran

                                @haus-automatisierung sagte in Test Adapter shuttercontrol v1.7.x:

                                Ne, schon immer

                                Auch wenn's OT ist, das sollte man richtigstellen!
                                Du vermischst da anscheinend noch weitere Informationen.

                                @haus-automatisierung sagte in Test Adapter shuttercontrol v1.7.x:

                                Adapter reagieren immer nur auf unbestätigte Werte

                                ..in den jeweiligen Adapternamespaces!
                                d'accord!

                                @haus-automatisierung sagte in Test Adapter shuttercontrol v1.7.x:

                                in "fremde" Namespaces (außerhalb 0_userdata) schreibt man nie bestätigte Werte

                                ähm, zuviel Infos in einem Satz!

                                • Es gab eine lange Zeit vor 0_userdata.0!! da konnte man überall reinschreiben
                                  • mache ich heute noch (Messwerte.0 und Systemvariablen.0)
                                  • natürlich nicht in Adapternamespaces!
                                • Es wurde nie verboten dort unbestätigt zu schreiben

                                Es geht aber hier darum, dass Adapter wie z.B. shuttercontrol auch auf States in 0_userdata.0 oder alias.0 zugreift und dort nur noch bestätigte Werte akzeptiert!
                                DAS ist relativ neu.

                                Ich kann mich noch an einen Thread erinnern, von dem ich fast nichts verstanden habe, in dem das ziemlich kontrovers diskutiert wurde.

                                haus-automatisierung G 2 Replies Last reply Reply Quote 0
                                • G
                                  guitardoc @haus-automatisierung last edited by

                                  @haus-automatisierung Ich bin bei Javascript auf Version 8.7.6 und da ist der Baustein nicht drin, oder übersehe ich den?

                                  e479e914-7d75-43b1-8ae1-49e95a98b9e1-image.png

                                  haus-automatisierung 1 Reply Last reply Reply Quote 0
                                  • haus-automatisierung
                                    haus-automatisierung Developer Most Active @Homoran last edited by haus-automatisierung

                                    @homoran sagte in Test Adapter shuttercontrol v1.7.x:

                                    Es geht aber hier darum, dass Adapter wie z.B. shuttercontrol auch auf States in 0_userdata.0 oder alias.0 zugreift und dort nur noch bestätigte Werte akzeptiert!
                                    DAS ist relativ neu.

                                    Ja, habe ich editiert mit einem Beispiel zu statistics, welches 7+ Jahre alt ist.

                                    Wäre ja auch total falsch (aus meiner Sicht), wenn man z.B. ein Relais als Status "offen" loggt (oder die Zeit zählt wie lange das Gerät in Betrieb ist), aber der Befehl nie verarbeitet wurde, weil der Wert nie beim Gerät angekommen ist (unbestätigt wurde).

                                    Oder man zeigt auf einem Geräte wie der LaMetric Time oder der TC001 (mit Awtrix 3) einen Wert an, welcher gar nicht der Realität entspricht, weil z.B. die Hue-Bridge offline war und gar nix geschaltet hat = unbestätigt.

                                    Homoran 1 Reply Last reply Reply Quote 0
                                    • haus-automatisierung
                                      haus-automatisierung Developer Most Active @guitardoc last edited by

                                      @guitardoc sagte in Test Adapter shuttercontrol v1.7.x:

                                      @haus-automatisierung Ich bin bei Javascript auf Version 8.7.6 und da ist der Baustein nicht drin, oder übersehe ich den?

                                      Du übersiehst den. Trigger aufklappen und alles anschauen.

                                      G 1 Reply Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators @haus-automatisierung last edited by Homoran

                                        @haus-automatisierung sagte in Test Adapter shuttercontrol v1.7.x:

                                        welches 7+ Jahre alt ist.

                                        dann hast du das aber damals eigenmächtig eingeführt, weil du der Meinung warst, dass

                                        @haus-automatisierung sagte in Test Adapter shuttercontrol v1.7.x:

                                        der Wert ja potenziell "falsch" ist.

                                        du alter Editeur 😁

                                        Das ist nie (groß) kommuniziert worden

                                        haus-automatisierung 1 Reply Last reply Reply Quote 0
                                        • haus-automatisierung
                                          haus-automatisierung Developer Most Active @Homoran last edited by haus-automatisierung

                                          @homoran sagte in Test Adapter shuttercontrol v1.7.x:

                                          dann hast du das aber damals eigenmächtig eingeführt

                                          Siehe git blame. Das war foxthefox. Gibt sicherlich noch weitere Beispiel (weil es ja dem Grundkonzept vom ioBroker gerecht wird).

                                          Homoran 1 Reply Last reply Reply Quote 1
                                          • Homoran
                                            Homoran Global Moderator Administrators @haus-automatisierung last edited by

                                            @haus-automatisierung sagte in Test Adapter shuttercontrol v1.7.x:

                                            weil es ja dem Grundkonzept vom ioBroker gerecht wird

                                            mag ja sein. Aber das versteht kein normaler User.

                                            Solche massiven "Einschränkungen" müssen sehr deutlich kommuniziert werden.

                                            haus-automatisierung 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            828
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            rollladen rollladensteuerung shuttercontrol
                                            325
                                            7231
                                            6416058
                                            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