It was always going to be a playoff between battery life and functionality. There's no doubt that it does impact the battery life but I don't see as much of an impact on my iPhone 6 which might be simply that the battery is new and on my son's iPhone 6 plus it hardly dents it with the right setting. If you're polling the Find My Phone every 60 seconds then you'll see a high impact. I tend to use 5-10 mins between polls and that gives me a balance between battery drain and functionality.
The alternative to IFTTT is to use Life360 (
http://www.life360.com) but although you can get one GeoFence free the rest will cost you a monthly fee of $5.99. That said it works pretty well and with any phone - it just isn't integrated into indigo. You can get some integration by using the send an email feature which I used to trigger indigo events but it's too slow for me. They keep promising an API for 3rd parties but it hasn't arrived on the scene yet. If it ever comes to fruition I'll integrate iFindStuff with that instead
The original use case for iFindStuff is a result of me a) proving it could be done
, b) wanting a more responsive & flexible geolocation solution that was free at point of use and c) as a response to people who wanted more NEST Home functionality. I'm researching ways of managing performance and saving battery life (Night, Holiday and Power Saving Geofence modes are an example of that - I should point out that Stationary isn't yet because I haven't implemented it fully). I think that we could use scheduling as well to impact when checks are made and the algorithm could be more intelligent on when it needs to check a device rather than following a strict cycle.
One example of this is a second piece of code that I developed called 'Wasp in the Box'.
You can read my original post on that here:
http://forums.indigodomo.com/viewtopic.php?f=133&t=13343&p=91333&hilit=wasp+in+the+box#p91333 I don't use iFindStuff as a presence indicator in the house. Actually I use a number of 'rules' that together give me a probability that the house is, or isn't, occupied. As the only way to leave the house is via a door and these all have sensors, then I know if I need to check presence if someone leaves otherwise if I know they were there a while ago and none of the doors have been opened then they must still be there (unless they've used the windows and they've got sensors as well
). My article gives a better explanation. Upshot is that if a light is switched manually, or the TV is on, or the iron is being used, or the motion sensors see something, or my son's computer is on, etc... then I know that there is someone in the house. Once I know that then I only have to check again if one of the outside doors, or windows, is opened. The combination of rules means that I can make intelligent decisions about presence so that I can eliminate some false results (e.g. the dogs or cats moving about). I'm happy to share the code if anyone wants to see it - but it is rough.
I've started to apply the same type of logic to iFindStuff. For example, if I've left (the house is empty based on the Wasp algorithm) I start to look at other things. Is my distance from the Home getting bigger on each check? - if so then reduce the checks because I'm moving away from the house. By the same argument, if it's getting smaller then increase the frequency of checks because I may be coming home. It's a little more complicated than that but you can see the start of a logical method. The same argument applies to stationary. I could also introduce 'time' as a factor as well as an 'I'm out at a meeting according to my calendar so don't bother checking until after this time...'
The ideal solution would be to have a solution actually on the phone itself so that it can trigger the update frequency depending on what's happening on the phone itself. Of course, that requires an app but I'm starting to look at that as well now. The only issue is that I have to learn SWIFT and JAVA to make it work, then get it through the Apple process, to get it on the Store. That's said, it's a challenge so I'm going to give it a go and maybe I can solve this issue using an alternative approach. Let's see - just watch out for improvements and updates because they'll all be focussed on performance for the next few weeks.
IFTTT, unless it's integrated fully, is very slow to respond to events as well. I know that the Indigo Community has been lobbying IFTTT for a channel but no response. If that could happen there are a whole raft of development plugins that would follow
Regards
Mike