Devs don't need home automation plattforms

If you know how to write code, you do not need a home automation platform - anything you need, you can build yourself.

Home Automation platforms are awesome. Great for everyone, unless you know how to code: Then you don’t need them. Here is why: Any automation the platform provides to you, comes coupled with the platform’s complex ecosystem and if you know how to write code, you can very quickly build all the automation you need yourself.

Q: I could build home automation myself, but why would I rebuild [Input your favorite home automation platform here]?

A: Why would you do that?

Q: But how will I be able to turn on the lights in the kitchen, when I press the button by the door?

And here we have the problem: We talk about scopes all day at work and forget about it when we come home. Having a button switch on a light: That should not be handled by your home automation platform. That is not automation, that’s linking stuff together using software that should be done with switches and wires. Cases like lowering the blinds when the sun is out and the internal room temperature is rising, now that’s home automation.

There is a simple truth, we software engineers, coders, and home automation enthusiasts must learn: No one cares, that we have a cool piece of software linking the light switch to the light in the ceiling. No one. It’s just you (and maybe some of your peers with the same interests). Home automation is still useful though. Having motion sensors disabled during the day, running a boiler only during the night, using blinds to shade your house to prevent running the AC, or dialing down the floor heating when the sun is out in winter - that’s all sensible usages of home automation. Also: All of these things are just as hard to do with a home automation platform as if you did it yourself. Home automation platforms are essentially abstractions, attempting to hide the complexity of interacting with various devices in your home. Abstractions never make things easier and once you intend some more advanced uses of these systems, this abstraction will become very leaky and therefore useless.

Here is my advice: Make your home function without any automation whatsoever. Wire up things the way they need to be for you and your family/partner to function. Your electrician can help you with that, he has the expertise. Then you start measuring: Gather room temperatures and humidity using wireless sensors. Measure the temperature of water supplied and returned from your heating system, and the amount of energy supplied to the appliances like dishwashers, boilers, washers and dryers. Then and only then, do you start automating: Add wireless relays to your blinds, controlled valves to your heating, relays to control the boilers, etc. Then you find the smallest piece of computing hardware that will run the programming language you are most familiar with and use that thing to tie together all the sensors and actors the way it makes sense.

Keep in mind: Your home should be functional even if your automation breaks and you are no longer around to fix it.