Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. on trigger

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

on trigger

Scheduled Pinned Locked Moved ioBroker Allgemein
18 Posts 5 Posters 1.0k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    tminimax
    wrote on last edited by
    #1

    Hallo,
    ich habe folgende Objektstruktur unter "0_userdata.0"

    6934a5ff-d3c1-43da-93fa-73789d3ae212-grafik.png

    Dort gibt es Unterordner für die unterschiedlichen Fassaden und darunter pro Fassade identische Variablen/States.

    nun möchte ich bei jeder Veränderung von "Fassade1.Beschattung_jetzt_aktiv" oder "Fassade2.Beschattung_jetzt_aktiv" oder ... "Fassade13.Beschattung_jetzt_aktiv" jeweils einen Trigger haben.

    Ich möchte es aber vermeiden jetzt 13 Trigger für die gleiche Funktion manuell anzulegen, sondern nur 1en Trigger mit z.B. RegularExpressions oder so anlegen. Geht das?

    lt. einem RegExp. Tool wäre das das korrekte Suchpattern: /Fassade\d\d?/gm

    wie müßte - sofern das geht - die korrekte ON "Funktion" aussehen:

    on ({
    id : "0_userdata.0.sonstige_Variablen.Raffstore.Beschattungsautomatik.Fassade1.Beschattung_jetzt_aktiv",
    change : 'ne'
    }, function (obj) {

    //bearbeite Trigger
    

    });

    CodierknechtC bahnuhrB T 3 Replies Last reply
    0
    • T tminimax

      Hallo,
      ich habe folgende Objektstruktur unter "0_userdata.0"

      6934a5ff-d3c1-43da-93fa-73789d3ae212-grafik.png

      Dort gibt es Unterordner für die unterschiedlichen Fassaden und darunter pro Fassade identische Variablen/States.

      nun möchte ich bei jeder Veränderung von "Fassade1.Beschattung_jetzt_aktiv" oder "Fassade2.Beschattung_jetzt_aktiv" oder ... "Fassade13.Beschattung_jetzt_aktiv" jeweils einen Trigger haben.

      Ich möchte es aber vermeiden jetzt 13 Trigger für die gleiche Funktion manuell anzulegen, sondern nur 1en Trigger mit z.B. RegularExpressions oder so anlegen. Geht das?

      lt. einem RegExp. Tool wäre das das korrekte Suchpattern: /Fassade\d\d?/gm

      wie müßte - sofern das geht - die korrekte ON "Funktion" aussehen:

      on ({
      id : "0_userdata.0.sonstige_Variablen.Raffstore.Beschattungsautomatik.Fassade1.Beschattung_jetzt_aktiv",
      change : 'ne'
      }, function (obj) {

      //bearbeite Trigger
      

      });

      CodierknechtC Online
      CodierknechtC Online
      Codierknecht
      Developer Most Active
      wrote on last edited by Codierknecht
      #2

      @tminimax

      Das kannst Du mit den "wildcards" erreichen.

      on ({id : "0_userdata.0.sonstige_Variablen.Raffstore.Beschattungsautomatik.*.Beschattung_jetzt_aktiv",
      change : 'ne'}, function (obj) {
         //code here
      });
      

      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
      HmIP|ZigBee|Tasmota|Unifi
      Zabbix Certified Specialist
      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

      T paul53P 2 Replies Last reply
      0
      • T tminimax

        Hallo,
        ich habe folgende Objektstruktur unter "0_userdata.0"

        6934a5ff-d3c1-43da-93fa-73789d3ae212-grafik.png

        Dort gibt es Unterordner für die unterschiedlichen Fassaden und darunter pro Fassade identische Variablen/States.

        nun möchte ich bei jeder Veränderung von "Fassade1.Beschattung_jetzt_aktiv" oder "Fassade2.Beschattung_jetzt_aktiv" oder ... "Fassade13.Beschattung_jetzt_aktiv" jeweils einen Trigger haben.

        Ich möchte es aber vermeiden jetzt 13 Trigger für die gleiche Funktion manuell anzulegen, sondern nur 1en Trigger mit z.B. RegularExpressions oder so anlegen. Geht das?

        lt. einem RegExp. Tool wäre das das korrekte Suchpattern: /Fassade\d\d?/gm

        wie müßte - sofern das geht - die korrekte ON "Funktion" aussehen:

        on ({
        id : "0_userdata.0.sonstige_Variablen.Raffstore.Beschattungsautomatik.Fassade1.Beschattung_jetzt_aktiv",
        change : 'ne'
        }, function (obj) {

        //bearbeite Trigger
        

        });

        bahnuhrB Online
        bahnuhrB Online
        bahnuhr
        Forum Testing Most Active
        wrote on last edited by
        #3

        @tminimax

        so:

        var idTest    = ["parser.0.Blitzer_01", "parser.0.Blitzer_02", "parser.0.Blitzer_03", "parser.0.Blitzer_04", "parser.0.Blitzer_05", "parser.0.Blitzer_06", "parser.0.Blitzer_07", "parser.0.Blitzer_08","parser.0.Blitzer_09", "parser.0.Blitzer_10", "parser.0.Blitzer_11", "parser.0.Blitzer_12","parser.0.Blitzer_13", "parser.0.Blitzer_14", "parser.0.Blitzer_15"];
        on({id: idTest, change: "any"}, function(){
            weiter();
        });
        
        

        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
        Danke.
        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
        ScreenToGif :https://www.screentogif.com/downloads.html

        T 1 Reply Last reply
        0
        • CodierknechtC Codierknecht

          @tminimax

          Das kannst Du mit den "wildcards" erreichen.

          on ({id : "0_userdata.0.sonstige_Variablen.Raffstore.Beschattungsautomatik.*.Beschattung_jetzt_aktiv",
          change : 'ne'}, function (obj) {
             //code here
          });
          
          T Offline
          T Offline
          tminimax
          wrote on last edited by
          #4

          @codierknecht hätte ich soeben probiert, wenn ich dann z.B. die Variable "Beschattung_jetzt_aktiv" von "Fassade1" verändere, dann löst der Trigger mit Wildcard aber nicht aus, d.h. er wird nicht aktiviert.

          CodierknechtC 1 Reply Last reply
          0
          • bahnuhrB bahnuhr

            @tminimax

            so:

            var idTest    = ["parser.0.Blitzer_01", "parser.0.Blitzer_02", "parser.0.Blitzer_03", "parser.0.Blitzer_04", "parser.0.Blitzer_05", "parser.0.Blitzer_06", "parser.0.Blitzer_07", "parser.0.Blitzer_08","parser.0.Blitzer_09", "parser.0.Blitzer_10", "parser.0.Blitzer_11", "parser.0.Blitzer_12","parser.0.Blitzer_13", "parser.0.Blitzer_14", "parser.0.Blitzer_15"];
            on({id: idTest, change: "any"}, function(){
                weiter();
            });
            
            
            T Offline
            T Offline
            tminimax
            wrote on last edited by
            #5

            @bahnuhr danke habs so mal umgesetzt; geht es ev. auch ohne Array irgendwie, weil dann würde es dynamisch auch gehen (ohne das Array immer nachzuziehen, sollte mal eine Fassada dazukommen)?

            bahnuhrB 1 Reply Last reply
            0
            • T tminimax

              @bahnuhr danke habs so mal umgesetzt; geht es ev. auch ohne Array irgendwie, weil dann würde es dynamisch auch gehen (ohne das Array immer nachzuziehen, sollte mal eine Fassada dazukommen)?

              bahnuhrB Online
              bahnuhrB Online
              bahnuhr
              Forum Testing Most Active
              wrote on last edited by
              #6

              @tminimax sagte in on trigger:

              @bahnuhr danke habs so mal umgesetzt; geht es ev. auch ohne Array irgendwie, weil dann würde es dynamisch auch gehen (ohne das Array immer nachzuziehen, sollte mal eine Fassada dazukommen)?

              Hab ich bisher noch nicht probiert und auch nicht gebraucht.
              Könnte mit einem selektor funktionieren.
              Musste mal suchen und probieren.


              Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
              Danke.
              gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
              ScreenToGif :https://www.screentogif.com/downloads.html

              1 Reply Last reply
              0
              • T tminimax

                @codierknecht hätte ich soeben probiert, wenn ich dann z.B. die Variable "Beschattung_jetzt_aktiv" von "Fassade1" verändere, dann löst der Trigger mit Wildcard aber nicht aus, d.h. er wird nicht aktiviert.

                CodierknechtC Online
                CodierknechtC Online
                Codierknecht
                Developer Most Active
                wrote on last edited by
                #7

                @tminimax sagte in on trigger:

                dann löst der Trigger mit Wildcard aber nicht aus

                Was sagt denn das Log dazu?
                Wenn Du das Script startest, steht im Log, auf wie viele Elemente denn nun getriggert wird.
                Da sollte bei Dir ja sowas wie

                registered 13 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                

                stehen. Anderenfalls stimmt der Selektor nicht.

                "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                HmIP|ZigBee|Tasmota|Unifi
                Zabbix Certified Specialist
                Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                1 Reply Last reply
                0
                • T tminimax

                  Hallo,
                  ich habe folgende Objektstruktur unter "0_userdata.0"

                  6934a5ff-d3c1-43da-93fa-73789d3ae212-grafik.png

                  Dort gibt es Unterordner für die unterschiedlichen Fassaden und darunter pro Fassade identische Variablen/States.

                  nun möchte ich bei jeder Veränderung von "Fassade1.Beschattung_jetzt_aktiv" oder "Fassade2.Beschattung_jetzt_aktiv" oder ... "Fassade13.Beschattung_jetzt_aktiv" jeweils einen Trigger haben.

                  Ich möchte es aber vermeiden jetzt 13 Trigger für die gleiche Funktion manuell anzulegen, sondern nur 1en Trigger mit z.B. RegularExpressions oder so anlegen. Geht das?

                  lt. einem RegExp. Tool wäre das das korrekte Suchpattern: /Fassade\d\d?/gm

                  wie müßte - sofern das geht - die korrekte ON "Funktion" aussehen:

                  on ({
                  id : "0_userdata.0.sonstige_Variablen.Raffstore.Beschattungsautomatik.Fassade1.Beschattung_jetzt_aktiv",
                  change : 'ne'
                  }, function (obj) {

                  //bearbeite Trigger
                  

                  });

                  T Do not disturb
                  T Do not disturb
                  ticaki
                  wrote on last edited by ticaki
                  #8

                  @tminimax sagte in on trigger:

                  wie müßte - sofern das geht - die korrekte ON "Funktion" aussehen:

                  Ist schon etwas her, bastel es dir hieraus bitte zusammen :)

                  var mainStatePath = '0_userdata.0.wetterwarnung.';
                  
                  on(new RegExp(getRegEx(mainStatePath +'config.basiskonfiguration.warnzelle.', '^')+'.*'), function(obj) {
                  
                  function getRegEx(value, firstChar) {
                      let path = value.split('.');
                      if (value[value.length-1] == '.') path.splice(path.length-1,1);
                      let r = '';
                      if (firstChar !== undefined) r+=firstChar;
                      for (let a=0;a<path.length;a++) {
                          if (path[a]) r+=path[a]+'\.';
                      }
                      return r;
                  }
                  

                  https://github.com/ticaki/DWD-UWZ-NINA-Pushwarnungen-iobroker/blob/cdc0cdbf1979537d0d5d5d9b6f8bd2adbf008a78/dwd_uwz_nina_script.js#L1009

                  In dem Skript werden eine ganze Menge RegExp trigger benutzt.

                  Edit: und das richtige Suchpattern wäre sowas hier:

                  /0_userdata\.0\.sonstige_Variablen\.Raffstore\.Beschattungsautomatik\.Fassade[0-9]{1,2}\..+/
                  

                  Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                  Spenden

                  1 Reply Last reply
                  0
                  • CodierknechtC Codierknecht

                    @tminimax

                    Das kannst Du mit den "wildcards" erreichen.

                    on ({id : "0_userdata.0.sonstige_Variablen.Raffstore.Beschattungsautomatik.*.Beschattung_jetzt_aktiv",
                    change : 'ne'}, function (obj) {
                       //code here
                    });
                    
                    paul53P Offline
                    paul53P Offline
                    paul53
                    wrote on last edited by
                    #9

                    @codierknecht sagte: Das kannst Du mit den "wildcards" erreichen.

                    Nur mittels Selektor oder RegExp.

                    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

                    CodierknechtC 1 Reply Last reply
                    0
                    • paul53P paul53

                      @codierknecht sagte: Das kannst Du mit den "wildcards" erreichen.

                      Nur mittels Selektor oder RegExp.

                      CodierknechtC Online
                      CodierknechtC Online
                      Codierknecht
                      Developer Most Active
                      wrote on last edited by
                      #10

                      @paul53 sagte in on trigger:

                      Nur mittels Selektor oder RegExp.

                      <kopfauftischplatte>

                      Natürlich

                      on ({id : $('0_userdata.0.sonstige_Variablen.Raffstore.Beschattungsautomatik.*.Beschattung_jetzt_aktiv').toArray(), change : 'ne'}, function (obj) {
                         //code here
                      });
                      

                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                      HmIP|ZigBee|Tasmota|Unifi
                      Zabbix Certified Specialist
                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                      T 1 Reply Last reply
                      0
                      • CodierknechtC Codierknecht

                        @paul53 sagte in on trigger:

                        Nur mittels Selektor oder RegExp.

                        <kopfauftischplatte>

                        Natürlich

                        on ({id : $('0_userdata.0.sonstige_Variablen.Raffstore.Beschattungsautomatik.*.Beschattung_jetzt_aktiv').toArray(), change : 'ne'}, function (obj) {
                           //code here
                        });
                        
                        T Offline
                        T Offline
                        tminimax
                        wrote on last edited by tminimax
                        #11

                        @codierknecht & @paul53: super danke - jetzt funktioniert es

                        1 Reply Last reply
                        0
                        • T Do not disturb
                          T Do not disturb
                          ticaki
                          wrote on last edited by
                          #12

                          Vorteil von RegExp ist das es nicht statisch ist, es werden auch neu erstelle States gefunden im laufenden Betrieb.
                          Vorteil von Selektor ist, das er nicht kryptisch ist :)

                          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                          Spenden

                          T 1 Reply Last reply
                          0
                          • T ticaki

                            Vorteil von RegExp ist das es nicht statisch ist, es werden auch neu erstelle States gefunden im laufenden Betrieb.
                            Vorteil von Selektor ist, das er nicht kryptisch ist :)

                            T Offline
                            T Offline
                            tminimax
                            wrote on last edited by
                            #13

                            @ticaki danke, dann werde ich versuchen, das mit RegExp nachzubauen um es noch weiter zu optimieren - danke (ich hoffe ich kann das von deinem Muster auf meine Anforderung umbauen)

                            T paul53P 2 Replies Last reply
                            0
                            • T tminimax

                              @ticaki danke, dann werde ich versuchen, das mit RegExp nachzubauen um es noch weiter zu optimieren - danke (ich hoffe ich kann das von deinem Muster auf meine Anforderung umbauen)

                              T Do not disturb
                              T Do not disturb
                              ticaki
                              wrote on last edited by
                              #14

                              @tminimax

                              im meinem Suchpattern fehlt noch am Anfang das ^ für: hiermit beginnt der string

                              Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                              Spenden

                              1 Reply Last reply
                              0
                              • T tminimax

                                @ticaki danke, dann werde ich versuchen, das mit RegExp nachzubauen um es noch weiter zu optimieren - danke (ich hoffe ich kann das von deinem Muster auf meine Anforderung umbauen)

                                paul53P Offline
                                paul53P Offline
                                paul53
                                wrote on last edited by paul53
                                #15

                                @tminimax sagte: mit RegExp

                                on(/^0_userdata\.0\.sonstige_Variablen\.Raffstore\.Beschattungsautomatik\.Fassade.+\.Beschattung_jetzt_aktiv$/, function (obj) {
                                   //code here
                                });
                                

                                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 T 2 Replies Last reply
                                0
                                • paul53P paul53

                                  @tminimax sagte: mit RegExp

                                  on(/^0_userdata\.0\.sonstige_Variablen\.Raffstore\.Beschattungsautomatik\.Fassade.+\.Beschattung_jetzt_aktiv$/, function (obj) {
                                     //code here
                                  });
                                  
                                  T Do not disturb
                                  T Do not disturb
                                  ticaki
                                  wrote on last edited by ticaki
                                  #16

                                  @paul53 sagte in on trigger:

                                  @tminimax sagte: mit RegExp

                                  on(/^0_userdata\.0\.sonstige_Variablen\.Raffstore\.Beschattungsautomatik\.Fassade\d+\.Beschattung_jetzt_aktiv$/, function (obj) {
                                     //code here
                                  });
                                  

                                  :)

                                  Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                  Spenden

                                  T 1 Reply Last reply
                                  0
                                  • paul53P paul53

                                    @tminimax sagte: mit RegExp

                                    on(/^0_userdata\.0\.sonstige_Variablen\.Raffstore\.Beschattungsautomatik\.Fassade.+\.Beschattung_jetzt_aktiv$/, function (obj) {
                                       //code here
                                    });
                                    
                                    T Offline
                                    T Offline
                                    tminimax
                                    wrote on last edited by
                                    #17

                                    @paul53 danke perfekt - super!

                                    1 Reply Last reply
                                    0
                                    • T ticaki

                                      @paul53 sagte in on trigger:

                                      @tminimax sagte: mit RegExp

                                      on(/^0_userdata\.0\.sonstige_Variablen\.Raffstore\.Beschattungsautomatik\.Fassade\d+\.Beschattung_jetzt_aktiv$/, function (obj) {
                                         //code here
                                      });
                                      

                                      :)

                                      T Offline
                                      T Offline
                                      tminimax
                                      wrote on last edited by
                                      #18

                                      @ticaki danke perfekt - super!

                                      1 Reply Last reply
                                      0
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes


                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate
                                      FAQ Cloud / IOT
                                      HowTo: Node.js-Update
                                      HowTo: Backup/Restore
                                      Downloads
                                      BLOG

                                      709

                                      Online

                                      32.6k

                                      Users

                                      82.1k

                                      Topics

                                      1.3m

                                      Posts
                                      Community
                                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                      ioBroker Community 2014-2025
                                      logo
                                      • Login

                                      • Don't have an account? Register

                                      • Login or register to search.
                                      • First post
                                        Last post
                                      0
                                      • Home
                                      • Recent
                                      • Tags
                                      • Unread 0
                                      • Categories
                                      • Unreplied
                                      • Popular
                                      • GitHub
                                      • Docu
                                      • Hilfe