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.
    • 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

                                825
                                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