So, I’m trying to figure solve a problem I have. I currently have a router that can be linked to IFTTT when devices connect/disconnect from my network. I’ve fashioned this to link to Apilio so that I know when certain people are home. The problem is, sometimes phones connect and disconnect, though usually in rapid succession. What I’d like to do, is only run actions when a certain person (or all people) aren’t home (i.e. are disconnected from the wifi for more than 2 minutes). The problem I’m having is that while logic blocks can be set to automatically evaluate when a variable changes, they can’t be set to re-evaluate when a condition changes.
If I have several “Conditions” set up as so:
Linked to variable: person-n-home
Required state: false
Must be unmodified since: 120 seconds
I have logic blocks that will automatically trigger when a “Variable” changes, but in this case, they won’t trigger when a “Condition” changes. The end result seems to be that when I need all of them to be false for at least 120 seconds before it runs, it won’t actually run, because the immediate check will be false, since they weren’t away for 120 seconds.
I think I could solve this by setting a 2 minute delay on the negative result action, and then making a request to IFTTT that would ping the app again to re-evaluate, but then I’d be constantly re-evaluating on 2 minute intervals until it was true, which is a terrible idea.
Is there a better way to do this that I haven’t thought of? It would be really nice to get this use case to work, while eliminating most false positives via the delay.