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. Skripten / Logik
  4. On(); mehrere Bedingungen in einem on()?

NEWS

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

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

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

On(); mehrere Bedingungen in einem on()?

Scheduled Pinned Locked Moved Skripten / Logik
24 Posts 6 Posters 6.0k Views
  • 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.
  • andreaskosA Offline
    andreaskosA Offline
    andreaskos
    wrote on last edited by
    #12

    Das Enum kann ganz normal in der Admin-Oberfläche definiert werden.

    Die on-Funktion wird dann über den $-Selektor ausgelöst, d.h. in deinem Fall (stan23) wäre das etwa so:

    $('state(tasterrollo=tasterrollohocheg)').on(function(obj) {
    
            console.log("Ausgelöst hat: "  + obj.id);
    
    });
    
    

    Ich hab außerdem gemerkt, dass Änderungen von Enums oft nicht sofort vom ioBroker übernommen werden. Nach einem Befehl über die Kommandozeile sollte es dann gehen:

    iobroker stop && iobroker start
    
    
    1 Reply Last reply
    0
    • S Offline
      S Offline
      stan23
      wrote on last edited by
      #13

      Hi Andreas,

      weißt du auch wie ich die State-Änderung "any" spezifizieren kann?

      Mit dem Beispiel ergibt sich folgendes:

       script.js.common.Rollos.RolloOgDoppelklick: subscribe: {"pattern":{"id":"hm-rpc.0.LEQ1322734.2.PRESS_SHORT","change":"ne"},"name":"script.js.common.Rollos.RolloOgDoppelklick"}
       ... für alle Enum-Members
      

      https://github.com/ioBroker/ioBroker.javascript/blob/master/doc/en/javascript.md#–-selector habe ich auf Anhieb nichts passendes gefunden.

      Viele Grüße
      Marco

      1 Reply Last reply
      0
      • DutchmanD Offline
        DutchmanD Offline
        Dutchman
        Developer Most Active Administrators
        wrote on last edited by
        #14

        @andreaskos:

        Ich hab außerdem gemerkt, dass Änderungen von Enums oft nicht sofort vom ioBroker übernommen werden. Nach einem Befehl über die Kommandozeile sollte es dann gehen: `

        Fast richtig, der JavaScript adapter liest bei einen Script (oder Adapter Start zweifele jetzt) alle enums und dessen Inhalte aus.

        Erweiterst/änderst du objecte darin musst das neu geladen werden.

        Kompletter ioBroker Reboot ist Scherz völlig übertrieben, JavaScript Instanz neu starten reicht.

        (Eventuell reicht sogar einfach Script neu starten wie gesagt bin mir nicht ganz sicher)

        –-----------------------

        Send from mobile device

        Das schöne ios hat Auto Korrektur zum k****

        Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

        1 Reply Last reply
        0
        • andreaskosA Offline
          andreaskosA Offline
          andreaskos
          wrote on last edited by
          #15

          @Marco:

          Bin mir nicht ganz sicher was du meinst. Das Beispiel müsste schon bei jeder Änderung reagieren.

          @Dutchman:

          Vielen Dank für die Klärung!

          1 Reply Last reply
          0
          • S Offline
            S Offline
            stan23
            wrote on last edited by
            #16

            Hi Andreas,

            in meinem Enum sind HomeMatic Wired Rolloaktoren (HMW-LC-Bl1-DR) aufgeführt, dies bei SHORT_PRESS immer nur TRUE aktualisieren, aber den Wert nicht ändern.

            Der Trigger muss daher nicht auf ne (not equal) sondern auf any stehen.

            Im erweiterten Log steht aber dass per default "change":"ne" ausgewählt ist:
            > script.js.common.Rollos.RolloOgDoppelklick: subscribe: {"pattern":{"id":"hm-rpc.0.LEQ1322734.2.PRESS_SHORT",****"change":"ne"****},"name":"script.js.common.Rollos.RolloOgDoppelklick"}

            Viele Grüße
            Marco

            1 Reply Last reply
            0
            • andreaskosA Offline
              andreaskosA Offline
              andreaskos
              wrote on last edited by
              #17

              Ah, verstehe! Ich hab hatte es bisher nur mit Lichtern ausprobiert. Diese ändern sich natürlich jedesmal, also geht es auch immer. Du hast recht Marco, die Taster frischen ihr "true" nur immer wieder auf, da geht es dann nicht mehr. Ich habe leider bislang auch noch keine Möglichkeit gefunden, das change: any im $-Selektor mit rein zu packen.

              Kann uns jemand weiterhelfen?

              1 Reply Last reply
              0
              • T Offline
                T Offline
                Tefi
                wrote on last edited by
                #18

                Irgendwie habe ich das noch nicht gepackt.

                Ich füge die state aller Bewegungsmelder in enum.roomcontroller.kueche.motions.

                subscribe ( {id: "enum.roomcontroller.kueche.motions", change: 'any'}, function (data) {
                    log('Test');
                } );
                
                

                Was ist da falsch?

                Bei Bewegung wird nicht regaiert.

                Besten Dnak für alle Tipps

                1 Reply Last reply
                0
                • paul53P Offline
                  paul53P Offline
                  paul53
                  wrote on last edited by
                  #19

                  @Tefi:

                  Was ist da falsch?

                  Bei Bewegung wird nicht regaiert. `
                  Man kann nicht auf enums triggern, sondern nur auf Datenpunkte. Will man enums auswerten, muss man den https://github.com/ioBroker/ioBroker.javascript/blob/master/doc/en/javascript.md#–-selector anwenden.

                  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 Reply Last reply
                  0
                  • T Offline
                    T Offline
                    Tefi
                    wrote on last edited by
                    #20

                    Ok, danke

                    enum.functions.Beleuchtung wurde bei der Installation des Adapeters angelegt und funktioniert:

                    const testDps = $('state(functions=Beleuchtung)');

                    testDps.each(function(id, i) {

                    log(id + ': ' + getState(id).val);

                    });

                    enum.roomcontroller.test abe ich von Hand angelegt und brings nichts, obwohl auf Datenpunkte vorhanden sind:

                    const testDps = $('state(roomcontroller=test)');
                    testDps.each(function(id, i) {
                        log(id + ': ' + getState(id).val);
                    });
                    
                    1 Reply Last reply
                    0
                    • paul53P Offline
                      paul53P Offline
                      paul53
                      wrote on last edited by
                      #21

                      Wenn enum.roomcontroller.test und die Zuordnung der Datenpunkte neu ist, muss erst die JS-Instanz neu gestartet werden, damit der Selektor die Datenpunkte findet.
                      493_enum_neu.jpg
                      493_enum_neu_log.jpg

                      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 Reply Last reply
                      0
                      • T Offline
                        T Offline
                        Tefi
                        wrote on last edited by
                        #22

                        Super. Genau das war es.

                        Wie hole ich mir jetzt alle Enum's nicht die Mitglieder?

                        zB enum.functions =(Bewegung, Beleuchtung, usw)?

                        1 Reply Last reply
                        0
                        • paul53P Offline
                          paul53P Offline
                          paul53
                          wrote on last edited by
                          #23

                          @Tefi:

                          Wie hole ich mir jetzt alle Enum's nicht die Mitglieder?

                          zB enum.functions =(Bewegung, Beleuchtung, usw)? `
                          Versuche es mal mit https://github.com/ioBroker/ioBroker.javascript/blob/master/doc/en/javascript.md#getenums.

                          `var functions = getEnums('functions');
                          for(var i = 0; i < functions.length; i++) {
                             log(functions[i].name);
                          }`[/i]
                          

                          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 Reply Last reply
                          0
                          • T Offline
                            T Offline
                            Tefi
                            wrote on last edited by
                            #24

                            Ja genau das war es.

                            Besten Dank

                            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

                            942

                            Online

                            32.4k

                            Users

                            81.5k

                            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