Ankündigung

Einklappen
Keine Ankündigung bisher.

Benachrichtigung Audio Alarm nur jede Minute

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Benachrichtigung Audio Alarm nur jede Minute

    Hallo zusammen,

    ich habe eine Kamera im Kinderzimmer meines Sohnes. Diese erkennt Geräusche und löst dann eine Benachrichtigung über Pushover aus.

    Das Item für die Kamera springt während der Geräuscherkennung immer wieder von An auf Aus und Aus auf An sodass bei einem Geräusch 10 Benachrichtigungen zustanden kommen.

    Ich möchte nun, wenn das Item für den Audio Alarm auf An springt, dass eine Benachrichtigung ausgelöst wird, aber dann eine Art Totzeit von 1 Minute folgt, sodass die nächste Benachrichtigung erst wieder nach 1 Minute erfolgt.

    Wie kann ich dies realisieren?

    Hier eine Rule bisher:

    Code:
    
    rule "Audioalarm Kinderzimmer wenn Kind schläft Benachrichtigung"
    
    when
    
    Item og_kinderzimmer_kamera_AudioAlarm changed to ON
    
    then
    
    sendBroadcastNotification("Geräusche im Kinderzimmer erkannt!")
    
    end


    #2
    https://community.openhab.org/t/desi...ebounce/101566

    Kommentar


      #3
      Wie wäre das dann bei meiner Rule anzuwenden? Könntest du das anhand meiner Rule mal einpflegen?

      Ich wäre dir sehr dankbar.

      Kommentar


        #4
        Die einfachste Variante:
        Code:
        var Timer tAlarm = null // Globale Variablen zu Begin der Datei vor der 1. Rule definieren!
        
        rule "Audioalarm Kinderzimmer wenn Kind schläft Benachrichtigung"
        when
            Item og_kinderzimmer_kamera_AudioAlarm changed to ON
        then
            if(tAlarm !== null) {
                logInfo("alarm","Alarm getriggert, aber Timer noch nicht abgelaufen. Ende.")
                return;
            }
            sendBroadcastNotification("Geräusche im Kinderzimmer erkannt!")
            tAlarm = createTimer(now.plusMinutes(2), [ |
                tAlarm = null
            ]
        end
        Der Timer tAlarm wird global definiert.
        Wird die Rule getriggert, erfolt zunächtst eine Prüfung, ob der Timer gesetzt ist (!== null). Ist das der Fall wird die Rule abgebrochen (mit Nachricht im Log).
        Ist die Variable null, wird die Notification gesendet und anschließend der Timer gestartet. Wenn der Timer (im Beispiel nach zwei Minuten) abläuft, wird nur die Timer-Variable wieder auf null gesetzt. Damit wird beim nächsten Alarm wieder eine Notification gesendet...

        Kommentar


          #5
          Ah cool, Vielen lieben Dank funktioniert wie ein Traum.

          Kommentar


            #6
            gerne.

            Kommentar

            Lädt...
            X