I’ve got HAOS running with all updates, and the full companion app on my Pixel 8.
I use notify.mobile_app_pixel_8 a lot in my automations and scripts.
For the last couple of weeks these notifications getting to my phone have been patchy.
I first noticed it when my phones ringer stopped reliably changing between normal and vibrate using this:
action: notify.mobile_app_pixel_8
data:
message: command_ringer_mode
data:
command: vibrate
I think restarting either the phone or HA might have made a difference temporarily, but tbh I’m not sure.
I went to the extent of clearing the cache and data for the android app and was seeing how it went after that.
I have persistent connection set to never and get the same if I’m on my home wifi or mobile data connection.
Today though, notifications seem to have given up completely. My automations are firing, but stop when the notification fails to send, like this:
It’s causing all sorts of things to fail!
If I manually ‘run action’ from within an automation, I see this:

and this:
I’ve managed to catch two sets of companion app logs that might be related:
--------- beginning of main
08-11 18:32:39.262 7961 7961 D WindowOnBackDispatcher: setTopOnBackInvokedCallback (unwrapped): androidx.navigationevent.OnBackInvokedInput$createOnBackAnimationCallback$1@e7ee421
08-11 18:32:39.268 7961 8537 D ServerConnectionStateProviderImpl: usesInternalSsid is: true, usesWifi is: true
08-11 18:32:39.270 7961 8537 D ServerConnectionStateProviderImplKt: Using internal URL
08-11 18:32:39.272 7961 8537 D ServerConnectionStateProviderImpl: usesInternalSsid is: true, usesWifi is: true
08-11 18:32:39.275 7961 7961 D WebViewActivity$onCreate: Matter/Thread step changed to NOT_STARTED
08-11 18:32:39.279 7961 9132 E WebSocketCoreImpl: Websocket: onFailure
08-11 18:32:39.279 7961 9132 E WebSocketCoreImpl: java.net.SocketException: Software caused connection abort
08-11 18:32:39.279 7961 9132 E WebSocketCoreImpl: at java.net.SocketInputStream.socketRead0(Native Method)
08-11 18:32:39.279 7961 9132 E WebSocketCoreImpl: at java.net.SocketInputStream.socketRead(SocketInputStream.java:118)
08-11 18:32:39.279 7961 9132 E WebSocketCoreImpl: at java.net.SocketInputStream.read(SocketInputStream.java:173)
08-11 18:32:39.279 7961 9132 E WebSocketCoreImpl: at java.net.SocketInputStream.read(SocketInputStream.java:143)
08-11 18:32:39.279 7961 9132 E WebSocketCoreImpl: at okio.internal.DefaultSocket$SocketSource.read(DefaultSocket.kt:124)
08-11 18:32:39.279 7961 9132 E WebSocketCoreImpl: at okio.RealBufferedSource.read(RealBufferedSource.kt:215)
08-11 18:32:39.279 7961 9132 E WebSocketCoreImpl: at okhttp3.internal.connection.Exchange$ResponseBodySource.read(Exchange.kt:345)
08-11 18:32:39.279 7961 9132 E WebSocketCoreImpl: at okio.RealBufferedSource.request(RealBufferedSource.kt:232)
08-11 18:32:39.279 7961 9132 E WebSocketCoreImpl: at okio.RealBufferedSource.require(RealBufferedSource.kt:225)
08-11 18:32:39.279 7961 9132 E WebSocketCoreImpl: at okio.RealBufferedSource.readByte(RealBufferedSource.kt:235)
08-11 18:32:39.279 7961 9132 E WebSocketCoreImpl: at okhttp3.internal.ws.WebSocketReader.readHeader(WebSocketReader.kt:128)
08-11 18:32:39.279 7961 9132 E WebSocketCoreImpl: at okhttp3.internal.ws.WebSocketReader.processNextFrame(WebSocketReader.kt:111)
08-11 18:32:39.279 7961 9132 E WebSocketCoreImpl: at okhttp3.internal.ws.RealWebSocket.loopReader(RealWebSocket.kt:317)
08-11 18:32:39.279 7961 9132 E WebSocketCoreImpl: at okhttp3.internal.ws.RealWebSocket$connect$1.onResponse(RealWebSocket.kt:204)
08-11 18:32:39.279 7961 9132 E WebSocketCoreImpl: at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:582)
08-11 18:32:39.279 7961 9132 E WebSocketCoreImpl: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1100)
08-11 18:32:39.279 7961 9132 E WebSocketCoreImpl: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
08-11 18:32:39.279 7961 9132 E WebSocketCoreImpl: at java.lang.Thread.run(Thread.java:1572)
and
08-11 18:22:21.706 7961 9058 I SensorReceiverBase: Sensor updates and sync completed
08-11 18:22:21.777 7961 9058 E IntegrationRepositoryImpl: Unable to get notification rate limits
08-11 18:22:21.777 7961 9058 E IntegrationRepositoryImpl: retrofit2.HttpException: HTTP 403
08-11 18:22:21.777 7961 9058 E IntegrationRepositoryImpl: at retrofit2.KotlinExtensions$await$2$2.onResponse(KotlinExtensions.kt:53)
08-11 18:22:21.777 7961 9058 E IntegrationRepositoryImpl: at retrofit2.OkHttpCall$1.onResponse(OkHttpCall.java:164)
08-11 18:22:21.777 7961 9058 E IntegrationRepositoryImpl: at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:582)
08-11 18:22:21.777 7961 9058 E IntegrationRepositoryImpl: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1100)
08-11 18:22:21.777 7961 9058 E IntegrationRepositoryImpl: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
08-11 18:22:21.777 7961 9058 E IntegrationRepositoryImpl: at java.lang.Thread.run(Thread.java:1572)
08-11 18:22:21.777 7961 9058 D SettingsPresenterImpl$getNotificationRateLimits: Unable to get rate limits
08-11 18:22:21.777 7961 9058 D SettingsPresenterImpl$getNotificationRateLimits: io.homeassistant.companion.android.common.data.integration.IntegrationException: retrofit2.HttpException: HTTP 403
08-11 18:22:21.777 7961 9058 D SettingsPresenterImpl$getNotificationRateLimits: at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl.getNotificationRateLimits(IntegrationRepositoryImpl.kt:351)
08-11 18:22:21.777 7961 9058 D SettingsPresenterImpl$getNotificationRateLimits: at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl$getNotificationRateLimits$1.invokeSuspend(IntegrationRepositoryImpl.kt:13)
08-11 18:22:21.777 7961 9058 D SettingsPresenterImpl$getNotificationRateLimits: at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
08-11 18:22:21.777 7961 9058 D SettingsPresenterImpl$getNotificationRateLimits: at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:98)
08-11 18:22:21.777 7961 9058 D SettingsPresenterImpl$getNotificationRateLimits: at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:124)
08-11 18:22:21.777 7961 9058 D SettingsPresenterImpl$getNotificationRateLimits: at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
08-11 18:22:21.777 7961 9058 D SettingsPresenterImpl$getNotificationRateLimits: at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
08-11 18:22:21.777 7961 9058 D SettingsPresenterImpl$getNotificationRateLimits: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:798)
08-11 18:22:21.777 7961 9058 D SettingsPresenterImpl$getNotificationRateLimits: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
08-11 18:22:21.777 7961 9058 D SettingsPresenterImpl$getNotificationRateLimits: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)
08-11 18:22:21.777 7961 9058 D SettingsPresenterImpl$getNotificationRateLimits: Caused by: retrofit2.HttpException: HTTP 403
08-11 18:22:21.777 7961 9058 D SettingsPresenterImpl$getNotificationRateLimits: at retrofit2.KotlinExtensions$await$2$2.onResponse(KotlinExtensions.kt:53)
08-11 18:22:21.777 7961 9058 D SettingsPresenterImpl$getNotificationRateLimits: at retrofit2.OkHttpCall$1.onResponse(OkHttpCall.java:164)
08-11 18:22:21.777 7961 9058 D SettingsPresenterImpl$getNotificationRateLimits: at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:582)
08-11 18:22:21.777 7961 9058 D SettingsPresenterImpl$getNotificationRateLimits: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1100)
08-11 18:22:21.777 7961 9058 D SettingsPresenterImpl$getNotificationRateLimits: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
08-11 18:22:21.777 7961 9058 D SettingsPresenterImpl$getNotificationRateLimits: at java.lang.Thread.run(Thread.java:1572)
Having already cleared the mobile apps cache and data, I’m not sure what else I should be trying.
Has anyone seen this before and/or have any ideas please?

