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. Skripten / Logik
  4. JavaScript
  5. Alle Objekte mit einer Rolle

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Alle Objekte mit einer Rolle

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
12 Beiträge 3 Kommentatoren 852 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.
  • M mariva

    Hallo,

    hatte früher immer folgende funktion um alle reedkontakte zulesen.

    var x  = $('channel[state.id=*.SENSOR](functions="Fenster")');
    

    nach dem update auf Admin 5. scheint das nicht mehr zu gehen. Ist es möglich das ich die ROLE = window.sensor selektieren kann ?

    Danke schonmal.

    T Nicht stören
    T Nicht stören
    ticaki
    schrieb am zuletzt editiert von
    #2

    @mariva sagte in Alle Objekte mit einer Rolle:

    var x = $('channelstate.id=*.SENSOR');

    var x  = $('state[role=window.sensor](functions="Fenster")');
    

    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

    Spenden

    M 1 Antwort Letzte Antwort
    0
    • T ticaki

      @mariva sagte in Alle Objekte mit einer Rolle:

      var x = $('channelstate.id=*.SENSOR');

      var x  = $('state[role=window.sensor](functions="Fenster")');
      
      M Offline
      M Offline
      mariva
      schrieb am zuletzt editiert von mariva
      #3

      @ticaki

      Ok Danke. Kann ich channel state.id und state role auch kombinieren?

      var reedContacts  = $('state[id=*.SENSOR][role=sensor.window]');
      
      // on Change
      reedContacts.on(function(obj){
          updateStates(obj);
      });
      

      scheint nicht mehr zu gehen. vermutlich weil ich nun keine objekte mehr bekomme. mit channel ist das anderst oder ?

      T 1 Antwort Letzte Antwort
      0
      • M mariva

        @ticaki

        Ok Danke. Kann ich channel state.id und state role auch kombinieren?

        var reedContacts  = $('state[id=*.SENSOR][role=sensor.window]');
        
        // on Change
        reedContacts.on(function(obj){
            updateStates(obj);
        });
        

        scheint nicht mehr zu gehen. vermutlich weil ich nun keine objekte mehr bekomme. mit channel ist das anderst oder ?

        T Nicht stören
        T Nicht stören
        ticaki
        schrieb am zuletzt editiert von
        #4

        @mariva
        Da muß ich passen. Das ich state benutze ist ne Angewohnheit, mir ist noch kein Unterschied aufgefallen.

        Ich mache das so:

        const devices = 'state(functions=switch)(functions=humidity)';
        const sensor = 'state(functions=sumroom)(functions=humidity)';
        const targethumidity = 'state(functions=target)(functions=humidity)';
        const windows = 'state(functions=window)';
        
        var x = $(devices) //usw.
        

        weil nicht jeder Adapter die gleiche Role verwendet und ids noch unsicherer sind. Ich hab hier shelly, homematic und deconz im Einsatz. Deshalb benutze ich jetzt 2 Funktionen um ein Gerät zu identifizieren.

        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

        Spenden

        1 Antwort Letzte Antwort
        0
        • M mariva

          Hallo,

          hatte früher immer folgende funktion um alle reedkontakte zulesen.

          var x  = $('channel[state.id=*.SENSOR](functions="Fenster")');
          

          nach dem update auf Admin 5. scheint das nicht mehr zu gehen. Ist es möglich das ich die ROLE = window.sensor selektieren kann ?

          Danke schonmal.

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

          @mariva sagte: Ist es möglich das ich die ROLE = window.sensor selektieren kann ?

          Gerade getestet: Bei mir funktioniert es so:

          const idsSetpoint = $('[role=level.temperature]');
          idsSetpoint.each(function(id, i) {
              log(id);
          });
          

          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

          T M 2 Antworten Letzte Antwort
          0
          • paul53P paul53

            @mariva sagte: Ist es möglich das ich die ROLE = window.sensor selektieren kann ?

            Gerade getestet: Bei mir funktioniert es so:

            const idsSetpoint = $('[role=level.temperature]');
            idsSetpoint.each(function(id, i) {
                log(id);
            });
            
            T Nicht stören
            T Nicht stören
            ticaki
            schrieb am zuletzt editiert von ticaki
            #6

            @paul53 sagte in Alle Objekte mit einer Rolle:
            Scheine die Frage falsch verstanden zu haben

            suchen nach [role=xyz] geht natürlich nur nicht mit *

            Den Unterschied zwischen state/channel/nichts erschließt sich mir nicht. Habs getestet sehe das wieso jedoch nicht.

            Der erste State($('channel(id=sensor)')) wird nicht gefunden, der 2. schon...

            {
              "mihome-vacuum.0.consumable.sensors": {
                "_id": "mihome-vacuum.0.consumable.sensors",
                "type": "state",
                "common": {
                  "name": "sensors lifetime",
                  "type": "number",
                  "role": "value.usage.sensors",
                  "read": true,
                  "write": false,
                  "unit": "%"
                },
                "native": {},
                "from": "system.adapter.mihome-vacuum.0",
                "user": "system.user.admin",
                "ts": 1628194429902,
                "acl": {
                  "object": 1632,
                  "state": 1632,
                  "owner": "system.user.admin",
                  "ownerGroup": "system.group.administrator"
                }
              }
            }
            
                "daikin.0.sensorInfo.cmpfreq": {
                    "type": "state",
                    "common": {
                        "role": "value",
                        "read": true,
                        "write": false,
                        "type": "number",
                        "name": "Wohnzimmer Jr. sensorInfo.cmpfreq"
                    },
                    "native": {
                        "id": "sensorInfo.cmpfreq"
                    },
                    "from": "system.adapter.daikin.0",
                    "user": "system.user.admin",
                    "ts": 1575113145790,
                    "_id": "daikin.0.sensorInfo.cmpfreq",
                    "acl": {
                        "object": 1636,
                        "state": 1636
                    }
                },
            

            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

            Spenden

            paul53P 1 Antwort Letzte Antwort
            0
            • T ticaki

              @paul53 sagte in Alle Objekte mit einer Rolle:
              Scheine die Frage falsch verstanden zu haben

              suchen nach [role=xyz] geht natürlich nur nicht mit *

              Den Unterschied zwischen state/channel/nichts erschließt sich mir nicht. Habs getestet sehe das wieso jedoch nicht.

              Der erste State($('channel(id=sensor)')) wird nicht gefunden, der 2. schon...

              {
                "mihome-vacuum.0.consumable.sensors": {
                  "_id": "mihome-vacuum.0.consumable.sensors",
                  "type": "state",
                  "common": {
                    "name": "sensors lifetime",
                    "type": "number",
                    "role": "value.usage.sensors",
                    "read": true,
                    "write": false,
                    "unit": "%"
                  },
                  "native": {},
                  "from": "system.adapter.mihome-vacuum.0",
                  "user": "system.user.admin",
                  "ts": 1628194429902,
                  "acl": {
                    "object": 1632,
                    "state": 1632,
                    "owner": "system.user.admin",
                    "ownerGroup": "system.group.administrator"
                  }
                }
              }
              
                  "daikin.0.sensorInfo.cmpfreq": {
                      "type": "state",
                      "common": {
                          "role": "value",
                          "read": true,
                          "write": false,
                          "type": "number",
                          "name": "Wohnzimmer Jr. sensorInfo.cmpfreq"
                      },
                      "native": {
                          "id": "sensorInfo.cmpfreq"
                      },
                      "from": "system.adapter.daikin.0",
                      "user": "system.user.admin",
                      "ts": 1575113145790,
                      "_id": "daikin.0.sensorInfo.cmpfreq",
                      "acl": {
                          "object": 1636,
                          "state": 1636
                      }
                  },
              
              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #7

              @ticaki
              Was soll "channel" im Selektor? Das sind Datenpunkte mit sehr unterschiedlichen IDs. Versuche mal

              $('*.sensor*');
              

              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

              T 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @ticaki
                Was soll "channel" im Selektor? Das sind Datenpunkte mit sehr unterschiedlichen IDs. Versuche mal

                $('*.sensor*');
                
                T Nicht stören
                T Nicht stören
                ticaki
                schrieb am zuletzt editiert von
                #8

                @paul53 sagte in Alle Objekte mit einer Rolle:

                @ticaki
                Was soll "channel" im Selektor? Das sind Datenpunkte mit sehr unterschiedlichen IDs. Versuche mal

                $('*.sensor*');
                

                Die * waren drin das kursiv :)

                Es geht um:

                Format of selector:
                
                "name[commonAttr=something1](enumName=something2){nativeName=something3}[id=idfilter][state.id=idfilter]"
                name can be: state, channel, device or schedule "idfilter" can have wildcards '*'
                

                channel und state unterscheiden sich, jedoch nicht nachvollziehbar für mich. Dachte du wüsstest es vielleicht.

                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                Spenden

                paul53P 1 Antwort Letzte Antwort
                0
                • T ticaki

                  @paul53 sagte in Alle Objekte mit einer Rolle:

                  @ticaki
                  Was soll "channel" im Selektor? Das sind Datenpunkte mit sehr unterschiedlichen IDs. Versuche mal

                  $('*.sensor*');
                  

                  Die * waren drin das kursiv :)

                  Es geht um:

                  Format of selector:
                  
                  "name[commonAttr=something1](enumName=something2){nativeName=something3}[id=idfilter][state.id=idfilter]"
                  name can be: state, channel, device or schedule "idfilter" can have wildcards '*'
                  

                  channel und state unterscheiden sich, jedoch nicht nachvollziehbar für mich. Dachte du wüsstest es vielleicht.

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

                  @ticaki sagte: channel und state unterscheiden sich, jedoch nicht nachvollziehbar für mich.

                  Der Selektor wurde im Laufe der Zeit überarbeitet, so dass es wohl keinen Unterschied mehr macht. Früher musste bei HomeMatic "channel" angegeben werden, da Aufzählungen (Räume, Gewerke) bei HomeMatic den Kanälen zugeordnet sind.

                  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
                  • paul53P paul53

                    @mariva sagte: Ist es möglich das ich die ROLE = window.sensor selektieren kann ?

                    Gerade getestet: Bei mir funktioniert es so:

                    const idsSetpoint = $('[role=level.temperature]');
                    idsSetpoint.each(function(id, i) {
                        log(id);
                    });
                    
                    M Offline
                    M Offline
                    mariva
                    schrieb am zuletzt editiert von
                    #10

                    @paul53 said in Alle Objekte mit einer Rolle:

                    const idsSetpoint = $('[role=level.temperature]'); idsSetpoint.each(function(id, i) { log(id); });

                    Ich möchte ja ein On Change auf jedes dieser Objekte welche ich mit dem selektor greife.
                    Sicher das ich das jetzt vorher noch iterieren muss um dann dort das on change zu machen ?

                    Möchte einfach der möglichst performanteste Code, da es doch einige Sensoren sind ;-)

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • M mariva

                      @paul53 said in Alle Objekte mit einer Rolle:

                      const idsSetpoint = $('[role=level.temperature]'); idsSetpoint.each(function(id, i) { log(id); });

                      Ich möchte ja ein On Change auf jedes dieser Objekte welche ich mit dem selektor greife.
                      Sicher das ich das jetzt vorher noch iterieren muss um dann dort das on change zu machen ?

                      Möchte einfach der möglichst performanteste Code, da es doch einige Sensoren sind ;-)

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

                      @mariva sagte: Ich möchte ja ein On Change auf jedes dieser Objekte welche ich mit dem selektor greife.

                      Wenn

                      Selektor.each(function(id, i) {});
                      

                      funktioniert, dann funktioniert auch

                      Selektor.on(function(dp) {});
                      

                      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

                      M 1 Antwort Letzte Antwort
                      1
                      • paul53P paul53

                        @mariva sagte: Ich möchte ja ein On Change auf jedes dieser Objekte welche ich mit dem selektor greife.

                        Wenn

                        Selektor.each(function(id, i) {});
                        

                        funktioniert, dann funktioniert auch

                        Selektor.on(function(dp) {});
                        
                        M Offline
                        M Offline
                        mariva
                        schrieb am zuletzt editiert von
                        #12

                        @paul53 said in Alle Objekte mit einer Rolle:

                        iert, dann funktioniert

                        DAnke. Es klappt mit :

                        var reedContacts = $('state[id=*.SENSOR][role=sensor.window]');

                        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

                        786

                        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