Ringer mode sensor issue

I’m not sure if it’s just the OnePlus 12 using 2024.7.3-full of the app on Oxygen OS 14/Android OS 14 but the ringer mode is not right after some certain conditions;

  • Switch on Do Not Disturb Mode
  • On the Alert slider change to another mode (whatever you change it to at this point will result in it being in silent ringer mode), then switch alert back to vibrate (it will still show silent ringer mode)
  • Switch off Do Not Disturb Mode, it will still show silent ringer mode even if the phone shows you are on vibrate ringer mode. Alerts sent to the phone vibrate the phone.

If you were on vibrate ringer mode to begin with and didn’t move the alert slider during do not disturb mode it correctly shows vibrate ringer mode at all points.

Is it just me or the OnePlus or something that can be fixed? I tried force stopping the home assistant app and starting it when it was in the incorrect state but that didn’t fix it either.

this is a special oneplus feature, see https://github.com/home-assistant/android/issues/2239

Many thanks - does that mean it’s unlikely to be fixed - I looked at the link and it seems to mention AudioManager.getRingerMode() but not sure what that means as isn’t that what the Ringer Mode sensor is that I’m using already?

yes the state you see is taken from that API, although OnePlus added ths slider that does not completely represent it all. Its a hardware switch while you can use software to put the phone in different states, its not like the hardware slider is going to change so it can be out of sync. How it behaves for your use case you will need to work around based on your usage of teh device.

1 Like

I am having the same issue on Android 15 with my Pixel 8 phone. As long as DND is turned on, it will not change the ringer mode sensor even though the mode is changed.

Has this been fixed? Because i dont think a work around is a good way of dealing with this issue… I am already dealing with the issue of not being able to get alarm streams go through when ringer mode is set on vibrate… The fact that is also is not updating that sensor is just frustrating as hell as this would mean i also need to let HA disabled DND and re-enable it afterwards in order to correctly detect the current ringer mode of my phone before changing it to something different than vibrate…

First I’m hearing of this. Please log a bug on GitHub and provide screenshots to show the issue. For the record my ringer mode sensor does update when do not disturb is turned on.

I’ve made a bug report in the companion app repo. From what I just noticed (and didn’t notice before), the ringer mode sensor is changing to silent when DND is turned on. It then overrides the actual ringer mode which makes the ringer mode sensor useless when DND is turned on, which in turn it pretty frustrating as I was using this sensor due to a alarm stream bug with the HA Companion App and Android 15 where the alarm stream only uses set ringtone when ringer mode is on normal.

In my opinion (if possible), the solution would be to make the ringer_mode sensor always display the actual ringer mode and create a separate sensor for DND.

Not directly related to the companion app, but more as a FYI; I don’t know whether it’s the OnePlus version of the Digital Wellbeing settings also as the bedtime mode “do not disturb” doesn’t work with app exceptions so it makes the do not disturb even more broken :slightly_frowning_face:

I figured out a workaround for the alarm_stream problem with DND. If you use the notification_stream instead, it does work on Pixel 8 during DND mode. I am not sure why this is, but at least this removes the need for me to track DND and ringer_mode in a better fashion than it is now…