134 |
135 |
--------------------------------------------------------------------------------
/Readme.md:
--------------------------------------------------------------------------------
1 | ## [Download latest release](https://github.com/nicko88/HTFanControl/releases/latest)
2 |
3 | # HTFanControl
4 | #### 4D Theater Wind Effect - DIY Home Theater Project
5 |
6 | HTFanControl is an application meant to control fans in your home theater in order to create a wind effect during movies.
7 |
8 | The program is meant to run in the background and be controlled through a web interface, typically from your smartphone.
9 |
10 | ### User Demo Video
11 |
12 | [](https://www.youtube.com/watch?v=iROCqS2yFdc)
13 |
14 | ### Getting Started
15 |
16 | There is a great project guide on the wiki [here](https://github.com/nicko88/HTFanControl/wiki/4D-Wind-Project-Guide-2021).
17 |
18 | Otherwise come join the community forum thread to ask questions [here](https://www.avsforum.com/forum/28-tweaks-do-yourself/3152346-4d-theater-wind-effect-diy-home-theater-project.html).
19 |
20 | You can find help from me (user: [SirMaster](https://www.avsforum.com/forum/members/8147918-sirmaster.html)) or other users of HTFanControl there.
21 |
22 | ### Raspberry Pi / Linux Installation
23 | This install script is intended to install HTFanControl on RasPi or standard Linux running a Debian-based distribution using systemd. It may work on other distributions but it has not been tested. You can also download the Linux release and install it manually onto your particular Linux machine.
24 |
25 | This script will ask to install HTFanControl and also additionally mosquitto MQTT broker which is needed to control the fan relay switch over the network.
26 | #### Install
27 | sudo wget https://raw.githubusercontent.com/nicko88/HTFanControl/master/install/install.sh && sudo bash install.sh
28 | #### Update
29 | There is an update function built into the app at the bottom of the Settings screen, or you can run the update script manually here:
30 |
31 | sudo wget https://raw.githubusercontent.com/nicko88/HTFanControl/master/install/update.sh && sudo bash update.sh
32 | #### Uninstall
33 | sudo wget https://raw.githubusercontent.com/nicko88/HTFanControl/master/install/uninstall.sh && sudo bash uninstall.sh
34 |
35 | ### Wind Tracks
36 |
37 | HTFanControl uses specially created wind track files for each movie with coded time stamps and wind speeds.
38 |
39 | A current database of wind track files created by the community is hosted [here](https://drive.google.com/drive/u/0/folders/13xoJMKeXX69woyt1Qzd_Qz_L6MUwTd1K).
40 |
41 | These wind tracks can also be downloaded through the HTFanControl web interface as well.
42 |
43 | #### Creating Wind Tracks
44 |
45 | A companion app called WindTrackCreator has been created to help the process of making wind tracks for your movies.
46 |
47 | You can find the WindTrackCreator project [here](https://github.com/nicko88/WindTrackCreator).
--------------------------------------------------------------------------------
/install/HTFanControl.service:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=HTFanControl
3 | After=multi-user.target
4 |
5 | [Service]
6 | ExecStart=/opt/HTFanControl/HTFanControl
7 |
8 | [Install]
9 | WantedBy=multi-user.target
--------------------------------------------------------------------------------
/install/install.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if [[ $(getconf LONG_BIT) =~ "32" ]]
4 | then
5 | file="HTFanControl_RasPi.zip"
6 | elif [[ $(uname -m) =~ "aarch" ]]
7 | then
8 | file="HTFanControl_RasPi64.zip"
9 | else
10 | file="HTFanControl_Linux.zip"
11 | fi
12 |
13 | read -p "Are you sure you want to INSTALL HTFanControl? [y/n]" -n 1 -r
14 | echo
15 | if [[ $REPLY =~ ^[Yy]$ ]]
16 | then
17 | mkdir /opt/HTFanControl
18 | wget -O /tmp/$file https://github.com/nicko88/HTFanControl/releases/latest/download/$file
19 | unzip /tmp/$file -d /opt/HTFanControl
20 | chmod +x /opt/HTFanControl/HTFanControl
21 | wget -O /lib/systemd/system/HTFanControl.service https://raw.githubusercontent.com/nicko88/HTFanControl/master/install/HTFanControl.service
22 | systemctl daemon-reload
23 | systemctl enable HTFanControl.service
24 | service HTFanControl start
25 | rm /tmp/$file
26 | fi
27 |
28 | read -p "Do you want to INSTALL mosquitto MQTT broker? [y/n]" -n 1 -r
29 | echo
30 | if [[ $REPLY =~ ^[Yy]$ ]]
31 | then
32 | apt-get update
33 | apt-get install -y mosquitto
34 | systemctl daemon-reload
35 | systemctl enable mosquitto.service
36 | echo "allow_anonymous true" >> /etc/mosquitto/mosquitto.conf
37 | echo "listener 1883" >> /etc/mosquitto/mosquitto.conf
38 | service mosquitto restart
39 | fi
40 |
41 | rm install.sh
--------------------------------------------------------------------------------
/install/uninstall.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | read -p "Are you sure you want to UNINSTALL HTFanControl? [y/n]" -n 1 -r
4 | echo
5 | if [[ $REPLY =~ ^[Yy]$ ]]
6 | then
7 | service HTFanControl stop
8 | systemctl disable HTFanControl.service
9 | rm /lib/systemd/system/HTFanControl.service
10 | systemctl daemon-reload
11 | rm -rf /opt/HTFanControl
12 | fi
13 |
14 | read -p "Do you want to UNINSTALL mosquitto MQTT broker? [y/n]" -n 1 -r
15 | echo
16 | if [[ $REPLY =~ ^[Yy]$ ]]
17 | then
18 | service mosquitto stop
19 | systemctl disable mosquitto.service
20 | rm /lib/systemd/system/mosquitto.service
21 | systemctl daemon-reload
22 | apt-get autoremove mosquitto --purge -y
23 | fi
24 |
25 | rm uninstall.sh
--------------------------------------------------------------------------------
/install/update.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if [[ $(getconf LONG_BIT) =~ "32" ]]
4 | then
5 | file="HTFanControl_RasPi.zip"
6 | elif [[ $(uname -m) =~ "aarch" ]]
7 | then
8 | file="HTFanControl_RasPi64.zip"
9 | else
10 | file="HTFanControl_Linux.zip"
11 | fi
12 |
13 | wget -O /tmp/$file https://github.com/nicko88/HTFanControl/releases/latest/download/$file
14 | rm /opt/HTFanControl/HTFanControl
15 | unzip /tmp/$file -d /opt/HTFanControl
16 | chmod +x /opt/HTFanControl/HTFanControl
17 | rm /tmp/$file
18 | rm /opt/HTFanControl/update.sh
19 | rm update.sh
20 | service HTFanControl restart
--------------------------------------------------------------------------------