Look into FIND, reelyActive, and any of the many many presence detection postings on this forum. Unfortunately this is one area that is hard in home automation.
Most of us end up using a combination of sensors and events to determine if someone is home. I think most of us have been unhappy with geofencing because the updates don’t happen frequently enough to be timely (e.g. doesn’t report you are home until several minutes after you get home.
Consider usability here. An important requirement for me is I shall be able to turn on and off the lights manually even when OH is down. That one requirement eliminates a whole host of options. But it also ensures that in failure cases or when I have guests my house is still intuitively usable. Consider the failure cases.
A binding was started but I don’t think it was ever finished. But the API is pretty straight forward and there are several examples for controlling Rokus through OH Rules.
Ecobees are popular as are Nest and Zwave.
Hard to say. It depends on what technologies you want to run. Stuff like Zwave and Zigbee don’t use WiFi.
Honestly, such open ended questions are really hard to answer. Everyone’s home automation is bespoke. Everyone has different requirements, tolerances, and limitations. So without going way deep down into your specific requirements all we can really offer is “this worked for me”.
My recommendation would be to start small. Find a pain point and solve it, learn from that and expand. Don’t feel you need to standardize on any technologies to start. You will learn as you go and probably end up with a bunch of different types of technologies. That is one of the main purposes of OH.
It’s hard to go wrong with Zwave. If cost is a concern, Sonoff is pretty popular. I’m really liking what I see with the Shelly 2 (they seem to really get this problem space).
Consider usability, particularly usability for guests. If you have to grab your phone, open the app, browse to the lights control and tap the button to turn on the light I’d call that a home automation failure. Either the light should just know to turn on based on events, or turning it on should take no more steps then flipping the wall switch. Home automation is supposed to make your life easier.
This is a project I’m researching right now. I ran across this tutorial: https://www.instructables.com/id/MQTT-DoorBell-Using-ESP01/. I’m going to probably adapt it to use a NodeMCU since I have some of those on hand. The biggest problem to solve is converting from the 16V in the doorbell to 5v or 3.5v needed by the microcontroller. Eventually I plan on getting a 3D printer or CNC machine and at that time I’ll probably build my own Ring (note, Ring is not currently supported by OH as far as I’m aware).
Good luck!