How to auto start/stop tether if wifi is unavailable/available? I use my Galaxy S as a wifi tether hotspot for my tablet and laptop, so tethering is always on (I have extended battery so it's ok). But if my phone is in the area where I have wifi internet (for example, at home) I don't need it to act as hotspot and want it to stop tethering and connect wifi. Is there a way to automatically start tethering if no wifi is available and stop it / connect wifi if wifi is available for long enough?
You can do so e.g. with Tasker, adapting the Wifi Tether Profile described in the Tasker Wiki -- provided your phone is rooted:

Requirements


rooted device
Tasker
Locale Execute Plug-In (no longer available -- but most likely no longer needed, either)
Wireless Tether for Root Users


Tasker-Tasks


Tether-On:
Plugin -> Execute Script -> Run Shell /data/data/android.tether/tether start 1, check "Use Root"
(with the Locale Execute Plugin, prefix the command with an ! to mark it as "root command")
Tether-Off:
Plugin -> Execute Script -> Run Shell /data/data/android.tether/tether stop 1
(with the Locale Execute Plugin, prefix the command with an ! to mark it as "root command")


Tasker-Profiles

You now can attach these tasks to any condition, such as e.g. "Wifi Near" with your networks name. You can also add things like "Wifi On" / "Wifi off" to above tasks to customize.

Detailed descriptions can be found in the linked Wiki.