iOS Notifications with Snooze Option(s)

Tags: #<Tag:0x00007f32672aa8f0> #<Tag:0x00007f32672aa710>

My requirements are to send iOS notifications when motion is detected in the entry. This works pretty well, but I’d like to offer a snooze option (in case I have lots of traffic, i.e. unloading groceries) where I can pause notifications for, say, 30 minutes, or maybe even enter a custom duration. This general concept is just a starting place for having more advanced, actionable notifications in the future.

Below is my configuration and I’ve made nearly identical edits within the mobile app for an alert category and two actions within the category tailored accordingly. I still don’t see the options on my push notification when I slide to View (screenshot below). I’m also confused how to map another automation actions to trigger the 30 min snooze. Seems like I need to trigger those from the event coming from the iOS device once I can trigger those actions from the notification.

Screenshots




Config being tested in developer tools for service notify.mobile_app_my_iphone before I migrate to the automation:

title: 'Motion Detected!'
message: 'Location/sensor: Entry'
data:
  push:
    sound: 'US-EN-Morgan-Freeman-Motion-Detected.wav'
    categories:
      - name: alert
        identifier: 'alert'
        actions:
          - identifier: 'SNOOZE'
            title: 'Snooze for 30 min'
            activationMode: 'background'
            authenticationRequired: false
            destructive: false
            behavior: 'default'
          - identifier: 'SNOOZE_CUSTOM'
            title: 'Snooze for Custom'
            activationMode: 'background'
            authenticationRequired: false
            destructive: false
            behavior: 'textInput'
            textInputButtonTitle: 'Snooze Duration (min)'
            textInputPlaceholder: '60'

Any help is appreciated!

I would create a timer for this. When you want to snooze alerts start the timer for 30 minutes. Then in the automation which sends the motion alerts, create a condition to check the timer state is idle ( or not running).

1 Like