Tasker profiles and tasks I use for some nifty automation purposes.
They are general enough that you could probably use them as a basis for your own purposes, though they are tied to my usage patterns and may fail with yours.
In particular, you may need to add timeouts that I don't have in place. Some behaviors loop forever with no timeout. I'll probably add that myself at some point, but I just haven't needed to so far.
There are surely use cases that might cause problems in this version of the code, and I've thought of a few as I wrote this sentence.
Knowing When You've [Left|Returned] Home in a Vehicle
Summary: The profile is triggered when you might not be home. The trigger is simply that you are on a mobile network (not a WAP) and were assumed to be home (based on %HOME being 1). When triggered, Am_I_Home.tsk.xml is invoked for the rest of the test.
You need to define %HOME in Tasker in order for the profile to work. Set the variable manually to the appropriate value after you import the tasks and profiles.
%HOME => 1, indicating that you are home; -1 indicating that you are not home
Summary: If Maybe_Left_Home.prf.xml decided that you drove away from home, this will declare that you're home again if it establishes a connection to your WAP. I have made this profile invoke Open_Garage_tsk.xml when it fires. See below for details on it.
You need to define %HOME_SSID in Tasker in order for the profile to work.
%HOME_SSID => the SSID for your home's WAP - be sure it isn't the same as any other WAPs you associate with
Summary: Verify that there is a usable connection to the current WAP, and then keep trying to GET a specific URL. Then speak "welcome home."
This is the least generic task, as it was purpose built to work with an Arduino project that fires a relay to tell my garage door opener to toggle the door state.
You need to define these variables in Tasker in order for the task to work:
%GATEWAY_IP => an IP address on your LAN for testing the viability of your wifi connection. %GARAGEDOOR_IP => the IP address of your garage door's Arduino's web server %GARAGEDOOR_PORT => the port where your Arduino's web server runs (usually 80) %GARAGEDOOR_URL => the URL, if any, that controls the garage door opener
The task will ping %GATEWAY_IP until it gets a response. Then it will attempt to GET the url http://%GARAGEDOOR_IP:%GARAGEDOOR_PORT/%GARAGEDOOR_URL until successful.
Summary: Determine if you are in a moving vehicle away from your house. The check is simply that you attain a speed consistent with motor vehicle travel (8 m/s) within 5 minutes of when Maybe_Left_Home.prf.xml triggered the task. Sets %HOME accordingly. Says "goodbye house" if it determines that you've driven away.
Knowing When You've Parked Your Car
Summary: Checks for a connection to your car's bluetooth system. If it sees one, calls In_Car.tsk.xml to remember that you're in your car.
You need to define %CAR_BT_NAME and %CAR_BT_ADDRESS in Tasker in order for thie profile to work.
%CAR_BT_NAME => the name provided by your car's bluetooth system (see your car's user manual if you can't discover it) %CAR_BT_ADDRESS => the MAC address of your car's bluetooth system
Summary: Trivial task that just sets %INCAR to 1 to indicate that your device is in your car.
Summary: When you disconnect from your car's bluetooth system at %CAR_BT_NAME (%CAR_BT_ADDRESS), this profile assumes you've left your car, and it invokes Remember_Location.tsk.xml to remember where you parked.
Summary: Polls the GPS until it gets a fairly accurate position for your device, then stores this position in the %CARLOC variable in Tasker.
NOTE: You need to have GPS enabled on your phone to use this task as written.
Summary: Uses Tasker's "Open Map" ability to display your car's last-stored location (see Remember_Location.tsk.xml). Any app that can process the Intent could be used to open/display the location, but I've been using Google Maps.
NOTE: This task is well-suited to be invoked as a Tasker widget that just launches the task.