https://github.com/hyper-prog/smtherm
Smart Manageable Thermostat daemon
https://github.com/hyper-prog/smtherm
dht22 heating heating-control raspberry-pi temperature temperature-sensor thermostat
Last synced: 28 days ago
JSON representation
Smart Manageable Thermostat daemon
- Host: GitHub
- URL: https://github.com/hyper-prog/smtherm
- Owner: hyper-prog
- License: gpl-2.0
- Created: 2024-10-24T19:43:59.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-03-15T06:59:21.000Z (about 1 month ago)
- Last Synced: 2025-03-15T07:29:25.667Z (about 1 month ago)
- Topics: dht22, heating, heating-control, raspberry-pi, temperature, temperature-sensor, thermostat
- Language: C
- Homepage:
- Size: 950 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: history.c
- License: LICENSE
Awesome Lists containing this project
README

SMTherm - Smart Manageable Thermostat daemon
============================================SMTherm is a [thermostat](https://en.wikipedia.org/wiki/Thermostat) [daemon](https://en.wikipedia.org/wiki/Daemon_(computing)) written in C that monitors the ambient temperature using DHT22 sensors.
It designed to run on [Raspberry Pi](https://en.wikipedia.org/wiki/Raspberry_Pi) and can even take into account the data of several thermometers
and make complex decisions about starting or stopping the heating.
The program communicates via a TCP interface and, in addition to controlling the heating,
stores the temperature data of the last 3 days in a [ring buffer](https://en.wikipedia.org/wiki/Circular_buffer).The SMTherm only have TCP interface, the GlowDash: https://github.com/hyper-prog/glowdash can controls it.

Compile / Install
-----------------
Require wiringPi and CURL libraries$make
#make installRun as systemd daemon
---------------------Create systemd start file /lib/systemd/system/smtherm.service
[Unit]
Description=SMTherm thermostat daemon
After=network.target[Service]
Type=forking
ExecStart=/usr/local/bin/smtherm /etc/smtherm.conf
Restart=always
User=root
Group=root[Install]
WantedBy=multi-user.targetAfter the file created, edit a sample config file and place into /etc/smtherm.conf
Eenable and start the servicesystemctl daemon-reload
systemctl enable smtherm.service
systemctl start smtherm.serviceAuthor
------
- Written by Péter Deák (C) [email protected], License GPLv2
- The author wrote this project entirely as a hobby. Any help is welcome!------
[](https://www.paypal.com/donate/?business=EM2E9A6BZBK64&no_recurring=0¤cy_code=USD)