EIM Engineering

Creating human-friendly systems through detailed analysis and thoughtful design.

My Experience with Networking Part 1

I have recently taken a foray into the world of networking. I sort of fell into it by accident, but found myself enveloped in learning about it for a period of months. It all started when I was designing a system at work. The backbone of our communications is Ethernet, and therefore requires some amount of networking. We didn’t have a network engineer at the time, so I was tasked with building out the entire network with very little prior experience. The way I designed it was rather simple – just a basic subnet with trunks between switches to connect different parts of the system together – but it got me thinking about networks in new ways and wanting to learn more.

For a while, it was kept in the back of my mind, as I didn’t have an outlet by which I could learn more, but it was reawakened when I needed to manage my home network, which I will get into. But first, let me provide some background.

I have hosted a Plex server for a long time – back since college, circa 2015. Plex is easy enough to set up that I never needed much networking knowledge to get it working, wherever I lived. In some apartments, I needed to forward some ports on the router, but generally all that was required was a firewall rule.

More recently (circa 2017) I got my first smart home devices – a google home and a smart bulb. I had trouble waking up in the dark winter mornings and I wanted my lights to turn on at the same time as my alarm. It worked well and I ended up using the google home mostly as an alarm clock and white noise machine.

When I moved to a new apartment, I started the habit of listening to music in the shower and podcasts while I was cooking or cleaning. To help facilitate, I bought a second google home so that my two rooms would be perfectly synced. I moved to another new apartment and brought my little system with me, with no real desire to upgrade.

It wasn’t until I purchased a house that I really had the desire to expand my system. Now that I had more than one or two rooms to deal with, I needed more google homes to fill the space. And more bulbs that I could turn on and off automagically. And new smart switches to turn other things on and off. And cameras to look outside when I was too lazy to get up or when I was away from home.

I started building a more advanced system, room by room, inside of the native google home app (nice naming scheme, guys). I was able to start exploring “routines” and “scenes” where I could set a variety of things just the way I liked them with a single press of a button. Keep in mind that this was entirely during the height of COVID and I was spending a significant amount of time inside my house and I was looking for things to keep my mind busy.

I kept buying and expanding my system slowly over time but I started to feel hampered by the limitations of the Google Home App. It was slow, hard to customize, and often unreliable. That’s when I heard about Home Assistant. It sounded like a dream come true – a fully customizable, fully local, free, open-source program that I could use to make any automation a reality.

I installed Home Assistant on a Hyper-V virtual machine on my Plex Server and started messing around with it. It worked incredibly well. Things were fast, reliable, and customizable. I was impressed. But it only worked when I was at home. I didn’t want to sign up for the cloud and pay monthly for the “free” software. And that, my friends, was the true beginning of my desire to learn about networking.

To be continued in Part 2…

Published by