One thing of note, that was mentioned in the other article – the need to program one of his devices with IFTTT (a programing language suitable for home automation).
IFTTT stands for IF This Then That, basically you are programming using the “what if” concept. (IF the sun is setting in ten minutes, turn on the outside, and the front hallway lights).
IFTTT is definitively a DIY tool. That’s not to say that professional home automation programmers don’t also use it, when needed, including to sometimes tie in odd devices not part of the inherent integrated system.
But ,when pros use IFTTT you don’t know it, they just create other features and capabilities, for the overall system. You don’t see IFTTT but it’s often there, adding some special thing – like opening your garage door when your car gets within 100 feet, or automatically heating up your jacuzzi, when you are on your way home from work, once you are only 5 miles away (both of those capabilities are referred to as geo fencing). Or to fire up your Keurig at a pre-determined time, or start the coffee when the lights come on in the bathroom.