As my Home Assistant setup has become increasingly complex, I’ve started to see the limitations of the Raspberry Pi platform. Graphs are slow, and the history and logbook are basically unusable to me. Everything works, but I’d like to be able to use these things with a lot more data and still have everything be snappy in the frontend. My other home server needs have grown as well, so I decided to get an Intel NUC and migrate all of my current servers to either Docker containers or virtual machines with Proxmox.
Setting up a smart home can be a costly affair, if every device needed an expensive proprietary smart switch you would spend quite a bit of money. With a very tiny amount of soldering and some custom firmware, the Sonoff Basic model can be turned into a locally controlled MQTT enabled WiFi smart switch for about $7 each. These tiny little esp8266 based boards can be spliced into a power cord to add WiFi control to anything.
I have about a dozen of these and they work great. Because of how cheap they are, I have started adding them to some ridiculous devices. Today’s DIY WiFi retrofit: my coffee mug warmer.
I want my mug warmer to come on automatically when I enter my office in the morning, but only if I’ve made coffee already. But first, I need to flash some new firmware onto my Sonoff.
Living in an urban city without a garden, I have been exercising my green thumb by accumulating more and more houseplants. I have them tucked away in every light-filled corner, hanging from every rafter in my tall ceilings. Which is a problem, because I have to get a ladder out to water most of them!
Using some cheap plant soil sensors and a simple Python script, I will have Home Assistant check all of my plants and make a list of which need my attention. Then when more than a few need to be watered, I can be notified or have the voice assistant give me an update.
I have a dog who sheds like crazy, and the only thing that keeps the dust bunnies from overrunning me is a robot vacuum. My aging Neato Botvac, after fulfilling several years of hard labor, ate it’s 3rd expensive replacement battery recently. This was obviously a great excuse to get a new one that works with Home Assistant.
I went with the Xiaomi Mi Robot.
After getting paired with the app, teaching the robot English, and sending it on it’s way around the house to do it’s thing, I realized that the process of getting it paired with Home Assistant was not going to be straightforward.
For anyone else who runs into trouble, here’s how I got it working.
So many good uses for these chips, here are a few I’ve made and some I still intend to.
- ESP Easy – by far the easiest way to connect a bunch of cheap sensors to an esp8266. I have about 6 of these doing various things.
- Bed Occupancy Sensor – FSR sensor for pressure and a simple automation to determine bed occupancy
- WiFi Candle Using multiple WS2812 addressable LEDs to create a simple lamp that flickers like a candle.
- Notification Flag – Raise a flag based on a simple condition. Would be nice to combine in tandem with…
- Mailbox Sensor – Notify when mailbox is opened.
- DIY Milight Hub – I’ve been using this and it works great. Control as many cheap Chinese RGB bulbs as you want.
- Simple Water Alarm – If water shorts the wires, it wakes a sleeping esp8266 and sounds the alarm
- Door/Window Monitor – Along the same lines, a simple magnetic switch monitors the status of a window or door.
- Smart Power Strip – Retrofitting a power strip with 2 banks of controllable outlets, using 3D printed parts.
- Weather Station Display – Another super cool 3D printed project that plugs in and displays info on a small screen.
My favorite form factor of the esp8266 is the Wemos D1 Mini. Tiny, all the inputs you need, and there are many premade ‘shields’ for it so you can stack components.
As part of my efforts to be cloud non-dependent, I have a NAS full of several terabytes of music, movies, and TV shows. Plex is of course everyone’s favorite software for solving this problem, as it essentially turns your hard drive full of files into a private Netflix capable of streaming and syncing to any device.
The problem is that streaming and syncing is a very CPU intensive task and requires a server of substantial processing power. Is the cheap Odroid XU4 single board computer up to it?
An ongoing list of all the hardware I’ve gradually acquired. Links are to Amazon, but if you are patient most things can be imported from China for much cheaper.
Want to get started in home automation for cheap? Check out my $200 DIY Smart Home Shopping List to get started with a great foundation of hardware for use with Home Assistant. Control devices over WiFi, Bluetooth, infrared, Z-Wave, Zigbee, RF, and build some basic sensors – all for less than most kits from one proprietary vendor!