4 Essential Tips for Improving Your DIY Home Automation Projects

4 Essential Tips for Improving Your DIY Home Automation Project

Home Automation projects are rarely “complete”. They evolve over time. A few weeks ago I posted an article about creating a DIY garage door opener using MicroPython. Since then, I received lots of awesome feedback from the community and improved the design. I’ve summarized the feedback into 4 essential tips for improving your DIY Home Automation project.

  • Use PlatformIO for Build Environment
  • Add temperature and humidity sensors
  • Update your firmware over WiFi using over the air updates
  • Add a heartbeat

Check out the original article on how to create DIY Smart Garage Door Opener if you haven’t already, to get a starting point for this project. These could also be applied to my DIY Bed Presence Detection solution or any other DIY home automation project you’re working on.

[Read more…]

Debouncing Buttons in MicroPython

Ever introduce a pushbutton into your electronics project but have trouble getting a stable reading? Have you read about “debouncing” a button and want to learn how to easily accomplish this in software? This article goes over the background of switch and button debouncing and walks through my MicroPython code to accomplish this. Background So … [Read more…]

DIY Bed Occupancy Sensor

DIY Bed Presence Detection in Home Assistant

Ever want to create an automation around someone sitting on a chair or laying in bed? Using an ESP8266, load cells, an MQTT broker and Home Assistant you can create a DIY weight sensor attached to your bed to form a smart bed! This that will allow you to detect these events and trigger automations.

While you could use this to accurately measure the weight of something, I’m focused on detecting presence on a piece of furniture. You can use this data to create automations based on where people are currently located in your home.

Some hardware you’ll need:

[Read more…]

Start Docker Compose using systemd on Debian

How do you start up your multi-container application? Lots of the time these multi-container setups have dependencies between them and you need to start them in a specific order? How can you get this done automatically on bootup? Today I’m going over how to use Docker Compose and systemd to automatically launch all your containers in the correct order on bootup leveraging systemd on a Debian host.

So if you’ve got an MQTT broker (or another service) that must start up before your Home Assistant service and you’re already using Docker Compose this is an article for you! This method works great on a Raspberry Pi but should also work on anything using systemd as the initilization system.

[Read more…]

Home Assistant Notification Showdown

Notifications are an important part of a Home Automation platform. Users typically want to get alerted when things happen and there are various degrees of importance for notifications. Right now in Home Assistant 0.76.2 there are 60 different notification platforms! In this post I’m going to review several different notification platforms supported in Home Assistant. You probably don’t want an email when your garage door doesn’t close but an email might make sense for a weekly electricity usage report, I’ll go over some use cases for each type of notification.

We’re an Android household so this review is coming from that perspective, if you’re using iOS there is a Home Assistant iOS App that supports notifications that I’ve heard good things about. You may also find some of the other notification platforms discussed in this post to be useful to supplement.

[Read more…]

DIY Smart Garage Door Opener

My wife and I use the garage every day to go in and out our house. Wouldn’t you like to automatically make sure your garage door is closed at night? Or know the status of it when you’re away from the house? Today I’m going to use some inexpensive electronics to turn your standard garage door into a “smart” garage door. This design still keeps all the original functionality of your garage door intact, you won’t have to use an app or website to open the garage door, it just brings the garage door into the digital world.

For this project, we’re going to hook up an ESP8266 to our garage door opener to control over Home Assistant using MQTT. Some hardware you’ll need for this project:

From a software perspective, you’re going to need Home Assistant running with an MQTT broker and an ESP8266 running MicroPython. Check out these blog posts for setting those up:

[Read more…]

Creating a DIY Home Assistant Switch using MicroPython

I want to add some DIY switches to my Home Assistant automation setup. These switches can control anything, such as lights, fans, blinds, etc… The switches are programmed using MicroPython using the ESP8266 NodeMCU board. Home Assistant will control them using the MQTT protocol. Check out some of my previous blog entries for getting an MQTT broker running with Home Assistant and MicroPython the ESP8266.

Why did I go with MicroPython over Arduino or ESPEasy? I wanted to use Python so that as my needs changed I had a flexible programming language I could use to quickly program a solution. Plus, I just like using Python and hadn’t played with MicroPython yet.

One thing I love about the ESP8266 is that MicroPython is really well supported and they’re pretty cheap. You can get a pack of 2 from Amazon.

[Read more…]

Running MicroPython on ESP8266 NodeMCU

For some upcoming projects, I’m going to make some DIY sensors and switches using the ESP8266 NodeMCU. It’s a pretty cheap board that is based on the ESP8266 which has built-in WiFi. In this post today I’m going to be getting a brand new “ESP8266 NodeMCU” up and running with MicroPython. MicroPython allows you to write microcontroller code using Python instead of using C or the Arduino libraries.

To get started you’ll need:

There are lots of other ESP8266 boards floating around the internet so if you decide to go with a different board I would just ensure it comes with at least 1Mbyte of flash so you can run the full version of MicroPython.

[Read more…]

Add a Z-Wave+ Dimmer Switch to Home Assistant

Automating your lights are a great place to get started with Home Automation. In today’s article, I replaced a traditional light switch with a Z-Wave Plus dimmer switch (GE 14294). Using Home Assistant, my lights automatically dim when someone starts playing content on the Chromecast in my Living Room after sunset. We find it useful to have a very dim light on during the movie so that we can still get up without stepping on stuff and still be able to see what we’re eating.

Some supplies I used:

[Read more…]