Notifications sent but not shown on devices (cross-platform issue for Android and iOS devices)

Hi,

I have three devices with HA Companion app installed and setup:

  • iPhone #1
  • iPhone #2
  • Android #1

While the notifications are working without any issues on iPhone #1, devices iPhone #2 and Android #1 are not.

I have no idea what´s the difference. I read a lot of topics related to this, most interesting found are

Unfortunately, nothing worked for me and even disabling Pi-Hole did not make any difference. BUT very interesting:

When I send a notification, the local notification rate view in the HA companion app setting view is updated for both affected devices:

Android:
grafik

iOS:

I guess this counter just counts the amount of messages for the individual device. In fact the push notification seems to not been sent because when having a look at the “notification history” right above that notification rate limit section it says “No notifications. You did not receive any notifications yet.” (translated, probably not original wording).

  • What else can I try, investigate, check or do?
  • Where in Home Assistant should I find the “Push ID” shown in the (iOS) app setting (notification section)?

What I did so far:

  • I disabled Pi-Hole for the whole time installing HA companion app and integrating the device in HA
  • I made sure Firebase Cloud Messaging is enabled.
  • I tested with different HA user accounts logging in on the affected devices.
  • I read all forums topics related to this issue.

And I have absolutely no idea why it is working on iPhone #1. I´m totally lost.

Update: it is working now - but only for the iPhone. The Android app STILL DOES NOT WORK.

Probably the root cause: Pi-Hole blocking Push ID registration process during initial app setup.

Solution (did NOT work for affected Android device):

  1. Device: Logout from HA in HA companion app
  2. Device: Delete HA companion app, optionally restart device
  3. HA: Delete HA companion integration for affected device (and therefore device and all entities) - unfortunately this seems to be necessary so the device gets a new device ID in HA because otherwise when registering the device with HA again HA will check the device ID and see “Oh it´s you, nice to see you again” so in the end there´ll be no initial push notification service registration and notifications will still not work - took me quite some time to figure out (tested disabling of device, renaming of integration/device etc.).
  4. Disable Pi-Hole or any other network based filtering system or router rules - the device needs to have full access to the internet
  5. Device: reinstall HA companion app
  6. Device: perform initial registration + setup, make sure to allow notifications in the system app notification settings
  7. HA: restart HA (!important!)
  8. HA: send a notification (manually by dev tools or by triggering an automation where the device has been set in action area or is part of a notification group)

Thought of deleting this topic because it´s root cause is the same like in IOS notification not working in IOS 13 but maybe someone finding this topic in future will find some help.

What is different on the Android device? It´s HA companion app version 3.0.2-full (latest).

4 Likes

I tried with installing HA companion app on a second Android device. It worked out of the box without any additional efforts (did not disable Pi-Hole or anything else).

What to do with Android device #1, the one which‘s silent ever been… :frowning:

1 Like

Did you follow the start fresh instruction for the android?

Yes, exactly that way, more than once. No progress :frowning:

Anyone with new ideas?

I performed all the steps from https://companion.home-assistant.io/docs/troubleshooting/faqs/#starting-fresh-with-the-android-app again - 3 times. Including app deletion, device restart, using another device name, disabling every kind of network ad blocker, checking router config. Nothing changed.

Meanwhile I reinstalled and reconfigured this device more than ten times - without any success.

Notifications are sent to the device according to the app configuration section…
grafik
…but they are not shown and the notification history section right above that screenshot section is empty too.

Who can I turn to to get support on this?

I was having issues with iOS push notifications and these steps did the trick. Thanks!

1 Like

Great I could help :wink:

iOS „just works“ as almost always. My shitty Android devices instead still are silent… very annoying.

I added some critical notifications to my HA configuration (where I only had normal notifications before). This seem to have broken all HA notifications. Perhaps the server sync failed. It’s hard to tell since I couldn’t find any info in the app or server logs. Regardless, following these steps resolved the issue.

What device is this? and what app version are you on?

Primarily one Fire HD 10 running 2021.3.1-full (which should be latest) and one Fire HD 8 also with latest Play Store version.

Notifications are sent and received but not showing up, like the app silences them:

Fire OS devices do not support Firebase and even installing Google Play Services will not work. These are not google play certified devices. This is to be expected.

Sent yes, received no…this is just meaning that it went ti to the server but the app did not receive them as you do not see it under notification history…messages get sent to the HA firebase server and then get pushed to your device (if your device can receive them)

1 Like

Wow, never thougt / read / was told about that. Had a look at https://blog.novoda.com/firebase-on-amazon-devices/ after your post, even it´s pretty old it seems to still be true. Of all things “Fire” devices don´t support “Firebase” service, that´s kinda funny, isn´t it. Well that whole Android world is full of situations where things don´t work because of vendor/software limitations. I hate that eco system and like the iOS world for simply working, but that´s another discussion.

Too bad. I think the only option (next to accept Amazon devices simply don´t receive HA companion app notifications) will be switching to another notification service (I have a shortlist of candidates to integrate, test and maybe switch to) and not use the HA Companion app for that purpose. What a pity.
Another idea would be to offer the HA companion app being in the official Amazon app store (and using https://developer.amazon.com/de/docs/adm/overview.html)…

https://companion.home-assistant.io/docs/notifications/notification-details/#security documentation still contains the bug of talking only bout Apple servers, by the way.

(for my own reference when possibly coming back to this thread in future: https://firebase.google.com/docs/android/android-play-services)

Amazon runs a fork of android modifying their own stuff, you are not doing a safe comparison here. If you were to compare LG and Samsung then yes I would agree but Fire OS may have an android baseline but its very much its own OS like all others. Look how far behind they are in OS versions too. Notice how you had to install play services to get the play store? When you think of ecosystems you need to consider amazon as its own and not part of android.

we wont be doing anything specific for amazon, if we do anything it would be to benefit all users and not just some…we have users on the minimal version of the app which doesn’t offer notifications at all.

This only applies to Apple which is why it only mentions it, the rest mention android because that is what it supports.

I got all your points and agree with you. Regarding

So when using notifications on a (compatible) Android device, there´s no transport encryption? Can´t believe that. If so, one more reason for not using it on Android devices if you care about security (or in this case privacy).

Today I surprisingly realized my old Fire HD 8 is actually receiving all Home Assistant notifications (!). They also show up in the apps notification history.

How can this be possible?
What’s the difference? Probably something has changed in the Fire OS. Maybe the older OS versions did implement Firebase different?

Anyway, the statement is not fully right for all Fire OS powered devices.

I have a Fire HD8 and my notifications do not show up nor in app configuration, what did you add asides from google play store for it to work? I figured it may have been some APK but its not included in the standard google play services. For location tracking for example we need to install google maps for the proper library, so curious to see what all you added for it to work.

I will check this for the HD 8. Will need some time but I documented somewhere what exactly I used and did that time for basically making Google Play Store available. Will check and compare to what I used/did for the HD 10.

But there’s also a huge gap in Fire OS version between the working (old HD 8) and not working (new HD 10) device.

What year is your Fire HD8? I think mine is 8th gen or 7th? Unfortunately amazon doesn’t document what all changes they do but I always suspected that there was some missing APK for the firebase stuff to work. Just google play services and the play store itself was not enough to get their location API’s going, google maps needed to be installed so I thought it would be similar :slight_smile: