4

Ability for inverted geofences

I'm using tasker for years now and I'm very happy with it. But one thing Is missing I could never fix whatever I did:

There is no option to define a Profile-Rule like "When I'm outside of that area". I know the following workaround: Define a geofence and only add an outgoing task.

But that method brings some problems.

1. It's not combineable with other conditions:

I always add another condition on top of the ruleset, to make sure that the geofence is only checked when other variables have the expected value. This is important because they will be checked in order and it saves alot of energy. Example: I want to check If I'm not at home: "Wifi XYZ NOT connected" on top and the geofence is ignored as long as I'm on wifi.

If I would combine this inverted as Ruleset "Inside Geofence + Connected to wifi XYZ" the task would be also executed If I'm just leaving my wifi, because the outgoing task is always executed if one of the conditions is no longer true (Only AND condition is possible). So there is no way to workaround this.

2. It does not seem to be precise

I added a profile using GPS fence and only put an outgoing task on it. Sometimes the outgoing task was executed even If I'm inside that geofence. I think this happens when no position fixing was possible. If there would be an outside of geofence condition - this could never happen, because the position would be required for that first.

3. It does not look good

Inverted options are available for almost every Option. Why not for geofences?

In my Profileset I need to make 100% sure that the task is only executed when I'm not at home. This is because I'm unlocking my door with tasker and I need to make sure that it is not opened when I'm at home (at night for example) ;).

So I'd be happy if such thing could be implemented It would make tasker alot more useful.

Regards

Wolfgang

2 replies

PS

Wolfgang,

Your suggestion is a good one but I'll offer another workaround that I frequently use.  You could use the geofencing profile to set a variable to 0 when entered and 1 when exited.  Then you can use a second profile with a variable value context with combined with a Connected to WiFi context to trigger your task.

Phil

WV

Hi Phillip,

do you know if this still works reliable even if I disable this profile and re-enable it after a given time? I only want to have geolocation taks to be checked if several conditions are met, to make sure no battery is consumed when I do not need to check them. I'm not 100% sure, but I have the felling that enabling and disabling a profile sometimes triggers it tasks especially the outgoing task.

Regards

Wolfgang

PS

Wolfgang,

 I believe that you are right, if you disable a profile, the exit task would run.  How about one profile that combines Not Connected to Wifi + GeoFence with an enter task that sets a variable to 1, no exit task.  A second profile with a not connected to wifi condition that only has an exit task that sets the same variable to 0.  A third profile to monitor the variable and perform your enter and exit tasks.

This should work as follows:  Assume variable=0 and you're away from home.  The first profile is active and checking your location, when you get inside your geo-fence, the variable is set to 1 and your third profile enter task activates.  Now you connect to wifi and your first profile deactivates and should stop checking the geo-fence but the variable is still set to 1.  Next you leave home and disconnect from wifi, the variable sets to 0 and your third profile exit task runs and you begin monitoring location again with the first profile.

You may need to tweak this some for your particulars but it might work for you until and/or if an inverted geo-fence option is added.

Phil

WV

Hi Phil,

If I understood your Idea right, this would a require a gefoence that I need to enter, to set the variable. That is what I'm currently doing as workaround. I have a geofence at my workplace which is about 20km away from my home. There I have no problem because I implemented a pretty similar rule:

Profile A (open door) IF:

1. variable door_triggerable == true

+

2. I'm connected to home wifi

->The task will set door_triggerable to false and open the door

---------------

Profile B (Reset door) IF:

1. variable door_triggerable == false

+

2. Geofence (workplace) with GPS entered (Radius 7km)

+

variable %LOCACC < 100 (to make sure I have no gps problem)

->The task will set door_triggerable to true

This works 100% and is absolutely safe because there is no way that the variable 'door_triggerable' is set to 'true' when I'm at home.

But it has a big problem which is impossible to solve with this approach:

It only works when I enter that specific geofence. If I travel to somewhere (not to work) this won't work because I never enter the 'reset-geofence' :).

Please let me know if this is similar to what your Idea was, because that is for me the only way which works for years now - but with the problem I described above.

For me I see no workaround here (except of adding multiple geofences around my home which I tried and simply disliked :S).

Regards

Wolfgang