Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Lichtsteuerung mit Bewegungsmelder und Vis-Button

    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

    Lichtsteuerung mit Bewegungsmelder und Vis-Button

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      Phinix last edited by

      @Homoran
      Aber der Dialog Button schreibt die Werte 25/50/75/100 direkt in den level State meiner Leuchte. Heißt ich müsste eine zweite Variable/Datenpunkt beschreiben können, damit ich die Abfrage machen kann, ... und an diesem Punkt komme ich nicht weiter, weil der Dialog Button nur den State direkt steuert.

      Homoran paul53 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Phinix last edited by

        @Phinix OK!

        Dann musst du den State der Leuchte Und den des Bewegungsmelders abgreifen und bei Änderung der Leuchte OHNE gleichzeitige Bewegung die Sperrvariable setzen

        1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @Phinix last edited by paul53

          @Phinix sagte:

          an diesem Punkt komme ich nicht weiter, weil der Dialog Button nur den State direkt steuert.

          Man kann auch die Quelle der Wertänderung auswerten.

          Blockly_temp.JPG

          1 Reply Last reply Reply Quote 0
          • P
            Phinix last edited by

            @Homoran Würde sich jemand zu dem Zeitpunkt im Raum befinden, würde der Bewegungsmelder auslösen, da dieser ja nicht gesperrt wird? Wenn ich keine andere Lösung finde, muss ich aber darauf zurückgreifen.

            @paul53 Das hört sich vielversprechend an. Du musst mir aber bei deinem ersten Trigger weiterhelfen.
            Du beschreibst die Variable "manuell" mit einem Wert (ich gehe mal davon aus, dass hier dann true geschrieben wird), aber was macht die Variable Ursprung /= system.adapter.javascript.0?

            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @Phinix last edited by paul53

              @Phinix sagte:

              Ursprung /= system.adapter.javascript.0?

              Wert und Ursprung findet man unter "Trigger". Ursprung enthält die Quelle der Änderung. Ist diese kein Skript und ist der Wert > 0, wird die Variable manuell = true.

              1 Reply Last reply Reply Quote 0
              • P
                Phinix last edited by

                @paul53 Ich glaube ich hab es nun verstanden; bei Skript gebe ich nun mein Skript an, welches bei Auslösen des Bewegungsmelders ausgeführt wird?

                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @Phinix last edited by

                  @Phinix sagte:

                  bei Skript gebe ich nun mein Skript an, welches bei Auslösen des Bewegungsmelders ausgeführt wird?

                  Nein, so wie gezeigt: "system.adapter.javascript.0", wenn die Skripte unter der Instanz 0 laufen.

                  P 2 Replies Last reply Reply Quote 0
                  • P
                    Phinix @paul53 last edited by

                    @paul53 Top, Vielen Dank, so hat es funktioniert!

                    1 Reply Last reply Reply Quote 0
                    • P
                      Phinix @paul53 last edited by Phinix

                      @paul53 Leider war ich doch etwas zu voreilig. Das Script funktioniert noch nicht so ganz. Wenn ich das Licht über die Vis schalte, wird meine Variable "manual" geschaltet, sollte eigentlich passen... aber sobald der BWM auslöst, wird die Variable an meinem ersten Trigger ebenfalls wieder wahr.

                      Ich habe mein Script mit angehängt, da ich meinen Fehler nicht finde. (Blockly)

                      var manual_active, timer_1;
                      
                      
                      // Bei Scriptstart Variable auf falsch setzen
                      manual_active = false;
                      // Überprüfen ob Licht über Vis gesteuert wird
                      on({id: new RegExp('hue\\.0\\.Philips_hue\\.Hue_iris_1\\.level' + "|" + 'hue\\.0\\.Philips_hue\\.Hue_iris_2\\.level' + "|" + 'hue\\.0\\.Philips_hue\\.Arbeitszimmer\\.on'), change: "ne"}, function (obj) {
                          (function () {if (timer_1) {clearTimeout(timer_1); timer_1 = null;}})();
                        manual_active = getState("hue.0.Philips_hue.Hue_iris_1.level").val && (obj.state ? obj.state.from : "") != 'system.adapter.javascript.0' || getState("hue.0.Philips_hue.Arbeitszimmer.on").val && (obj.state ? obj.state.from : "") != 'system.adapter.javascript.0' || getState("hue.0.Philips_hue.Hue_iris_2.level").val && (obj.state ? obj.state.from : "") != 'system.adapter.javascript.0';
                        if (getState("hue.0.Philips_hue.Arbeitszimmer.level").val == 0 && getState("hue.0.Philips_hue.Hue_iris_2.level").val == 0 && getState("hue.0.Philips_hue.Hue_iris_1.level").val == 0) {
                          manual_active = false;
                        }
                      });
                      // Licht über Taster schalten
                      on({id: 'zigbee.0.04cf8cdf3c7984ac.button_3_click', val: true}, function (obj) {
                        var value = obj.state.val;
                        var oldValue = obj.oldState.val;
                        (function () {if (timer_1) {clearTimeout(timer_1); timer_1 = null;}})();
                        getState("hue.0.Philips_hue.Arbeitszimmer.on", function (err, state) {
                            setState("hue.0.Philips_hue.Arbeitszimmer.on"/*Philips_hue.Arbeitszimmer.on*/, state ? !state.val : true);
                        });
                        manual_active = !manual_active;
                      });
                      // Licht über BWM schalten
                      on({id: 'zigbee.0.00158d0004666972.occupancy', change: "ne"}, function (obj) {
                        var value = obj.state.val;
                        var oldValue = obj.oldState.val;
                        if (!manual_active) {
                          if (getState("zigbee.0.00158d0004666972.occupancy").val == false) {
                            timer_1 = setTimeout(function () {
                              setState("hue.0.Philips_hue.Arbeitszimmer.on"/*Philips_hue.Arbeitszimmer.on*/, false);
                            }, 10000);
                          }
                          if (getState("zigbee.0.00158d0004666972.occupancy").val == true && compareTime('21:30', '07:30', "between", null)) {
                            (function () {if (timer_1) {clearTimeout(timer_1); timer_1 = null;}})();
                            setState("hue.0.Philips_hue.Arbeitszimmer.on"/*Philips_hue.Arbeitszimmer.on*/, true);
                          }
                        }
                      });
                      
                      //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUzRSUzQ3ZhcmlhYmxlcyUzRSUzQ3ZhcmlhYmxlJTIwdHlwZSUzRCUyMiUyMiUyMGlkJTNEJTIyM2MoQ2E0Wmc5dFglM0YuSzklMkJ2RDVQJTIyJTNFbWFudWFsX2FjdGl2ZSUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjB0eXBlJTNEJTIydW5kZWZpbmVkJTIyJTIwaWQlM0QlMjJ0aW1lcl8xJTIyJTNFdGltZXJfMSUzQyUyRnZhcmlhYmxlJTNFJTNDJTJGdmFyaWFibGVzJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIyTm82KSU1RS5XVFp4RiFKITR3M2x2byUyMiUyMHglM0QlMjItMjM4JTIyJTIweSUzRCUyMi02NjMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFQmVpJTIwU2NyaXB0c3RhcnQlMjBWYXJpYWJsZSUyMGF1ZiUyMGZhbHNjaCUyMHNldHplbiUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiU0MF8lNUR6aVJVVXhkWDZYSHglN0J5QiU1RXIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMjNjKENhNFpnOXRYJTNGLks5JTJCdkQ1UCUyMiUyMHZhcmlhYmxldHlwZSUzRCUyMiUyMiUzRW1hbnVhbF9hY3RpdmUlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyJTNBZGU0Snc5dE9JNmlWXzklN0MlMjN4JTNGNCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjIlN0Rqang5VnElN0RZcCUzREZVV2ktTyUyQ0UlMkYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFJUMzJTlDYmVycHIlQzMlQkNmZW4lMjBvYiUyMExpY2h0JTIwJUMzJUJDYmVyJTIwVmlzJTIwZ2VzdGV1ZXJ0JTIwd2lyZCUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX2V4dCUyMiUyMGlkJTNEJTIyWU45N0R6dSU1RUltM091TzZtflR5JTdCJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjMlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRW5lJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBQ0tfQ09ORElUSU9OJTIyJTNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQwJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyLk41JTVCVFpQOEJ6VnBUMGQlNUVWeCh0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFaHVlLjAuUGhpbGlwc19odWUuSHVlX2lyaXNfMS5sZXZlbCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQxJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyLV8lN0NaWUclMkJtbSU1QlN2ZG1fTCU1QlB1VSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRWh1ZS4wLlBoaWxpcHNfaHVlLkh1ZV9pcmlzXzIubGV2ZWwlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEMiUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMjQxJTVFQ0FHVXgyUn5+U25RQ1dfKGwlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VodWUuMC5QaGlsaXBzX2h1ZS5BcmJlaXRzemltbWVyLm9uJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0aW1lb3V0c19jbGVhcnRpbWVvdXQlMjIlMjBpZCUzRCUyMnAyJTVEblgwemIlNDAlMjVjcHFXeGp4SyUyM18lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFdGltZXJfMSUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiUzQiUyNUIlMkZmJTIzTiUyMzVqblpPTCU1QnZQJTNBVnAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMjNjKENhNFpnOXRYJTNGLks5JTJCdkQ1UCUyMiUyMHZhcmlhYmxldHlwZSUzRCUyMiUyMiUzRW1hbnVhbF9hY3RpdmUlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfb3BlcmF0aW9uJTIyJTIwaWQlM0QlMjIubiU1RGRqNnRyJTJCJTdEbUotNzE5MCUyRkxOJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VPUiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX29wZXJhdGlvbiUyMiUyMGlkJTNEJTIyUSU3RGtIJTIzQSUyM3olMkIyeFF0dyUzRFMyJTIzUFYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRU9SJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfb3BlcmF0aW9uJTIyJTIwaWQlM0QlMjJoUClNJTNEOWN6fkJ3JTJCdTNhUnYlM0YlMkMlNUIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUFORCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyJTI1T0w2N3c5JTI0JTVFMkp5cSUyNShzRyUzRFBNJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFaHVlLjAuUGhpbGlwc19odWUuSHVlX2lyaXNfMS5sZXZlbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjIxJTYwX3MpQ3dJXzlCLVAlMjQyNCU3RHMlM0FRJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VORVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9zb3VyY2UlMjIlMjBpZCUzRCUyMlBpJTNGLiU1QjhlaHYpOFh6bmRsJTQwdU0lNjAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFc3RhdGUuZnJvbSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlN0IlMkNKTDJPd0JVMmQlNUIweCUzREI2RFJDJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXN5c3RlbS5hZGFwdGVyLmphdmFzY3JpcHQuMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX29wZXJhdGlvbiUyMiUyMGlkJTNEJTIyLkJ0RThaJTIzIXQlM0RZS211SGQlN0JXJTNEUyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFQU5EJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJaMzQlMjRjJTVFQ0hfNldRTndBVzlBJTIzVSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWh1ZS4wLlBoaWxpcHNfaHVlLkFyYmVpdHN6aW1tZXIub24lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyMFZhSWpMNnNqUSlucHMlM0FMWlFQdCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFTkVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjJGJTdDcHNLanQlM0JoVXUoX1dEJTNELmglMjUwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLmZyb20lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyVSU3QkJvJTdCcDhZZSUzQSU2ME4lMkZpJTJCajBCenklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFc3lzdGVtLmFkYXB0ZXIuamF2YXNjcmlwdC4wJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX29wZXJhdGlvbiUyMiUyMGlkJTNEJTIyMEVPeldNLUIqWiU0MF91UXVBJTIzLTUlNUQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUFORCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyVCU3QnRuWG8lNjBLWSU1RVZxJTVFKiUzQm5odypXJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFaHVlLjAuUGhpbGlwc19odWUuSHVlX2lyaXNfMi5sZXZlbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjIpSGhFVEgxNVVFUSUyNDglMjRIJTVEOGtXdCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFTkVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjIlM0ZBJTdDJTVFazNiN35vNSUzQjklNURTQ1JFSGIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFc3RhdGUuZnJvbSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJWRCU1RElvRSU0MEtGQ3AlM0ZJMkwlNURZRUglN0IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFc3lzdGVtLmFkYXB0ZXIuamF2YXNjcmlwdC4wJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjIlNUJFJTNGJTJDSmkxKm1DSmlZTCU3RDBpJTdCJTNEJTNCJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfb3BlcmF0aW9uJTIyJTIwaWQlM0QlMjJ5NSU3QmNVMlohcklIUDMyJTJDWUUwZG0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUFORCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMmhYfkJ3aSUyM08lM0RDUCU3Q2JZTzMlNUJsQ3clMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjIlN0JCNjR+V0JxaSU0MDhKISF4JTNGJTYwSiolN0MlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VodWUuMC5QaGlsaXBzX2h1ZS5BcmJlaXRzemltbWVyLmxldmVsJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJyMUMlN0NpenglMkI3LkdKY1pvSSUyNDMlM0Z3JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfb3BlcmF0aW9uJTIyJTIwaWQlM0QlMjJfY3JGeUJfbiUyQiUyNWlBdiUzQlFwTW52KCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFQU5EJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyTk5OKjNDQy4lNUV6JTdDOGdndlYyRTNWJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VFUSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyWHlIWEhjJTNBTHglMjVKM2lJKWtpbldLJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFaHVlLjAuUGhpbGlwc19odWUuSHVlX2lyaXNfMi5sZXZlbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyJTNBMyUyQjE0bSUyQjNfaEMqSXooNCUyQiU1RGx1JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyJTdCTXlMOVFVfk5lS3BDUSU2MDJuSiUyNH4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJvY3ppV3A3XyUyNTR1Lm8lMkN1JTYwUiUyQjBxJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFaHVlLjAuUGhpbGlwc19odWUuSHVlX2lyaXNfMS5sZXZlbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIycyUyRl9aJTI0MSglN0IlM0ZjeCU2MCU2MDY2JTNCdWU4NCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyMnAuJTJDJTNGWFZuTiUyRiUyNC12ISU3Qy4lMkZHJTIzSSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyM2MoQ2E0Wmc5dFglM0YuSzklMkJ2RDVQJTIyJTIwdmFyaWFibGV0eXBlJTNEJTIyJTIyJTNFbWFudWFsX2FjdGl2ZSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJEaVVndVBmdCU1Qn5QV1VDbVolN0IlNUJKOSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIyc3BEb2ZKZ1UpSmd4NHYlM0RPaXd6ciUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0VMaWNodCUyMCVDMyVCQ2JlciUyMFRhc3RlciUyMHNjaGFsdGVuJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fZXh0JTIyJTIwaWQlM0QlMjIlNDByWWVTTERWMXBBRCUyQ2g5UyU3RCUyNEhzJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRXRydWUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRDAlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJXaVFnJTNGNGVxJTNGJTVFWXlVJTIzJTNGcn5aeWwlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0V6aWdiZWUuMC4wNGNmOGNkZjNjNzk4NGFjLmJ1dHRvbl8zX2NsaWNrJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0aW1lb3V0c19jbGVhcnRpbWVvdXQlMjIlMjBpZCUzRCUyMjZDQzVrJTIzRFEuQzclM0QlNjBkNlZiRCUyQiU3QiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0V0aW1lcl8xJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydG9nZ2xlJTIyJTIwaWQlM0QlMjIpQiU2MGYqRUF0JTI0SlQzRDI4SEZlWFolMjIlM0UlM0NtdXRhdGlvbiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWh1ZS4wLlBoaWxpcHNfaHVlLkFyYmVpdHN6aW1tZXIub24lM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiU0MFBfS0IqdiU3REYzbyU0MGElM0RlTmdyc0MlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMjNjKENhNFpnOXRYJTNGLks5JTJCdkQ1UCUyMiUyMHZhcmlhYmxldHlwZSUzRCUyMiUyMiUzRW1hbnVhbF9hY3RpdmUlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfbmVnYXRlJTIyJTIwaWQlM0QlMjJkJTVESSUyQ1ElN0RpJTVCam84UGIlN0QteiUzRkNIJTNCJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMnF1R0d6RCUzQWZUJTJGJTNGJTQweFNrODElMjU3JTJGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIzYyhDYTRaZzl0WCUzRi5LOSUyQnZENVAlMjIlMjB2YXJpYWJsZXR5cGUlM0QlMjIlMjIlM0VtYW51YWxfYWN0aXZlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMiU3QlpqRXFOayUzQi41MyU1QlphXzFQZFpoJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRUxpY2h0JTIwJUMzJUJDYmVyJTIwQldNJTIwc2NoYWx0ZW4lM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9leHQlMjIlMjBpZCUzRCUyMiU2MDIteCU3QiUyQipLeSU0MDEqT20qMTVDT2ElMjIlM0UlM0NtdXRhdGlvbiUyMGl0ZW1zJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFbmUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRDAlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjIlNUVyKEUlN0RoJTdDNiU3QyUyMy1rMyUyQjFyU3F6UiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRXppZ2JlZS4wLjAwMTU4ZDAwMDQ2NjY5NzIub2NjdXBhbmN5JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyN1IlN0RjJTJGMThxLjIlMjRCSioxSXBsOG0lMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19uZWdhdGUlMjIlMjBpZCUzRCUyMk0wWiUyM2YhJTI1LSUyQmIhJTNEQVZIRGxlcTIlMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCT09MJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyNlBTQjY3bEhwRVR+SFlRMEg3eXglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMjNjKENhNFpnOXRYJTNGLks5JTJCdkQ1UCUyMiUyMHZhcmlhYmxldHlwZSUzRCUyMiUyMiUzRW1hbnVhbF9hY3RpdmUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJEaVB3YyolM0R4Nm8oOCkzJTVFMSFjd18lMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjJnSDFqSDRKOUIlM0ZYJTI0TiUyNWI5JTNBcG1XJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VFUSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyZ3dkQUpMTXQwJTI0JTJGMzQlM0JZfnYoaTklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0V6aWdiZWUuMC4wMDE1OGQwMDA0NjY2OTcyLm9jY3VwYW5jeSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJseEcydy4uZiU3QkolNURZRmt4ME8tSzMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX3NldHRpbWVvdXQlMjIlMjBpZCUzRCUyMn56cTRHMjBzWXNlcXRVZVF4OHpZJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTkFNRSUyMiUzRXRpbWVyXzElM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkRFTEFZJTIyJTNFMTAlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlVOSVQlMjIlM0VzZWMlM0MlMkZmaWVsZCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjJNZVBNWWMlMjRhJTVEVCUyNVRCVHpjZ05CISUyMiUzRSUzQ211dGF0aW9uJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFaHVlLjAuUGhpbGlwc19odWUuQXJiZWl0c3ppbW1lci5vbiUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMkJrcSUyNFJqJTdEcSUyRlJTayUzQVFuNTRGJTVCVSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMl9heF8zITR0bFBFRUV2M1MlMkNYSSUyRiUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX29wZXJhdGlvbiUyMiUyMGlkJTNEJTIySCUzRiUzQiUzQiUyMzlwdnF3aVklMjMlMjM4JTVCVFIlNUQuJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VBTkQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjIlM0QlMjU2KHNtUiFKcjQlMkZBWm4xISU3RCUyQjclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjIlMjVJJTdENiUyM080TFBNJTI0JTI0JTI0QykydmglM0YuJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFemlnYmVlLjAuMDAxNThkMDAwNDY2Njk3Mi5vY2N1cGFuY3klM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyJTNCKVNZJTdDJTIzMWYlNjBaM1RnfmwhNDkyOCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0aW1lX2NvbXBhcmVfZXglMjIlMjBpZCUzRCUyMkx2JTVFc3VscUlmJTQwc2VqNmQyRXolM0ElMjQlMjIlM0UlM0NtdXRhdGlvbiUyMGVuZF90aW1lJTNEJTIydHJ1ZSUyMiUyMGFjdHVhbF90aW1lJTNEJTIydHJ1ZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVVNFX0FDVFVBTF9USU1FJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1BUSU9OJTIyJTNFYmV0d2VlbiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyU1RBUlRfVElNRSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJDdiUyRmI3ZE9uKlQlM0F+NURYcyUyM2ZUJTVCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTIxJTNBMzAlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyRU5EX1RJTUUlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyJTVCJTYwVmhMRCElNDBaMCU1Qm1ZY0MlNUVlZk5jJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTA3JTNBMzAlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGltZW91dHNfY2xlYXJ0aW1lb3V0JTIyJTIwaWQlM0QlMjIlNUVacyUyMyElM0ZpOW5VNShhNFdfTWRpQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0V0aW1lcl8xJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyUChOa0xhKk1wfjdOJTQwNWMlM0ZRNmMxJTIyJTNFJTNDbXV0YXRpb24lMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VodWUuMC5QaGlsaXBzX2h1ZS5BcmJlaXRzemltbWVyLm9uJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIySkhwYW0pZ2U3UndhcXJoUmJyZi0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGeG1sJTNF
                      
                      paul53 2 Replies Last reply Reply Quote 0
                      • paul53
                        paul53 @Phinix last edited by paul53

                        @Phinix
                        Für manual_active wertest Du 3 Datenpunkte aus: 1 "on" und 2 "level". Der BWM wirkt nur auf "on". Da ich kein Hue habe, für mein Verständnis:

                        • Wie ist die Hardware-Konstellation ?
                        • Gibt es direkte Verknüpfungen (Taster) ?
                        • Wenn "on" auf false geht, bleibt "level" erhalten oder geht "level" auf 0 ?

                        Zeile 22: Ich bin davon ausgegangen, dass der Taster per Hardware wirkt. Wenn der Taster per Script schaltet, funktioniert es so nicht.

                        @Phinix sagte in Lichtsteuerung mit Bewegungsmelder und Vis-Button:

                        sobald der BWM auslöst, wird die Variable an meinem ersten Trigger ebenfalls wieder wahr.

                        Das kann ich in einem Test nicht nachvollziehen:

                        13:27:25.693	info	javascript.1 (1906) script.js.blockly.Manuell_Blockly: Wert: 25, manuell: true
                        13:27:43.148	info	javascript.1 (1906) script.js.blockly.Manuell_Blockly: BWM: true
                        13:27:46.481	info	javascript.1 (1906) script.js.blockly.Manuell_Blockly: BWM: false
                        13:28:17.541	info	javascript.1 (1906) script.js.blockly.Manuell_Blockly: Wert: 0, manuell: false
                        13:28:28.169	info	javascript.1 (1906) script.js.blockly.Manuell_Blockly: BWM: true
                        13:28:28.172	info	javascript.1 (1906) script.js.blockly.Manuell_Blockly: Wert: true, manuell: false
                        13:28:31.787	info	javascript.1 (1906) script.js.blockly.Manuell_Blockly: BWM: false
                        13:28:41.800	info	javascript.1 (1906) script.js.blockly.Manuell_Blockly: Wert: false, manuell: false
                        

                        Blockly_temp.JPG

                        "test.bool" wird durch den BWM geschaltet.

                        1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @Phinix last edited by

                          @Phinix
                          Wenn der Taster per Script schaltet, muss er zusätzlich ausgewertet werden:

                          Blockly_temp.JPG

                          P 2 Replies Last reply Reply Quote 0
                          • P
                            Phinix @paul53 last edited by

                            @paul53
                            Ich versuche das Ganze mal etwas genauer darzustellen:

                            Ich habe eine Hue Bridge auf der der Raum "Arbeitszimmer" angelegt ist. "Arbeitszimmer beinhaltet zwei Iris Lampen (Dekolampen)
                            Über ioBroker steuere ich nun entweder den ganzen Raum bzw. die beiden Lampen einzeln (Kommunikation über den Hue Adapter)

                            Steuerung über Vis:

                            1. In Vis habe ich zwei jqui-Dialog Buttons (siehe erster Post) die die jeweilige Lampe direkt ansteuern (die Werte aus(0), 25, 50, 75, 100) werden hier direkt in den jeweiligen state level.dimmer geschrieben.
                            2. Ich habe einen weiteren Button der direkt true/false den state von "Arbeitszimmer" switch direkt steuert.

                            --> diese 3 Datenpunkte sind die Auswertung manual_active

                            Steuerung über Taster

                            1. Hier handelt es sich um einen Aqara Oppo Taster, dieser funkt über Zigbee und steuert über das Script den State switch von "Arbeitszimmer". Dieser wird über das Skript immer umgeschalten.
                              --> Hier wird auch die Variable manual_active zum umschalten verwendet.

                            Steuerung über BWM

                            1. Der BWM soll das Licht nur zu einer bestimmten Uhrzeit einschalten (Nachtlicht) und dann natürlich auch wieder ausschalten nach Zeit X. Heißt wenn das Licht manuell eingeschaltet wird, soll es wieder manuell ausgeschaltet werden. Und wenn es automatisch eingeschaltet wird, soll es wieder automatisch ausgeschaltet werden.
                              --> Ich weiß, man könnte natürlich sagen der BWM soll nur zur Nachtlichzeit aktiv werden und über den restlichen Tag schaltet man sowieso immer manuell, aber ich würde es gern flexibel lassen da ich hier die Zeiten noch anpasse oder über die aktuelle Helligkeit schalten lasse.

                            Ich werde nun nochmals deine Scripts testen und berichten.

                            1 Reply Last reply Reply Quote 0
                            • P
                              Phinix @paul53 last edited by Phinix

                              @paul53
                              So ich konnte nun das Script testen. Das Problem kommt vom Hue Adapter, bzw ich kann es auch nicht ganz nachvollziehen.
                              Der BWM schaltet, Licht geht an, Variable manual_active ist falsch. Alles gut.
                              Aber nach ein paar Sekunden werden die States vom Hue Adapter aktualisiert und setzen dadurch manual_active auf wahr.

                              Hier mal im Log:

                              2020-08-05 17:53:11.305  - javascript.0 (1228) script.js.Lichtsteuerung.Control_Arbeitszimmer_Beleuchtung_neu: Start
                              2020-08-05 17:53:11.305  -  javascript.0 (1228) script.js.Lichtsteuerung.Control_Arbeitszimmer_Beleuchtung_neu: 0
                              2020-08-05 17:53:11.305  -  javascript.0 (1228) script.js.Lichtsteuerung.Control_Arbeitszimmer_Beleuchtung_neu: Licht an
                              2020-08-05 17:53:11.305  -  javascript.0 (1228) script.js.Lichtsteuerung.Control_Arbeitszimmer_Beleuchtung_neu: Manuell: 0
                              2020-08-05 17:53:11.305  -  javascript.0 (1228) script.js.Lichtsteuerung.Control_Arbeitszimmer_Beleuchtung_neu: Wert:  100
                              2020-08-05 17:53:11.305  -  javascript.0 (1228) script.js.Lichtsteuerung.Control_Arbeitszimmer_Beleuchtung_neu: Manuell: 0
                              2020-08-05 17:53:11.305  -  javascript.0 (1228) script.js.Lichtsteuerung.Control_Arbeitszimmer_Beleuchtung_neu: Wert:  100
                              2020-08-05 17:53:13.727  -  javascript.0 (1228) script.js.Lichtsteuerung.Control_Arbeitszimmer_Beleuchtung_neu: Manuell: 0
                              2020-08-05 17:53:13.727  -  javascript.0 (1228) script.js.Lichtsteuerung.Control_Arbeitszimmer_Beleuchtung_neu: Wert:  55
                              2020-08-05 17:53:24.195  -  javascript.0 (1228) script.js.Lichtsteuerung.Control_Arbeitszimmer_Beleuchtung_neu: Manuell: true
                              2020-08-05 17:53:24.195  -  javascript.0 (1228) script.js.Lichtsteuerung.Control_Arbeitszimmer_Beleuchtung_neu: Wert:  100
                              

                              Man achte auf die zeitlichen Abstände der letzten vier Einträge. Obwohl eigentlich nichts mehr passieren sollte. Die Werte sind in den States konstant mit 100, ich weiß nicht woher die 55 kommt...

                              Das ist mein Script dazu:

                              c462ad0b-8127-4003-891a-340a3d1f4ba5-image.png

                              Ich habe versucht das Ganze mit local_lock zu blockieren, also wenn der Adapter die Werte aktualisiert - aber die Zeiten variieren, von dem her kann ich dies nicht wirklich sauber abfangen.

                              paul53 1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @Phinix last edited by

                                @Phinix sagte:

                                ich weiß nicht woher die 55 kommt...

                                Das ist doch eine Lichtsteuerung (keine Jalousien) ?
                                Hast Du eine Rampe für die Änderung der Helligkeit eingestellt ?

                                P 2 Replies Last reply Reply Quote 0
                                • P
                                  Phinix @paul53 last edited by

                                  @paul53
                                  Ja es handelt sich dabei um eine Lichtsteuerung und eine Rampe habe ich nirgends eingestellt...

                                  1 Reply Last reply Reply Quote 0
                                  • P
                                    Phinix @paul53 last edited by

                                    @paul53
                                    Ich konnte nun das Script komplett zum Laufen bringen. Und zwar steuere ich nicht mehr den dimmer state sondern den bri (brightness) state der Lampen. Dieser wird beim synchronisieren nicht mehr abgeändert.
                                    Ich danke dir für deine Hilfe 🙂

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    801
                                    Online

                                    31.9k
                                    Users

                                    80.2k
                                    Topics

                                    1.3m
                                    Posts

                                    blockly scenes
                                    3
                                    18
                                    1330
                                    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