My smart home

I am not sure if I will call this a “smart home system”, a “home automation system” or a “home monitoring system”, but I am making a system to monitor my home, and at some point also control some devices.

For most normal users it would be a much easier approach to download or buy an already made system. I, however, like the fun of exploring and making this myself. On this page I will keep track of the important parts of the design, and link to individual posts where I describe the details.

Functionality

The functionality I want in my smart home will probably change as I go along. In systems engineering this is described as the “user need”, but in my smart home this is mostly my own need. Right now the functionality goal is:

  • Monitoring of status in each room (and outdoords): temperature, humidity, light intensity, presence
  • Monitoring electric power consumption
  • Internet bandwitdh usage
  • Controlling lights
  • Alerting me of errors in the system
  • Status monitoring of devices in the smart home (housekeeping)

Arhitecture

The high level architecture consists of four major parts:

  • Sensors, monitoring stuff
  • Effectors, controlling stuff
  • Controllers, sending information between stuff
  • User interface, showing stuff and taking input from the user (me)

MQTT catalog

The MQTT catalog describes how the topic namespaces are used for different purposes.

  • device/
    • device/<device id>/status
    • device/<device id>/battery
    • device/<device id>/type
  • room/
    • room/<room id>/status
    • room/<room id>/command

Devices

This will be a list of all the devices in the system, with links to the posts that describes them after they are created. The devices without a link is so far a list of ideas of what I am going to make.

User interface

  • Grafana (with telegram and influxdb)
  • Alerter
  • Alerter app
  • Control panel

Controllers

  • MQTT service
  • Topic translator
  • RFBridge
  • Zwave bridge

Sensors

  • Room nodes

Effectors

  • Light switches