SmartHome web server and controller for local central heating systems.
For now handles visualization of measurements from CH341 MODBUS RTU temperature sensors.
Use microcomputer with connection to MODBUS with sensors. Debian Bookworm with Python 3.11 tested.
- Load drivers:
modprobe ch341. - Connect RS485-to-USB converter and find its port. Default:
/dev/ttyUSB0. - Install nginx and copy nginx.conf to
/etc/nginx/sites-available/default. - Install requirements.txt using pip and gunicorn using apt.
- Copy application to
/srv/thermomix. - Provide htpasswd file in
/etc/nginx/to have basic auth features. - Use config_template.py to create config.py with map of devices.
- Provide dashboard.jpg file in
staticdirectory with central heating system schema. - Serve application (possibly as a daemon) using `gunicorn -k uvicorn.workers.UvicornWorker thermomix.serve:app``
AC Watchdog is a simple script that checks status of the MODBUS connected relay. It notifies operator via SMTP if there is power outage in the house.
- Install requirements.txt
- Copy script from
ac_watchdogto/srv/ac_watchdog - Fill every needed info in
config.pyusingconfig_template.py - Deploy daemon as
ac_watchdog.service