Martin Preuss d6e87aeba5 eventloop_select: introduce error variable
abort process if too many select errors. Prevents error logs from
filling log partition.

after 90 select errors the log level will be increased for the next calls.
after 100 select errors the process aborts (will be restarted by systemd).

TODO: inspect sockets to find the bad one.
2026-02-26 23:18:55 +01:00
2026-02-02 21:19:53 +01:00
2026-02-16 01:14:39 +01:00
2025-10-26 16:59:58 +01:00
2025-03-10 00:15:52 +01:00
2026-02-16 01:11:55 +01:00
2025-06-12 23:30:08 +02:00
2025-05-17 10:46:03 +02:00
2025-03-23 16:58:07 +01:00
2025-12-26 23:57:37 +01:00
2026-02-16 01:14:50 +01:00
2023-10-06 14:02:28 +02:00
2026-01-18 14:28:16 +01:00
2023-08-07 14:09:51 +02:00

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
Description
Yet another home automation framework. Contains code for AVR ATtiny, ATmega and PC.
Readme 12 MiB
Languages
Pascal 70%
Assembly 14.1%
C 9.9%
C++ 5.6%
OpenSCAD 0.2%
Other 0.2%