In earlier posts, I did provide an overview of the architecture of my custom-made home automation system. I also did describe some specificities related to a wired home automation setup. For my system, I decide on wiring everything in a star-configuration, meaning all wiring around the house for lights, push buttons, … all converges in a centralized electrical cabinet. The focus of this post is to show you some details of what this cabinet looks like and some pointers for practical issues I had run into.
[Read More]Schematics
One-wire diagram and floor plan
In previous posts, I did discuss the importance of planning and design as well as details on the physical wires to be used.
Here, I’d like to focus on two types of schematics which are not only very useful, but also mandatory for doing the electrical wiring for a Belgian house: the one-wire diagram and the floor plan.
This post is a part of a larger series of posts on my home automation setup. See the home automation overview post, to learn about the rationale and a description of the other posts!
[Read More]Wiring
Groundwork for a wired home automation setup
In this post, I will take a deeper dive into the bottom layer, the wiring. Different kinds of inputs and outputs can be discussed, but for the sake of simplicity, I will focus on a push button operating a lamp. These components will also come back later on in the series.
This post is a part of a larger series of posts on my home automation setup. See the home automation overview post, to learn about the rationale and a description of the other posts!
[Read More]Architecture
My home automation layout
Prior to actually building anything, it is important to think on a higher level what the various components are and how they will interact with each other, i.e. the architecture. Over the process of doing my own setup, I came across a large number of different possible configurations, each with their own benefits and downsides. For the first part of this post, I will focus on the final layout.
While discussing the architecture, it is important to realize there are a number of different layers of abstraction to reason about these. This will be the topic of the second part of this post.
[Read More]Why
My vision for a modern home automation system
This post shall be the first in a series of blog posts where I intend to outline my home automation setup.
For this first post, I want to start by first explaining why I worked on this. Secondly, I want to give some more attention to the vision and guiding principles I will use further on. At the end, there is an overview of all the future posts that I have currently planned for this series.
[Read More]Bootstrapping a pi4
bootstrapping a raspberry pi4 with arch for ARM
I’ve recently bought myself a raspberry pi 400, a small form factor keyboard with a raspberry pi 4 4GB RAM built into it. In hindsight, there are probably very few scenarios in which such a computer makes actually makes sense to me, but it still looks quite nice. I first took it for a spin using the raspberry pi OS that was on the SD card that came along with the set, but while I can acknowledge that it works quite OK out of the box, it just looks so ugly. Henceforth, I did decide on installing arch for ARM on it. Since I did notice that I need to rethink every time again what are the best tools to install on a fresh install, this is a write-up of the most important tools I would always install.
[Read More]Updating GPG subkeys
My yearly yubikey GPG subkey rotation process
This is just a list of things to consider when updating my GPG subkeys (encryption, signing, authentication) for the particular setup I use on a daily basis:
- one master key without any expiry date to generate and revoke subkeys
- I use
passas my password manager.- the basic idea is that it’s a command-line password manager that uses gpg under the hood for encrypting / decrypting the passwords.
- the passwords are encrypted with an encryption subkey
- pass allows managing its history with git, linking the storage on a remote gitlab / github server.
- the subkeys are only stored on my yubikey
- the subkeys are always valid for a period of one year
- the yubikey I use also has NFC, which makes it possible to use it on my android phone as well
I recently needed to go through this process and did forget to re-encrypt …
[Read More]MQTT over TLS
MQTT is a popular lightweight protocol for use in home automation. If features a central broker where each of the clients can communicate with in a pub / sub fashion.
Since I’ve been toying around with some home automation setups, I was curious how to secure it with TLS.
Mosquitto
The most commonly used broker implementation I have come across is mosquitto and is quite straightforward to setup on most *nix flavors. In my setup, I wanted to run it on Raspberry Pi, which I could leave running at my local home network. Since it runs raspbian, installing it was as simple as:
[Read More]