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()-Funktion - Reagieren auf _SHORT oder _LONG

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    234

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

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

On()-Funktion - Reagieren auf _SHORT oder _LONG

Scheduled Pinned Locked Moved Skripten / Logik
34 Posts 5 Posters 3.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.
  • paul53P Offline
    paul53P Offline
    paul53
    wrote on last edited by
    #25

    Habe das folgende Script mit der Javascript-Adapter Version 1.1.1 getestet:

    on({id: /^hm-rpc\.0\.BidCoS-RF\.1\.PRESS_.*$/, val:true}, function(dp) { 
        log(dp.id);
    });
    
    

    und es funktioniert. Log:
    ` > javascript-0 2015-12-16 21:15:51 info script.js._Multistate-Test: hm-rpc.0.BidCoS-RF.1.PRESS_LONG

    javascript-0 2015-12-16 21:15:31 info script.js._Multistate-Test: hm-rpc.0.BidCoS-RF.1.PRESS_SHORT `

    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
    • A Offline
      A Offline
      AndyUM61
      wrote on last edited by
      #26

      Na ist doch klasse:).

      …und wie würde das für die Variablen "klingel" und "klingel_long" aussehen?

      Geht das denn mit Variablen?

      Internette Grüße
      Andy

      RaspberryMatic (Raspberry Pi3), CUxD, ioBroker (Synology/ Docker)

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

        @AndyUM61:

        …und wie würde das für die Variablen "klingel" und "klingel_long" aussehen? `
        Sollen die Variablen als Auslöser dienen:

        on({id: /^javascript\.0\.klingel.*$/, val:true}, function(dp) {
            log(dp.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

        1 Reply Last reply
        0
        • A Offline
          A Offline
          AndyUM61
          wrote on last edited by
          #28

          Das hast du falsch verstanden.

          Ich habe zur Vereinfachung halber die Actoren, also z.B. "hm-rpc.1.J…......" in Variablen, also z.B. "klingel" gepackt.

          Diese verwende ich halt in den on()-Funktionen.

          Ich mag meine Scripts möglichst universell, und brauche so eben nur jeweils den "Kopf" ändern.

          Bei dem Klingelscript ist das nicht wirklich notwendig, aber bei meinen MQTT-Sensoren macht das schon Sinn.

          Internette Grüße
          Andy

          RaspberryMatic (Raspberry Pi3), CUxD, ioBroker (Synology/ Docker)

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

            Das Script mit den "hm-rpc.1.J…......" als Auslöser habe ich bereits gepostet.

            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
            • BluefoxB Offline
              BluefoxB Offline
              Bluefox
              wrote on last edited by
              #30

              @AndyUM61:

              @Bluefox:

              Ich gehe davon aus, dass du mit dem Skript weiterarbeiten willst. :lol: `

              Aber du hast verstanden was ich meine;)? `
              Nein. Habe ich nicht so verstanden.

              Schiebe das Febster ein mal nach oben. Der wird dann die Position merken.

              1 Reply Last reply
              0
              • A Offline
                A Offline
                AndyUM61
                wrote on last edited by
                #31

                @Bluefox:

                Kannst mir glauben, das Fenster habe ich Heute bestimmt 1000x nach oben geschoben.

                …immer wieder neu;).

                Sonst hätte ich ja auch nichts dazu geschrieben;).

                Benutze übrigens Firefox.

                Internette Grüße
                Andy

                RaspberryMatic (Raspberry Pi3), CUxD, ioBroker (Synology/ Docker)

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

                  @Bluefox:

                  Du hast "status()" geschrieben. Und ich ohne Klammern.

                  Bei dir wolltest du das Ergebnis von Funktion status nutzen (Vermutlich "undefined") und ich habe die Funktionen eingegeben. `
                  Mit dem Ergebnis der Funktion hat es nichts zu tun.

                  Es sollte lediglich ein Funktionsaufruf ohne Parameterübergabe sein. Macht man einen solchen Funktionsaufruf in einer extra Zeile - z.B. innerhalb einer Verbundanweisung, sind die Klammern erfoderlich.

                  { funcXYZ();
                  }
                  ````funktioniert
                  

                  { funcXYZ;
                  }

                  
                  EDIT: Habe noch etwas recherchiert: Callback-Funktionen müssen offenbar als anonyme Funktion (mit oder ohne Argumente)
                  

                  on(id, function(arg1, ...argN) {
                  Funktion(en);
                  });

                  oder als Funktionsreferenz (ohne Argumente)
                  

                  on(id, FunktionXYZ);

                  angegeben werden.

                  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
                  • BluefoxB Offline
                    BluefoxB Offline
                    Bluefox
                    wrote on last edited by
                    #33

                    @AndyUM61:

                    @Bluefox:

                    Kannst mir glauben, das Fenster habe ich Heute bestimmt 1000x nach oben geschoben.

                    …immer wieder neu;).

                    Sonst hätte ich ja auch nichts dazu geschrieben;).

                    Benutze übrigens Firefox. `
                    Versuche Cache zu löschen. Komplett

                    1 Reply Last reply
                    0
                    • R Offline
                      R Offline
                      rascal
                      wrote on last edited by
                      #34

                      Hey,

                      frage von einem totalen JavaScript noob: Er schaltet mir die Var output2 nicht, was mache ich falsch?

                      log("Test","info");
                      
                      //var input1 = "ping.0.input1";/*input1 bool*/ 
                      //var input2 = "ping.0.input2";/*input2 zahl*/
                      //var output1 = "ping.0.output1";/*output1 bool*/
                      //var output2 = "ping.0.output2";/*output2 zahl*/
                      
                      function testfunc1() 
                      {
                          setState("ping.0.output1", true);
                      }
                      
                      function testfunc2() 
                      {
                          setState("ping.0.output1", false);
                      }
                      
                      on({id: "ping.0.input1", val: true}, testfunc1);
                      on({id: "ping.0.input1", val: false}, testfunc2);
                      
                      

                      305_heizungsscript_220_b14_temp.txt

                      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

                      514

                      Online

                      32.7k

                      Users

                      82.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