Carpool App

Hello All-

I recently found the carpool app in the shared smartapps. I want to use this with a friend of mine that I carpool with who also happens to have SmartThings. How can I do this without adding him to my account and him adding me to his account for the presence? Is that even possible?

Thanks!!
Jeff

You could try giving your friend a presence tag that’s paired with your hub. I haven’t tested it, but using a presence tag as the rider should work exactly the same as Mobile Presence. However, using a presence tag as the driver could cause some undesired latency since Mobile Presence makes use of a geofence and presence tags have to be close to the hub.

I do have some thoughts about how to use Mobile Presence from another account, but the setup would likely be an awful experience. I’ll play around with it and see what I can figure out. For now, I’d give the presence tags a try. I’m super curious to know how that works.

Steve

Sounds like they are planning to incorporate life 360. There is a device type there and apparently it can be added as a presence sensor. I haven’t done it yet but there is a topic somewhere on the forums.

Option 1. You could make a life 360 account as a presence sensor and have that presence sensor used with the carpool app.

Option 2. Use IFTTT to report to SmartThings that he is in a specific zone. You’d probably have to modify the code a little to accept a virtual switch And not a presence sensor, but you could also change the amount of time before you got a notification.

I’d probably go with the life 360 option as it will be wildly more reliable, but IFTTT Will afford you many more options.

My .02

@chevyman142000,

What are you trying to do? I looked for the app and could not find it.

Thanks for the responses. Neither of us have presnence tags at the moment, but may try that down the road.

@twack I carpool with a friend from work. We both have SmartThings and want to use the carpool app that I found. I’ll paste the code in below. Basically looking to get a push alerts on our phones when one person arrives at the other person’s house so I know they have arrived and are ready to go.

/**
 * title: Carpool Notifier
 *
 * description:
 * Do you carpool to work with your spouse? Do you pick your children up from school? Have they been waiting in doors for you? Let them know you've arrived with Carpool Notifier.
 *
 * This SmartApp is designed to send notifications to your carpooling buddies when you arrive to pick them up. What separates this SmartApp from other notification SmartApps is that it will only send a notification if your carpool buddy is not with you.
 *
 * category: Family

 * icon:		https://s3.amazonaws.com/smartapp-icons/Family/App-IMadeIt.png
 * icon2X:	https://s3.amazonaws.com/smartapp-icons/Family/App-IMadeIt%402x.png
 *
 *  Author: steve
 *  Date: 2013-11-19
 */

preferences {
	section() {
		input(name: "driver", type: "capability.presenceSensor", required: true, multiple: false, title: "When this person arrives", description: "Who's driving?")
		input(name: "phoneNumber", type: "phone", required: true, multiple: false, title: "Send a text to", description: "Phone number")
		input(name: "message", type: "text", required: false, multiple: false, title: "With the message:", description: "Your ride is here!")
		input(name: "rider", type: "capability.presenceSensor", required: true, multiple: false, title: "But only when this person is not with you", description: "Who are you picking up?")
	}
}

def installed() {
	log.debug "Installed with settings: ${settings}"

	initialize()
}

def updated() {
	log.debug "Updated with settings: ${settings}"

	unsubscribe()
	initialize()
}

def initialize() {
	subscribe(driver, "presence.present", presence)
}

def presence(evt) {

	if (evt.value == "present" && riderIsHome())
	{
//        	log.debug "Rider Is Home; Send A Text"
		sendText()
	}

}

def riderIsHome() {

//	log.debug "rider presence: ${rider.currentPresence}"

	if (rider.currentPresence != "present")
	{
		return false
	}

	def riderState = rider.currentState("presence")
//	log.debug "riderState: ${riderState}"
	if (!riderState)
	{
		return true
	}

	def latestState = rider.latestState("presence")

	def now = new Date()
	def minusFive = new Date(minutes: now.minutes - 5)

	if (minusFive > latestState.date)
	{
		return true
	}

	return false
}

def sendText() {
	sendSms(phoneNumber, message ?: "Your ride is here!")
}

You can also just install it from the “Green Living” Category.

Also, I wrote that app so if you find ways to improve it give me some code to review and I can merge it in.

Excellent, thanks Steve! For the time being, we will have to wait and try the presence tags if/when we get them unless someone comes up with another idea.

The life 360 integrated app is perfect for what your trying to do. You can have each other in your “circles”. You can also set up pickets to see when they’re 5 minutes out and stuff like that.

It’s pretty cool. My wife and really like knowing when the other is at the store so we can text a wish/want list.

Twack

If you have iOS you can also use IFTTT trigger (based on iOS location channel) an event when you come within range of a location. Like what others said, you’ll have to use a virtual switch (by the way, does any one have good documentation on how to best do this?).

This is the channel on IFTTT: https://ifttt.com/ios_location