So I’ve been able to cancel by adding a tag and then cancelling through use of the tag.
So, to find phone:
- service: notify.mobile_app_pixel_5
data:
message: Home Assistant
title: Home Assistant is finding your phone!
data:
ttl: 0
priority: high
channel: alarm_stream
tag: find-me
alias: Phone alarm rings on highest priority
If I remember well from my testing months ago, there are already answers in the current thread that cause Android to sound up, even if muted. Try them. I’m afraid I don’t remember which ones.
When I try this, I don’t get a new channel created within the companion app settings page. I’m using a Galaxy S20, and currently have the following channels:
General
High accuracy location
Persistent Connection
Persistent Connection Issues
SensorWorker
Any ideas what I’m doing wrong?
alias: Find Nicks Phone
sequence:
- service: notify.mobile_app_galaxy_s20
metadata: {}
data:
message: Home Assistant is finding your phone
title: Home Assistant
data:
ttl: 0
priority: high
Channel: FindPhone
tag: find-me
mode: single
icon: mdi:cellphone-sound
Hi all, been reading this and other threads and it seems like there’s 3 separate approaches to notifying on Android devices
using the HA app’s notify service
installing a tasker service on the target phone, triggering that to unmute
using Google’s own find-phone service
I for one would like to go with door number 3 as on my phone, having the phone set to silent or do not didsturb mode will override any notifications from the HA app. Also, I’ve experienced those notifications to sometime get delayed until the phone screen is turned turned on (not the phone itself obviously). Second, as for option 2, not a fan of having to maintain/configure another piece of software on the phone, essentially knowing that it’s possible on the OS level.
So, the question I’m asking, is there a programatic/API method to invoking the google find-my phone service?
I’ve tried that, and checking my My Google Activity, the assistant always responds with:
I found a few devices.
The first listed is your <exact name of device from request>.
Should I ring it?
Do you have any solution for that?
I’ve tried some prompt engineering (I know, this isn’t an LLM, but it was worth a try) like using “find and ring the device named”, but it insists on getting a confirmation.
I used something similar to the post above yours and it worked fine, except it rings in the opposite phone if what I ask it to ring on.
Perhaps there is a spelling issue?
Do you write exactly what she says as the model name?
I have example calls in my Activity Log where it requests confirmation for a device that’s written exactly as in my prompt, yeah.
But when you’re saying it rings “the opposite phone of what I ask it to ring”, then it doesn’t work for you, does it? Or I guess you’re saying, at least it rings without asking for confirmation.
I couldn’t engineer any working prompt which includes a device name. If I do, I always get a confirmation question, either “I found a few devices. The first listed is X. Should I ring it?” or “I can help by making X ring on full volume right away. Would you like me to do that?”
But if I don’t state a device, but only call it the “phone”, then it rings right away.
This also worked for me on S23 Ultra but I also had to set the ringer mode to normal by adding action to turn from silent to normal in the sequence. Full script I used below.
alias: Find My Phone
sequence:
- action: notify.mobile_app_lucas_phone
data:
message: command_volume_level
data:
media_stream: alarm_stream
command: 20
alias: Increase volume to max
- alias: Set to Normal
action: notify.mobile_app_lucas_phone
data:
message: command_ringer_mode
data:
command: normal
- alias: Play alarm sound until phone is turned on
repeat:
sequence:
- action: notify.mobile_app_lucas_phone
data:
message: Finding your phone
data:
ttl: 0
priority: high
channel: alarm_stream
tag: find-my-phone
count: 2
description: ""
icon: mdi:alarm-light
This is working great thanks. Only problem is my alarm the next morning was blaring full volume and gave me a fright. I’ve added an action to reduce alarm volume a min after alarm starts ringing
sequence:
- alias: Increase volume to max
action: notify.mobile_app_james_mobile
data:
message: command_volume_level
data:
media_stream: alarm_stream
command: 20
- alias: Set to Normal
action: notify.mobile_app_james_mobile
data:
message: command_ringer_mode
data:
command: normal
- alias: Play alarm sound until phone is turned on
repeat:
sequence:
- action: notify.mobile_app_james_mobile
data:
message: Finding your phone
data:
ttl: 0
priority: high
channel: alarm_stream
tag: find-my-phone
count: 2
- delay:
hours: 0
minutes: 1
seconds: 0
milliseconds: 0
- alias: Decrease volume to min
action: notify.mobile_app_james_mobile
data:
message: command_volume_level
data:
media_stream: alarm_stream
command: 1
description: ""
icon: m3o:mobile-speaker
alias: Find My Phone - James
Here is another slightly-different script that works quite well for me (on my Samsung Galaxy):
alias: Find My Phone
variables:
ringer: "{{ states('sensor.mobile_app_ringer_mode') }}"
sequence:
- data:
message: command_ringer_mode
data:
command: normal
priority: high
action: notify.mobile_app
- data:
message: " "
title: Find My Phone
data:
ttl: 0
tag: Find My Phone
priority: high
channel: alarm_stream
action: notify.mobile_app
- delay: 2
- data:
message: command_ringer_mode
data:
command: "{{ ringer }}"
priority: high
action: notify.mobile_app
mode: single
icon: mdi:phone
Main advantage in comparison to the previous ones is that it won’t change your volume to hardcoded values, but temporarily turns it to loud and dynamically resets it to the previous mode before.
Not touching the volume level itself, but the ringer mode.
Requirements:
installed HA app
enable ringer mode sensor in HA app
allow notification to break the do not disturb mode (just tap on the first notification you receive)
Based on this reddit post. Had to increase the priority of the messages to high to ensure that it works, if the phone hasn’t been used for a while.
I use this, in conjunction with a voice command.
This will set the volume to the max and set it back to the original level usng this media_stream: "alarm_stream_max"
alias: Find <NAME> Phone
sequence:
- action: notify.mobile_app_sm_s901e
metadata: {}
data:
message: command_ringer_mode
data:
command: normal
priority: high
- data:
message: " "
title: Find My Phone
data:
ttl: 0
tag: Find My Phone
priority: high
channel: alarm_stream
media_stream: "alarm_stream_max"
action: notify.mobile_app_sm_s901e
mode: single
icon: mdi:phone
description: ""