Cell Tower Location doesn't work well
Posted: 28 Oct 2017 16:54
I really like Automagic but I was wondering if it would be possible to improve cell tower detection in future updates? Compared to Tasker and Automate for instance, the cell tower triggering is not as good.
First I'll mention Tasker. Tasker has workaround options just like Automagic does, since newer Android versions don't always allow constant cell tower updates when the screen is off. I wanted to mention a couple things I've noticed about Tasker that I haven't been able to get to work in Automagic. On my phone, which is a Samsung Galaxy J7 with Android 7.0, the modern method to query cell towers DOES work in Tasker. However, with Automagic, if I try to use the modern cell tower method, it DOES NOT work. I'm wondering if there may be a bug with the implementation of it in Automagic?
In addition, with Tasker I've found that using cell tower triggering does not work well when the screen is off, despite the work arounds that Tasker provides. However, I did find one method that works 100% of the time so far in my own personal testing. In Tasker, besides normal profile triggering from cell tower location changes, you can trigger off of the %CELLID variable being updated. I don't know how Tasker implements this internally vs the cell tower trigger, but I found that triggering via the %CELLID variable works all the time. In Tasker when the screen is off, it will only poll this variable via the main "screen off" timer which by default is set to 10 minutes. I find that if I drive to or from work, every 10 minutes Tasker will trigger with this variable updating showing that the cell tower connection has changed. If I just do a normal cell tower location trigger with Tasker I don't get these updates with the screen off. So somehow Tasker is doing a different polling method with the %CELLID variable monitoring that still lets it work with the screen off.
I also wanted to briefly mention the Automate app. Automate does something interesting that I haven't seen yet in other automation apps. In Automate, even with GPS/location off, wifi off, and mobile internet off, Automate is able to show me multiple cell tower locations when I query local cell towers. I have no idea how it does that since Tasker will only find 1 tower at a given time. If I query Automate from my home it will show 4 nearby towers at any given time. if I drive around then those towers will update to new ones. The only problem with this is that Automate is still poor at triggering on these updates if the screen is off.
In conclusion, the only truly reilable method I have found for cell tower location updates so far is to monitor the %CELLID variable changing in Tasker, which by default occurs every 10 minutes if the screen is off. That level of timing is good enough for me and hasn't been bad on the battery so far.
In Automagic I haven't been able to get it to update when the screen is off with the "wake device" and "force updates" option checked. I haven't tried the "screen on" workaround because I don't want my screen to come on in order to get the updates. I am wondering if there is a way to implement Tasker's CELLID polling in Automagic? I tried to use a 10 minute wake device timer in Automagic along with a decision block that checks cell location, and in parallel to that I had a sleep block with the keep device awake flag set. That still won't provide updates when the screen is off. I found that the decision block is able to poll the tower, but the connected cell tower information doesn't change until I turn my screen on. It will just show the same cell phone being connected until I turn the screen on. I have the cell tower locations being logged to a text file so I can check them and compare them all.
** EDIT **
I've now found a way to get reliable updates from Automate as well. In Automate, there is a "Cell Tower Near" block. You can set the block to "When changed" or "immediately". The "When Changed" trigger is the part that does not work well in Automate when the screen is off. If you set it to immediately, and then regularly poll it at certain intervals (10 minutes for instance) it will update reliably, even when the screen is off. I am just mentioning this because I think improvements are possible to be made with the cell tower detection in Automagic. I like how Automagic works compared to other automation tools, and one of the only issues I've seen with it so far is the cell detection when the screen is off. Thank you.
First I'll mention Tasker. Tasker has workaround options just like Automagic does, since newer Android versions don't always allow constant cell tower updates when the screen is off. I wanted to mention a couple things I've noticed about Tasker that I haven't been able to get to work in Automagic. On my phone, which is a Samsung Galaxy J7 with Android 7.0, the modern method to query cell towers DOES work in Tasker. However, with Automagic, if I try to use the modern cell tower method, it DOES NOT work. I'm wondering if there may be a bug with the implementation of it in Automagic?
In addition, with Tasker I've found that using cell tower triggering does not work well when the screen is off, despite the work arounds that Tasker provides. However, I did find one method that works 100% of the time so far in my own personal testing. In Tasker, besides normal profile triggering from cell tower location changes, you can trigger off of the %CELLID variable being updated. I don't know how Tasker implements this internally vs the cell tower trigger, but I found that triggering via the %CELLID variable works all the time. In Tasker when the screen is off, it will only poll this variable via the main "screen off" timer which by default is set to 10 minutes. I find that if I drive to or from work, every 10 minutes Tasker will trigger with this variable updating showing that the cell tower connection has changed. If I just do a normal cell tower location trigger with Tasker I don't get these updates with the screen off. So somehow Tasker is doing a different polling method with the %CELLID variable monitoring that still lets it work with the screen off.
I also wanted to briefly mention the Automate app. Automate does something interesting that I haven't seen yet in other automation apps. In Automate, even with GPS/location off, wifi off, and mobile internet off, Automate is able to show me multiple cell tower locations when I query local cell towers. I have no idea how it does that since Tasker will only find 1 tower at a given time. If I query Automate from my home it will show 4 nearby towers at any given time. if I drive around then those towers will update to new ones. The only problem with this is that Automate is still poor at triggering on these updates if the screen is off.
In conclusion, the only truly reilable method I have found for cell tower location updates so far is to monitor the %CELLID variable changing in Tasker, which by default occurs every 10 minutes if the screen is off. That level of timing is good enough for me and hasn't been bad on the battery so far.
In Automagic I haven't been able to get it to update when the screen is off with the "wake device" and "force updates" option checked. I haven't tried the "screen on" workaround because I don't want my screen to come on in order to get the updates. I am wondering if there is a way to implement Tasker's CELLID polling in Automagic? I tried to use a 10 minute wake device timer in Automagic along with a decision block that checks cell location, and in parallel to that I had a sleep block with the keep device awake flag set. That still won't provide updates when the screen is off. I found that the decision block is able to poll the tower, but the connected cell tower information doesn't change until I turn my screen on. It will just show the same cell phone being connected until I turn the screen on. I have the cell tower locations being logged to a text file so I can check them and compare them all.
** EDIT **
I've now found a way to get reliable updates from Automate as well. In Automate, there is a "Cell Tower Near" block. You can set the block to "When changed" or "immediately". The "When Changed" trigger is the part that does not work well in Automate when the screen is off. If you set it to immediately, and then regularly poll it at certain intervals (10 minutes for instance) it will update reliably, even when the screen is off. I am just mentioning this because I think improvements are possible to be made with the cell tower detection in Automagic. I like how Automagic works compared to other automation tools, and one of the only issues I've seen with it so far is the cell detection when the screen is off. Thank you.