US Home
Automation

(Last updated: Wednesday, December 18, 2019)
Google
 

My Smart Home Demo board

Here's my HA Demo board that I use with my Presentations at Trenton Computer Festival.

Purpose

This is a meant to be a small system with DIY'rs in mind. A starter system or a system for a flat or apartment. A system that is not overly difficult to build, easy to maintain, easy to understand and still allow the user to learn the technologies and expand the system as they see fit.

Basically a simple home automation setup. Something a DIY'r can do without having to know a lot about all the different technologies that can go into building your own home automation.

I started with a Raspberry Pi 3B and I probably could have run this on a Pi 2B. It is small, it's quiet, it doesn't generate a lot of heat, it can run headless, it's wireless and it's cheap. It has 1 gigabyte of RAM, which is plenty for a small HA system. I'm pretty sure the number of devices can grow quite a bit more before we need to worry about adding swap space, a computer with more memory or a more powerful processor. I have an 8 gigabyte SD card but since I actually use a 110 gigabyte SSD as root the SD card is only used to boot with and occasionally write to it to upgrade the kernel. The reason for the SSD was to avoid the issues with logging to the SD which tends to mess up the SD card. Note to self: need to explain this a but more and provide ways to avoid these issues. The 110 gigabyte SSD is overkill but it was inexpensive and has no moving parts so it's quiet and reliable. The current demo setup uses less than 3 gigabytes of SSD space and that include the operating system and utilities.

Hardware

We'll start with a pretty picture and work from there.

  • A - LED bulb - controlled by G
  • B - LED bulb - controlled by R
  • C - LED bulb - controlled by F
  • D - Incandescent bulb - controlled by H (button 1)
  • E - Incandescent bulb - controlled by H (button 2)
  • F - Sonoff BASIC (Tasomata Firmware/wifi)
  • G - Sonoff Smart Switch (Tasomata Firmware/wifi)
  • H - Sonoff 4CH (Tasomata Firmware/wifi)
  • K - LED bulb - controlled by H (button 3)
  • L - LED bulb - controlled by H (button 4)
  • M - TP Link TL-WR703N OpenWRT AP
  • N - 110G SSD via USB
  • P - Raspberry Pi 3B (v1.2)
  • Q - 4 AC (US/Europe) outlets, 4 USB power outlets
  • R - Sonoff Smart Switch (wifi)
  • S - 6 AC outlet AS power strip
  • T - USB TTL Serial dongle (not labeled)
  • U - USB Hub (not shown)
  • V - USB ZigBee GW stick (not shown)
  • W - S2 USB Z-Wave GW stick (not shown)
  • X - USB IR Transceiver (not shown)
  • Y - USB RF433 Transceiver (not shown)
  • Z - USB SDR (not shown)

It is important to note that the powered USB hub (not shown) was added later when it was found that the Raspberry Pi didn't always start up properly bcause there wasn't enough power for the Pi and the USB SSD. The powered hub provides a steady 5 volt power supply that isn't shared with the Raspberry Pi.

Software

  • Linux - Debian - Raspbian - Headless
  • screen
  • node.js
  • Node-Red
  • mytimeout (optional - a Node-Red module I use in my demo)
  • Mosquitto (MQTT)
  • Mosquitto Client
  • Tasmota Firmware

Installing operating system images

Installing operating system images

  mount SD
  touch ssh
  create the wpa_suplicant.conf
  change hostname

  apt install xxxxx

  #
  configure ssh
  
  configure mosquitto
  # What about tls/ssl?

  zigbee2mqtt
  # ?

  zwave2mqtt
  # ?

  configure node-red
  # What about tls/ssl?

  # db?