Thomas shares makes

(dir)VimDiff as GIT difftool

diff screenshot

Tig blame + VIM showing all files of a GIT commit in diff-tabs using dirvimdiff

I configured GIT's difftool command to show the changed files as diff-split file tabs I can easily cycle through by pressing gt.

This makes for a good terminal-based meld/beyond compare/... alternative.

Combined with Tig, it allows to quickly inspect a GIT commit's modifications in file context, let's take a look at the quick and simple steps to set it up.

Continue reading ...





Home Assistant Multi room audio setup

concept

I was able to cook up a fun audio setup controlled and automated with Home Assistant! It features

  • Multiple room synchronised audio speakers (fixed/analog, portable Bluetooth devices and via app on phone or tablet)
  • Playback of internet radio, Spotify streaming and local audio files.
  • Sound notifications for Doorbell, garden gate and other sensors and home alarm events.

In my setup, a docker container running on the Home Assistant machine takes care of retrieving audio from Spotify, internet radio streams and local storage.

Physical devices like raspberry pi's or an Android phone/tablet use a snapcast client to use drive speakers.

Continue reading ...

openHASP touch display build

openHASP running in a 3D printed case

openHASP running in a 3D printed case

I discovered openHASP while I was searching for projects integrating touch interfaces with Home Assistant.

It's easy to wire up a cheap ESP microcontroller board and TFT display module, and by loading this opensource firmware you can turn it into a network connected touch control panel and control devices and display things.

When I bumped into a nice 2.8" TFT Desktop stand enclosure on thingiverse, I remembered I had an unused 2.8" ILI9341 display with resistive touch layer from a previous project.

Connecting the dots... I had all the necessary parts in my workshop, this would make a nice project to make over a weekend evening.

Continue reading ...

lighting scene / mood control proof of concept

twatch running lighting scene selector

Lilygo twatch 2020 running simple lighting scene (mood) control proof of concept

I discovered a lovely smart watch development platform; the Lilygo t-watch 2020. It's an ESP32 based hackable watch, with a small capacitive touch display.

I had already played with the idea of building a small home automation control and status display that fits into the existing switch cover plate, so clicked the order button and leveraged the open source watch firmware to quickly hack together a proof of concept.

Continue reading ...

Openscad: Interlocking Hash shaped platform

concept

While designing a screw-drive based RC tank (perhaps more on that later), I wanted to create a large easily customisable support structure out of a minimal amount of plastic. I started prototyping an interlocking structure in the shape of a octothorpe (#). This turned out to be a lot of ugly code, and so I got sucked into rabit hole of optimising my openscad model and found a cleaner solution.

Continue reading ...

Home assistant based automatic alarm

concept

image: cover from https://mzl.la/ihr-nov-2019

At one point I wanted a basic home security system (burglar alarm) to offer me some piece of mind at night.

My Home Assistant instance has enough sensors to figure out what we are up to, so it was possible to create an alarm system that works autonomously. The system automatically arms and disarms while we sleep during the night and when we leave and return to the house during the day.

Continue reading ...

Reviving my Standing stats project

concept

I have used an Ergotron standing desk for 5 years, then it broke, right out of warranty. Several years ago I started building a sensor device to track how much time I spend standing up versus sitting down in my chair. The hardware prototype finished, it got shelved since I found other fun things to do with my limited hobby-time.

Later I noticed that I was sitting down 99% of the time when working from home. To revive my healthy habit of working upright part of the time, I decided to pick up my parked project by re-printing the enclosure I made on my own printer and leveraging the power of esphome on and home assistant to finish the project after all.

Continue reading ...


ILI9341 SPI TFT on the raspberry pi4

Tft

I've been running network services on embedded arm platforms for for more than 8 years now, and when things go wrong, had to drag around HDMI monitors to hook up. For the last years I had a pi connected to the serial console to avoid that.

I have been mounting all my networking and smarthome devices on a DIN rail, and I had some small 2.2" TFT displays around for a different project.

I thought it would be nice to create a raspberry pi enclosure that included such a display so there's a real video console on the device that can also be used as status display.

Continue reading ...

Din-rail mounted Home assistant gear

din rail mounted stuff

I have a technical wall with several pieces of electronics mounted onto it. It started to look a bit disorganized, with all these things mounted at random places on the wooden board and cables running all over the place.

So I wanted to clean it up a bit... I stumbled upon a DIN-rail mount on Thingiverse, and remembered I had a piece of DIN rail in a box. Time to remix a bit and mount everything on DIN rail!

Continue reading ...


Board stacks

raspberry pi stack prototype

At home and at work, I always tend to have around 5 small development boards on my desk. In a fixed setup with identical boards, metal or plastic standoffs can be a nice solution to build a stack that reduces the footprint on desk and avoid a spiderweb of cables.

In reality, the boards are of different sizes, and standoffs still cost a few euro's each. I knew I could do better, using a 3D printer and some parametric CAD modeling.

Continue reading ...

TV Console corner protector

from the side

During COVID19 lockdown, the kids were running around the living room a lot more, and a lot more reckless. Our TV console is covered with glass plates. These have chamfered corners (45 degree cut off), but still it's a hard, glass corner, and I could imagine painful or catastrophic injuries and trips to the ER.

I decided to create a quick and dirty cover that, once installed, would provide safer plastic, rounded corners.

Continue reading ...

DIY extension block

from the side

During COVID19 lockdown, I found myself struggling with cheap extension blocks, in fact I find most extension blocks horrible, and most power supply blocks can't fit next to each other.

I still had three brand new, wall sockets left over from electricity renovations (I opted to place earth wire so installed appropriate sockets). These are Niko brand, the finest EU/BE sockets available, and are lovely to use in every way possible. I already considered making larger extension blocks this way.

Continue reading ...


An improvised door handle

OpenScad render

I designed a simple door handle during COVID-19 lock down. After my kids slammed the kitchen door against the radiator a few times, I had to glue the existing handle again and again. I didn't feel like installing a door stop (also, shops were closed) for this old door that will be replaced at one point in the coming years. I did feel like modelling a replacement object...

Continue reading ...


Mutually Exclusive Media Players in Home Assistant

hass rpi mpd

I have Raspberry Pi's in different rooms, and one thing I use them for is to play music to speakers.

Each of them has two music player services on it (MPD, Spotify), and it's a bit annoying that I have to stop a player when I want to listen to the other one.

Since I'm running home assistant as an automation hub, I wrote two short automations that stop the already playing service when the second one kicks in.

Continue reading ...



Central Heating sensor manipulation

diagram

We used to have a gas-powered central heating system that had no external controls other than radiator valves. It had a sun-exposed exterior temperature sensor on the west side of the house that caused it to refuse to heat in the evening.

I wanted to fix the issue and control it via Home Assistant, and since only the newer models had bus control, I resorted to manipulate the outside sensor readings and designed a man-in-the-middle device.

Continue reading ...



Home Assistant Touch Screen

Touch display on the wall

My 2017 Christmas present was a voucher for the local electronics shop. I spent it on an 'official 7" raspberry pi touch screen display', which is a nice capacitive touchscreen that you can hook up to a raspberry pi.

I 3d-printed an enclosure from Thingiverse for it, and fitted an RGB LED string around the edges as an extra.

Initially I created an AppDaemon HAdashboard configuration to control my Home Assistant instance with it.

Continue reading ...

Heat Canon (Salamander heater) controller repair

development setup

In the winter of 2016, someone gave me a controller board for a heater. The heater is pretty scary, it burns fuel and blows exhaust and hot air out of what looks like a canon. It has some interesting mechatronics; a fuel valve, an ignition coil, and a fan. It has a flame detection sensor input as well, as a safety feature. I succeeded at repairing the board, but had to write the controller software from scratch.

Continue reading ...

DIY Automatic condensation water pump

Installed device

In 2015 we moved into a house which had a condensing gas boiler. When the previous owners installed it, they never installed a drain pipe to dispose of the water that it produces. Instead there was... a bucket that had to be emptied every week. I quickly grew tired of emptying the bucket. With no obvious way to direct the water except over the ceiling, I needed a device that would pump the water. This sounded like a fun DIY project, so I ordered some float switches and a 12VDC membrane pump, then got busy and soldered a simple set/reset controller with... Guess which old-school IC...

Continue reading ...

Next → Page 1 of 2