A dual device approach to geopresence for smaller areas (sequential detection)

Lay out the logic, I’m all for improvements. :blush:

Here’s the use case.

I’m in a wheelchair. It can take several minutes before the bus driver unloads me from the bus. During this time the presence sensor device thinks I’m home, but I don’t want my door to unlock until I am much closer to it, basically until I can see it.

There is a gate that I have to go through before I get to my front door.

Digitalm0nkey suggested adding a contact sensor on the gate, to verify that I was ready for the door to unlock. That’s what started this whole idea of having a secondary physical sensor.

Then I have the same problem that many people do which is that from time to time, totally randomly, either the fob or the phone presence thinks I left the house and came back. I’ll just get logging entries showing me departed and then arrived. This can happen randomly at any time of day, I’m not sure why. Many other people in the community have reported the same issue.

So the second issue that has to be addressed is preventing ST From triggering “arrived” events just because it detects the fob as suddenly being back in range.

Finally, the obvious one: I don’t want the door to unlock just because the UPS guy is coming through the gate, even if I’m inside the house. So it’s not enough for the presence detector to know that I’m home. I’m really looking for that moment of crossing into the geo-fence area.

I’m using the transition mode to distinguish between “I just got home so unlock the door for me,” and “I’m already home.”

Because of a restriction on the way hello home actions work, if I have the gate sensor change the mode to “home,” then some of my other actions won’t fire.

If I decided I never wanted to set up a hello home action using a motion sensor, that wouldn’t be a problem but I do want to use the hello home actions. And I specifically use motion sensors as touchless switches.

I can code, but I don’t want to. When you’re totally dependent on voice, it’s really hard to work in groovy. Even just cut and paste is a pain.

But, like I said, I’m always open to improvements. What did you have in mind?