Android Marshmellow + rooted.
I'm using (like so many) a few profiles/taks to switch from Mobile Data to Wifi when i get home and back when i leave home. Works pretty nice but... not all the time.
The reason behind this is the difference on how Wifi and Mobile Data are activated.
If changed both manually (via the drop down menu) both act as a toggle.
But within tasker this behaviour changes. Wifi has an On / Off option, Mobile Data has to but that doesn't work anymore since Google changed the activation for Mobile Data which means that you can only set it with the help of Active Input and that turns it into a toggle.
And this creates a syncronisation problem between Wifi and Mobile Data.
I'll explain the difference:
If i set Wifi to ON Wifi goes ON.
If i set Wifi again to ON, Wifi stays ON. It will only go OFF when i set it to OFF.
It behaves as a physical switch.
Mobile Data however does not.
If i activate Mobile Data through Active Input and it's OFF, it will go ON. And when it's ON it will go OFF.
It behaves a toggle.
Now this works OK as long as everything is in sync.
If Mobile Data is ON and i reach home, Wifi is turned ON, i get the connected signal and Mobile Data is turned OFF. Same goes the other way, if i leave home, Wifi connection is lost and Wifi is turned Off. When the connection is lost Mobile Data is turned On again. Works nice.
But this can get out of sync because of the switch/toggle behaviour.
Example:
If i'm home, Wifi is ON and Mobile Data is OFF. If i turn Wifi OFF manually , the connection is lost and Mobile Data comes ON. If i turn Wifi back ON, Mobile Data goes OFF again.
But the other way there is a problem. If i'm not home and turn Mobile Data OFF somewhere and reach at home, tasker sees this, turns on Wifi and "toggles" Mobile Data to be OFF but since it's a toggle action, Mobile Data will come ON instead and both are then ON. And from then on the nice syncronisation between Wifi and Mobile Data is gone.
This manual override (like i like to call it) also doesn't update the variable i use which is logical since the Mobile Data wasn't "toggled" through Tasker.
I tried to solve this with a double variable check together with a variable i set when Mobile Data is connected (2G,3G,or 4G) and then toggle Mobile Data according to this and set/reset the variables but while this should work better in theory, it still doesn't work all the time because indoors, Mobile Data connection can be lost and then the Mobile Data toggles again to a state i don't want again setting a desyncronisation between Wifi and Mobile Data. In fact, due to this the syncronisation has become more unstable. So i removed the Mobile Data connected part again.
Questions:
- Is there a way to make Mobile Data work as a switch instead of a toggle?
- If not, is there a way to detect is the Mobile Data button has been touched (and that i could use as a variable)?
I'm using (like so many) a few profiles/taks to switch from Mobile Data to Wifi when i get home and back when i leave home. Works pretty nice but... not all the time.
The reason behind this is the difference on how Wifi and Mobile Data are activated.
If changed both manually (via the drop down menu) both act as a toggle.
But within tasker this behaviour changes. Wifi has an On / Off option, Mobile Data has to but that doesn't work anymore since Google changed the activation for Mobile Data which means that you can only set it with the help of Active Input and that turns it into a toggle.
And this creates a syncronisation problem between Wifi and Mobile Data.
I'll explain the difference:
If i set Wifi to ON Wifi goes ON.
If i set Wifi again to ON, Wifi stays ON. It will only go OFF when i set it to OFF.
It behaves as a physical switch.
Mobile Data however does not.
If i activate Mobile Data through Active Input and it's OFF, it will go ON. And when it's ON it will go OFF.
It behaves a toggle.
Now this works OK as long as everything is in sync.
If Mobile Data is ON and i reach home, Wifi is turned ON, i get the connected signal and Mobile Data is turned OFF. Same goes the other way, if i leave home, Wifi connection is lost and Wifi is turned Off. When the connection is lost Mobile Data is turned On again. Works nice.
But this can get out of sync because of the switch/toggle behaviour.
Example:
If i'm home, Wifi is ON and Mobile Data is OFF. If i turn Wifi OFF manually , the connection is lost and Mobile Data comes ON. If i turn Wifi back ON, Mobile Data goes OFF again.
But the other way there is a problem. If i'm not home and turn Mobile Data OFF somewhere and reach at home, tasker sees this, turns on Wifi and "toggles" Mobile Data to be OFF but since it's a toggle action, Mobile Data will come ON instead and both are then ON. And from then on the nice syncronisation between Wifi and Mobile Data is gone.
This manual override (like i like to call it) also doesn't update the variable i use which is logical since the Mobile Data wasn't "toggled" through Tasker.
I tried to solve this with a double variable check together with a variable i set when Mobile Data is connected (2G,3G,or 4G) and then toggle Mobile Data according to this and set/reset the variables but while this should work better in theory, it still doesn't work all the time because indoors, Mobile Data connection can be lost and then the Mobile Data toggles again to a state i don't want again setting a desyncronisation between Wifi and Mobile Data. In fact, due to this the syncronisation has become more unstable. So i removed the Mobile Data connected part again.
Questions:
- Is there a way to make Mobile Data work as a switch instead of a toggle?
- If not, is there a way to detect is the Mobile Data button has been touched (and that i could use as a variable)?
Last edited: