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. Push Skript Alarmbenachrichtigung

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    11
    1
    76

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    554

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

Push Skript Alarmbenachrichtigung

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
14 Beiträge 5 Kommentatoren 2.0k 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.
  • BuZZyB Offline
    BuZZyB Offline
    BuZZy
    schrieb am zuletzt editiert von
    #2

    Hallo Markus,

    verstehe die ersten Zeilen nicht so richtig..

    on("hm-rpc.0.*NBO0010787.1.STATE", function (obj){
        cacheSelectorSTATE.each(function (id, i) {.....
    

    Was ist hm-rpc.0.*NBO0010787.1.STATE? Das Script soll ablaufen, sobald sich bei dem Datenpunkt hm-rpc.0.*NBO0010787.1.STATE etwas tut?

    Ist das so gewollt? Normalerweise "hört" man ja alle Rauchmelder ab und sobald sich da irgendwas tut, soll das Script laufen und prüfen welcher "true" meldet.

    Desweiteren befindet sich dein Pushover-Befehl außerhalb jeglicher Funktion,..

    Das bedeutet, sobald du das Script startest wird die Meldung rausgeschickt. (Und alle 60 Sekunden wiederholt so wie du es an den Pushover-Adapter übergeben hast).

    Du musst die Pushover Nachricht direkt nach dem Prüfen von "if (status === true) { …" absenden.

    Du kannst die diversen "Zählscripte" (schwache Batterie, Fenster offen,...) die hier im Forum zu finden sind gut dazu umschreiben..

    Etwa 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 Antwort Letzte Antwort
    0
    • N Offline
      N Offline
      Newmiraculix
      schrieb am zuletzt editiert von
      #3

      Hallo BuZZy,

      ` > Was ist hm-rpc.0.*NBO0010787.1.STATE? Das Script soll ablaufen, sobald sich bei dem Datenpunkt hm-rpc.0.*NBO0010787.1.STATE etwas tut?

      Ist das so gewollt? Normalerweise "hört" man ja alle Rauchmelder ab und sobald sich da irgendwas tut, soll das Script laufen und prüfen welcher "true" meldet. `

      Das Objekt ist das HM Rauchmelder Team, also quasi die Gruppe. Die geht automatisch auf true sobald ein Melder auf true geht.

      Das mit der Fuktion hab ich übersehen. Vielen Dank, das werde ich testen. Hab das aus dem LowBatt Skript zusammengeschustert ;)

      Gruß

      Markus

      CCU2 mit noch nicht ganz so vielen Aktoren :D

      RaspberryPi2 für SmartHome mit ioBroker

      RaspberryPi3 für SmartHome Mit iobroker (Multihost)

      Logitech Harmony Hub

      RaspberryPi3 mit openELEC

      Amazon Echo, Echo Dot und Echo…

      1 Antwort Letzte Antwort
      0
      • N Offline
        N Offline
        Newmiraculix
        schrieb am zuletzt editiert von
        #4

        Also jetzt funktioniert das Senden wie erwartet ;) (Hab mal einen Melder manuell auf true gestellt) Allerdings kommt der Name nicht mit. Der Fixtext (Feueralarm und Ausloesender Melder) wird gesendet aber die Variable nicht :?:

        CCU2 mit noch nicht ganz so vielen Aktoren :D

        RaspberryPi2 für SmartHome mit ioBroker

        RaspberryPi3 für SmartHome Mit iobroker (Multihost)

        Logitech Harmony Hub

        RaspberryPi3 mit openELEC

        Amazon Echo, Echo Dot und Echo…

        1 Antwort Letzte Antwort
        0
        • BuZZyB Offline
          BuZZyB Offline
          BuZZy
          schrieb am zuletzt editiert von
          #5

          @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 Antwort Letzte Antwort
          0
          • N Offline
            N Offline
            Newmiraculix
            schrieb am zuletzt editiert von
            #6

            > 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?

            CCU2 mit noch nicht ganz so vielen Aktoren :D

            RaspberryPi2 für SmartHome mit ioBroker

            RaspberryPi3 für SmartHome Mit iobroker (Multihost)

            Logitech Harmony Hub

            RaspberryPi3 mit openELEC

            Amazon Echo, Echo Dot und Echo…

            1 Antwort Letzte Antwort
            0
            • BuZZyB Offline
              BuZZyB Offline
              BuZZy
              schrieb am zuletzt editiert von
              #7

              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 Antwort Letzte Antwort
              0
              • N Offline
                N Offline
                Newmiraculix
                schrieb am zuletzt editiert von
                #8

                Perfekt! Funktioniert. DANKE!

                CCU2 mit noch nicht ganz so vielen Aktoren :D

                RaspberryPi2 für SmartHome mit ioBroker

                RaspberryPi3 für SmartHome Mit iobroker (Multihost)

                Logitech Harmony Hub

                RaspberryPi3 mit openELEC

                Amazon Echo, Echo Dot und Echo…

                1 Antwort Letzte Antwort
                0
                • K Offline
                  K Offline
                  KlausH
                  schrieb am zuletzt editiert von
                  #9

                  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 Antwort Letzte Antwort
                  0
                  • F Offline
                    F Offline
                    f0rd42
                    schrieb am zuletzt editiert von
                    #10

                    @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 Antwort Letzte Antwort
                    0
                    • F Offline
                      F Offline
                      f0rd42
                      schrieb am zuletzt editiert von
                      #11

                      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 Antwort Letzte Antwort
                      0
                      • F Offline
                        F Offline
                        f0rd42
                        schrieb am zuletzt editiert von
                        #12

                        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 Antwort Letzte Antwort
                        0
                        • paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von
                          #13

                          Versuche es so:

                          var cacheSelectorSTATE  = $('channel[state.id=*.STATE](functions=rauchmelder)');
                          
                          

                          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
                          • F Offline
                            F Offline
                            f0rd42
                            schrieb am zuletzt editiert von
                            #14

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

                            339

                            Online

                            32.5k

                            Benutzer

                            81.8k

                            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