Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Selector - Filter funktioniert nicht bei Enums (gelöst)

    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

    Selector - Filter funktioniert nicht bei Enums (gelöst)

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

      gelöst

      ich habe folgende Selector verwendet und nun geht es:

      NEU $("state [id=*] (functions='MeldungErzeugen')");
      ALT: $("channel[state.id=*] (functions='MeldungErzeugen')");

      var cacheSelectorState    = $("state[id=*](functions=MeldungErzeugen)"); 
      
      if (logging) log(xfunkName +': Liste1 ausgeben in Logs *****************');
      if (logging) log(xfunkName +': selector: '+ cacheSelectorState.length);
      cacheSelectorState.each(function (idx,i) {
          var xxname ="";
          if (getObject(idx)) xxname=getObject(idx).common.name; else xxname=getObject(idx).id;
          if (logging) { log(xfunkName + ': i='+i+' / idx=' + idx + ' / xxname = '+xxname ); }
          //if (i == 1) return false;
      });
      

      Hallo Zusammen,

      ich habe gesucht und probiert und komme einfach nicht drauf, warum das nicht geht.
      Ich habe einen ENUM erstellt "MeldungErzeugen" und diesem einige Objekte zugewiesen.

      In der Abfrage mit JAVASCRIPT versuche ich nun alle Objekte in einem Selector zu filtern, die diese neue functions "MeldungErzeugen" haben. Auf diese will ich final dann Events einstellen, so dass ich für diese dann später gezielt Meldungen ausführe, wenn sie sich ändern.

      Allerdings scheitere ich an dem Seperator, mein Code sieht so aus:
      PS. wenn ich statt "MeldungErzeugen" mal "Geräte" eintragen ergibt das die Objekte die dieses ENUM haben.
      Filter ich nach "MeldungErzeugen" kommt nichts!

      Wäre über jeden Tipp dankbar!

      Gruss
      Thomas

      Screenshot at Nov 12 19-33-52.png

      Screenshot at Nov 12 19-37-31.png Screenshot at Nov 12 19-37-49.png

      var cacheSelectorState    = $("channel[state.id=*](functions='MeldungErzeugen')"); 
      
      if (logging) log(xfunkName +': Liste1 ausgeben in Logs');
      cacheSelectorState.each(function (idx,i) {
          var xxname ="";
          if (logging) { log(xfunkName + ': i='+i+' / idx=' + idx + ' / xxname = '+xxname); }
      });
      ```~~strikethrough text~~
      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @thomassch last edited by

        @thomassch sagte: Wäre über jeden Tipp dankbar!

        Javascript-Instanz mal neu gestartet?

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

          @paul53 ja grad mal versucht keine Änderung
          Irgendwie erkennt er den von Hand angelegten Enum nicht…

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

          Support us

          ioBroker
          Community Adapters
          Donate

          820
          Online

          31.8k
          Users

          80.0k
          Topics

          1.3m
          Posts

          2
          3
          224
          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