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. [gelöst] RegEx im $ Selector möglich?

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.4k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.6k

[gelöst] RegEx im $ Selector möglich?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
26 Beiträge 2 Kommentatoren 1.7k Aufrufe 1 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.
  • paul53P paul53

    @ben1983
    Zeile 13 würde ich optimieren:

        const value = obj.state;
    

    wobei der Bezeichner value nicht optimal ist. Es handelt sich um den Zustand (state).

    Ben1983B Online
    Ben1983B Online
    Ben1983
    schrieb am zuletzt editiert von Ben1983
    #9

    @paul53 stimmt.
    ach den state liefert er grad mit. cool.

    habe es dann so gemacht:

    // automatikstati
    // Wildcard definieren
    let idStartAutomatikstati = "0_userdata.0.Produktiv.Pool.Waermepumpe.automatikstati";
    let automatikstatus = {};
    $(`state[id=${idStartAutomatikstati}.*]`).each((id)=>{
        const elementname = id.substring(id.lastIndexOf(".") + 1,id.length);
        automatikstatus[elementname] = getState(id).val;
    });
    
    $(`state[id=${idStartAutomatikstati}.*]`).on((obj)=>{
        if(!obj.state.ack){
            const elementname = obj.id.substring(obj.id.lastIndexOf(".") + 1,obj.id.length);
            automatikstatus[elementname] =  obj.state.val;
            setState(obj.id,obj.state.val,true);
        }       
    });
    
    // Funktion zum setzen der Werte
    function setAutomatikstati(elementname){
        setState(`${idStartAutomatikstati}.${elementname}`,automatikstatus[elementname],true);
    };
    
    // Automatikstati zurücksetzen
    function setzeAutomatikstatiZurueck(){
        for(const stati in automatikstatus){
            automatikstatus[stati] = false;
            setAutomatikstati(stati);
        }
    }
    
    1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @ben1983
      Zeile 13 würde ich optimieren:

          const value = obj.state;
      

      wobei der Bezeichner value nicht optimal ist. Es handelt sich um den Zustand (state).

      Ben1983B Online
      Ben1983B Online
      Ben1983
      schrieb am zuletzt editiert von
      #10

      @paul53 Wenn ich im selctor das Objekt logge, dann kommt:

      o	javascript.0 (3299) script.js.Garten.Pool.Wärmepumpe: {"id":"0_userdata.0.Produktiv.Pool.Waermepumpe.automatikstati.warteAufGeringeLeistung","newState":{"val":true,"ts":1686679813843,"ack":false,"lc":1686679813843,"from":"system.adapter.admin.0","q":0,"user":"system.user.admin"},"oldState":{"val":false,"ts":1686679759809,"ack":true,"lc":1686679759805,"from":"system.adapter.javascript.0","q":0,"c":"script.js.Garten.Pool.Wärmepumpe","user":"system.user.admin"},"state":{"val":true,"ts":1686679813843,"ack":false,"lc":1686679813843,"from":"system.adapter.admin.0","q":0,"user":"system.user.admin"}}
      

      aber es gibt ja auch obj.name

      Warum taucht das nicht mit log(JSON.stringify(obj) auf?

      paul53P 1 Antwort Letzte Antwort
      0
      • Ben1983B Ben1983

        @paul53 Wenn ich im selctor das Objekt logge, dann kommt:

        o	javascript.0 (3299) script.js.Garten.Pool.Wärmepumpe: {"id":"0_userdata.0.Produktiv.Pool.Waermepumpe.automatikstati.warteAufGeringeLeistung","newState":{"val":true,"ts":1686679813843,"ack":false,"lc":1686679813843,"from":"system.adapter.admin.0","q":0,"user":"system.user.admin"},"oldState":{"val":false,"ts":1686679759809,"ack":true,"lc":1686679759805,"from":"system.adapter.javascript.0","q":0,"c":"script.js.Garten.Pool.Wärmepumpe","user":"system.user.admin"},"state":{"val":true,"ts":1686679813843,"ack":false,"lc":1686679813843,"from":"system.adapter.admin.0","q":0,"user":"system.user.admin"}}
        

        aber es gibt ja auch obj.name

        Warum taucht das nicht mit log(JSON.stringify(obj) auf?

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

        @ben1983 sagte: es gibt ja auch obj.name

        obj.name gibt es nicht.

        @ben1983 sagte in [gelöst] RegEx im $ Selector möglich?:

        Warum taucht das nicht mit log(JSON.stringify(obj) auf?

        Das habe ich mich auch schon gefragt. Logge mal obj.common.

        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

        Ben1983B 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @ben1983 sagte: es gibt ja auch obj.name

          obj.name gibt es nicht.

          @ben1983 sagte in [gelöst] RegEx im $ Selector möglich?:

          Warum taucht das nicht mit log(JSON.stringify(obj) auf?

          Das habe ich mich auch schon gefragt. Logge mal obj.common.

          Ben1983B Online
          Ben1983B Online
          Ben1983
          schrieb am zuletzt editiert von
          #12

          @paul53 oh ja. Meinte ja obj.common.name

          Warum logt er das common nicht mit. So meinte ich es.

          Die Frage ist eigentlich, was alles verfügbar ist in

          A: dem selector.on()

          B: getObject()

          Es ist unterschiedlich, oder?

          Und obj._Id meldet „undefined“
          obj.Id geht.

          paul53P 1 Antwort Letzte Antwort
          0
          • Ben1983B Ben1983

            @paul53 oh ja. Meinte ja obj.common.name

            Warum logt er das common nicht mit. So meinte ich es.

            Die Frage ist eigentlich, was alles verfügbar ist in

            A: dem selector.on()

            B: getObject()

            Es ist unterschiedlich, oder?

            Und obj._Id meldet „undefined“
            obj.Id geht.

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

            @ben1983 sagte: was alles verfügbar ist in
            A: dem selector.on()

            Siehe Doku zu den Funktionen des Javascript-Adapters.

            @ben1983 sagte in [gelöst] RegEx im $ Selector möglich?:

            B: getObject()

            Liefert nur die statischen Eigenschaften eine Objektes.

            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

            Ben1983B 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @ben1983 sagte: was alles verfügbar ist in
              A: dem selector.on()

              Siehe Doku zu den Funktionen des Javascript-Adapters.

              @ben1983 sagte in [gelöst] RegEx im $ Selector möglich?:

              B: getObject()

              Liefert nur die statischen Eigenschaften eine Objektes.

              Ben1983B Online
              Ben1983B Online
              Ben1983
              schrieb am zuletzt editiert von Ben1983
              #14

              @paul53 sagte in [gelöst] RegEx im $ Selector möglich?:

              @ben1983 sagte: was alles verfügbar ist in
              A: dem selector.on()

              Siehe Doku zu den Funktionen des Javascript-Adapters.

              OK.... aber z.B. geht auch
              obj.name ..... und das steht nicht in der Doku und wird auch nicht geloggt.

              @ben1983 sagte in [gelöst] RegEx im $ Selector möglich?:

              B: getObject()

              Liefert nur die statischen Eigenschaften eine Objektes.

              Was genau ist das denn alles?

              paul53P 2 Antworten Letzte Antwort
              0
              • Ben1983B Ben1983

                @paul53 sagte in [gelöst] RegEx im $ Selector möglich?:

                @ben1983 sagte: was alles verfügbar ist in
                A: dem selector.on()

                Siehe Doku zu den Funktionen des Javascript-Adapters.

                OK.... aber z.B. geht auch
                obj.name ..... und das steht nicht in der Doku und wird auch nicht geloggt.

                @ben1983 sagte in [gelöst] RegEx im $ Selector möglich?:

                B: getObject()

                Liefert nur die statischen Eigenschaften eine Objektes.

                Was genau ist das denn alles?

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

                @ben1983 sagte: Was genau ist das denn alles?

                Siehe Doku Kernkonzept, Abschnitt "Objekte".

                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

                Ben1983B 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @ben1983 sagte: Was genau ist das denn alles?

                  Siehe Doku Kernkonzept, Abschnitt "Objekte".

                  Ben1983B Online
                  Ben1983B Online
                  Ben1983
                  schrieb am zuletzt editiert von
                  #16

                  @paul53 ok, ich schau mal.

                  Nur beim on() passt es ja auch nicht. ist es mal erweitert worden?

                  1 Antwort Letzte Antwort
                  0
                  • Ben1983B Ben1983

                    @paul53 sagte in [gelöst] RegEx im $ Selector möglich?:

                    @ben1983 sagte: was alles verfügbar ist in
                    A: dem selector.on()

                    Siehe Doku zu den Funktionen des Javascript-Adapters.

                    OK.... aber z.B. geht auch
                    obj.name ..... und das steht nicht in der Doku und wird auch nicht geloggt.

                    @ben1983 sagte in [gelöst] RegEx im $ Selector möglich?:

                    B: getObject()

                    Liefert nur die statischen Eigenschaften eine Objektes.

                    Was genau ist das denn alles?

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

                    @ben1983 sagte: aber z.B. geht auch obj.name

                    Stimmt. Habe bisher nur obj.common.name verwendet. Ist vielleicht mal um obj.name erweitert worden?

                    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

                    Ben1983B 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @ben1983 sagte: aber z.B. geht auch obj.name

                      Stimmt. Habe bisher nur obj.common.name verwendet. Ist vielleicht mal um obj.name erweitert worden?

                      Ben1983B Online
                      Ben1983B Online
                      Ben1983
                      schrieb am zuletzt editiert von
                      #18

                      @paul53 Aber nur beim
                      on()

                      beim getObject() gibts den nicht

                      1 Antwort Letzte Antwort
                      0
                      • Ben1983B Online
                        Ben1983B Online
                        Ben1983
                        schrieb am zuletzt editiert von
                        #19

                        @paul53 ist es möglich die $(selector).on() reaktion auch noch anderes einzustellen, als "NUR" auf Änderungen?

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • Ben1983B Ben1983

                          @paul53 ist es möglich die $(selector).on() reaktion auch noch anderes einzustellen, als "NUR" auf Änderungen?

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

                          @ben1983 sagte: ist es möglich die $(selector).on() reaktion auch noch anderes einzustellen, als "NUR" auf Änderungen?

                          Ich wüsste nicht wie.
                          Hast Du es mal mit on({id: RegEx}, cb) versucht?

                          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

                          Ben1983B 2 Antworten Letzte Antwort
                          0
                          • paul53P paul53

                            @ben1983 sagte: ist es möglich die $(selector).on() reaktion auch noch anderes einzustellen, als "NUR" auf Änderungen?

                            Ich wüsste nicht wie.
                            Hast Du es mal mit on({id: RegEx}, cb) versucht?

                            Ben1983B Online
                            Ben1983B Online
                            Ben1983
                            schrieb am zuletzt editiert von
                            #21

                            @paul53 Nee, aber danke für den Tipp, damit sollte es ja klappe.
                            Aber genau überlagt reicht es mir ja auch so... und so mit dem Selector und der Wildcard ist auch ganz gut :-)

                            1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @ben1983 sagte: ist es möglich die $(selector).on() reaktion auch noch anderes einzustellen, als "NUR" auf Änderungen?

                              Ich wüsste nicht wie.
                              Hast Du es mal mit on({id: RegEx}, cb) versucht?

                              Ben1983B Online
                              Ben1983B Online
                              Ben1983
                              schrieb am zuletzt editiert von
                              #22

                              @paul53 sag mal kann ich auch irgendwie sowas wie die each Funktion vom selector mit ner RegEx machen? Bspw. Mit sowas wie getState()?

                              Ist ja cool, dass ich die RegEx beim on() verwenden kann, mich würde auch interessieren, welche States die RegEx erfüllen.

                              So könnte auch alles ohne selector funktionieren.

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • Ben1983B Ben1983

                                @paul53 sag mal kann ich auch irgendwie sowas wie die each Funktion vom selector mit ner RegEx machen? Bspw. Mit sowas wie getState()?

                                Ist ja cool, dass ich die RegEx beim on() verwenden kann, mich würde auch interessieren, welche States die RegEx erfüllen.

                                So könnte auch alles ohne selector funktionieren.

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

                                @ben1983 sagte: interessieren, welche States die RegEx erfüllen.

                                Da wird wohl nichts weiter übrig bleiben, als die RegEx möglichst genau für die $Selector.each-Schleife nachzubilden.

                                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

                                Ben1983B 1 Antwort Letzte Antwort
                                0
                                • paul53P paul53

                                  @ben1983 sagte: interessieren, welche States die RegEx erfüllen.

                                  Da wird wohl nichts weiter übrig bleiben, als die RegEx möglichst genau für die $Selector.each-Schleife nachzubilden.

                                  Ben1983B Online
                                  Ben1983B Online
                                  Ben1983
                                  schrieb am zuletzt editiert von Ben1983
                                  #24

                                  @paul53 ok. Schade.
                                  Kann man die Wildcard „*“ auch mehrfach nutzen?

                                  Also nicht nur:

                                  Adapter.0.folder.*
                                  

                                  Sondern auch:

                                  Adapter.0.folder.*.myfolder.*
                                  

                                  Geht sowas?

                                  Mit RegEx alle ids die passen raus finden, wäre halt optimal, denn dann bräuchte man keinen Selector, aber so wäre es auch cool.

                                  paul53P 1 Antwort Letzte Antwort
                                  0
                                  • Ben1983B Ben1983

                                    @paul53 ok. Schade.
                                    Kann man die Wildcard „*“ auch mehrfach nutzen?

                                    Also nicht nur:

                                    Adapter.0.folder.*
                                    

                                    Sondern auch:

                                    Adapter.0.folder.*.myfolder.*
                                    

                                    Geht sowas?

                                    Mit RegEx alle ids die passen raus finden, wäre halt optimal, denn dann bräuchte man keinen Selector, aber so wäre es auch cool.

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

                                    @ben1983 sagte: Geht sowas?

                                    Ja.

                                    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

                                    Ben1983B 1 Antwort Letzte Antwort
                                    0
                                    • paul53P paul53

                                      @ben1983 sagte: Geht sowas?

                                      Ja.

                                      Ben1983B Online
                                      Ben1983B Online
                                      Ben1983
                                      schrieb am zuletzt editiert von Ben1983
                                      #26

                                      @paul53 sehr geil. Das funktioniert super.
                                      Jetzt geht mit dem selector nur das mir dem .on() bei beschreiben und nicht änderung noch nicht.

                                      Klar, das geht über den regex mit on(), aber dann ist es wieder ne andere funktion.
                                      Aber das wird man wohl oder übel akzeptieren müssen ;-)

                                      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

                                      767

                                      Online

                                      32.4k

                                      Benutzer

                                      81.4k

                                      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