Bon Voyage won't always work with iPhones used for presence


(Minollo) #1

The current version of Bon Voyage smartapp does some interesting trickery checking the latest time when a device was set to present or not present; that doesn’t seem to work well with my iPhone, for example.

The smartapp relies on currentState(“presence”).rawDateCreated.time to see when the presence state was created; but with an iPhone, that timestamp seems to be affected by the latest time I used the iPhone and opened the smartthings app - which makes the presence detection buggy. I had to switch back to an older and simpler version of Bon Voyage to work well with my iOS devices.


(Jam Dawz) #2

I am also experiencing issues with this app. Could you provide instruction (in layman’s terms) on how to “switch back to an older and simpler version of Bon Voyage”?


(Minollo) #3

I just found this older post, which contains an older version of the smartapp:
https://support.smartthings.com/entries/21605565-Bon-Voyage

I adapted it a little to my needs, but the logic for checking presence is simpler there, and it works well with my iOS devices.


(Steve S) #4

When was the app updated to the current instantiation? I’ve only been using it for a week, and it has worked well, until this past Friday, when I went away for the weekend, and it didn’t activate.


(Minollo) #5

No idea; but keep in mind that I think it work fine as long as you don’t open the smarthings app on any of the tracked iOS devices during the “grace period”; that’s what seems to trigger the unexpected change to currentState(“presence”).rawDateCreated.time which affects the behavior of the smartapp.


(Anders Heie) #6

I’m new to this, but I imagine that the smartapp has to run on the mobile device to register and make the mode changes. I’m having trouble too, presense doesn’t always change, so I am wondering if this can’t be due to the app not waking up sufficiently often to detect changes ?

  1. If smartapp is not waking up, presence can’t change.
  2. A similar problem I have is a 1 minute alarm if our patio door is left open (We have pets). It goes off ALL the time (just quickly opening and closing the door), if our apps are running in the ‘background’ on the iphone. If I have the app running and visible, they work just fine.

I imagine we need a smartapp update that wakes up more often, like every 10 seconds to check all this? Otherwise presence will stay broken, and alarms like mine will be useless due to being triggered autonomously all the time (Closing the door never detected).

Thoughts? I may be wildly off the mark here… Just getting started.


(Steve S) #7

Anders,

I can’t speak for Android, but the iPhone uses a “geofence” service provided by the operating system. That is, an app registers a boundary and asks the phone to notify it when it crosses that boundary. The app itself is not responsible for making that determination. So, my guess is that the iphone is telling the ST app that it is now inside or outside the geofence, but the app doesn’t do the correct thing with that information. I suppose it could be the OS screwing up, but then several other things on the phone would not be working.

Steve