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

NEWS

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

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

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

On()-Funktion - Reagieren auf _SHORT oder _LONG

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
34 Beiträge 5 Kommentatoren 2.8k Aufrufe
  • Ä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 Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #22

    @Bluefox:

    BTW: Fehler mit RegExp habe ich gefixt. `
    @AndyUM61: Hast Du die RegExp-Variante nach Update des Javascript-Adapters auf Version 1.1.1 nochmal getestet ?

    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
    • A Offline
      A Offline
      AndyUM61
      schrieb am zuletzt editiert von
      #23

      @paul53:

      @AndyUM61: Hast Du die RegExp-Variante nach Update des Javascript-Adapters auf Version 1.1.1 nochmal getestet ? `

      Nein, noch nicht.

      Ich müsste ja einen Regulären Ausdruck für meine Variablennamen finden, so das natürlich geht.

      Muss ich mir erst einmal ausprobieren.

      Das mit diesen RegExp fiel mir - ehrlich gesagt - bei anderen Programmiersprachen schon immer sehr schwer;).

      Ist ja auch wirklich recht unübersichtlich.

      Aber ich werde es mit Sicherheit bei anderen Scripten mal versuchen.

      Dankeschön trotzdem für den Tip:)!

      Internette Grüße
      Andy

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

      1 Antwort Letzte Antwort
      0
      • A Offline
        A Offline
        AndyUM61
        schrieb am zuletzt editiert von
        #24

        @Bluefox:

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

        Aber du hast verstanden was ich meine;)?
        518_script_editor.gif

        Internette Grüße
        Andy

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

        1 Antwort Letzte Antwort
        0
        • paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • A Offline
            A Offline
            AndyUM61
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • A Offline
                A Offline
                AndyUM61
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                • paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • BluefoxB Offline
                    BluefoxB Offline
                    Bluefox
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • A Offline
                      A Offline
                      AndyUM61
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        • BluefoxB Offline
                          BluefoxB Offline
                          Bluefox
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          0
                          • R Offline
                            R Offline
                            rascal
                            schrieb am zuletzt editiert von
                            #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 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

                            479

                            Online

                            32.4k

                            Benutzer

                            81.5k

                            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