You can support me by reading this article on Medium
So What do I Mean by Topology?
Topology can be inexpertly defined as the science of how things are connected.
The basic concept of our smart home installation (what is connected to what and where to put the controller(s)) turns out to be immensely important in terms of costs, flexibility, complexity, and, consequently, reliability.
A Modern Home
To help explain the concept I prepared a simple schematic of a small modern home. It only has 5 residential rooms, a machine room and some external installations. Most homes will tend to be bigger (e.g. a room for the kids, etc.) and more complicated (e.g. separate fuses for outlets, solar systems, dimmable lights, etc.), but it’s a good starting point for our discussion.

The schematic shows the equipment of our model home, divided into seven units: five residential rooms, one machine room and the outside equipment.
Each unit contains the minimum equipment it needs, e.g. lights, switches, sensors, actuators, etc.
At the top the units are marked with the wiring requirements. E.g. 24/5/4 means a unit needs 24 wires in total (power, control and I/O), 5 of those will need control (relays), and 4 are general I/O (digital inputs, outputs, and field busses).
The Approaches to Smart Home Automation
The “One Large PLC” Approach
Years ago, smart homes were really expensive and so rich people hired contractors used to industrial automation to build them. Our model home may look complicated, but it’s about on par with a medium-sized machine in a factory. These were traditionally built around one big PLC in a central cubicle and everything was wired from there.

This seems like a pretty straightforward way of doing things, but it has some serious drawbacks:
Wiring Length and Cost
Every. Single. Wire. Has to be routed from the machine room with the giant PLC cubicle to the switch, sensor, or load that needs to be connected to it. This means a lot of cable: 2.2km for our simple example, but more like 8-10km for a medium size smart home with all the bells and whistles.
But wire is pretty cheap compared to the whole house, right? Not really: You need to route it throughout the house using cable conduits. In a brick-built European home, this means A LOT of carving of spaces for conduits and holes into the walls, which is expensive. These conduits also need to be quite large. The wires themselves also become a noticeable expense once you go beyond a kilometer or two.
Complexity
Programming PLCs is not trivial and this is not a small installation. If you don’t have extensive experience, this approach way will take a professional programmer and their time is expensive. You will also need to rehire them for changes to the system. This effectively means you ceded control to your smart home to somebody else. You also lost one of it’s main advantages—the ability to easily reconfigure it.
Reliability
Industrial PLCs are really reliable, so it’s unlikely that the control system itself will break. It’s much more likely that a relay will fail. Depending on your PLC this can mean you have to replace the whole PLC or just an output module. The option to replace individual relays is rare.
The main problem with replacement of the PLC is not the cost, but the fact that you will need to rewire everything and program the PLC. This both takes time and is possibly something you will not be able to do yourself, see “Complexity” above. And maybe, in 10 years, your PLC model will not be available anymore and you are looking at a complete redesign of the PLC cubicle. The same goes if you decide to do a major reconfiguration (e.g. increase the number of outputs).
Reconfigurability
Say you wanted to change the way you use a room or do a renovation, maybe add an extension to the house? You will most likely have to replace (Reliability), rewire, and reprogram (Complexity) the PLC, and find a good way to integrate the new wiring with the existing system. All of this is non-trivial.
The Distributed Approach
Looking at the drawbacks of the “One Large PLC” approach, we can see that most of them stem from one basic feature: centralization. Everything is done in one place and this is inefficient (most centralized systems are). So how can we approach this in a better way?
The answer is to use several small controllers instead of the one big PLC and put them close to where we need them, typically in a small control cubicle in the room it controls. This way we only need to route an Ethernet (or other control bus) cable, and power wiring to the controllers. The individual devices are then wired directly to the local controllers, which is much simpler and shorter.

Wiring Length and Cost
Let’s compare the wiring here with the “One Big PLC” scenario:
- The total wiring length comes out to about 1.5km, which is about a third less than with the centralized approach (I count the ethernet cables as single wires, nobody would ever run individual twisted pairs separately in a conduit).
- You can reuse the Ethernet cables for the network infrastructure you are going to need anyway (for computers, NAS, home cinema etc.)
- The cable conduits to the local controllers can be much smaller.
- You don’t need the big PLC and cubicle in the machine room any more (I put the main controller, a Raspberry Pi 4 SBC, inside the Ethernet switch cubicle I needed anyway), but you do need several smaller controllers with mini installation cubicles, one in each room.
All in all, you should be looking at about a 50% reduction in wiring costs.
Connecting the main controller and local controllers is trivial, they just need power and networking.
The bulk of the wiring work is needed at the local controllers. You still need to connect each switch, sensor and load directly to the local controller, but the cable runs are much shorter now, so at least wiring is less labor intensive and you can afford to be more lax when tagging the individual wires and cables.
With local cubicles, you get the additional benefit of having the option to do RCDs and other protections at the room level. This means that most faults will not trip the whole house, only the room affected. Lightning protectors will work better this way too, the wiring resistance between the primary and the secondary suppressor will help reduce the voltage spikes.
Complexity
The programming gets easier here. You can use “smart” (i.e. with some internal logic) or “dumb” (simple Modbus or MQTT relay/input boxes). Depending on the approach you take, you need to program either several small and simple controllers and/or implement some or all of the logic in your main smart home controller (e.g. Home Assistant).
If something fails, you deal with one room/block at the time and so the troubleshooting is much easier: Is it the local controller, programming, wiring or one of the devices? You go from hundreds to tens of potential sources of errors, especially on the code side.
Reliability
Both “smart” and “dumb” local controllers, as well as Linux SBCs are really reliable, as are Ethernet switches. And if something does break, they are all really cheap to replace. And if you use “dumb” local controllers, replacing them simply means wiring them into the cubicle and configuring the new local controller address, a trivial repair.
Reconfigurability
I already listed some important benefits of the distributed approach, but they pale in comparison to the improved reconfigurability:
- Want to build an annex or furnish an attic? Just run some Ethernet and power to the new room and add a local controller—the rest of the system stays exactly the same.
- Want to add some new hard-wired equipment (e.g. home cinema with motorized screen, new lighting, ceiling fans, etc.) to an existing the room? If you have enough inputs/outputs on the local controller, it’s simply a matter of wiring. If you run out of these, replacing the existing controller is much simpler that with a centralized PLC. But the simplest option of all is most often just to add an additional local controller, possibly in the same cubicle, if there is enough space, or near the new equipment.
The flexibility of this approach is simply incredible.
Conclusion
Building a smart home is not a trivial matter, but you can make choices that make it significantly easier, cheaper, and more useable. Thinking about architecture/topology first will save you a lot of money and frustration in the long run. If you have a contractor, make sure you are on the same page on this!
If you found this article useful, you can buy me a beer here.