Hi, I’ve noticed that push events frequently are not received by Android devices until the screen is turned on or the device is plugged in.
This behavior makes it seem like the delay is related to Android’s Doze mode. I was curious whether it may also be related to the priority level used by ST to send push events via FCM, as high priority messages will wake a “dozed” device, while lower priority messages will wait until the device exits doze mode.
What priority level are used for ST’s push events? Is there any way to remove the delay of ST’s push events? For comparison, SmartThings push notifications for the same events (via both native automations and webCoRE pistons) are received without any delays whether a device is in Doze or not.
Note: Battery optimization is disabled for ST and ST’s foreground service is enabled.
They’re sent as normal priority messages from the SmartThings servers. As you noted, Android has become much more aggressive with battery management in the latest Android OS versions… even FCM messages sent as high priority aren’t guaranteed to arrive (especially if they don’t actually display a notification on the device like the SmartThings event notifications you mentioned do).
As such, if this is on a device that will be affected by Doze mode, we recommend using a dedicated push event system like Pushbullet or Pushover - both of which have Tasker integrations.
Thank you for the additional details. If I understand correctly, the benefit of using Pushover vs SmartThings’ push notifications (which are being received without delay) is that Pushover’s events can be received directly by Tasker without a notification having to be displayed on the device as well?
Yes, Pushbullet and Pushover have a native Tasker integration, so it’s easier to use.
I’m a fan of Pushbullet’s approach as it all feels pretty intuitive. For the Tasker event triggers, you can filter the type of message, what text it contains, who it’s from, and then choose to dismiss or delete the message altogether. This last part makes it really convenient for pushing events to the phone reliably without actually having the messages cluttering up your notifications tray or feed.
Pushover has more configuration options and overall has more knobs and levers… but it’s also a less intuitive. For example, there’s no easy way to dismiss the notification, so you’ll likely end up down a rabbit hole of using other Tasker features or plugins to help you accomplish what you want.
One of the issues with using the native SmartThings notifications is they generally are sent to everyone in the household. Depending on your situation though, that might work for you and you can use Tasker to ‘read’ notifications and dismiss them (on your own phone), so it might work in your situation. (AutoNotification or Notification Listener are popular Tasker plugins to make this process easier).
Ah, notifications are still displayed, but can be dismissed. I’m already reacting to SmartThings notifications in Tasker/Automagic, but the fact that those notifications are sent to all household members is a good point indeed.