Delayed notifications over time (Doze issue) – works initially, then breaks after ~1 month

Hello, I’d like to describe an issue I’ve been experiencing in detail.

For quite some time now, I’ve had the exact same problem on two different devices:

Xiaomi Redmi Note 13 Pro

Google Pixel 10 Pro

So I’m confident this is not vendor-specific.

I’m using Home Assistant Cloud (Nabu Casa) for notifications, with a stable connection and unlimited mobile data, so there are no network or connectivity constraints involved.

  1. Notification setup

I’m using dedicated notification channels (currently 3), all configured with maximum priority and importance. Under normal conditions, everything works perfectly.

Example configuration:

channel: alarma_seguridad_2
importance: max
priority: high
ttl: 0
category: msg
visibility: public
push:
interruption-level: critical
tag: alarma_activada
alert_once: true
vibrationPattern:

  • 0
  • 700
  • 300
  • 700
    actions:
  • action: DESARMAR_ALARMA
    title: Disarm
    destructive: true
  • action: TODO_SEGURO
    title: All secure
  1. Initial behavior (works correctly)

Notifications are delivered instantly, even with the phone locked (e.g., when leaving home). Everything behaves as expected.

  1. The problem (appears over time)

After approximately one month, the issue starts:

Notifications are no longer delivered in real time

They are only received when unlocking the phone

Same exact behavior on both Xiaomi and Pixel devices

At this point, I’ve ruled out:

Network issues

Home Assistant configuration problems

Everything strongly points to Android Doze / aggressive battery management.

  1. Troubleshooting steps already tried

I’ve tested extensively:

Battery set to unrestricted

Background activity fully allowed

App added to battery optimization whitelist

Ignoring Do Not Disturb restrictions

Adaptive battery disabled

Constant mobile data connection (unlimited data)

None of these solved the issue.

The only thing that actually works is:

adb shell dumpsys deviceidle disable

However:

It must be reapplied after every reboot

It significantly increases battery consumption

  1. Limitations / constraints

I would prefer not to switch to Telegram or similar solutions because:

I lose actionable notifications (one-tap actions)

I lose tight integration with Home Assistant

Overall UX becomes worse

  1. Observation / question

It seems messaging apps (like WhatsApp) are treated differently by the system and maintain reliable delivery.

Is there any plan or possibility for Home Assistant notifications to gain similar priority at the OS level?

For example:

Android allows marking conversations as priority

But this does not apply to apps like Home Assistant

  1. Google support

I already contacted Google support, but unfortunately the response was not helpful and did not lead to any solution.

  1. Current situation

Right now I’m stuck between:

Keeping Doze → losing reliable notifications

Disabling Doze → significantly worse battery life

Neither is acceptable for a security-related setup.

  1. Final question

Has anyone else experienced this issue?

Is there any known workaround, or any future improvement planned (either on Android or Home Assistant side) to address this?

Have you disabled app permission and file optimization for the HA app on your devices?

Thanks for your response.

In my case, I have all the relevant settings properly configured: notifications enabled, permission to run in the background, unrestricted data access, excluded from Do Not Disturb, all permissions granted, and battery mode set to “unrestricted” (which is the maximum my device allows).

Additionally, I’ve verified via ADB that the app is on the system whitelist, so in theory it shouldn’t be affected by Doze restrictions.

However, even though the system keeps the app on that whitelist, I have the impression that Android eventually degrades the priority of notifications over time, as if some additional optimization or “AI” mechanism were being applied that doesn’t fully respect these settings. I also disabled Android System Intelligence (mainly due to battery consumption), in case it could be influencing this behavior.

I have an Android bult-in app that revokes permissions again after some time and it is that one I was trying to get you to look for.

Perfect, I would greatly appreciate your advice regarding that system app, and I will gladly review it.

I find it in the Android settings → Apps
It comes as a setting there, but my Android is Danish and I do not know the English name.
It should have a description about removing permissions and temporary files and the likes of the app has not been used for a while.

Even though it says “has not been used for a while” it often come up with apps on my phone that I have used, so not sure what counts as “used”.
I deactivate the setting for ally Important apps.

Ah, perfect — I know what you’re referring to now. Unfortunately, that setting is already disabled, and when the app is whitelisted it gets disabled by default.

On my phone, it’s labeled as “Manage app if unused,” and yes, it basically removes permissions, notifications, and app data. Sadly, that’s not my case, since I disabled that option from the very beginning.

What I’ve done so far is create new notification channels following the Home Assistant documentation (I made a couple of tweaks to see how they perform, but I was already following the official guidelines), and now I’m waiting to see if they haven’t become corrupted — since I inherited the notification channels from my previous phone.

I’ll wait and see how it behaves and will update here.
(Hopefully they won’t break again over time.)

Thanks for your help!

Well, I consider this issue resolved.

Notifications started working properly again as soon as I changed the channel. Even so, given the problems I had previously with this, I decided to keep Doze mode disabled. I’ve noticed that battery consumption is no longer as high as it was at the beginning; in my case, the real issue seemed to be related to the Google Pixel adaptive battery, which takes some time to learn usage patterns.

Over time, the battery usage has become much closer to what I had before. Although it’s true that battery life is slightly better with Doze mode enabled, in my case the difference is not significant enough to justify potentially missing notifications, especially since some of them are quite important.

In case it helps anyone in the future, to disable Doze mode without having to connect the phone every time it reboots, I use LADB. This tool requires a Wi-Fi connection (preferably secure, as a precaution) and allows you to run ADB commands directly from the device.

Best regards, and I consider this topic closed.