Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Pushover mit zwei Variablen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Pushover mit zwei Variablen

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      baluderbär last edited by

      Hallo zusammen,

      eine Pushover zu verschicken funktioniert schon bei mir. In meinem Beispiel, eine Nachricht wenn die Alarmanlage eingeschaltet ist (siehe unten).

      Jetzt hätte ich gerne eine Erweiterung, dass eine weitere Meldung kommt wenn bei aktiver Alarmanlage der Bewegungssensors anschlägt.

      var idAlarm = "hm-rega.0.26379"/*Alarmanlage*/;   
      
      on({id:idAlarm, change:'ne', val: true}, function () {
          warten();  
          });
      
      function warten() {                      
          setTimeout(waittime, 1 * 2000);    // Warteschleife, 1 * 2 Sekunden und rufe dann waittime auf
      }
      
      function waittime() {                       
          var Alarm = getState(idAlarm).val;
          if (Alarm === true) sendTo("pushover", "Alarmanlage AKTIVIERT"); 
      }
      

      Wie müsste ich den Code erweitern/abändern? Über eine Nachricht wäre ich Euch dankbar.

      Viele Grüße

      Balu der Bär

      1 Reply Last reply Reply Quote 0
      • P
        pix last edited by

        Hallo,

        neu sind die erste Zeile (bitte anpassen) und die Subscription am Schluss.

        var idMotion = "hm-rpc.0.xxxxxx"; // Bewegungsmelder Datenpunkt MOTION
        var idAlarm = "hm-rega.0.26379"/*Alarmanlage*/;   
        
        on({id:idAlarm, change:'ne', val: true}, function () {
            warten();  
            });
        
        function warten() {                      
            setTimeout(waittime, 1 * 2000);    // Warteschleife, 1 * 2 Sekunden und rufe dann waittime auf
        }
        
        function waittime() {                       
            var Alarm = getState(idAlarm).val;
            if (Alarm === true) sendTo("pushover", "Alarmanlage AKTIVIERT"); 
        }
        
        on({id:idMotion, val: true}, function () {
            var Alarm = getState(idAlarm).val;
            if (Alarm === true) sendTo("pushover", "Alarmanlage aktiviert UND BEWEGUNG!");   
        });
        
        

        Das sendet die Meldung "Alarmanlage aktiviert UND BEWEGUNG!" immer dann, wenn bei aktiviert Alarmanlage der Bewegungsmelder anschlägt (Ich gehe von einem HM-Bewegungsmelder aus).

        Teste erstmal. Es kann später sinnvoll sein, eine kleine Entprellung einzubauen, damit nicht wirklich jede Auslösung gemeldet wird.

        Gruß

        Pix

        1 Reply Last reply Reply Quote 0
        • B
          baluderbär last edited by

          Hallo Pix,

          danke für deine schnelle Antwort. Vielleicht hab ich mich ein wenig unklar ausgedrückt.

          Die 1. Pushover Meldung kommt wenn die Alarmanlage scharf geschaltet wurde. Jetzt möchte ich, dass jedes Mal eine Meldung kommt, wenn ein Bewegungsmelder auslöst. Und zwar nur dann, wenn die Alarmanlage scharf ist.

          Sinngemäß: Wenn Alarmanlage = scharf und Bewegung erkannt, dann schicke Pushover mit der Meldung "Bewegung erkannt".

          Gruß Balu der Bär

          Nachtrag: Habe es jetzt so umgesetzt und bin zufrieden. Danke für deinen Tipp Pix

          var idMotion = "hm-rpc.0.KEQxxxxx.1.MOTION"; // Bewegungsmelder EZ Datenpunkt MOTION
          var idAlarm = "hm-rega.0.xxxx"/*Alarmanlage*/;   
          
          on({id:idAlarm, change:'ne', val: true}, function () {
              warten();  
              });
          
          on({id:idMotion, val: true}, function () {
              var Alarm = getState(idAlarm).val;
              if (Alarm === true) sendTo("pushover.1", "Motion Esszimmer");   
          });
          
          1 Reply Last reply Reply Quote 0
          • B
            baluderbär last edited by

            Hallo Pix,

            kannst du nochmal über dieses Skript schauen. Bin da nicht so bewandert drin.

            Das Skript soll bei aktiver Alarmanlage (hm-rega.0.263xx) eine Meldung per Pushover rausgeben, wenn z.B. der Tür-Fensterkontakt (hm-rpc.0.MEQ0285xxx.1.STATE) auslöst.

            var idMotion = "hm-rpc.0.MEQ0285xxx.1.STATE"; // Türkontakt Nebeneingang UG Datenpunkt
            var idAlarm = "hm-rega.0.263xx"/*Alarmanlage*/;   
            
            on({id:idAlarm, change:'ne', val: true}, function () {
                warten();  
                });
            
            function warten() {                      
                setTimeout(1 * 500);    // Warteschleife, 1 * 500 Millisekunden und rufe dann waittime auf
            }
            
            on({id:idMotion, val: true}, function () {
                var Alarm = getState(idAlarm).val;
                if (Alarm === true) sendTo("pushover.1", "UG: Nebeneingang OFFEN");   
            });
            

            Nachdem Alarmanlage scharf geschaltet wurde, erhalte ich folgende Fehlermeldung:
            ` > host.pi_iobroker 2017-07-29 14:19:48.723 info Restart adapter system.adapter.javascript.0 because enabled

            host.pi_iobroker 2017-07-29 14:19:48.722 error instance system.adapter.javascript.0 terminated with code 0 (OK)

            javascript.0 2017-07-29 14:19:48.679 info terminating

            javascript.0 2017-07-29 14:19:48.663 error at Timer.listOnTimeout (timers.js:214:5)

            javascript.0 2017-07-29 14:19:48.663 error at tryOnTimeout (timers.js:250:5)

            javascript.0 2017-07-29 14:19:48.663 error at ontimeout (timers.js:399:18)

            javascript.0 2017-07-29 14:19:48.663 error at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2068:44)

            javascript.0 2017-07-29 14:19:48.663 error TypeError: callback.call is not a function

            javascript.0 2017-07-29 14:19:48.662 error uncaught exception: callback.call is not a function

            sayit.0 2017-07-29 14:19:35.396 info saying: Sind alle Fenster und Türen geschlossen? `
            Wie man sehen kann verabschiedet sich auch der Java-Adapter und brauch ein paar Sekunden, bis er wieder einsatzbereit ist.

            Vorab besten Dank und ein schönes Wochenende.

            Gruß Martin

            1 Reply Last reply Reply Quote 0
            • P
              pix last edited by

              Hallo,

              da fehlt die Funktion waittime(), welche in warten() aufgerufen werden soll. Mir ist eigentlich das ganze Konstrukt mit waittime() und warten() nicht ganz klar. Ich bin kein Fan.

              Probier mal so, wenn unbedingt nach dem Scharfschalten die Statusmeldung mit Verzögerung rausgehen soll:

              var idMotion = "hm-rpc.0.MEQ0285xxx.1.STATE"; // Türkontakt Nebeneingang UG Datenpunkt
              var idAlarm = "hm-rega.0.263xx"/*Alarmanlage*/;   
              
              on(idAlarm, function (obj) {
                  if(obj.state.val) { // Meldung "scharf" nach 500ms ausgeben, wenn Alarm scharf
                      setTimeout({
                          sendTo("pushover.1", "Alarm scharf");   
                      }, 500);    
                  }
              });
              
              on({id:idMotion, val: true}, function () {
                  var alarm = getState(idAlarm).val;
                  if (alarm) sendTo("pushover.1", "UG: Nebeneingang OFFEN");   
              });
              
              

              Gruß

              Pix

              1 Reply Last reply Reply Quote 0
              • B
                baluderbär last edited by

                Danke für deine Hilfe. Werde es mir mal anschauen.

                Gruß Martin

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

                Support us

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

                642
                Online

                32.0k
                Users

                80.5k
                Topics

                1.3m
                Posts

                2
                6
                1096
                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