Using Virtual Presence Sensors in Automations

Has anyone else found that they aren’t able to use a virtual presence sensor as a trigger in automations? I have two types, some using the GCal Presence DTH (scheduled present / away to maintain ST mode for cleaners, babysitters, etc.) and some using Virtual Presence Plus DTH (manually triggered). Both show an on/off switch and a presence status in the new app; the Virtual Presence device can be controlled with on/off and the presence updates accordingly, but the GCal Presence device just spins when you try to control it. Neither one is available as an IF in automation setup.

For virtual/simulated presence sensors and life360:

Add condition
Device status

1 Like

Well that’s ugly. I think it means I need to set up separate automations for arriving too. Thanks though, at least I can make this work. I’m trying to check what’s going to break when I pull the trigger on migration before I commit myself to a long day of rebuilding.

1 Like

I use simulated presence sensors which give you present/not present instead of the on/off

Created them in IDE


But why does a Simulated Presence Sensor not show up as in the selection list?

It does… example given above in my other post. Plus the simulated show as devices in the new app.

Add conditIon
Device status
And look for your simulated/virtual sensors

Interestingly, the GCal presence devices show as Left/Arrived, even though the code calls it Present/Not Present. The VPP device shows Present / Not Present.

All three kinds show under devices, none under people / presence, which is where I’d prefer to see them so the logic is the same as our mobile presence devices.

1 Like

Agreed …


I meant: why does a Simulated Presence Sensor not show up as in the selection list for “Member location”?

Thankfully the workaround of using it as a device exists, but it’s not obvious.

1 Like

I guess it depends where ST are intending to go with ‘Members’. Wherever it is they really should have gone a bit further than they have at present. Currently a Member represents a Samsung account with access to your Location and all you can do is associate mobile presence with it and you can’t even see that. Surely that can’t be all they have in mind?

What about other household members without accounts but with presence devices? They sort of belong with Members.

What about pets and inanimate objects with presence devices? They might not belong with Members but the presence sensors may need to be grouped with them logically.


I’ve been wondering the same, our SmartThings presence fob got lost a while back so I can’t test, but surely that should be able to be treated the same way as a phone. I haven’t seen anyone mention them in the new app threads (that I can recall).

I don’t use mobile presence as it can trigger presence when I can’t even see my home, and in theory even when I am an hour or so away in travel time. The presence fobs are far more useful. So yes if Member location is limited to presence it makes no sense to limit it to mobile presence. Now if Member location actually started working with latitude and longitude it might be different, though I guess the ST systems might drown in a sea of events if that happened.

I use this device handler for a Virtual Presence since I don’t use cellular data on my phone.
I have to manually turn it on or use Alexa routines e.g. “I’m leaving” and “I’m home” which run a scene to change ST location mode to Away or Home.

//Release History
// 1.0 May 20, 2016
// Initial Release

metadata {
definition (name: “Virtual Presence Plus”, namespace: “ajpri”, author: “Austin Pritchett”) {
capability “Switch”
capability “Refresh”
capability “Presence Sensor”
capability “Sensor”

  command "arrived"
  command "departed"

// simulator metadata
simulator {

// UI tile definitions
tiles {
standardTile(“button”, “device.switch”, width: 2, height: 2, canChangeIcon: false, canChangeBackground: true) {
state “off”, label: ‘Away’, action: “switch.on”, icon: “st.Kids.kid10”, backgroundColor: “#ffffff”, nextState: “on”
state “on”, label: ‘Present’, action: “”, icon: “st.Kids.kid10”, backgroundColor: “#53a7c0”, nextState: “off”
standardTile(“refresh”, “device.switch”, inactiveLabel: false, decoration: “flat”) {
state “default”, label:‘’, action:“refresh.refresh”, icon:“st.secondary.refresh”
standardTile(“presence”, “device.presence”, width: 1, height: 1, canChangeBackground: true) {
state(“present”, labelIcon:“”, backgroundColor:“#53a7c0”)
state(“not present”, labelIcon:“”, backgroundColor:“#ffffff”)
main ([“button”, “presence”])
details([“button”, “presence”, “refresh”])

def parse(String description) {
def pair = description.split(“:”)
createEvent(name: pair[0].trim(), value: pair[1].trim())

// handle commands
def arrived() {

def departed() {

def on() {
sendEvent(name: “switch”, value: “on”)
sendEvent(name: “presence”, value: “present”)


def off() {
sendEvent(name: “switch”, value: “off”)
sendEvent(name: “presence”, value: “not present”)