In the 10 years since our first Raspberry Pi data logger was added to our home, the home data logging and automation system has grown with the addition of many sensors, using a mixture of wired, Wi-Fi and ZigBee wireless communication.
We moved to use Home Assistant from home-assistant.io in 2016 to give more detailed data logging than our online home logger at home.briandorey.com/ which updates every five minutes.
This is our third installation and configuration of Home Assistant since we first started using the platform. The first was running on a Raspberry Pi and using older 1-Wire sensors with a USB dongle and 433 Mhz wireless sensors. We didn’t plan the sensor names in Home Assistant which resulted in a mess of names and sensor locations.
The second installation fixed the naming issue with sensors prefixed with their type and then location. We also added ZigBee sensors and the MQTT server. This was in use for several months on a Raspberry Pi until the SD card corrupted and we lost all the data.
The current third installation replaced the 1-Wire USB dongle and we moved to run on our small Linux home server using a Docker image running in its own container. The MQTT server which is used to store many of the sensor's data also runs in a docker container on the same machine.
Screen shots
The Home Automation blog category has posts showing the progress over the past ten years.
Our current sensor setup is as follows:
Power Monitoring
We use a custom ESP8266 mains energy monitor which sends data to the MQTT server and logs incoming gas and electric usage. For individual devices we are using the following sensors:
TP-Link Kasa Smart KP115 WiFi Plug with energy monitoring
Used to monitor two of our computers and the network cupboard power consumption.
Samsung Smart Plug GP-WOU019BBDWG
Used to monitor and control TVs and media devices.
Sonoff POW R2 Smart Switch
We use a pair of modified POWR2 Smart Switches to monitor the Washing machine and tumble dryer in the kitchen.
Shelly EM dual channel energy monitoring
The Shelly EM uses two current transformers and monitors the loft workshop workbench circuit and reflow oven circuit.
Environmental and Door Sensors
We have 1-Wire hard-wired temperature sensors for the hot water system which connect to an Arduino Uno which then sends serial data to the Linux PC and MQTT server. For each of the rooms and doors we are using the following sensors:
Sonoff SNZB-02
Sonoff SNZB-02 zigbee temperature & humidity sensor which uses a 3V CR2450 battery
Xiaomi Aqara WSDCGQ11LM
Monitors temperature, humidity, and atmospheric pressure in real-time. which uses a 3V CR2032 battery
Xiaomi Aqara MCCGQ11LM
Detects if a window or door is open in real-time. 3V CR2032 battery
TuYa Radiator valve with thermostat
Zigbee TS0601 Radiator valve with a thermostat which uses 4 AA batteries. Read more about our experiences with this TRV.
Automation Setup
Since moving to Home Assistant we have set up several useful automations to send status reports and alerts.
TV Auto Off
This monitors the TV smart plug and after the TV has been on standby for more than 5 minutes it turns off the TV and sound bar power. We use Sonoff smart buttons to toggle the TV power status. This has helped to reduce standby power used by TV and media devices.
- alias: 'Brian TV Auto Off' trigger: - platform: numeric_state entity_id: sensor.tplinkbriantv_current_consumption below: '30' for: '00:05:00' condition: [] action: - type: turn_off device_id: 70ce7f6ebfd4dd9355e91efd24b2654c entity_id: switch.tplinkbriantv domain: switch mode: single
Low Temp Alert Water Tank Area
We have a temperature sensor installed next to our water tank in the loft. This automation sends a message to a mobile phone if the temperature drops below 10C.
- alias: Low Temp Alert Water Tank Area description: '' trigger: - minutes: /30 platform: time_pattern condition: - condition: numeric_state entity_id: sensor.temploftwater_temperature below: '10' action: - service: notify.mobile_app_brians_phone data: message: Low air temperature in the loft water tank {{states.sensor.temploftwater_temperature.state }} c
Loft Windows nightly check
This runs at 8:30 pm every night to check if the loft windows are open and sends an alert via the mobile apps if the windows have been left open.
- id: '1234567890' alias: Loft Windows Night Check description: '' trigger: - platform: time at: '20:30' condition: - condition: or conditions: - condition: state entity_id: binary_sensor.loft_window_one_contact state: 'on' - condition: state entity_id: binary_sensor.loftwindowright_contact state: 'on' action: - service: notify.all_ios data: message: Loft Window is open mode: single
The following automations are available to download from GitHub.
- Daily Email, This sends an email once a day with a report of the hours the doors and windows have been open during the day.
- Loft TRV (Radiator valve) temperature setting depending on the loft hatch being opened or closed.
- Low sensor battery alerts for battery-powered sensors.
- Synology NAS high-temperature alerts.
- Washing Machine Cycle finished alert based on power consumption.
The configuration files for our Home Assistant installation can be downloaded from GitHub at https://github.com/briandorey/MyHomeAssistantConfiguration
Comments