Surely, among the MILLIONS of people who are regularly devouring every word I write here on this blog, someone has asked the question, "Why go to all the trouble of building your own bespoke home automation system when there are great open source offerings like OpenHAB and Home Assistant out there?"
An excellent question.
It all boils down to three things:
Intent - From the start the primary motivator was two-fold, to accomplish a desired end (e.g., know when the garage door is open) and to learn how to do it myself. Learning to do it myself has always been the primary consideration.
Design - There never was a design. The old saying, "necessity is the mother of invention" applies here. Necessity became the the mother of the invention of Mother. So it is fair to call what I have here a hodge-podge collection of random parts, but I see beauty in that. The fact that you can build a functional system out of the hodge-podge makes me really really happy.
Control - I never intend on allowing any open ports to the Internet for my home stuff. There was a time when I thought I wanted that, but no more. I will use a VPN if I need to, but that's the only way I'll ever access my internal network from the Internet. That's the first aspect of control.
A second aspect of Control has to do with understanding what is happening inside the system enough to fix it if something breaks. It's a wonderful feeling to be able to report that nothing has broken in several months now. I created error-handlers for each error that caused something to stop, and now it all just runs quietly and reliably in the background.
That's not to say everything is done. There are some things I'd like to add, and a fair amount of house-keeping to do between cleaning up code, commenting for posterity, and aligning my working code with what is on Github for my millions of followers there (HA! LOL).
Recognizing a need, learning what I need to learn to solve it myself, that's what works for me.