Critical notifications

I’m using the new v2 app (thank you @robbiet480). I believe I have critical notifications correctly configured, however am noticing the following:

  • If my iPhone is on and unlocked, I hear the sound
  • If my iPhone is locked, only my Apple Watch “dings” (does not play the sound)
  • If my iPhone is in DND, only my Apple Watch “dings” (does not play the sound)

Is anyone else seeing similar behaviour? It appears the watch is somehow over-riding the “criticalness”. Is this an iOS bug?

For completeness, here is my relevant config:

###
# notify.yaml
###
- name: flood_detected
  platform: group
  services:
    - service: mobile_app_MYDEVICE
      data:
        title: 'Leak detected!!!'
        data:
          push:
            sound: 
              name: "US-EN-Morgan-Freeman-Water-Detected-In-Basement.wav"
              critical: 1
              volume: 1.0
###
# alert.yaml
###
flood_detected:
  name: Water leak detected
  done_message: Leak fixed
  entity_id: input_boolean.flood_detected
  state: 'on'
  repeat: 
    - 5
    - 15
    - 30
    - 60
  can_acknowledge: true
  notifiers:
    - flood_detected

Can your try running to following from services in developer tools (to the appropriate notify.mobile_app_<device_name> service of course).

title: "Wake up!"
message: "The house is on fire and the cat's stuck in the dryer!"
data:
  push:
    sound:
      name: default
      critical: 1
      volume: 1.0

I get the following (in all cases phone and watch are on silent):

  • Using phone/phone unlocked: alert banner and sound
  • Phone locked: watch makes sound
  • Phone locked and DND: watch makes sound

I’m sure they used to be loader but it is working as I expect and I think this is the same as you describe. I don’t think the custom sounds are supported by the watch right now probably for storage reasons

I tested as per your suggestion and found the following. The only change I made from your test is that I used name: "US-EN-Morgan-Freeman-Water-Detected-In-Basement.wav" to try to better distinguish the sounds on iOS.

Watch on & connected:
Phone unlocked — Morgan Freeman played on phone
Phone locked — Default played on watch
Phone locked and Silent on — Default played on watch
Phone locked, Silent on and DND on — Default played on watch

Watch off
Phone unlocked — Morgan Freeman played on phone
Phone locked – Morgan Freeman played on phone
Phone locked and Silent on — Morgan Freeman played on phone
Phone locked, Silent on and DND on — Morgan Freeman played on phone

I think this is an iOS bug. Unless there is some API hook that allows a notification to be directed at the phone only?

This is the expected behaviour. Custom sounds do not currently forward to the watch. This should probably be documented better

Yeah, this seems like an iOS behavior that is intentional, but unfortunately not matching what I personally want to happen — which would be for the sound to play on the phone and my watch when I’m wearing it. I just don’t trust the little short sound on the watch enough to wake me up in an actual critical situation while I’m asleep, which is the usecase for what I need.

I wanted to add something I discovered to the discussion, which is that if you go to the Watch app’s Notifications screen and turn off “Mirror iPhone Alerts From” for Home Assistant, the phone will play the sound while you’re wearing the watch, even if the Home Assistant app is installed on the Watch. So, that’s a possible solution with the tradeoff of not getting alerts at all on the watch.

Another potential workaround solution I’m planning on experimenting with is to make my “Critical” notification do the following:

  • Set a Critical Notification flag to be true
  • Have an Automation that sends a Critical notification every 10 seconds if the flag is true
  • Use an Actionable notification that can set the Critical Notification flag to false, perhaps with a switch to do that manually in the app too.

This would make it so the critical watch notification would keep going off until I woke up and am able to dismiss the notification.

I was also surprised by this behavior and I’m wondering if anyone has come up with reasonable work-arounds?