Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Error/Bug
  4. Alias auf Shelly - unerwartete Änderung des Aliastyps

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    927

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Alias auf Shelly - unerwartete Änderung des Aliastyps

Geplant Angeheftet Gesperrt Verschoben Error/Bug
aliasshellysblockly
40 Beiträge 3 Kommentatoren 3.4k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • I ioMas

    Hallo,
    bei meinem Ziel eine Lampe via Bewegungsmelder[BWM] (Aktivität ja/nein+ Lichstärke Aqara RTCGQ14LM ) und einem Schalter shelly 1l (via mqtt angeschlossen, es wurde für diesen Typ keine andere Möglichkeit angezeigt, das ist aber hier auch nicht das Problem) zu steuern bin ich auf folgendes Problem gestoßen. Das Script arbeitet mit Bugfix vgl Blocklyscreenshots und Ausgabe einwandfrei, aber ich würd gerne den Bugfix loswerden, daher bitte angeben ob dies von mir ein Anwender/Logikfehler ist oder aber ein Bug
    Szenario 1: Ich komme in den Raum, Licht geht an, ich verlasse den Raum 1min später ist das Licht aus. - Check
    Szenario 2: Trivial ich mache das Licht via adminoberfläche mit Hilfe des Aliases an und aus - Check
    adminTrue.png
    Hier aber schon einmal dazu der Aufbau des Aliases:

    {
      "common": {
        "name": "EGKuecheFensterLicht",
        "desc": "Manuell erzeugt",
        "role": "state",
        "type": "boolean",
        "read": true,
        "write": true,
        "def": false,
        "alias": {
          "id": {
            "read": "mqtt.0.shellies.shelly1l-XXX.relay.0",
            "write": "mqtt.0.shellies.shelly1l-XXX.relay.0.command"
          },
          "read": "val=='on'",
          "write": "val?'on':'off'"
        },
        "custom": {
          "influxdb.0": {
            "enabled": true,
            "storageType": "",
            "aliasId": "",
            "debounceTime": 0,
            "blockTime": 0,
            "changesOnly": false,
            "changesRelogInterval": 0,
            "changesMinDelta": 0,
            "ignoreBelowNumber": "",
            "disableSkippedValueLogging": false,
            "enableDebugLogs": false,
            "debounce": 0
          }
        }
      },
      "type": "state",
      "native": {},
      "_id": "alias.0.eg.Kueche.EGKuecheFensterLicht",
      "acl": {
        "object": 1636,
        "state": 1636,
        "owner": "system.user.admin",
        "ownerGroup": "system.group.administrator"
      },
      "from": "system.adapter.admin.0",
      "user": "system.user.admin",
      "ts": 1676219920642
    }
    

    Zur Erklärung:
    Der Shelly hat zwei unterschiedliche Ort, lesen kann man via: mqtt.0.shellies.shelly1l-XXX.relay.0 [Zeile 12] hier gibt es die Werte on und off, zum schreiben gibt es den Punkt mqtt.0.shellies.shelly1l-XXX.relay.0.command [Zeile13]- wieder per on und off, dieses wollte ich aber als Boolsche Variabe haben, deshalb mit den zwei Funktionen (zum lesen: val=='on' [Zeile 15] und zum schreiben: val?'on':'off [Zeile 16]) angepasst. Dies funktioniert soweit ganz gut.
    Szenario 3:
    Ich schalte den Shelly manuell ohne Script am laufen: im Adminbereich wird der alias entsprechend meines Schaltens korrekt angezeigt - Check
    Jetzt kommen wir zu Scenario 4 wo ich den Bug vermute:
    Ich lasse das Licht via Script anschalten und schalte das Licht nun manuell aus. Nach >1 Minute warten, ohne dabei den BWM auszulösen will ich nun das das Licht wieder angeht, dabei passiert jedoch folgendes: Das Licht bleibt aus. Nach intensiver Fehlersuche stellte sich herraus das durch die manuelle Betätigung des Schalters der Shelly der Datentyp des Alias von boolean auf string geändert hat und ich nun die nativen Befehle zum lesen nutzen muss (on/off). Dies sehe ich als Fehler an, zumindest würde ich hier erwarten das es bei boolean bleibt/was wäre hier eine Alternative?
    Zum besseren Verständnis anbei die Bilder des Blockly zusammen mit der Debugausgabe.
    blockly1.png
    blockly2.png
    blockly3.png

    Anbei nun noch die Debugausgabe

    #Start des Blocklys
    #Szenario 1
    23:40:25.185	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 0: Bewegung
    23:40:25.187	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
    23:40:25.187	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 1: erkanntfalse
    23:40:25.188	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 2: Licht ist aus
    23:40:25.188	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
    23:40:57.142	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 0: Bewegung
    23:40:57.145	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 1: nicht erkannt
    23:41:25.190	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: X: Licht ausschalten
    #Szenario 1 Ende
    #Szenario 4
    23:41:38.344	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 0: Bewegung
    23:41:38.346	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
    23:41:38.347	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 1: erkanntfalse
    23:41:38.347	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 2: Licht ist aus
    23:41:38.348	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
    #Hier wird die schelly manuell ausgeschaltet und der Raum verlassen
    23:42:10.318	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 0: Bewegung
    23:42:10.320	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 1: nicht erkannt
    23:42:38.348	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: X: Licht ausschalten
    #Hier wird der Raum wieder betreten
    23:42:46.041	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 0: Bewegung
    #Hier wird nun der mMn. Bug deutlich:
    23:42:46.042	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:string Wert ist: off
    23:42:46.043	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 0.5: Bugfix wrong typestring Wert ist: off
    23:42:46.043	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 0.5b: aus
    23:42:46.044	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 1: erkanntfalse
    23:42:46.044	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 2: Licht ist aus
    23:42:46.044	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
    23:43:18.019	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 0: Bewegung
    23:43:18.020	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 1: nicht erkannt
    23:43:46.046	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: X: Licht ausschalten
    #Szenario 4 Ende
    

    Hinweis: Es geht mir hier nicht um ein besseres Script sondern schlicht darum habe ich einen Fehler dabei gemacht oder ist das hier tatsächlich ein Bug(siehe Zeile 25: Typ=string erwartet hätte ich hier bool )? Der Aliastyp ist ja boolean, was man auch in Szenario 1(z.B. Zeile 4 Typ=boolean) gut sehen kann. Kann das erklärt bestätigt/gelöst werden?
    Weitere Scenarien habe ich nicht geprüft...
    Entschuldigung für den langen Text aber ich hatte keine Idee das viel kürzer hinzubekommen.
    Bin dankbar für jede Hilfe.

    Systemdata Bitte Ausfüllen
    Hardwaresystem: PI4
    Arbeitsspeicher: 4GB
    Festplattenart: USB-Stick
    Betriebssystem: Debian GNU/Linux 11 (bullseye)
    Node-Version:
    Nodejs-Version: 18.14.0
    NPM-Version:
    Installationsart: Manuell
    Image genutzt: Nein
    Ort/Name der Imagedatei:

    JS Controller: 4.0.24

    apollon77A Offline
    apollon77A Offline
    apollon77
    schrieb am zuletzt editiert von
    #2

    @iomas ok ich verstehe es nicht nicht. wo genau ändert sich ein datentyp?

    Zeig bitte mal das generierte blockly JavaScript ( im blockly Editor Fenster oben das blockly/Js Icon klicken.

    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
    I 1 Antwort Letzte Antwort
    0
    • apollon77A apollon77

      @iomas ok ich verstehe es nicht nicht. wo genau ändert sich ein datentyp?

      Zeig bitte mal das generierte blockly JavaScript ( im blockly Editor Fenster oben das blockly/Js Icon klicken.

      I Offline
      I Offline
      ioMas
      schrieb am zuletzt editiert von
      #3

      @apollon77 In der Debug Ausgabe in Zeile: 4/14 ist er booelan, in Zeile 25 ist er string

      anbei das JS:

      var LichtNachdetektionAnbleiben, schwellWertLicht, idLichtSchalter, LichtDurchBewegAn, lichtIstAn, verl_C3_A4ngerungLicht, initLichtAus;
      
      // Beschreibe diese Funktion …
      async function Licht_ausschalten() {
        console.debug('X: Licht ausschalten');
        LichtDurchBewegAn = false;
        setStateDelayed(idLichtSchalter, false, false, parseInt(((0) || "").toString(), 10), false);
      }
      
      
      LichtNachdetektionAnbleiben = 60000;
      schwellWertLicht = getState("0_userdata.0.Technik.EG.Kueche.EGKuecheFensterBeweg.BrigthnessSchwellwert").val;
      idLichtSchalter = 'alias.0.eg.Kueche.EGKuecheFensterLicht';
      LichtDurchBewegAn = false;
      on({id: "alias.0.eg.Kueche.EGKuecheFensterBeweg"/*EGKuecheFensterBeweg*/, change: "any", ack: true}, async function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        console.debug('0: Bewegung ');
        if ((obj.state ? obj.state.val : "")) {
          lichtIstAn = getState(idLichtSchalter).val;
          console.debug((['0.1: Hinweise: Typ:',typeof lichtIstAn,' Wert ist: ',lichtIstAn].join('')));
          if (true && typeof lichtIstAn != 'boolean') {
            console.debug((['0.5: Bugfix wrong type',typeof lichtIstAn,' Wert ist: ',lichtIstAn].join('')));
            if (lichtIstAn == 'on') {
              lichtIstAn = true;
              console.debug('0.5a: an');
            } else {
              lichtIstAn = false;
              console.debug('0.5b: aus');
            }
          }
          console.debug(('1: erkannt' + String(lichtIstAn)));
          if (lichtIstAn) {
            console.debug('2: Licht ist bereits an');
            if (LichtDurchBewegAn) {
              console.debug('3: verlängere Lichtdauer');
              (function () {if (initLichtAus) {clearTimeout(initLichtAus); initLichtAus = null;}})();
              (function () {if (verl_C3_A4ngerungLicht) {clearTimeout(verl_C3_A4ngerungLicht); verl_C3_A4ngerungLicht = null;}})();
              verl_C3_A4ngerungLicht = setTimeout(async function () {
                await Licht_ausschalten();
              }, parseInt(LichtNachdetektionAnbleiben));
            } else {
              console.debug('3:nothing2do Licht nicht durch Algo gesetzt');
            }
          } else {
            console.debug('2: Licht ist aus');
            if (getState("alias.0.eg.Kueche.EGKuecheFensterBewegLux").val < schwellWertLicht) {
              console.debug('3: kleiner Schwellwert->Licht anschalten');
              LichtDurchBewegAn = true;
              setStateDelayed(idLichtSchalter, true, false, parseInt(((0) || "").toString(), 10), false);
              initLichtAus = setTimeout(async function () {
                await Licht_ausschalten();
              }, parseInt(LichtNachdetektionAnbleiben));
            } else {
              console.debug('3: größer Schwellwert');
            }
          }
        } else {
          console.debug('1: nicht erkannt');
        }
      });
      
      //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyJTNBTiU1QmNJJTNGJTdEMiU3Qjh3ZHZmJTNGOGM0VyolMjIlM0VMaWNodE5hY2hkZXRla3Rpb25BbmJsZWliZW4lM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJofiU3RHQ5TUxMJTVEaXRfViU3Q1ZSWTNNJTI1JTIyJTNFc2Nod2VsbFdlcnRMaWNodCUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMiUyNEhyYk9FLnE5UTU3NCU3RCU2MGJRNEklMjUlMjIlM0VpZExpY2h0U2NoYWx0ZXIlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJOKSUyQioxfjNaU2xtKmR4ZmVoJTYwJTVCRSUyMiUzRUxpY2h0RHVyY2hCZXdlZ0FuJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMHR5cGUlM0QlMjJ0aW1lb3V0JTIyJTIwaWQlM0QlMjJ2ZXJsJUMzJUE0bmdlcnVuZ0xpY2h0JTIyJTNFdmVybCVDMyVBNG5nZXJ1bmdMaWNodCUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjB0eXBlJTNEJTIydGltZW91dCUyMiUyMGlkJTNEJTIyaW5pdExpY2h0QXVzJTIyJTNFaW5pdExpY2h0QXVzJTNDJTJGdmFyaWFibGUlM0UlM0MlMkZ2YXJpYWJsZXMlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjIqLSUzRkglNjBXbjRnRCU3RDBfKSk3WW9kRCUyMiUyMHglM0QlMjIxNjMlMjIlMjB5JTNEJTIyMTMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUzQU4lNUJjSSUzRiU3RDIlN0I4d2R2ZiUzRjhjNFcqJTIyJTNFTGljaHROYWNoZGV0ZWt0aW9uQW5ibGVpYmVuJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJwdTZVLkMlMjNXUmJQJTVEUDkoTXglNDAtSyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTYwMDAwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiUyQ2c2YX44dXIlMkZPbWElM0RkVkYzJTVEeCU1QiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyaH4lN0R0OU1MTCU1RGl0X1YlN0NWUlkzTSUyNSUyMiUzRXNjaHdlbGxXZXJ0TGljaHQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJ2aEN3Zy05bDNNb0NpVFZNJTdCZzQ4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLlRlY2huaWsuRUcuS3VlY2hlLkVHS3VlY2hlRmVuc3RlckJld2VnLkJyaWd0aG5lc3NTY2h3ZWxsd2VydCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjIlM0YlN0RwKV83bDcyTHclMjMlMjNXdV8lN0JqQ2olMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUyNEhyYk9FLnE5UTU3NCU3RCU2MGJRNEklMjUlMjIlM0VpZExpY2h0U2NoYWx0ZXIlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjI5WCU2MGglNjA0ZElwcHQyYiUyM0lNNyUyNTA1JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFYWxpYXMuMC5lZy5LdWVjaGUuRUdLdWVjaGVGZW5zdGVyTGljaHQlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyJTVCc001QyFoeWUlN0M2RX5JbFlqNTluJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJOKSUyQioxfjNaU2xtKmR4ZmVoJTYwJTVCRSUyMiUzRUxpY2h0RHVyY2hCZXdlZ0FuJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMl9zJTJCJTdCJTQwYSUyQ2RzZk8lNUQlNUQqSXdOWTMlNUQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb24lMjIlMjBpZCUzRCUyMnUxKmw4KUdSQSUzRlBCaiU1QlJBMGElMjRTJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFYWxpYXMuMC5lZy5LdWVjaGUuRUdLdWVjaGVGZW5zdGVyQmV3ZWclM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRWFueSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRXRydWUlM0MlMkZmaWVsZCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyWWFRYSU3QiU1RHJVOUx4aHdYclclMjRGJTI1fiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFZGVidWclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIydEUwKWpzcyUyRlNMSEp5ZCUzRi5MaTFHJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTAlM0ElMjBCZXdlZ3VuZyUyMCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMjFJbTclM0ZLYnVVJTNBJTNCYyU3QyljJTNCJTI1ZFQlMkIlMjIlM0UlM0NtdXRhdGlvbiUyMGVsc2UlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9zb3VyY2UlMjIlMjBpZCUzRCUyMiklMjQtbiU1RFklM0JfS2tZMyUyNU0qcUE5VEwlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFc3RhdGUudmFsJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMmYlM0RVZiU1QnRYTnhPa3lzdnklNUVrWDR3JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyaCUyMyUyRk5iSCUzRlYuSk5xYyUyM1RyUCU3QyU1RCUyMiUzRWxpY2h0SXN0QW4lM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlX3ZhciUyMiUyMGlkJTNEJTIyJTNEOCU0MGl5JTQwSDRtYylJVSU1RUl2JTVENmNhJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMlc5LkczdCUzRmY5JTNEcnZPSDZjUWpGKCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMk5NaXYlM0QlMjMlMkIpJTdDJTI1JTQwJTJDKFhrSC0pU34lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUyNEhyYk9FLnE5UTU3NCU3RCU2MGJRNEklMjUlMjIlM0VpZExpY2h0U2NoYWx0ZXIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjIlNURvb04pMzJYJTdEbSUzRmZWMDU1KUtEJTNEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dF9qb2luJTIyJTIwaWQlM0QlMjIlNURqenkpTTR1cUNBJTIzSWNHfkdnVXMlMjIlM0UlM0NtdXRhdGlvbiUyMGl0ZW1zJTNEJTIyNCUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMiUzRHklMjN5WiUyRjI0NSUyMyUyNSU3RE0hZ1M0VyUyQiglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMC4xJTNBJTIwSGlud2Vpc2UlM0ElMjBUeXAlM0ElM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udmVydF90eXBlJTIyJTIwaWQlM0QlMjJqJTNCaSUyNDJaSllQaiUyNGghJTNEJTJGZmY5Ry0lMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJVEVNJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyUHRNYmslNjAlNDAlNUQlM0QlMkMlN0JFX1UzQXptamYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnJoJTIzJTJGTmJIJTNGVi5KTnFjJTIzVHJQJTdDJTVEJTIyJTNFbGljaHRJc3RBbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQyJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyJTNBJTNGJTdCSFQlMkZwMGtjJTVFWnNSblNCQSUzQkklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTIwV2VydCUyMGlzdCUzQSUyMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDMlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJTUF90ViU2MG5HdX4yb2t6UyU1RFMwMCU3QyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyd0dpJTdCYiU3Q3clM0JBTjEuLWwlNUIqeTh4cSUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX29wZXJhdGlvbiUyMiUyMGlkJTNEJTIyQjQlNUQpNDFVdSUzRCp0bHohZipkJTIzJTJGJTJGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VBTkQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJ4N2ZxX1VmRXElM0IuJTI0VlMlNUQlMjRNQVQxJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyR0clN0RVQyklMjU4JTJGaDhxTjNxdG5SZW0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRU5FUSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnZlcnRfdHlwZSUyMiUyMGlkJTNEJTIyKkclNDAlM0ZSITZ0JTJCJTNBYmNIUDMlM0QpeiUzQTglMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJVEVNJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTJCb0o4JTYwNE81Zi56OWdzUSUzQTUlN0NFMyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlMkJodEsqJTdCfiU0MFVzenAlNURyS01VKnpBJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRWJvb2xlYW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyaXN2YW96TmtLJTI0JTdDenYyJTNEMGphfmElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0X2pvaW4lMjIlMjBpZCUzRCUyMjclNjByIWglM0RCYVB6MWtFblBob34lMjMlMjUlMjIlM0UlM0NtdXRhdGlvbiUyMGl0ZW1zJTNEJTIyNCUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMm5oa1BxdENhdlM4QyU2MGFLYUZGME8lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMC41JTNBJTIwQnVnZml4JTIwd3JvbmclMjB0eXBlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnZlcnRfdHlwZSUyMiUyMGlkJTNEJTIyKiglMjNYJTJCY3goKkR5JTQwTUV6JTNCcSU1RS5BJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySVRFTSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMnlhZTU4JTVEKHBEazElNUUlN0MlMjRuJTVCMWI1JTVFJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyaCUyMyUyRk5iSCUzRlYuSk5xYyUyM1RyUCU3QyU1RCUyMiUzRWxpY2h0SXN0QW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMmltY1RmSDBWM2IlMjMpfiU1RGM4JTdEKlkqJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUyMFdlcnQlMjBpc3QlM0ElMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQzJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyLnlMcCU1RFIlMjVCZHRuJTYwJTNEQyU3RDVUQ0pNJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyaCUyMyUyRk5iSCUzRlYuSk5xYyUyM1RyUCU3QyU1RCUyMiUzRWxpY2h0SXN0QW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJzX2ZYQzIlNDBydGlXTiUyM2JKVDRnQkolMjIlM0UlM0NtdXRhdGlvbiUyMGVsc2UlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjJ3JTNCSCUyM3lIM2FlJTVEeiUzRGwyJTVFUkk0KiUyMyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjIlNUV5NWdMdiU1RS0lNDBlZiUzRjQ1a1ZWdXIwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyaCUyMyUyRk5iSCUzRlYuSk5xYyUyM1RyUCU3QyU1RCUyMiUzRWxpY2h0SXN0QW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyTk8lNUJWKHElM0IlMjNkLTlTU1QlMkYwbU9iJTNEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRW9uJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJWQldsJTYwZyUyQyUzQSU2MFUxJTJCNiUzRkMhX3pVYSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMjNiIW0oJTI0QmolMjQ2cnFsJTI1VCU3RGhGR3olMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyJTNEJTI0fjhiJTdCIVhkNnp6YjMpc2pHa2MlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMmUlN0NhSSUyRklLJTdCSSU1RUZBS0k2ci4tNzIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMC41YSUzQSUyMGFuJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkVMU0UlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJpJTQwJTdEcWtSeCl+UHguUSU3RHc4ZSUyQzJGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyaCUyMyUyRk5iSCUzRlYuSk5xYyUyM1RyUCU3QyU1RCUyMiUzRWxpY2h0SXN0QW4lM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyTmR0a0taUnR1TlRYMVglNUIyaXJlRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyJTIzRiU1RSF+flVIRjc4MUdpNTNDJTYwIWQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMk5pY3ZPRVUtOCUyRkQ2Z2VDTCUyQyUyNVZuJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTAuNWIlM0ElMjBhdXMlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyX0Y0QXNJKiU3RDMlN0MyJTdCJTIzRiU0MCU1QmUwOTIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMmRrbFU4MURtMW1LMUg0cmklNUUlN0J0KiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfam9pbiUyMiUyMGlkJTNEJTIyOXVKLmpmY01ELSU3QiU3QyUyQyUzRCUyRkwxcng5JTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjIlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIuRFNQQ3ZpdilnQTV5UThvRi1COSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UxJTNBJTIwZXJrYW5udCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJsJTNBNS5KRnAlN0Jra0FPUlpGMUZQViklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnJoJTIzJTJGTmJIJTNGVi5KTnFjJTIzVHJQJTdDJTVEJTIyJTNFbGljaHRJc3RBbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMiU2MEhNJTI0Ym9aSVc4RSU0MDJBSiU3QkN4KEIlMjIlM0UlM0NtdXRhdGlvbiUyMGVsc2UlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjI0NCUzQVlMcSU1Qml6JTVEJTNGJTNBQnlDMyElM0FpbCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJua0ZDJTI0dyUyQyUyNEIlNUQlM0ElNUQuJTdDJTdEam5DM2QlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMkpzZUVrLX5UJTNBamg2KWFMLmIydSElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMiUzQSUyMExpY2h0JTIwaXN0JTIwYmVyZWl0cyUyMGFuJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIybVg5MlQlM0JpOVF0JTNGJTI1WSlvcXYlNUV6ZSUyMiUzRSUzQ211dGF0aW9uJTIwZWxzZSUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMm1vd3JibDElMjNMTmh5b1RfLU5oJTVCZyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyTiklMkIqMX4zWlNsbSpkeGZlaCU2MCU1QkUlMjIlM0VMaWNodER1cmNoQmV3ZWdBbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyJTJDWXE1QlNSZiFYKUczdkZIZGslM0ExJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJsNS1NJTJCJTI0KmZ2MyU3RClTaSpud3glNURoJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTMlM0ElMjB2ZXJsJUMzJUE0bmdlcmUlMjBMaWNodGRhdWVyJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0aW1lb3V0c19jbGVhcnRpbWVvdXQlMjIlMjBpZCUzRCUyMndFSTBiU2lXOUdibDglNUVJciUzQSUyRn4lM0ElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFaW5pdExpY2h0QXVzJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGltZW91dHNfY2xlYXJ0aW1lb3V0JTIyJTIwaWQlM0QlMjIqKlczJTVFJTYwZWYlMkMlNURRJTIzXyFRIUslN0QuRCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0V2ZXJsJUMzJUE0bmdlcnVuZ0xpY2h0JTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGltZW91dHNfc2V0dGltZW91dF92YXJpYWJsZSUyMiUyMGlkJTNEJTIyTX40WiUyRnklMkMlN0QlNUJxdiUyRiUzRiU1RU0hVXN2ISUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0V2ZXJsJUMzJUE0bmdlcnVuZ0xpY2h0JTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyJTdDWEV+bnhNdCklNDAuKTJKVnBOaVBYJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMTAwMCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTJDVHQlM0ZBZ1QlNUIxLnBLbG4lNDBYJTVCIWtBJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlM0FOJTVCY0klM0YlN0QyJTdCOHdkdmYlM0Y4YzRXKiUyMiUzRUxpY2h0TmFjaGRldGVrdGlvbkFuYmxlaWJlbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJwcm9jZWR1cmVzX2NhbGxub3JldHVybiUyMiUyMGlkJTNEJTIyJTYweiU3QktCS1hMJTQwSi1DJTYwKGNUSWJ1UyUyMiUzRSUzQ211dGF0aW9uJTIwbmFtZSUzRCUyMkxpY2h0JTIwYXVzc2NoYWx0ZW4lMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRUxTRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJHMWJIJTJGJTdCT2c3JTNBQlgoKiElNUVNZDQxJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjItZGJoJTJDV0ouRiUzRjgxUEIhaHpuZSU3QiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UzJTNBbm90aGluZzJkbyUyMExpY2h0JTIwbmljaHQlMjBkdXJjaCUyMEFsZ28lMjBnZXNldHp0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRUxTRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJOJTNCbHApYUMlMjQlNjBmKWYuektJVHpNUyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFZGVidWclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyWiU3Q3MlNDAtWSU3Q2N6d2wlN0IuMylGcFlufiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UyJTNBJTIwTGljaHQlMjBpc3QlMjBhdXMlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJSJTJDcWF1JTQwVWxacCU1QmslNUVFJTNEOSpYcXklMjIlM0UlM0NtdXRhdGlvbiUyMGVsc2UlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjJZKkNRay1aaE5fNHYlNUIlN0QlNUJsIUolNUJtJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VMVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyIV8lNjBKNGElN0IxJTdCS18lM0IlMkNQdCUzQSU2MCU2MGQ0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFYWxpYXMuMC5lZy5LdWVjaGUuRUdLdWVjaGVGZW5zdGVyQmV3ZWdMdXglM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyekd6aEtQbk8uOENXZColM0RJLSUyMyUyNUQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMmh+JTdEdDlNTEwlNURpdF9WJTdDVlJZM00lMjUlMjIlM0VzY2h3ZWxsV2VydExpY2h0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyRihzJTNGdiUyRjBUTFRlQSU1RVZrZSUyNVBBWiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFZGVidWclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyaXBiISUzRih1TWpueVElNURYOC4lNUUlMkNfZyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UzJTNBJTIwa2xlaW5lciUyMFNjaHdlbGx3ZXJ0LSUyNmd0JTNCTGljaHQlMjBhbnNjaGFsdGVuJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJSdTNkRU1PcSUzRH5kQyE4KjRCYiUzRHAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMk4pJTJCKjF+M1pTbG0qZHhmZWglNjAlNUJFJTIyJTNFTGljaHREdXJjaEJld2VnQW4lM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIycCU0MDVKc05LfiUzRiU3QiUyNHBHZ1hRNCUyNTJnJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbF9leCUyMiUyMGlkJTNEJTIyXyUzRGRkT3FkNFE0ZyUyNDFzX1B2WXFpJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVFlQRSUyMiUzRWZhbHNlJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDTEVBUl9SVU5OSU5HJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMlIzdFRJOGVDJTJGZSUyNXMlMkJyLSUyQk16QWMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VPYmplY3QlMjBJRCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyMEQzSDUlMjNmVWRfJTNBYkM5QmMuKDAzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlMjRIcmJPRS5xOVE1NzQlN0QlNjBiUTRJJTI1JTIyJTNFaWRMaWNodFNjaGFsdGVyJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyOSU2MDFTODR5VSU1RGx6OGhzd00qUGwyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyREVMQVlfTVMlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMi0oUyUyM0N5VTluZHolM0Jza1klM0RWdiUyQi0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0aW1lb3V0c19zZXR0aW1lb3V0X3ZhcmlhYmxlJTIyJTIwaWQlM0QlMjJJUCglM0I4ZnklN0RwZiU3Q0tzKiUyQ01ETjVqJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTkFNRSUyMiUzRWluaXRMaWNodEF1cyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyREVMQVlfTVMlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMnBzJTI1JTVFWGZNKiUzRHIlM0QlNUJUUHowcS5MMiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTYwMDAwJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJ1JTdCfmxEJTNGUn40cV8lMkNQLnJFJTVCZH5XJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlM0FOJTVCY0klM0YlN0QyJTdCOHdkdmYlM0Y4YzRXKiUyMiUzRUxpY2h0TmFjaGRldGVrdGlvbkFuYmxlaWJlbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJwcm9jZWR1cmVzX2NhbGxub3JldHVybiUyMiUyMGlkJTNEJTIybSU3QiUyQ2xDMDJ0Tkk4al82TDMlM0IqcHklMjIlM0UlM0NtdXRhdGlvbiUyMG5hbWUlM0QlMjJMaWNodCUyMGF1c3NjaGFsdGVuJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkVMU0UlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyaGZVIW5JTCpXJTNBKiU3Q0p6JTI1aHZaJTdERSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFZGVidWclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIydyoxN3YlMkYlN0JoLiUyNEF2Sm4pQ1dHJTNCUiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UzJTNBJTIwZ3IlQzMlQjYlQzMlOUZlciUyMFNjaHdlbGx3ZXJ0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJFTFNFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMmMlM0RnKmZJJTIzLUx5JTIzJTJDSEslN0JHenNxNiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFZGVidWclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyJTNCNSU3RDRQJTI0YTRLak1jYzZBbE9ZZDYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMSUzQSUyMG5pY2h0JTIwZXJrYW5udCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0NibG9jayUyMHR5cGUlM0QlMjJwcm9jZWR1cmVzX2RlZm5vcmV0dXJuJTIyJTIwaWQlM0QlMjJ1MHdSJTQweUhrbCUzQWQlMkIlMjQlNUJxJTI0SjhfZiUyMiUyMHglM0QlMjI4MzglMjIlMjB5JTNEJTIyOTYzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTkFNRSUyMiUzRUxpY2h0JTIwYXVzc2NoYWx0ZW4lM0MlMkZmaWVsZCUzRSUzQ2NvbW1lbnQlMjBwaW5uZWQlM0QlMjJmYWxzZSUyMiUyMGglM0QlMjI4MCUyMiUyMHclM0QlMjIxNjAlMjIlM0VCZXNjaHJlaWJlJTIwZGllc2UlMjBGdW5rdGlvbiUyMCVFMiU4MCVBNiUzQyUyRmNvbW1lbnQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBQ0slMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyZjB3LSU3REVGd1p2JTNCJTNEMUxDJTNBJTNBbUdqJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJ0ViUyQ0s0JTI1QmYlM0EuUWd1Q1hHJTdEJTI0VSU1QiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VYJTNBJTIwTGljaHQlMjBhdXNzY2hhbHRlbiUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyJTNEZCUyRmglM0RTRU9tKCUzRG8lMjRrZUJUcDMlMkIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMk4pJTJCKjF+M1pTbG0qZHhmZWglNjAlNUJFJTIyJTNFTGljaHREdXJjaEJld2VnQW4lM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyJTI1JTVEKjRYdmglNUQlM0JkZFElMjM2ZiUyNSU1RTMoJTNEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xfZXglMjIlMjBpZCUzRCUyMmRfSzEtRHElMkIlN0IyJTJDKldxLWUxXyUzQiU0MCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRZUEUlMjIlM0VmYWxzZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ0xFQVJfUlVOTklORyUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFT2JqZWN0JTIwSUQlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMmJkJTVCMUZqZlYlNUVkJTNGbWolN0JxdFpudCklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUyNEhyYk9FLnE5UTU3NCU3RCU2MGJRNEklMjUlMjIlM0VpZExpY2h0U2NoYWx0ZXIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJ3aiUyQzByV2hwdWsyJTdCJTQwRlFRNWlqdiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyMiUyQmJVSCU3Q2MlM0JsbmtXSyU1RGJSJTNEbFNLJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGeG1sJTNF
      
      1 Antwort Letzte Antwort
      0
      • I ioMas

        Hallo,
        bei meinem Ziel eine Lampe via Bewegungsmelder[BWM] (Aktivität ja/nein+ Lichstärke Aqara RTCGQ14LM ) und einem Schalter shelly 1l (via mqtt angeschlossen, es wurde für diesen Typ keine andere Möglichkeit angezeigt, das ist aber hier auch nicht das Problem) zu steuern bin ich auf folgendes Problem gestoßen. Das Script arbeitet mit Bugfix vgl Blocklyscreenshots und Ausgabe einwandfrei, aber ich würd gerne den Bugfix loswerden, daher bitte angeben ob dies von mir ein Anwender/Logikfehler ist oder aber ein Bug
        Szenario 1: Ich komme in den Raum, Licht geht an, ich verlasse den Raum 1min später ist das Licht aus. - Check
        Szenario 2: Trivial ich mache das Licht via adminoberfläche mit Hilfe des Aliases an und aus - Check
        adminTrue.png
        Hier aber schon einmal dazu der Aufbau des Aliases:

        {
          "common": {
            "name": "EGKuecheFensterLicht",
            "desc": "Manuell erzeugt",
            "role": "state",
            "type": "boolean",
            "read": true,
            "write": true,
            "def": false,
            "alias": {
              "id": {
                "read": "mqtt.0.shellies.shelly1l-XXX.relay.0",
                "write": "mqtt.0.shellies.shelly1l-XXX.relay.0.command"
              },
              "read": "val=='on'",
              "write": "val?'on':'off'"
            },
            "custom": {
              "influxdb.0": {
                "enabled": true,
                "storageType": "",
                "aliasId": "",
                "debounceTime": 0,
                "blockTime": 0,
                "changesOnly": false,
                "changesRelogInterval": 0,
                "changesMinDelta": 0,
                "ignoreBelowNumber": "",
                "disableSkippedValueLogging": false,
                "enableDebugLogs": false,
                "debounce": 0
              }
            }
          },
          "type": "state",
          "native": {},
          "_id": "alias.0.eg.Kueche.EGKuecheFensterLicht",
          "acl": {
            "object": 1636,
            "state": 1636,
            "owner": "system.user.admin",
            "ownerGroup": "system.group.administrator"
          },
          "from": "system.adapter.admin.0",
          "user": "system.user.admin",
          "ts": 1676219920642
        }
        

        Zur Erklärung:
        Der Shelly hat zwei unterschiedliche Ort, lesen kann man via: mqtt.0.shellies.shelly1l-XXX.relay.0 [Zeile 12] hier gibt es die Werte on und off, zum schreiben gibt es den Punkt mqtt.0.shellies.shelly1l-XXX.relay.0.command [Zeile13]- wieder per on und off, dieses wollte ich aber als Boolsche Variabe haben, deshalb mit den zwei Funktionen (zum lesen: val=='on' [Zeile 15] und zum schreiben: val?'on':'off [Zeile 16]) angepasst. Dies funktioniert soweit ganz gut.
        Szenario 3:
        Ich schalte den Shelly manuell ohne Script am laufen: im Adminbereich wird der alias entsprechend meines Schaltens korrekt angezeigt - Check
        Jetzt kommen wir zu Scenario 4 wo ich den Bug vermute:
        Ich lasse das Licht via Script anschalten und schalte das Licht nun manuell aus. Nach >1 Minute warten, ohne dabei den BWM auszulösen will ich nun das das Licht wieder angeht, dabei passiert jedoch folgendes: Das Licht bleibt aus. Nach intensiver Fehlersuche stellte sich herraus das durch die manuelle Betätigung des Schalters der Shelly der Datentyp des Alias von boolean auf string geändert hat und ich nun die nativen Befehle zum lesen nutzen muss (on/off). Dies sehe ich als Fehler an, zumindest würde ich hier erwarten das es bei boolean bleibt/was wäre hier eine Alternative?
        Zum besseren Verständnis anbei die Bilder des Blockly zusammen mit der Debugausgabe.
        blockly1.png
        blockly2.png
        blockly3.png

        Anbei nun noch die Debugausgabe

        #Start des Blocklys
        #Szenario 1
        23:40:25.185	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 0: Bewegung
        23:40:25.187	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
        23:40:25.187	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 1: erkanntfalse
        23:40:25.188	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 2: Licht ist aus
        23:40:25.188	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
        23:40:57.142	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 0: Bewegung
        23:40:57.145	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 1: nicht erkannt
        23:41:25.190	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: X: Licht ausschalten
        #Szenario 1 Ende
        #Szenario 4
        23:41:38.344	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 0: Bewegung
        23:41:38.346	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
        23:41:38.347	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 1: erkanntfalse
        23:41:38.347	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 2: Licht ist aus
        23:41:38.348	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
        #Hier wird die schelly manuell ausgeschaltet und der Raum verlassen
        23:42:10.318	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 0: Bewegung
        23:42:10.320	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 1: nicht erkannt
        23:42:38.348	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: X: Licht ausschalten
        #Hier wird der Raum wieder betreten
        23:42:46.041	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 0: Bewegung
        #Hier wird nun der mMn. Bug deutlich:
        23:42:46.042	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:string Wert ist: off
        23:42:46.043	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 0.5: Bugfix wrong typestring Wert ist: off
        23:42:46.043	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 0.5b: aus
        23:42:46.044	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 1: erkanntfalse
        23:42:46.044	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 2: Licht ist aus
        23:42:46.044	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
        23:43:18.019	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 0: Bewegung
        23:43:18.020	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: 1: nicht erkannt
        23:43:46.046	debug	javascript.0 (582687) script.js.EG.kueche.beweg2: X: Licht ausschalten
        #Szenario 4 Ende
        

        Hinweis: Es geht mir hier nicht um ein besseres Script sondern schlicht darum habe ich einen Fehler dabei gemacht oder ist das hier tatsächlich ein Bug(siehe Zeile 25: Typ=string erwartet hätte ich hier bool )? Der Aliastyp ist ja boolean, was man auch in Szenario 1(z.B. Zeile 4 Typ=boolean) gut sehen kann. Kann das erklärt bestätigt/gelöst werden?
        Weitere Scenarien habe ich nicht geprüft...
        Entschuldigung für den langen Text aber ich hatte keine Idee das viel kürzer hinzubekommen.
        Bin dankbar für jede Hilfe.

        Systemdata Bitte Ausfüllen
        Hardwaresystem: PI4
        Arbeitsspeicher: 4GB
        Festplattenart: USB-Stick
        Betriebssystem: Debian GNU/Linux 11 (bullseye)
        Node-Version:
        Nodejs-Version: 18.14.0
        NPM-Version:
        Installationsart: Manuell
        Image genutzt: Nein
        Ort/Name der Imagedatei:

        JS Controller: 4.0.24

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #4

        @iomas sagte: Debugausgabe

        Passiert das auch, wenn die Read-Konvertierung weg gelassen wird (automatische Konvertierung)?

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Antwort Letzte Antwort
        0
        • I Offline
          I Offline
          ioMas
          schrieb am zuletzt editiert von
          #5

          @paul53
          Meinst du im Alias die Zeile 15 leeren "read": "val=='on'",?
          Im Admin Adapter stet dann direkt val, das kann man wohl nicht löschen.
          ich habe das jetzt mal getestet: allerdings ohne den javascriptadapter neu zu starten, ich hätte da ein anderes Ergebnis erwartet aber das folgende ist passiert:

          #case normal durch bewegungsmelder
          19:32:50.355	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
          19:32:50.357	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
          19:32:50.357	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: erkanntfalse
          19:32:50.358	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 2: Licht ist aus
          19:32:50.361	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
          19:33:22.338	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
          19:33:22.339	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: nicht erkannt
          19:33:50.366	debug	javascript.0 (783) script.js.EG.kueche.beweg2: X: Licht ausschalten
          
          #case durch beweg an durch manuelles schalten ausgeschaltet
          19:33:53.270	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
          19:33:53.270	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
          19:33:53.271	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: erkanntfalse
          19:33:53.271	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 2: Licht ist aus
          19:33:53.272	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
          19:34:25.254	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
          19:34:25.255	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: nicht erkannt
          19:34:53.274	debug	javascript.0 (783) script.js.EG.kueche.beweg2: X: Licht ausschalten
          19:35:36.111	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
          19:35:36.113	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:string Wert ist: off
          19:35:36.114	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.5: Bugfix wrong typestring Wert ist: off
          19:35:36.114	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.5b: aus
          19:35:36.115	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: erkanntfalse
          19:35:36.115	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 2: Licht ist aus
          19:35:36.117	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
          19:36:08.093	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
          19:36:08.094	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: nicht erkannt
          19:36:36.122	debug	javascript.0 (783) script.js.EG.kueche.beweg2: X: Licht ausschalten
          

          das verhalten hat sich nicht geändert :? soll ich den js adapter einmal neu starten?

          paul53P 1 Antwort Letzte Antwort
          0
          • I Offline
            I Offline
            ioMas
            schrieb am zuletzt editiert von
            #6

            @iomas
            Kleiner Nachtrag das neustarten des Scriptes (nicht des adapters) ändert daran leider auc nichts

            I 1 Antwort Letzte Antwort
            0
            • I ioMas

              @iomas
              Kleiner Nachtrag das neustarten des Scriptes (nicht des adapters) ändert daran leider auc nichts

              I Offline
              I Offline
              ioMas
              schrieb am zuletzt editiert von
              #7

              @iomas
              Nachtrag 2, In der Adminoberfläche macht es keinen Unterschied ob ich konvertiere oder nicht in beiden Fällen wird entsprechend true oder false angezeigt, habe mich dennoch entschieden es wieder auf val=='on' zu setzen da das mit meiner Logik irgendwie mehr entspricht :?

              1 Antwort Letzte Antwort
              0
              • I ioMas

                @paul53
                Meinst du im Alias die Zeile 15 leeren "read": "val=='on'",?
                Im Admin Adapter stet dann direkt val, das kann man wohl nicht löschen.
                ich habe das jetzt mal getestet: allerdings ohne den javascriptadapter neu zu starten, ich hätte da ein anderes Ergebnis erwartet aber das folgende ist passiert:

                #case normal durch bewegungsmelder
                19:32:50.355	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
                19:32:50.357	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
                19:32:50.357	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: erkanntfalse
                19:32:50.358	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 2: Licht ist aus
                19:32:50.361	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                19:33:22.338	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
                19:33:22.339	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: nicht erkannt
                19:33:50.366	debug	javascript.0 (783) script.js.EG.kueche.beweg2: X: Licht ausschalten
                
                #case durch beweg an durch manuelles schalten ausgeschaltet
                19:33:53.270	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
                19:33:53.270	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
                19:33:53.271	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: erkanntfalse
                19:33:53.271	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 2: Licht ist aus
                19:33:53.272	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                19:34:25.254	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
                19:34:25.255	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: nicht erkannt
                19:34:53.274	debug	javascript.0 (783) script.js.EG.kueche.beweg2: X: Licht ausschalten
                19:35:36.111	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
                19:35:36.113	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:string Wert ist: off
                19:35:36.114	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.5: Bugfix wrong typestring Wert ist: off
                19:35:36.114	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.5b: aus
                19:35:36.115	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: erkanntfalse
                19:35:36.115	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 2: Licht ist aus
                19:35:36.117	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                19:36:08.093	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
                19:36:08.094	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: nicht erkannt
                19:36:36.122	debug	javascript.0 (783) script.js.EG.kueche.beweg2: X: Licht ausschalten
                

                das verhalten hat sich nicht geändert :? soll ich den js adapter einmal neu starten?

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #8

                @iomas sagte: soll ich den js adapter einmal neu starten?

                Der Alias wird im js-controller verarbeitet.

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                I 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @iomas sagte: soll ich den js adapter einmal neu starten?

                  Der Alias wird im js-controller verarbeitet.

                  I Offline
                  I Offline
                  ioMas
                  schrieb am zuletzt editiert von
                  #9

                  @paul53
                  habe die readfunktionalität noch einmal entfernt und auch den js adapter neu gestartet leider mit gleichem Ergebnis.

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • I ioMas

                    @paul53
                    habe die readfunktionalität noch einmal entfernt und auch den js adapter neu gestartet leider mit gleichem Ergebnis.

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #10

                    @iomas sagte: js adapter neu gestartet

                    Starte mal ioBroker neu.

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    I 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @iomas sagte: js adapter neu gestartet

                      Starte mal ioBroker neu.

                      I Offline
                      I Offline
                      ioMas
                      schrieb am zuletzt editiert von
                      #11

                      @paul53
                      hat leider nichts gebracht :(

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • I ioMas

                        @paul53
                        hat leider nichts gebracht :(

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von paul53
                        #12

                        @iomas sagte: hat leider nichts gebracht

                        Noch ein Versuch: Ändere die Rolle des Alias in "switch".

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        I 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @iomas sagte: hat leider nichts gebracht

                          Noch ein Versuch: Ändere die Rolle des Alias in "switch".

                          I Offline
                          I Offline
                          ioMas
                          schrieb am zuletzt editiert von
                          #13

                          @paul53
                          habe die Rolle in switch geändert leider bleibt es dabei, es wird ein string draus.

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • I ioMas

                            @paul53
                            habe die Rolle in switch geändert leider bleibt es dabei, es wird ein string draus.

                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von
                            #14

                            @iomas sagte: bleibt es dabei, es wird ein string draus.

                            Mal InfluxDB auf dem Alias deaktiviert?

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            I 1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @iomas sagte: bleibt es dabei, es wird ein string draus.

                              Mal InfluxDB auf dem Alias deaktiviert?

                              I Offline
                              I Offline
                              ioMas
                              schrieb am zuletzt editiert von
                              #15

                              @paul53
                              InfluxDB abschalten hat leider keinen Einfluß auf das beschriebene Verhalten.

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • I ioMas

                                @paul53
                                InfluxDB abschalten hat leider keinen Einfluß auf das beschriebene Verhalten.

                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von paul53
                                #16

                                @iomas
                                Ich habe den Javascript-Code mal zum Testen übernommen, zwei Aliase und zwei MQTT-Datenpunkte erstellt und getestet: Ich erhalte immer nur:

                                0.1: Hinweise: Typ:boolean Wert ist: false
                                

                                oder true. Mit welchem Ablauf erscheint?

                                0.1: Hinweise: Typ:string Wert ist: off
                                

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                1 Antwort Letzte Antwort
                                1
                                • I Offline
                                  I Offline
                                  ioMas
                                  schrieb am zuletzt editiert von ioMas
                                  #17

                                  @paul53
                                  Dieser erscheint wenn ich den shelly über die app frühzeitig ausschalte, also Licht geht an, ich schalte per App oder phsyikalisch den Schalter aus. Wenn danach erneut der Bewegungsmelder aktiviert wird, dann kommt es zu besagtem Wechsel des Typs.

                                  paul53P 1 Antwort Letzte Antwort
                                  0
                                  • I ioMas

                                    @paul53
                                    Dieser erscheint wenn ich den shelly über die app frühzeitig ausschalte, also Licht geht an, ich schalte per App oder phsyikalisch den Schalter aus. Wenn danach erneut der Bewegungsmelder aktiviert wird, dann kommt es zu besagtem Wechsel des Typs.

                                    paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von paul53
                                    #18

                                    @iomas sagte in Alias auf Shelly - unerwartete Änderung des Aliastyps:

                                    Licht geht an, ich schalte per App oder phsyikalisch den Schalter aus. Wenn danach erneut der Bewegungsmelder aktiviert wird

                                    Habe ich mal nachgestellt:

                                    16:49:48.115	info	javascript.1 (2077) script.js.common.Neuer_Test: 0: Bewegung
                                    16:49:48.116	info	javascript.1 (2077) script.js.common.Neuer_Test: 0.1: Hinweise: Typ:boolean Wert ist: false
                                    16:49:48.116	info	javascript.1 (2077) script.js.common.Neuer_Test: 1: erkanntfalse
                                    16:49:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: 2: Licht ist aus
                                    16:49:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: 3: kleiner Schwellwert->Licht anschalten
                                    16:49:48.248	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: true, Ack: true, Skript: script.js.common.Shelly1
                                    16:50:00.164	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                                    16:50:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                                    16:50:48.176	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                                    16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 0: Bewegung
                                    16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 0.1: Hinweise: Typ:boolean Wert ist: false
                                    16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 1: erkanntfalse
                                    16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 2: Licht ist aus
                                    16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 3: kleiner Schwellwert->Licht anschalten
                                    16:51:02.886	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: true, Ack: true, Skript: script.js.common.Shelly1
                                    16:52:02.817	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                                    16:52:02.916	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                                    

                                    Der zusätzliche Log-Eintrag kommt aus dem Debug-Log auf dem Alias:

                                    on({id: idLichtSchalter}, function(dp) {
                                        log('Alias: ' + dp.state.val + ', Ack: ' + dp.state.ack + ', Skript: ' + dp.state.c);
                                    });
                                    

                                    Was mir auffällt: Der Debug-Trigger liefert stets "Ack: true", d.h. auf das ursprüngliche Setzen mit ack = false reagiert der Trigger nicht. Allerdings reagiert das MQTT-Kommando:

                                    17:25:49.123	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                                    17:25:49.127	info	javascript.1 (2077) script.js.common.Neuer_Test: MQTT Command: off, Ack: false
                                    17:25:49.180	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                                    

                                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                    I 2 Antworten Letzte Antwort
                                    0
                                    • paul53P paul53

                                      @iomas sagte in Alias auf Shelly - unerwartete Änderung des Aliastyps:

                                      Licht geht an, ich schalte per App oder phsyikalisch den Schalter aus. Wenn danach erneut der Bewegungsmelder aktiviert wird

                                      Habe ich mal nachgestellt:

                                      16:49:48.115	info	javascript.1 (2077) script.js.common.Neuer_Test: 0: Bewegung
                                      16:49:48.116	info	javascript.1 (2077) script.js.common.Neuer_Test: 0.1: Hinweise: Typ:boolean Wert ist: false
                                      16:49:48.116	info	javascript.1 (2077) script.js.common.Neuer_Test: 1: erkanntfalse
                                      16:49:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: 2: Licht ist aus
                                      16:49:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: 3: kleiner Schwellwert->Licht anschalten
                                      16:49:48.248	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: true, Ack: true, Skript: script.js.common.Shelly1
                                      16:50:00.164	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                                      16:50:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                                      16:50:48.176	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                                      16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 0: Bewegung
                                      16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 0.1: Hinweise: Typ:boolean Wert ist: false
                                      16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 1: erkanntfalse
                                      16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 2: Licht ist aus
                                      16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 3: kleiner Schwellwert->Licht anschalten
                                      16:51:02.886	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: true, Ack: true, Skript: script.js.common.Shelly1
                                      16:52:02.817	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                                      16:52:02.916	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                                      

                                      Der zusätzliche Log-Eintrag kommt aus dem Debug-Log auf dem Alias:

                                      on({id: idLichtSchalter}, function(dp) {
                                          log('Alias: ' + dp.state.val + ', Ack: ' + dp.state.ack + ', Skript: ' + dp.state.c);
                                      });
                                      

                                      Was mir auffällt: Der Debug-Trigger liefert stets "Ack: true", d.h. auf das ursprüngliche Setzen mit ack = false reagiert der Trigger nicht. Allerdings reagiert das MQTT-Kommando:

                                      17:25:49.123	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                                      17:25:49.127	info	javascript.1 (2077) script.js.common.Neuer_Test: MQTT Command: off, Ack: false
                                      17:25:49.180	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                                      
                                      I Offline
                                      I Offline
                                      ioMas
                                      schrieb am zuletzt editiert von
                                      #19

                                      @paul53 said in Alias auf Shelly - unerwartete Änderung des Aliastyps:

                                      on({id: idLichtSchalter}, function(dp) {

                                      Ich habe mein Script mal um folgendes erweitert, analog zu deinem JS, hoffe ich...
                                      5440c641-5f17-4b15-8f4c-984ede15e422-grafik.png

                                      on({id: [].concat(idLichtSchalter), change: "ne"}, async function (obj) {
                                        var value = obj.state.val;
                                        var oldValue = obj.oldState.val;
                                        console.debug((['Alias: ',(obj.state ? obj.state.val : ""),', Ack: ',(obj.state ? obj.state.ack : ""),', Skript: ',(obj.state ? obj.state.from : "")].join('')));
                                      });
                                      

                                      ist was im blockly unter JS dazukam.
                                      Die Ausgabe sieht bei mir danach wie folgt aus:

                                      17:21:44.814	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                      17:21:44.815	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
                                      17:21:44.815	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                                      17:21:44.817	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                                      17:21:44.821	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                                      17:21:44.913	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                                      17:22:03.022	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                                      17:22:16.783	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                      17:22:16.784	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                                      17:22:44.823	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                                      17:22:54.973	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                      17:22:54.974	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:string Wert ist: off
                                      17:22:54.974	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5: Bugfix wrong typestring Wert ist: off
                                      17:22:54.974	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5b: aus
                                      17:22:54.975	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                                      17:22:54.976	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                                      17:22:54.977	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                                      17:22:55.046	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                                      17:23:26.961	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                      17:23:26.962	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                                      17:23:54.979	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                                      17:23:55.052	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                                      

                                      hilft das weiter?

                                      paul53P 1 Antwort Letzte Antwort
                                      0
                                      • I ioMas

                                        @paul53 said in Alias auf Shelly - unerwartete Änderung des Aliastyps:

                                        on({id: idLichtSchalter}, function(dp) {

                                        Ich habe mein Script mal um folgendes erweitert, analog zu deinem JS, hoffe ich...
                                        5440c641-5f17-4b15-8f4c-984ede15e422-grafik.png

                                        on({id: [].concat(idLichtSchalter), change: "ne"}, async function (obj) {
                                          var value = obj.state.val;
                                          var oldValue = obj.oldState.val;
                                          console.debug((['Alias: ',(obj.state ? obj.state.val : ""),', Ack: ',(obj.state ? obj.state.ack : ""),', Skript: ',(obj.state ? obj.state.from : "")].join('')));
                                        });
                                        

                                        ist was im blockly unter JS dazukam.
                                        Die Ausgabe sieht bei mir danach wie folgt aus:

                                        17:21:44.814	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                        17:21:44.815	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
                                        17:21:44.815	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                                        17:21:44.817	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                                        17:21:44.821	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                                        17:21:44.913	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                                        17:22:03.022	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                                        17:22:16.783	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                        17:22:16.784	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                                        17:22:44.823	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                                        17:22:54.973	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                        17:22:54.974	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:string Wert ist: off
                                        17:22:54.974	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5: Bugfix wrong typestring Wert ist: off
                                        17:22:54.974	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5b: aus
                                        17:22:54.975	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                                        17:22:54.976	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                                        17:22:54.977	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                                        17:22:55.046	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                                        17:23:26.961	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                        17:23:26.962	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                                        17:23:54.979	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                                        17:23:55.052	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                                        

                                        hilft das weiter?

                                        paul53P Offline
                                        paul53P Offline
                                        paul53
                                        schrieb am zuletzt editiert von paul53
                                        #20

                                        @iomas sagte: hilft das weiter?

                                        Nicht wirklich. Ich kann das Verhalten mit "Wert ist: off" bei mir nicht nachstellen - bei gleichem Ablauf. Version des Hosts (js-controller)?
                                        Außerdem triggert mein Debug-Trigger auf "wurde aktualisiert".

                                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                        I 1 Antwort Letzte Antwort
                                        0
                                        • paul53P paul53

                                          @iomas sagte: hilft das weiter?

                                          Nicht wirklich. Ich kann das Verhalten mit "Wert ist: off" bei mir nicht nachstellen - bei gleichem Ablauf. Version des Hosts (js-controller)?
                                          Außerdem triggert mein Debug-Trigger auf "wurde aktualisiert".

                                          I Offline
                                          I Offline
                                          ioMas
                                          schrieb am zuletzt editiert von
                                          #21

                                          @paul53
                                          habe es auf aktualisiert geändert:
                                          f1d217cb-bd75-4c31-a783-205b3f147578-grafik.png

                                          on({id: [].concat(idLichtSchalter), change: "any"}, async function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            console.debug((['Alias: ',(obj.state ? obj.state.val : ""),', Ack: ',(obj.state ? obj.state.ack : ""),', Skript: ',(obj.state ? obj.state.from : "")].join('')));
                                          });
                                          

                                          Debugausgabe:

                                          17:36:35.502	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                          17:36:35.502	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
                                          17:36:35.503	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                                          17:36:35.503	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                                          17:36:35.504	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                                          17:36:35.588	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                                          17:36:45.637	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                                          17:37:07.496	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                          17:37:07.498	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                                          17:37:35.507	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                                          17:37:49.309	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                          17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:string Wert ist: off
                                          17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5: Bugfix wrong typestring Wert ist: off
                                          17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5b: aus
                                          17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                                          17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                                          17:37:49.311	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                                          17:37:49.417	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                                          17:38:21.305	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                          17:38:21.306	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                                          17:38:49.312	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                                          17:38:49.425	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                                          
                                          

                                          e30f3e69-2935-4d43-a5d8-122d7e17ab72-grafik.png

                                          Host js sollt 4.0.24 sein.

                                          paul53P 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          651

                                          Online

                                          32.6k

                                          Benutzer

                                          82.2k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe