Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Push Skript Alarmbenachrichtigung

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Push Skript Alarmbenachrichtigung

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

      @Newmiraculix:

      ..Allerdings kommt der Name nicht mit. `

      Dann nimm mal das, und zeige wie der Name aussieht der dann gesendet wird.

      createState('Feueralarm.textALARM',''); 
      
      var cacheSelectorSTATE  = $('channel[state.id=*.STATE](functions=Rauchmelder)');
      
      function melderCheck(obj) {
          var textALARM      = [];
      
          cacheSelectorSTATE.each(function (id, i) {
            var status = getState(id).val;
            var obj    = getObject(id);
            if (status === true) {
               textALARM.push(obj.common.name);
               sendTo("pushover.2", "send", {
                  message: "FEUERALARM" + "\n" + "Ausloesender Melder: " + obj.common.name ,
                  sound: "siren",
                  priority: 2,
                  retry: 60,
                  expire: 3600
               }); 
              }                
          }); 
         setState("Feueralarm.textALARM", textALARM.join(', '));
      }
      
      cacheSelectorSTATE.on(function(obj) {
          melderCheck(obj);      
      });
      

      Gruß

      1 Reply Last reply Reply Quote 0
      • N
        Newmiraculix last edited by

        > Dann nimm mal das, und zeige wie der Name aussieht der dann gesendet wird.

        Besser, Die 2. Zeile der Pushnachricht lautet jetzt: "Ausloesender Melder: Eingang.STATE".

        Weißt du noch wie ich das .STATE wegbekomme?

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

          Ja, so:

          createState('Feueralarm.textALARM',''); 
          
          var cacheSelectorSTATE  = $('channel[state.id=*.STATE](functions=Rauchmelder)');
          
          function melderCheck(obj) {
              var textALARM      = [];
          
              cacheSelectorSTATE.each(function (id, i) {
                var status = getState(id).val;
                var obj    = getObject(id);
                if (status === true) {
                   textALARM.push(obj.common.name.substr(0, obj.common.name.indexOf(':')));
                   sendTo("pushover.2", "send", {
                      message: "FEUERALARM" + "\n" + "Ausloesender Melder: " + obj.common.name.substr(0, obj.common.name.indexOf('.')),
                      sound: "siren",
                      priority: 2,
                      retry: 60,
                      expire: 3600
                   }); 
                  }                
              }); 
             setState("Feueralarm.textALARM", textALARM.join(', '));
          }
          
          cacheSelectorSTATE.on(function(obj) {
              melderCheck(obj);      
          });
          

          Gruß

          1 Reply Last reply Reply Quote 0
          • N
            Newmiraculix last edited by

            Perfekt! Funktioniert. DANKE!

            1 Reply Last reply Reply Quote 0
            • K
              KlausH last edited by

              Hallo!

              ich habe meine Geräte für den Feueralarm im Gewerk "Sicherheit" erfasst.

              Da sich hier auch andere Gerätetypen befinden müsste ich die Liste auf den Gerätetyp "HM-Sec-SD-2" einschränlen.

              Wie kann ich das beim cacheSelectorSTATE machen oder kann dich den Typ später beim Versand bestimmen?

              Danke

              Klaus

              1 Reply Last reply Reply Quote 0
              • F
                f0rd42 last edited by

                @Newmiraculix:

                Perfekt! Funktioniert. DANKE! `

                Kurze Frage zu dem Script.

                Wo / wie kommt denn der "State == True" zustande?

                Die Rauchmelder haben doch einen SMOKE_DETECTOR_ALARM_STATUS, der einen Wert von 0-3 (Rauchalarm = 1) annimmt.

                Ich verstehe das mit den State nicht so ganz.

                Danke

                1 Reply Last reply Reply Quote 0
                • F
                  f0rd42 last edited by

                  oder anders gefragt:

                  in Kanal 1 gibt es 4 Variablen vom Type "State".

                  an welcher Stelle im Script wird denn ausgewertet, welche das ist?

                  Bei einem Test am Gerät wird ja keine Nachricht per Push verschickt …..

                  Danke für die Hilfe, fuchse mich in JS gerade ein und stehe teilweise noch vor Problemen die Scripte zu verstehen.

                  1 Reply Last reply Reply Quote 0
                  • F
                    f0rd42 last edited by

                    nachdem ich mir hier viewtopic.php?p=229735#p229735 berechtigterweise eine "Backpfeife" abgeholt habe nehme ich die Diskussion hier noch einmal auf.

                    Mein Script sieht derzeit wie folgt aus:

                    ! ````
                    createState('Feueralarm.textALARM','');
                    ! var cacheSelectorSTATE = $('channelstate.id=*.STATE');
                    ! function melderCheck(obj) {
                    var textALARM = [];

                    cacheSelectorSTATE.each(function (id, i) {
                      var status = getState(id).val;
                      var obj    = getObject(id);
                      if (status === true) {
                         textALARM.push(obj.common.name.substr(0, obj.common.name.indexOf(':')));
                         sendTo("pushover.1", "send", {
                            message: "FEUERALARM" + "\n" + "Ausloesender Melder: " + obj.common.name.substr(0, obj.common.name.indexOf('.')),
                            sound: "siren",
                            priority: 2,
                            retry: 60,
                            expire: 3600
                         }); 
                        }                
                    }); 
                    

                    setState("Feueralarm.textALARM", textALARM.join(', '));
                    }

                    ! cacheSelectorSTATE.on(function(obj) {
                    melderCheck(obj);
                    });

                    
                    was, wie gesagt nicht funktioniert, aber mich schleicht, als hätte ich das mit den Funktionsgruppen nicht verstanden (siehe meine fragen oben nach den States).
                    
                    Also: muss in die Funktionsgruppen der Channel (in diesem Fall Kanal 1) oder der State an sich.
                    
                    Zur Verdeutlichung: Meine "Rauchmelder" Gruppe sieht aus wie im Bild unten. Ist das richtig, oder muss es eher sein wie in der Gruppe "Test" in die ich nun mal nur den eigentlichen Sate Datenpunkt gelegt habe.
                    
                    ![](https://cdn.pbrd.co/images/HZMNAgN.png)~~![](</s><URL url=)https://cdn.pbrd.co/images/HZMNAgN.png" />~~
                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 last edited by

                      Versuche es so:

                      var cacheSelectorSTATE  = $('channel[state.id=*.STATE](functions=rauchmelder)');
                      
                      
                      1 Reply Last reply Reply Quote 0
                      • F
                        f0rd42 last edited by

                        werde ich machen und testen, geht nur derzeit nicht.

                        das mit den States ist mir aber immer noch nicht klar (siehe meine Posts vom 05.01)

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        878
                        Online

                        31.8k
                        Users

                        79.9k
                        Topics

                        1.3m
                        Posts

                        5
                        14
                        1745
                        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