A Web Based Sauna Control System written in TypeScript.
I use this package to control my sauna with my raspberry pi.
There is a solid state relay to switch the heater On
and Off
, as well as a temperature
and humidity
sensor to measure the surroundings.
- DHT Sensor: https://www.adafruit.com/product/393
- Solid State Relay: https://www.sparkfun.com/products/13015
Pick a target temperature
and switch the sauna On
/ Off
.
Install jsSauna globally:
$ npm i -g jssauna
Use the new command to start an instance:
$ jssauna --rp 14 --sp 4
- override default webserver port:
-p PORT
--port PORT
- override default target temperature (50°C):
-t TARGET_TEMPERATURE
--target-temperature TARGET_TEMPERATURE
- override default max temperature (60°C):
-m MAX_TEMPERATURE
--max-temperature MAX_TEMPERATURE
- required set solid state relay pin:
--rp RELAY_PIN
--relay-pin RELAY_PIN
- required set DHT sensor pin:
--sp SENSOR_PIN
--sensor-pin SENSOR_PIN
- set optional drive strength (gpio command):
--drive-strength DRIVE_STRENGTH
- set optional username for authentication:
--username USERNAME
- set optional password for authentication:
--pw PW
As dependency:
$ yarn add jssauna
Play around and contribute to the project:
$ git clone https://github.com/ardean/jsSauna
$ cd jsSauna
$ yarn
$ yarn start
I'm using pm2 on my production system to start jsSauna.
Make sure you install jsSauna with all optional dependencies! Otherwise you will use testdata for the sensors and On / Off requests will be ignored for the relay!
If you have problems installing jsSauna globally as root using sudo npm i -g jssauna
, you can try the option --unsafe-perm
.
- API Documentation
- Support multiple Relays
- Support more and multiple DHT sensors