# Aquamaniac Home Control System (AqHCS) ## Overview Home automation/control system consists of multiple parts: - nodes - decentralized, nodes just broadcast measured data over a two-wire communication network (clock/data), addresses are auto-assigned, no prior setup necessary, no central bottleneck or single point of failure - node types - environmental measuring (temperature, humidty, CO2 and others) - motion detection, door/window sensors - LED strip controllers - small PCBs based on AVR microcontrollers - AtTiny84 - AtTiny85 - AtTiny841 - AtMega644 - modular operating system written in AVR assembler - event-driven GUI - driver modules for busses: - one-wire bus - two-wire-bus - SPI bus - UART - driver modules for devices/sensors: - DS18b20 sensors for temperature measurement - SI7021 sensors for temperature and humidity measurement - SGP_30 sensors for air quality measurement - ccs811 sensors for air quality measurement - SK6812 LED driver - I2C displays (work-in-progress) - SPI displays (work-in-progress) - applications - aqhome-data - TCP data service receiving sensor data - aqhome-nodes - service receiving sensor data via inter-node bus from nodes and forwarding that data to aqhome-data - aqhome-mqttlog - service exchanging data between aqhome-data service and a mqtt server - aqhome-react - service reacting to data received by aqhome-data (home automation service) - aqhome-tool - tool to manipulate aqhome-data (e.g. edit devices and values, add data points, create graphs from aqhome-data) - tool to flash firmware for nodes, list nodes - aqhome-cgi - HTTP service for user interaction with aqhome-data