My Pixel 5’s three ringer modes match exactly what is in the Ringer Mode table in the docs: Normal, Silent, Vibrate. But the ringer mode command value of silent doesn’t trigger silent mode, it triggers DND.
Is there really no way to simply put my device in the real Silent mode? I have an automation that toggles my ringer mode when I join a Zoom. I want to suppress vibrations, which buzz my desk and are picked up by my desktop conference speaker. But I still want my notifications.
I’ve tried sending ringer-mode: vibrate, followed immediately by volume-level: 0. But frustratingly, when you send volume level 0, it turns vibrate back on. Even though manually turning it down to 0 on the phone itself leaves vibrate off.
Conversely, if I send volume level: 0 first, then follow with ringer-mode: normal, that bumps volume back up.
priority and ttl: good callout, thanks for that. I only added that a few minutes ago and hadn’t really tested.
as for ringer mode…i’m confused. Both the code and Android API docs indeed seem to be referencing the real silent mode, which has nothing to do with DND. And yet, not only do the Companion docs explicitly say that sending silent will in fact enable DND, but that’s actually what is happening on my device.
On the phone itself, if I click the volume rocker, I can toggle the ringer mode between Normal (bell icon), Silent (crossed-out bell icon), and Vibrate:
Yeah it appears to indeed go to a state of silent. But I suppose that’s expected, since there’s only 3 possible states and it couldn’t possibly be either normal or vibrate.
So I guess the issue is that the Android API goes a step further and also enables DND? Because it doesn’t appear as if the companion app is trying to do that.
Argh, yeah I feared that was the case. I found a similar thread here:
I just tried setting ringer mode to silent and then setting DND to off. But that turns vibrate back on. So frustrating. All I want is to disable vibrate for short periods of time, not suppress all my notifications.
Hopefully the Google devs will listen to the community on this one.
@dshokouhi Thought I’d circle back and provide an update here. Turns out there’s a (kinda hacky) way to toggle between vibrate and silent modes, without (ultimately) enabling DND…
Not only did this guy have the exact same use case as I, but he seemed to have solved the very same problem. I replicated his Tasker action and sure enough, it works! And just like him, I have no idea why it does. I went back into Node-Red to see if I could make it work there, as well. If I send:
…my Pixel indeed winds up in true silent mode. And then I can just send the vibrate command to undo it. So interesting how this works and I can’t imagine how that guy even figured it out. Because if I skip the priority and timeout, it doesn’t work. It only seems to happen in this very specific sequence.
I think I’m going to stick with Tasker so I can also use the NFC trigger, just like the author. That’s brilliant. But good to know there’s a way to do this in either platform.
I’m just starting to work with Node Red and wanted to build a similar automation. I’ve found the notification commands, but am having trouble setting up the service call. Can you take a look at this and let me know what I might be doing wrong? The debug outputs a number string, but nothing happens on my phone:
It looks like you’re using the wrong service. I’m surprised you’re not getting an error message in your debug, because I do if I try to use the send_message service.
You should be using the native service for your phone, which should be available if you’ve installed the companion app. i.e. mobile_app_[[your_phone]]