Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] script mit 2 Auslösern

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [gelöst] script mit 2 Auslösern

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      stephan61 last edited by

      Hallo ich brauche mal eure Hilfe habe folgenden script für meinen Bewegungsmelder````
      on('hm-rpc.0.MEQ0160425.1.MOTION', function (obj) { // Bewegung überwachen
      var helligkeit = getState('hm-rpc.0.MEQ0160425.1.BRIGHTNESS');
      if (obj.newState.val === true && helligkeit.val < 120) { // Bewegung true und Helligkeit unter 130
      setState('hm-rpc.0.MEQ0177599.1.ON_TIME', 60); // 60s Einschaltdauer
      setState('hm-rpc.0.MEQ0177599.1.STATE', true); // schalte Lampe an
      setState('hm-rpc.0.MEQ0177599.2.ON_TIME', 60); // 60s Einschaltdauer
      setState('hm-rpc.0.MEQ0177599.2.STATE', true); // schalte Lampe an
      }
      });

      und möchte jetzt noch einen Bewegungsmelder( hm-rpc.0.LEQ1282876.1.MOTION') als Auslöser einfügen
      
      ist das möglich oder muss ich einen 2 script machen
      
      Gruß Stephan
      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 last edited by

        Versuche es mal so:

        on(/^hm-rpc\.0\.(MEQ0160425|LEQ1282876)\.1\.MOTION$/, function (obj) { // Bewegung überwachen
        
        
        1 Reply Last reply Reply Quote 0
        • S
          stephan61 last edited by

          Hallo paul 53

          funktioniert Danke

          Gruss Stephan

          1 Reply Last reply Reply Quote 0
          • L
            Loomii last edited by

            Morgen,

            Hab dazu noch eine Frage! Ist es auch möglich das so zu machen das erst beide auf false gehen und dann

            ein Gerät geschaltet wird?

            on(/^ping\.0\.Iobroker-Server\.(192.xxx.xxx.xx1|192.xxx.xxx.xx2)/, function (obj) { // Ich nicht da und Frau nicht da
                    if (obj.newState.val === false) { //
                    setState('hm-rpc.0.NEQ0144765.1.STATE', false); // Pumpe wird abgeschaltet falls an
            
            });
            
            

            Also mein Anliegen ist, ich habe den Ping Adapter und möchte wenn meine Frau und Ich nicht zu Haus bestimmte

            Geräte abschalten .

            Habe meine Ping ID´s in das Script von Paul53 eingefügt.Siehe Script!Hoffe habe das so einigermaßen zusammenbekommen,sitze nicht am

            Rechner. 🙂 Das funktioniert auch bloß das es halt so ist ,das wenn ich nicht da bin wird geschaltet und anders rum genau so. Daher meine Frage wie mach ich es ,das erst

            reagiert wird wenn beide nicht da sind? Oder muss ich nen zweites Script nehmen?

            Mfg

            Sven

            1 Reply Last reply Reply Quote 0
            • paul53
              paul53 last edited by

              @Loomii:

              Ist es auch möglich das so zu machen das erst beide auf false gehen und dann ein Gerät geschaltet wird? `
              Ja, das ist möglich, nur muss man nicht unbedingt versuchen, es mit RegExp als Trigger zu lösen.

              var ping1id = "ping.0.Iobroker-Server.192_xxx_xxx_xx1";
              var ping2id = "ping.0.Iobroker-Server.192_xxx_xxx_xx2";
              
              // Initialisierung bei Script start
              var ping1 = getState(ping1id).val;
              var ping2 = getState(ping2id).val;
              
              function pingtest() {
                if(!ping1 && !ping2) setState('hm-rpc.0.NEQ0144765.1.STATE', false); // Pumpe wird abgeschaltet falls an
              }
              
              on(ping1id, function(dp) {
                ping1 = dp.state.val;
                pingtest();
              });
              
              on(ping2id, function(dp) {
                ping2 = dp.state.val;
                pingtest();
              });
              
              
              1 Reply Last reply Reply Quote 0
              • P
                pix last edited by

                Oder man macht es doch mit RegEx und fragt dann innerhalb der Subscription nochmal die Werte beider Pings ab.

                on(/^ping\.0\.Iobroker-Server\.(192.xxx.xxx.xx1|192.xxx.xxx.xx2)/, function (obj) { // Ich nicht da und Frau nicht da (triggert nur bei Änderung mindestens eines Pings)
                        if (!getState("ping.0.Iobroker-Server.192_xxx_xxx_xx1").val && !getState("ping.0.Iobroker-Server.192_xxx_xxx_xx2").val ) setState('hm-rpc.0.NEQ0144765.1.STATE', false);        
                });
                
                

                Gruß

                Pix

                1 Reply Last reply Reply Quote 0
                • L
                  Loomii last edited by

                  Morgen,

                  Gestern Abend gleich probiert und es funktioniert wie es soll 😄 😄

                  So langsam versteht man immer mehr beim Scripten.

                  Vielen lieben Dank an euch zwei.

                  8-)

                  Gruß Sven

                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  827
                  Online

                  31.6k
                  Users

                  79.4k
                  Topics

                  1.3m
                  Posts

                  4
                  7
                  1720
                  Loading More Posts
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes
                  Reply
                  • Reply as topic
                  Log in to reply
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                  The ioBroker Community 2014-2023
                  logo