Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

hard (home automation rust-daemon)

This is my very customized home automation project written in Rust.

The core functionality of this daemon is controlling the lights in my home, based on PIR sensor detection. Those sensors are connected to one wire DS2413 sensor boards.
Over a time, more features and supported devices were added to this daemon.


  • light/appliances control using Maxim/Dallas One Wire DS2413 sensor boards and DS2408 relay boards
  • DS1820 temperature sensor reading
  • automatic night-mode based on current sun position
  • PostgreSQL connection for holding information about all sensors and it's relations
  • InfluxDB Time Series Database support for collecting misc stats
  • PIR sensors / alarm control
  • Yeelight LED Smart Bulb on/off control
  • Tasmota/Nous Smart WiFi Socket Nous A1T with Tasmota
  • Rocket based embedded webserver for very simple remote control
  • HIH-4000-003 humidity sensor support and automatic fan control
  • doorbell support
  • wicket's electric strike control
  • LCD display support:
  • USB RFID reader and tags support for specified actions
  • skymax (aka Voltronic Power) inverter support
  • remeha (aka De Dietrich) boiler support
  • Huawei SUN2000 inverter support

The daemon is running on my Raspberry Pi in a specific minimal ramdisk environment:

You can read more about elements of the system on my blog: