# 4D Theater Wind Effect - DIY Home Theater Project



## SOWK

*4D Theater Wind Effect - SirMaster & SOWK Edition*






*Required Components:*

Source Device - HTPC or any devices that can run KODI _*HTFanControl software will currently require a PC with Microsoft Windows OS, Raspberry Pi support coming soon._

Media Player - MPC-BE / MPC-HC / KODI / PLEX

Additional Hardware: IguanaWorks USB Dual Socket IR Transceiver (PURCHASE) & IguanaWorks Homebuilt Wired IR Emitter (PURCHASE)

Additional Software: winLIRC _No need to download_

Additional Software: Fan Configuration file with preconfigured winLIRC (DOWNLOAD: WinLIRC & Fan Configuration File)

Additional Software: Wind track files (User Created) - (DOWNLOAD: Wind Tracks)

Additional Software: SirMaster's Wind Track Creator - (DOWNLOAD: Wind Track Creator)

Additional Software: SirMaster's HTFanControl (DOWNLOAD: HTFanControl)

Fans - Seville Classics Black UltraSlimline 40" Oscillating Tower Fan
(PURCHASE: Model #: EHF10127B)

Optional Hardware: IguanaWorks Stereo to Mono Splitter (PURCHASE) & Additional IguanaWorks Wired IR Emitter (PURCHASE)
_(This is only needed if you feel one emitter location is not enough to reach your fans with perfect 100% consistency.)_

-----------------------------------------------------------------------------------------------------------------------------------


*How It Works:*

1. Users will create a Wind Track .txt file with the same name of the source file they will be playing. The file will need time stamps and IR commands they want to send (OFF, ECO, LOW, MED, HIGH)

_Example file name:

Ford v Ferrari (2019).txt

Example data inside Ford v Ferrari (2019).txt

# Ford v Ferrari (2019)
# 4K Ultra HD Blu-ray (02:32:35)
# Coded by: SOWK

00:01:08.734,HIGH
00:01:26.029,OFF
00:02:11.714,LOW
00:02:13.924,MED
00:02:16.720,HIGH
00:02:50.043,OFF
00:04:01.866,LOW
00:04:05.245,MED
00:04:11.710,HIGH
00:04:42.949,OFF_

2. HTPC runs the source file through MPC-BE / MPC-HC / KODI (_Using the example above it would be Ford v Ferrari (2019).mkv_)

3. @SirMaster's HTFanControl program then does the following:
It communicates with MPC-BE/MPC-HC/KODI to get the current time stamp of the active source file playing
It accesses the user created .TXT file with time stamps and IR commands
It sends the IR commands to winLIRC at the specified time stamps in the user created file.
_(The HTFanControl program also has a user editable start up fan negative delay and general negative delay. Example: If you want the fans to turn on at time stamp 00:10:00 and the fans take 3 secs for the wind to hit you the program will start the fans up at 00:09:57)_

4. When winLIRC receives the IR command from HTFanControl it sends that command to the USB IR Transceiver

5. The USB IR Transceiver then sends the IR command to the Seville Classics Black UltraSlimline 40" Oscillating Tower Fan (Model #: EHF10127B)

-----------------------------------------------------------------------------------------------------------------------------------

*Quick Links:*
HTPC Setup
Raspberry Pi Setup
Offset Calibration
Wind Track Creator
Supported Movies
Tower Fan - Beep Removal

-----------------------------------------------------------------------------------------------------------------------------------


----------



## SOWK

*Personal Computer Setup:*

------------------------------------------------------------------------------------------------------------------------------------------------------------------


*IguanaWorks USB IR Transceiver Setup*

1. IguanaWorks USB IR Transceiver Driver (DOWNLOAD)

2. Install the IguanaWorks USB IR Transceiver Driver

3. Plug in the IguanaWorks USB IR Transceiver

------------------------------------------------------------------------------------------------------------------------------------------------------------------


*WinLIRC and Fan Configuration File Setup*

Fan Configuration file with winLIRC (DOWNLOAD)

1. Extract WinLIRC.zip to a location you want to house the Fan Project files

2. Run INSTALL.reg as Administrator 

3. Run winlirc.exe

4. Configure winlirc.exe (Only If you have more than one wired IR emitter)

Menu > Reconfigure > Input Plugin > Plugin Setup > Transmitter Channels > (Check) Channel 1-4 > OK > OK










------------------------------------------------------------------------------------------------------------------------------------------------------------------


*Media Player Setup - Enable Web Interface*

MPC-BE/HC

Menu > View > Options > Player > Web Interface > (Check) Listen on port: > Apply











KODI

Menu > Settings > Services _(Standard Control Rights Minimum)_ > Control > (Turn On) Allow remote control via HTTP _(Username and password not supported)_ > Escape back to Main Menu











PLEX

Setup in the HTFanControl WebUI

------------------------------------------------------------------------------------------------------------------------------------------------------------------


*HTFanControl Setup*

SirMaster's HTFanControl (DOWNLOAD)

1. Extract HTFanControl_Beta3.zip to a location you want to house the Fan Project files

2. Run HTFanControl_Beta3.exe

3. Configure HTFanControl_Beta3

Menu > Settings > Enter LIRC IP > Select the Media Player Type > Enter Media Player IP > Enter Global Offset (ms) based on your setup> Enter Spinup Offset (ms) based on your setup > Save Settings


----------



## SOWK

*Raspberry Pi Setup:*

The instructions for setting up and using HTFanControl on a RasPi should be very simple.

*Requirements*

RasPi 2, 3, or 4
16GB or greater SD card (with a PC SD card reader)
For now, all but the RasPi 1 will work and with any amount of RAM. But in the future, if I ever get audio (microphone) syncing to work, you will probably need a RasPi 4 4GB or maybe even 8GB RAM model. So if you are buying one new for this now, please get a RasPi 4.


*Installation*

Download the big "HTFanControl_RasPi2-3-4_img.zip" file.

This is a full SD card image that includes the operating system and everything all pre-installed and set up ready to go.

Link:


https://github.com/nicko88/HTFanControl/releases/download/Beta19/HTFanControl_RasPi2-3-4_img.zip



The small "HTFanControl_RasPi.zip" file is for HTFanControl updates only, but you don't need to worry about this file.

To install, you need to use the RasPi Imager program from here:


https://downloads.raspberrypi.org/imager/imager.exe



Run the imager program and click "Choose OS". Scroll all the way to the bottom and pick "Use custom" and select the zip file you downloaded earlier.

Then click "Choose SD Card", and pick your SD card, and then finally click "Write"

When that is all done, simply put the SD card in the RasPi.


*Set-Up*

Start by simply powering on the RasPi.

To setup the first time, you will need to use the wired network connection.

All you need to do is find your RasPi's IP address and enter that into a browser like so:


http://IPaddr:5500



To find your IP you will likely need to look in your router's IP list. Or you can try guessing IPs. Look at the IP format from your computer, it may look like "192.168.1.103" So you could start guessing by trying 192.168.1.100 and incrementing up the last number from 100. Sometimes the second to last number is a 0 instead of a 1 so pay attention to that.

Once you have connected to your RasPi from a browser you are ready to use it

Plug in your IguanaWorks IR USB, and set up your HTFanControl settings.

*Connecting over WiFi*

If you want to use your RasPi from WiFi instead of a wired network, you will find a "RasPi WiFi" settings page in the HTFanControl browser interface where you can enter in your wireless SSID name and password. After you enter this and save, you will need to reboot your RasPi.

To reboot the RasPi simply unplug the power and plug it back in.

Now you will need to find the new WiFi connection IP address like you did for the wired connection before.

If you want to disable WiFi, just enter random data into the SSID and password boxes, save and reboot.


*Additional Info*

If you want to manually manage your windtrack files or settings file you can browse to your RasPi IP as a standard file share from your network.

On Windows simply click the Start button and enter in \\IPaddr

You can also access LIRC remote configs from here as well as HTFanControl crash logs for sending to me.

To update HTFanControl on RasPi, simply click the "Check For Update" link at the bottom of the settings page, and then click the "Update HTFanControl" button on that page. The program should update and automatically restart and the page should automatically refresh when done.


----------



## SOWK

*Offset Calibration Setup:*

SOWK's Offset Calibration Files - (DOWNLOAD)

1. Extract OffsetCalibration.zip to the location were you installed HTFanControl

2. Place (1 - Wind Track Global Offset Calibration.txt) and (2 - Wind Track Spinup Offset Calibration.txt) into the HTFanControl windtracks folder

3. Follow the instructions below. Make sure you do the global offset first before the spinup offset.

------------------------------------------------------------------------------------------------------------------------------------------------------------------


*Global Offset Calibration*

1. Play (1 - Wind Track Global Offset Calibration.mkv)

2. Every 10 sec it will alternate a Black & White full field pattern and alternate ECO & HIGH fan commands

3. Adjust the Global Offset under the HTFanControl Web UI Settings menu until you feel the wind speeds hit you exactly when you see the full field pattern change. 
(It helps to use ear plugs to eliminate the sound of the fans - you only want to calibrate the feel of the wind change)

4. Save Settings

------------------------------------------------------------------------------------------------------------------------------------------------------------------


*Spinup Offset Calibration*

1. Play (2 - Wind Track Spinup Offset Calibration.mkv)

2. Every 10 sec it will alternate a Black & White full field pattern and alternate OFF & HIGH fan commands

3. Adjust the Spinup Offset under the HTFanControl Web UI Settings menu until you feel the wind hit you exactly when you see the full field pattern change, and go away when it is supposed too on the next full field pattern change 
(It helps to use ear plugs to eliminate the sound of the fans - you only want to calibrate the feel of the wind change)

4. Save Settings


----------



## SOWK

*Wind Track Creator:*

SirMaster's Wind Track Creator - (DOWNLOAD: Wind Track Creator)

*How It Works:*

*1.* Play your movie via MPC-BE / MPC-HC / KODI (If using MPC-BE you can right click the time stamp in the bottom right and enable a higher precision mode to see down to the ms. Example: 01:30:05:150)











*2.* Start Wind Track Creator











*3.* Scan through the movie with your mouse and/or keyboard shortcuts looking for scenes that the 4D Wind effect would work. 
(Pro Tip: Enable forward and Backward frame skipping to get to the precise frame you want the time code down to the millisecond)

Use Numpad or the provided Menu buttons to time stamp that frame with a fan command into the Wind Track Creator.

Numpad 0 = OFF
Numpad 5 = ECO
Numpad 1 = LOW
Numpad 4 = MED
Numpad 7 = HIGH

*4.* Near the top of the Wind Track Creator there is a comment section that should be filled out:

Movie Name (Year)
Source (Length)
Coded by: User Name

Example: 4K Ultra HD Blu-ray

Jaws (1975)
4K Ultra HD Blu-ray (02:03:56)
Coded by: SOWK

Example: Blu-ray

Crawl (2019)
Blu-ray (01:27:32)
Coded by: SOWK

*5.* Once finished, click Save File in Wind Track Creator. It will save a .txt file with the same name as the movie you were playing in MPC-BE / MPC-HC / KODI.

*6.* Please post the .txt file in this thread and I will add it to the pastebin collection.


----------



## SOWK

*Movies with Fan Files:*

Download Wind Track Files


----------



## SOWK

*Seville Classics Black UltraSlimline 40" Oscillating Tower Fan - Beep Removal:*

Credit: @enovison

"Unplug unit first and modify at your own risk of damaging unit. Keep track of screws and take photos-makes it go much faster.

1. Back of unit- Remove 4 black screws (2 large and 2 small)- remove black plastic piece
View attachment 2728558


2. Top of hole you will find 3 silver screws- carefully remove
View attachment 2728556


3. Now you can pop off the black control top off and flip over. Carefully remove all 10 screws.
View attachment 2728554


4. Separate black cover to reveal circuit board- remove single silver screw in center- remove and flip over
View attachment 2728552


5. The round black disk that looks like a hockey puck is what makes the beeps. With a pair of pliers, CAREFULLY wiggle it off of the circuit board- make sure not to damage any adjacent circuitry. Alternatively you can desolder it- but a few shakes and it came right off
View attachment 2728550

View attachment 2728548


6. Then put everything back together and that's it! Check out attached video showing it fully functioning but now without the beeps."


----------



## SOWK

*Audio Sync Setup:*

*Under Development*


----------



## SOWK

Reserved 8


----------



## SOWK

*Enthusiast Fan Setups:*

*brazen1*









*enovison*









*SOWK*


----------



## SOWK

*Pictures:*

Initial Testing:









Building Fan Housing:









90% Finished Front: (Air Exhaust)









90% Finished Back: (Air Intake)









Finished Look:


























*Additional Information*

*Materials - Build Fan Housing:*

1. Menards 12" X 48" Sonotube
2. 3M Super 77 Multi-Purpose Spray Adhesive
3. Royalty 3 Velvet Fabric
4. FastCap Kaizen Tool Storage Foam - (Top Cap, Middle Support Brace, Double thick Bottom Cap to raise the Fan up)
5. Rust-Oleum Stops Rust 12 oz. Protective Enamel Flat Black Spray Paint - (Paint inside the sonotube)
6. Cowles Black Edge Trim, 18' - (For middle portion cutout edge protection)
7. Frost King E/O 3/8 in. x 10 ft. Foam Tape - (Internal foam ledge for middle brace and top plate to rest on)


----------



## enovison

@SirMaster loving the new version with all of the web controls. Downloading is much easier and renaming with one button click was a really smart addition.

Problem: I can load the web interface on my iPhone, but when I try to click the other tabs (settings, wjndtracks) it looks like it’s loading and defaults back to status tab. I can’t get into the other tabs. Anyone else having this issue?

EDIT: @SirMaster I see the issue but don’t know how to fix it. When I sign into the web control i direct to my iPaddress:5500 and that works fine but when I click on any of the tabs it changes the iPaddress to a bunch of numbers that aren’t actually my IP address so nothing happens. If I manually input myIPaddress:5500/settings.html for example then I get to the right page. Thoughts?


Sent from my iPhone using Tapatalk


----------



## kdawg2391044

@SirMaster a few things I have noticed right off the bat when testing the app out for new functionality (havent tried the control with a movie yet but I am sure that it works great)


SpindownOffset has been removed from Beta3 version - was there a reason for this? How does this affect the functionality of the fan control?
Missing tab for the new Windtrack functionality when you click on Settings tab
Love the ability to rename a windtrack to the currently playing movie - I use a different naming convention so was manually renaming the files so this saves a little bit of time
The new format for windtracks to include the metadata is helpful information to ensure you have the right version of the movie to the track
Next command timestamp codes remains after pausing the video instead of resetting to beginning of file which is awesome
Reload wind track button works and is a great addition
You fixed the formatting issues on Settings page which caused the text to get squashed
In Windtrack management page, I was a little confused about what the Download button will do - from what I was able to gather, it seems like this sets the windtrack that you select to the current playing movie which would be useful when your windtrack file doesnt match exactly to the playing movie. However, to me Download seems to be the wrong verb to use since I thought that meant downloading the file to your local machine (which also doesnt make sense since its already on your PC). Maybe call it "Load Windtrack"?
I havent really used Pastebin before, but does it make more sense to move this to git for better version control? As @Enovision stated, for long term state, it would be awesome if it worked similar to BEQDesigner and can pull from git to sync up the library of windtracks. I know that will take quite some time to get to, but that would make it very easy to use for non-tech savvy folks.


----------



## kdawg2391044

enovison said:


> @SirMaster loving the new version with all of the web controls. Downloading is much easier and renaming with one button click was a really smart addition.
> 
> Problem: I can load the web interface on my iPhone, but when I try to click the other tabs (settings, wjndtracks) it looks like it’s loading and defaults back to status tab. I can’t get into the other tabs. Anyone else having this issue?
> 
> 
> Sent from my iPhone using Tapatalk


I am not noticing this behavior but I am using a Pixel 2 XL on Chrome. It works the same as on the PC that I am running on. From my testing, the Status page auto refreshes every 1-2 seconds but the other pages dont have that behavior.


----------



## SOWK

@kdawg2391044 @enovison

Please look at post #4 to help dial the fans in even more.


----------



## SirMaster

enovison said:


> Can’t wait to try this later today! Will report back. This post also got me excited for the prospect of running this on a raspberry pi! Do you think this will be possible soon? Maybe I’ll order a couple.
> 
> Had a suggestion for a feature:
> 
> - on Dbox, motion tracks for movies get automatically pushed to our D-BOX control units. Would there be any way to have new wind tracks auto downloaded to our windtracks folder as they get added by SOWK? Not sure if this could even be done.


I don't see how this would be possible because in order to automatically load a wind track, I need to know which text file matches which playing movie. But people name their movies slightly differently, so it wouldn't be easy. I only match on exact file names because doing a fuzzy match on the words is quite difficult and still not guaranteed to find a match. Plus it gets worse as the library of wind tracks gets bigger.

So even if I automatically downloaded all the new wind tracks to their local wind track folder, they would still have to tell the app which movie to "assign" each track to. That's what you can do in the "Manage" tab already. But the "Download" tab lists all the movies that are online in the pastebin, so the user is doing this process already. They can open a movie in their player and pause it, and then go to the online wind track list and download a track if one exists for that movie, with will download it to their local wind track storage and name the file to match their loaded movie.

If they want to download them ahead of time they can do so, and it simply names them how SOWK names the files in pastebin, and the user will have to use the rename button in manage to connect it to their movie if their file name is different.

One way or another, the user is going to have to get their wind track file names to match their movie file names, and that happens seamlessly when they download new tracks now. Auto downloading the tracks requires the same amount of work to "rename" the files they already downloaded so they then match.



enovison said:


> @SirMaster loving the new version with all of the web controls. Downloading is much easier and renaming with one button click was a really smart addition.
> 
> Problem: I can load the web interface on my iPhone, but when I try to click the other tabs (settings, wjndtracks) it looks like it’s loading and defaults back to status tab. I can’t get into the other tabs. Anyone else having this issue?
> 
> EDIT: @SirMaster I see the issue but don’t know how to fix it. When I sign into the web control i direct to my iPaddress:5500 and that works fine but when I click on any of the tabs it changes the iPaddress to a bunch of numbers that aren’t actually my IP address so nothing happens. If I manually input myIPaddress:5500/settings.html for example then I get to the right page. Thoughts?


Part of this I think is you are clicking a tab while the status tab is automatically reloading (every 3 seconds), which sends you back to the status tab as it completes its reload. I can fix this by doing the reload a different way that doesn't cause the browser to look like it's reloading the whole page.

As far the IP address issue. Right now my program has to know the IP address of your PC in order to generate the web pages correctly. What must be happening is your PC has multiple IP addresses, and ones that aren't active on your LAN probably caused by having some virtual network adapters installed like for a VPN connection or virtual machine software or something similar.

I think I can maybe change the web links to use relative paths which should keep using the IP that you load the page from initially. Or I can look at finding a way to pull the "correct" IP from your computer that will work on your LAN and ignore the other non-functioning ones.


----------



## SirMaster

kdawg2391044 said:


> @SirMaster a few things I have noticed right off the bat when testing the app out for new functionality (havent tried the control with a movie yet but I am sure that it works great)
> 
> 
> SpindownOffset has been removed from Beta3 version - was there a reason for this? How does this affect the functionality of the fan control?
> Missing tab for the new Windtrack functionality when you click on Settings tab
> Love the ability to rename a windtrack to the currently playing movie - I use a different naming convention so was manually renaming the files so this saves a little bit of time
> The new format for windtracks to include the metadata is helpful information to ensure you have the right version of the movie to the track
> Next command timestamp codes remains after pausing the video instead of resetting to beginning of file which is awesome
> Reload wind track button works and is a great addition
> You fixed the formatting issues on Settings page which caused the text to get squashed
> In Windtrack management page, I was a little confused about what the Download button will do - from what I was able to gather, it seems like this sets the windtrack that you select to the current playing movie which would be useful when your windtrack file doesnt match exactly to the playing movie. However, to me Download seems to be the wrong verb to use since I thought that meant downloading the file to your local machine (which also doesnt make sense since its already on your PC). Maybe call it "Load Windtrack"?
> I havent really used Pastebin before, but does it make more sense to move this to git for better version control? As @Enovision stated, for long term state, it would be awesome if it worked similar to BEQDesigner and can pull from git to sync up the library of windtracks. I know that will take quite some time to get to, but that would make it very easy to use for non-tech savvy folks.


SpindownOffset was actually removed almost immediately in Beta 2 and I basically treated it like it never existed. It was determined almost immediately that it was not necessary to get good calibration and sync from the fans. It shouldn't affect anything being removed. (you can remove it from your settings file if you want, it's not being used). See post #4 for helping dial in your fan timings with the GlobalOffset and SpinupOffset alone.

I intentionally left the wind track tab off when you are in settings as I was trying to cut down on tabs since I will be adding more and want to leave as much room as possible. I guess I can include it. But I thought it's similar to how when you are in wind tracks, the settings tab is also gone to make more room for the manage and download tabs, plus I will be adding more tabs there too.

The download page lists wind tracks from SOWK's pastebin. So any new wind tracks that have been added there will show up under the download tab. The point of the download tab is to download these new wind tracks that you don't already have stored in your local folder. Downloading one will automatically name the file to match your currently playing movie. Or if no movie is playing, it will name them the name SOWK gave it on pastebin.

The manage tab lists files that are already on your local PC in your windtrack folder. The download tab lists and pulls files that are on the online pastebin. Manage tab is meant for deleting and renaming txt files you already have. Download tab is meant for downloading new txt files that you don't have yet.

If you download them all, then both lists will look the same, until SOWK adds another to the pastebin. Or if you delete some of your local ones, or when you download while a movie is playing or use the rename feature, your local list (manage) will have file names that match your movie files, while the download tab names are always just the names SOWK sets on the pastebin.

I have considered moving the wind track database to github and I may very well do this in the future. However, there will be no way to just automatically update your wind tracks fropm github, because the txt filenames on github wont match your local txt files which must match your movie names in order for the program to know to load them for a movie.

Sure, if you renamed all your local movie files to match the wind track names on pastebin or github, then you could mass auto update them all and they would still work and load with your movies, but I don't think that most people are going to rename all their movie files in their movie library. This would mess with their media library like in Kodi and would reset their watched status.

I hadn't really thought about people editing existing wind tracks. If this is going to happen, maybe we need to add a version number into the wind track files in a "#" line up top. I could display this version number in the downloads tab, and you could sort of compare this version number to your local copy in the manage tab. So you would know if you need to download the new version of the wind track which would overwrite your existing local one with the new version.


----------



## enovison

SirMaster said:


> I don't see how this would be possible because in order to automatically load a wind track, I need to know which text file matches which playing movie. But people name their movies slightly differently, so it wouldn't be easy. I only match on exact file names because doing a fuzzy match on the words is quite difficult and still not guaranteed to find a match. Plus it gets worse as the library of wind tracks gets bigger.
> 
> 
> 
> So even if I automatically downloaded all the new wind tracks to their local wind track folder, they would still have to tell the app which movie to "assign" each track to. That's what you can do in the "Manage" tab already. But the "Download" tab lists all the movies that are online in the pastebin, so the user is doing this process already. They can open a movie in their player and pause it, and then go to the online wind track list and download a track if one exists for that movie, with will download it to their local wind track storage and name the file to match their loaded movie.
> 
> 
> 
> If they want to download them ahead of time they can do so, and it simply names them how SOWK names the files in pastebin, and the user will have to use the rename button in manage to connect it to their movie if their file name is different.
> 
> 
> 
> One way or another, the user is going to have to get their wind track file names to match their movie file names, and that happens seamlessly when they download new tracks now. Auto downloading the tracks requires the same amount of work to "rename" the files they already downloaded so they then match.
> 
> 
> 
> 
> 
> 
> 
> Part of this I think is you are clicking a tab while the status tab is automatically reloading (every 3 seconds), which sends you back to the status tab as it completes its reload. I can fix this by doing the reload a different way that doesn't cause the browser to look like it's reloading the whole page.
> 
> 
> 
> As far the IP address issue. Right now my program has to know the IP address of your PC in order to generate the web pages correctly. What must be happening is your PC has multiple IP addresses, and ones that aren't active on your LAN probably caused by having some virtual network adapters installed like for a VPN connection or virtual machine software or something similar.
> 
> 
> 
> I think I can maybe change the web links to use relative paths which should keep using the IP that you load the page from initially. Or I can look at finding a way to pull the "correct" IP from your computer that will work on your LAN and ignore the other non-functioning ones.




-That makes sense for the IP address as I am in fact running a vpn. Look forward to seeing what solutions you come up with!

- I agree with your assessment of the auto downloading recommendation. I actually wrote this before checking out the new version. All of those issues were addressed. I suppose the only solution to any user legwork would be if it could listen to the movie and know the movie and timestamp similar to Dbox. I imagine that would be no easy task and prob far off in the future.

Btw, don’t get me wrong, it’s working great and Like you said I already can see the groundwork being set for using a headless processor like raspberry pi 



Sent from my iPhone using Tapatalk


----------



## SirMaster

enovison said:


> -That makes sense for the IP address as I am in fact running a vpn. Look forward to seeing what solutions you come up with!
> 
> - I agree with your assessment of the auto downloading recommendation. I actually wrote this before checking out the new version. All of those issues were addressed. I suppose the only solution to any user legwork would be if it could listen to the movie and know the movie and timestamp similar to Dbox. I imagine that would be no easy task and prob far off in the future.
> 
> Btw, don’t get me wrong, it’s working great and Like you said I already can see the groundwork being set for using a headless processor like raspberry pi


I am actually planning an audio sync method to sync from a microphone in the room connected to the computer or pi. This will expand the user base to many more people as they will be able to use any movie source, like disc players and even streaming services.

This is also why using a ras pi will be so important as these disc player and stream box users wont have a windows PC anywhere near their theater.

However, there is another challenge potentially preventing the full automatic movie loading even when using audio, and that is that the database for doing audio matching is not small. Something like 100MB per movie.

And given the spirit of this project, I want to try to keep it cheap, and a ras pi is cheap, but it's not some super fast processor. If I wanted fully automated audio matching, I would need the user to have every 100MB audio fingerprint database entry downloaded ahead of time stored on their ras pi. And second, the pi needs to be able to process this audio and perform the database search. This works significantly faster if the database can be stored in RAM rather than on disk like the SD card. But you can't store so many audio matching database movie records in the limited RAM in a ras pi.

So even with audio matching, it's likely the user will need to open the phone app and pick which movie they are about to watch, so the software can load just that database record from SD card into RAM. This will make the time code lookup (sync) for just that movie more accurate and significantly faster on the limited processing power of a Pi. I don't think it's too much to ask that a user pull out their phone and select the movie they are watching on it. It only takes a few seconds.

I don't know if the audio sync will actually ever work, but I will certainyl try.

If I can't get it to work, I will probably try to add other sync methods like Plex, so people can play their movies on any Plex client (roku, appletv, fire stick, smart tv app, etc) and sync via that as well so they aren't limited to basically Kodi on a Shield.

The ras pi compatible build of this software is coming very soon. However I am a bit of a ways away from knowing exactly which Pi will work best for the audio lookup method (if it ever works). If that is something you want to future proof yourself for, then I would have to say you should buy the 8GB Pi 4 just to be safe. (They are $20 more than the 4GB model). I don't know if the 4GB Pi 4 will be sufficient for audio matching until I can actually write that code and do testing on it.

Otherwise, for the current MPC / Kodi / (maybe layer Plex) media player sync method I will be supporting any Pi 3 and Pi 4.


----------



## enovison

SirMaster said:


> I am actually planning an audio sync method to sync from a microphone in the room connected to the computer or pi. This will expand the user base to many more people as they will be able to use any movie source, like disc players and even streaming services.
> 
> 
> 
> This is also why using a ras pi will be so important as these disc player and stream box users wont have a windows PC anywhere near their theater.
> 
> 
> 
> However, there is another challenge potentially preventing the full automatic movie loading even when using audio, and that is that the database for doing audio matching is not small. Something like 100MB per movie.
> 
> 
> 
> And given the spirit of this project, I want to try to keep it cheap, and a ras pi is cheap, but it's not some super fast processor. If I wanted fully automated audio matching, I would need the user to have every 100MB audio fingerprint database entry downloaded ahead of time stored on their ras pi. And second, the pi needs to be able to process this audio and perform the database search. This works significantly faster if the database can be stored in RAM rather than on disk like the SD card. But you can't store so many audio matching database movie records in the limited RAM in a ras pi.
> 
> 
> 
> So even with audio matching, it's likely the user will need to open the phone app and pick which movie they are about to watch, so the software can load just that database record from SD card into RAM. This will make the time code lookup (sync) for just that movie more accurate and significantly faster on the limited processing power of a Pi. I don't think it's too much to ask that a user pull out their phone and select the movie they are watching on it. It only takes a few seconds.
> 
> 
> 
> I don't know if the audio sync will actually ever work, but I will certainyl try.
> 
> 
> 
> If I can't get it to work, I will probably try to add other sync methods like Plex, so people can play their movies on any Plex client (roku, appletv, fire stick, smart tv app, etc) and sync via that as well so they aren't limited to basically Kodi on a Shield.
> 
> 
> 
> The ras pi compatible build of this software is coming very soon. However I am a bit of a ways away from knowing exactly which Pi will work best for the audio lookup method (if it ever works). If that is something you want to future proof yourself for, then I would have to say you should buy the 8GB Pi 4 just to be safe. (They are $20 more than the 4GB model). I don't know if the 4GB Pi 4 will be sufficient for audio matching until I can actually write that code and do testing on it.
> 
> 
> 
> Otherwise, for the current MPC / Kodi / (maybe layer Plex) media player sync method I will be supporting any Pi 3 and Pi 4.




Sounds great thanks. I don’t think I realized you can watch Apple TV content through plex. I’ll have to look into that. 


Sent from my iPhone using Tapatalk


----------



## SirMaster

enovison said:


> Sounds great thanks. I don’t think I realized you can watch Apple TV content through plex. I’ll have to look into that.


I meant Plex player client on an appletv for playing your local media.

If I support Plex for syncing time codes, it still needs to be movies in your local library. It just means you wont be limited to players that support Kodi, which is basically only a Shield or a hacked Amazon Fire TV.

Streaming services wont have the same time codes if I could even pull a time code from a streaming service movie.

Streaming source only works if I sync via audio.


----------



## enovison

SirMaster said:


> I meant Plex player client on an appletv for playing your local media.
> 
> 
> 
> If I support Plex for syncing time codes, it still needs to be movies in your local library. It just means you wont be limited to players that support Kodi, which is basically only a Shield or a hacked Amazon Fire TV.
> 
> 
> 
> Streaming services wont have the same time codes if I could even pull a time code from a streaming service movie.
> 
> 
> 
> Streaming source only works if I sync via audio.




Gotya. Do you think the iguana IR blaster that we’ve been using will work on a raspberry pi via USB PORT?


Sent from my iPhone using Tapatalk


----------



## SirMaster

enovison said:


> Gotya. Do you think the iguana IR blaster that we’ve been using will work on a raspberry pi via USB PORT?


Yes it does work. Everything will work the same from a Pi as it does on Windows.

But there will be a lot less configuration. I am planning on providing a full SD card image that just works the first time you boot it. No need to ever connect it to a display or anything.


----------



## kdawg2391044

SirMaster said:


> SpindownOffset was actually removed almost immediately in Beta 2 and I basically treated it like it never existed. It was determined almost immediately that it was not necessary to get good calibration and sync from the fans. It shouldn't affect anything being removed. (you can remove it from your settings file if you want, it's not being used). See post #4 for helping dial in your fan timings with the GlobalOffset and SpinupOffset alone.
> 
> I intentionally left the wind track tab off when you are in settings as I was trying to cut down on tabs since I will be adding more and want to leave as much room as possible. I guess I can include it. But I thought it's similar to how when you are in wind tracks, the settings tab is also gone to make more room for the manage and download tabs, plus I will be adding more tabs there too.
> 
> The download page lists wind tracks from SOWK's pastebin. So any new wind tracks that have been added there will show up under the download tab. The point of the download tab is to download these new wind tracks that you don't already have stored in your local folder. Downloading one will automatically name the file to match your currently playing movie. Or if no movie is playing, it will name them the name SOWK gave it on pastebin.
> 
> The manage tab lists files that are already on your local PC in your windtrack folder. The download tab lists and pulls files that are on the online pastebin. Manage tab is meant for deleting and renaming txt files you already have. Download tab is meant for downloading new txt files that you don't have yet.
> 
> If you download them all, then both lists will look the same, until SOWK adds another to the pastebin. Or if you delete some of your local ones, or when you download while a movie is playing or use the rename feature, your local list (manage) will have file names that match your movie files, while the download tab names are always just the names SOWK sets on the pastebin.
> 
> I have considered moving the wind track database to github and I may very well do this in the future. However, there will be no way to just automatically update your wind tracks fropm github, because the txt filenames on github wont match your local txt files which must match your movie names in order for the program to know to load them for a movie.
> 
> Sure, if you renamed all your local movie files to match the wind track names on pastebin or github, then you could mass auto update them all and they would still work and load with your movies, but I don't think that most people are going to rename all their movie files in their movie library. This would mess with their media library like in Kodi and would reset their watched status.
> 
> I hadn't really thought about people editing existing wind tracks. If this is going to happen, maybe we need to add a version number into the wind track files in a "#" line up top. I could display this version number in the downloads tab, and you could sort of compare this version number to your local copy in the manage tab. So you would know if you need to download the new version of the wind track which would overwrite your existing local one with the new version.


Man, I feel like an idiot because I totally didnt even realize that there was a Manage and Download section for the Windtracks. That is really awesome and pretty much answers any questions I had previously. I thought it was weird that some of the windtrack titles were properly labeled with punctuation and it is because it was SOWK's pastebin and not my own library  As for the github comments, yeah I see what you mean by it not working right since the titles need to match up to the files since its doing a 1:1 comparison. However, maybe as a potential solution, you can run a checksum of each Windtrack in SOWK's pastebin and save the result to local disk (or if pastebin has this functionality in an API so that it can be cached easily vs downloading and computing on the fly). Then compare checksums to the windtracks on local disk since renaming a file should not change the checksum (I am not an expert on git so dont know if it already can account for this). This would be a poor mans git repository and would probably satisfy 90% of use cases I would think. Maybe have a way to manually pull a fresh list from pastebin so that its not constantly doing it and recalculating checksums (although probably wont save that much CPU time at least right now since the files and library are small). I agree about adding version number to the track though since that would at least let you know if something was updated (which could happen for a specific scene that needs to be tweaked and would be hard to notice). By adding the version number, you could probably do away with the checksum calculation to keep the code simple and then it would be relying on the pastbin files to be properly updated with the proper metadata. If you were to do a compare with the online version and offline version, I guess it would look similar to how git handles conflicts but that is all stuff that can come later. As for the missing tabs, I thought of it as a webpage header so when the different tabs disappeared, it seemed like a bug, but I see what you mean by keeping it uncluttered, especially if more tabs/functions will be added in future and the intention is to keep it mobile friendly. If there are a lot of tabs for future state, it may make more sense to move it to a menu UI with a hamburger button to select the function you want to use. 

So if I understand correctly, the workflow to get a new windtrack that you dont have on your PC is to do the following:


Start the movie you want to watch to preload it into Controller app
Go to Downloads and list windtracks from SOWK's pastebin, 
Select new windtrack that you dont have and click Download button
Then click on Manage tab
Select new windtrack and then click "Rename Wind Track"
Click on Status, and now everything is ready to go


----------



## SirMaster

kdawg2391044 said:


> Man, I feel like an idiot because I totally didnt even realize that there was a Manage and Download section for the Windtracks. That is really awesome and pretty much answers any questions I had previously. I thought it was weird that some of the windtrack titles were properly labeled with punctuation and it is because it was SOWK's pastebin and not my own library  As for the github comments, yeah I see what you mean by it not working right since the titles need to match up to the files since its doing a 1:1 comparison. However, maybe as a potential solution, you can run a checksum of each Windtrack in SOWK's pastebin and save the result to local disk (or if pastebin has this functionality in an API so that it can be cached easily vs downloading and computing on the fly). Then compare checksums to the windtracks on local disk since renaming a file should not change the checksum (I am not an expert on git so dont know if it already can account for this). This would be a poor mans git repository and would probably satisfy 90% of use cases I would think. Maybe have a way to manually pull a fresh list from pastebin so that its not constantly doing it and recalculating checksums (although probably wont save that much CPU time at least right now since the files and library are small). I agree about adding version number to the track though since that would at least let you know if something was updated (which could happen for a specific scene that needs to be tweaked and would be hard to notice). By adding the version number, you could probably do away with the checksum calculation to keep the code simple and then it would be relying on the pastbin files to be properly updated with the proper metadata. If you were to do a compare with the online version and offline version, I guess it would look similar to how git handles conflicts but that is all stuff that can come later. As for the missing tabs, I thought of it as a webpage header so when the different tabs disappeared, it seemed like a bug, but I see what you mean by keeping it uncluttered, especially if more tabs/functions will be added in future and the intention is to keep it mobile friendly. If there are a lot of tabs for future state, it may make more sense to move it to a menu UI with a hamburger button to select the function you want to use.
> 
> So if I understand correctly, the workflow to get a new windtrack that you dont have on your PC is to do the following:
> 
> 
> Start the movie you want to watch to preload it into Controller app
> Go to Downloads and list windtracks from SOWK's pastebin,
> Select new windtrack that you dont have and click Download button
> Then click on Manage tab
> Select new windtrack and then click "Rename Wind Track"
> Click on Status, and now everything is ready to go


From your steps, step 4, 5, and 6 are unnecessary.

Download will store the wind track with the correct name if a movie is playing. You only need to do steps 4 and 5 if you download a wind track when a movie is not playing. Step 6 is never necessary as the buttons always automatically send you to the status page when they complete their work.

You just need steps 1, 2, 3 and that should be it. It should leave you on the status page with the file loaded and running.

Normal users will only have to do steps 1, 2, 3 for each new movie, and then after that they will be stored locally for if they play the movie again, and it will load automatically.

Then they can use the manage page if for some reason they want to delete a wind track or rename one if they have renamed their movie file.



As for the checksums for checking updates, well if the online wind track changes the contents, that would be a new checksum, but how do I know which file checksum to compare the checksum to in your local folder, because you have presumably renamed the file to match your movie filename.

I would need to keep somewhere every past checksum for every online wind track file version so that it can find which one of your local files looks like one of past online files in an earlier version. It's quite a lot of logic and checking and then having to upkeep a list of every checksum for each version of each wind track somewhere in the online database which would have to be manually updated by someone using the github. This also doesn't work very well when people start uploading their own files to a future public database of wind tracks.



As long as the functionality isn't too confusing. I will have a documentation file eventually to explain things like this which should hopefully help people understand what each section is for when they begin using it. Probably a help tab right in the app.


----------



## SOWK

Added: The Invisible Man (2020)

# The Invisible Man (2020)
# 4K Ultra HD Blu-ray (02:04:23)
# Coded by: SOWK


----------



## SOWK

Added: 2001 A Space Odyssey (1968)

# 2001 A Space Odyssey (1968)
# 4K Ultra HD Blu-ray (02:28:49)
# Coded by: SOWK


----------



## Stiltz

Which Wired IR Emitter should we purchase from IguanaWorks? (Homebuilt, SmartHome, or SmartHome Dual?)
Thanks for sharing this as I've been excited to set it up in my HT!


----------



## SOWK

Homebuilt


----------



## kdawg2391044

SOWK said:


> @kdawg2391044
> @enovison
> 
> Please look at post #4 to help dial the fans in even more.


Thanks @SOWK, with this, I can confirm that my settings were dialed in already but its a great asset for others who haven't gotten to that point yet. The way I was doing it was much less elegant - in WinLIRC, I send the command for High from Off and counted the time it took to reach my MLP and took an average of a few trials. This gives me the global offset plus spinup offset. Then to get spinup offset, I just stood immediately in front of the fan and turn it on and timed how long it took for the fan to start blowing. Then I just subtracted that spinup offset from the previous result to get global offset. 



SirMaster said:


> From your steps, step 4, 5, and 6 are unnecessary.
> 
> Download will store the wind track with the correct name if a movie is playing. You only need to do steps 4 and 5 if you download a wind track when a movie is not playing. Step 6 is never necessary as the buttons always automatically send you to the status page when they complete their work.
> 
> You just need steps 1, 2, 3 and that should be it. It should leave you on the status page with the file loaded and running.
> 
> Normal users will only have to do steps 1, 2, 3 for each new movie, and then after that they will be stored locally for if they play the movie again, and it will load automatically.
> 
> Then they can use the manage page if for some reason they want to delete a wind track or rename one if they have renamed their movie file.
> 
> 
> 
> As for the checksums for checking updates, well if the online wind track changes the contents, that would be a new checksum, but how do I know which file checksum to compare the checksum to in your local folder, because you have presumably renamed the file to match your movie filename.
> 
> I would need to keep somewhere every past checksum for every online wind track file version so that it can find which one of your local files looks like one of past online files in an earlier version. It's quite a lot of logic and checking and then having to upkeep a list of every checksum for each version of each wind track somewhere in the online database which would have to be manually updated by someone using the github. This also doesn't work very well when people start uploading their own files to a future public database of wind tracks.
> 
> 
> 
> As long as the functionality isn't too confusing. I will have a documentation file eventually to explain things like this which should hopefully help people understand what each section is for when they begin using it. Probably a help tab right in the app.


Thanks for clarifying the Download functionality. it also makes sense about what you were saying about checksums, I guess I wasnt thinking about how you would match up the text files themselves. I suppose for this to work, you would need to create a database and do some sort of manual mapping between online version/filename with your offline copy and reference that when doing comparisons (with initial attempt to do some fuzzy logic to match closest results) but this adds a lot of complexity to the app. If I am understanding what you were saying about the sound matching capability using a mic, you would need to download a sound file for each new movie that would be 100's of MB big each? That does sound computationally expensive and less likely to run well on a pi without introducing some sort of latency into the system. With Plex integration, it sounds like maybe that would be using the webhooks capability?


----------



## SirMaster

kdawg2391044 said:


> Thanks @SOWK, with this, I can confirm that my settings were dialed in already but its a great asset for others who haven't gotten to that point yet. The way I was doing it was much less elegant - in WinLIRC, I send the command for High from Off and counted the time it took to reach my MLP and took an average of a few trials. This gives me the global offset plus spinup offset. Then to get spinup offset, I just stood immediately in front of the fan and turn it on and timed how long it took for the fan to start blowing. Then I just subtracted that spinup offset from the previous result to get global offset.
> 
> 
> 
> Thanks for clarifying the Download functionality. it also makes sense about what you were saying about checksums, I guess I wasnt thinking about how you would match up the text files themselves. I suppose for this to work, you would need to create a database and do some sort of manual mapping between online version/filename with your offline copy and reference that when doing comparisons (with initial attempt to do some fuzzy logic to match closest results) but this adds a lot of complexity to the app. If I am understanding what you were saying about the sound matching capability using a mic, you would need to download a sound file for each new movie that would be 100's of MB big each? That does sound computationally expensive and less likely to run well on a pi without introducing some sort of latency into the system. With Plex integration, it sounds like maybe that would be using the webhooks capability?


For Plex, they have an API that I can get the current time code and file name from, just like I get from MPC and Kodi. But their API confuses me so I have not figured it out quite yet.

For the audio processing on a Pi. I am actually not that concerned about performance especially if I design it in a good way.

My design will likely have an offline database of the audio fingerptints stored on the Pi's SD card. A cheap 64GB card could hold 600 movies worth! And the user would then manually pick their movie in the app, which would load a single 100MB database entry into the Pi's RAM where it would then get matched for position only, based on the input from the microphone. I would not need to search the whole multi-GB database on the SD card.


----------



## smoothtlk

interesting concept. Certainly the work is configuring the movie specific file.

Within a myServer ecosystem, there is already integration with multiple players that provide and update myServer on the current play position.
Then, myServer would have a Macro created that would fire at the certain play positions. That Macro would "turn on a relay for the fan" or "turn on that solenoid for that water droplets", or "turn on that light in the back of the room....for other 4D effects.

This kinds of reminds me of the LightORama controller for holiday lights where they dance with the music.

Neat idea.


----------



## enovison

SOWK said:


> Homebuilt


Frozen (2013) UPDATED


----------



## SirMaster

*HTFanControl Beta 4*

Relatively minor changes.

https://nicko88.com/misc/HTFan/HTFanControl_Beta4.zip

Notes:

Fixed IP address issues when PC has multiple IP addresses.
No longer open a web browser when launching.
Minor tweaks to status page.
Changed how status page refreshes and increased refresh rate to 1 second. (let's see how this performs)
Automatically refreshes "Loaded Movie: Name" on the wind track management pages.
Added a new page to "upload" a wind track file to your local windtrack folder. (I know this is trivial, but it will be crucial for RasPi users)
Some minor tweaks here and there to the code to help get ready for RasPi support.

As always, let me know if anything new or even old is broken as I sometimes change old code to make it cleaner or do something in a better way.


----------



## SOWK

enovison said:


> Frozen (2013) UPDATED


Updated Pastebin


----------



## feistyacorn

Hey Everyone! I stopped out to @SOWK theater last weekend and was able to experienced the fan project. We watched several demo clips and it's hard to imagine some of them without fans now!  The Crawl (2019) demo was one that really stood out. D-Box combined with the fans really took everything to the next level. It really sucked me into the clip and it felt entirely different from when we watched it without D-Box and the fans. @SirMaster did an awesome job with the software and it worked flawless! Overall I was super impressed! @SOWK already had a incredible theater and this just makes it that much more special. Great work guys!!!


----------



## enovison

SOWK said:


> Updated Pastebin


The Lion King (Live Action - 2019)


----------



## SOWK

Updated Pastebin


----------



## enovison

SOWK said:


> Updated Pastebin


Star Wars Episode VII - The Force Awakens (2015) UPDATED


----------



## SOWK

Updated Pastebin


----------



## SOWK

Added: Jurassic Park (1993)

# Jurassic Park (1993)
# 4K Ultra HD Blu-ray (02:06:28)
# Coded by: SOWK


----------



## enovison

SirMaster said:


> Relatively minor changes.
> 
> 
> 
> https://nicko88.com/misc/HTFan/HTFanControl_Beta4.zip
> 
> 
> 
> Notes:
> 
> 
> Fixed IP address issues when PC has multiple IP addresses.
> 
> No longer open a web browser when launching.
> 
> Minor tweaks to status page.
> 
> Changed how status page refreshes and increased refresh rate to 1 second. (let's see how this performs)
> 
> Automatically refreshes "Loaded Movie: Name" on the wind track management pages.
> 
> Added a new page to "upload" a wind track file to your local windtrack folder. (I know this is trivial, but it will be crucial for RasPi users)
> 
> Some minor tweaks here and there to the code to help get ready for RasPi support.
> 
> 
> 
> 
> As always, let me know if anything new or even old is broken as I sometimes change old code to make it cleaner or do something in a better way.




Just thought of an idea and thought I’d run it by you guys. D-BOX USED to have a feature where the chairs would move and shake based on the EQ/bass track -more similar to a buttkicker when motion tracks were unavailable for that particular movie. With that in mind, once the wind app is developed to recognize the audio, could this feature be added? Obviously it wont be nearly as good as an actual wind track, but maybe the fans responding to big action on screen like helicopters explosions etc would be a nice way to fill in the gap for those movies that don’t yet have wjndtracks. Thoughts?


Sent from my iPhone using Tapatalk


----------



## SirMaster

enovison said:


> Just thought of an idea and thought I’d run it by you guys. D-BOX USED to have a feature where the chairs would move and shake based on the EQ/bass track -more similar to a buttkicker when motion tracks were unavailable for that particular movie. With that in mind, once the wind app is developed to recognize the audio, could this feature be added? Obviously it wont be nearly as good as an actual wind track, but maybe the fans responding to big action on screen like helicopters explosions etc would be a nice way to fill in the gap for those movies that don’t yet have wjndtracks. Thoughts?


I am not sure how exactly you would propose we do that.

Are you saying to just use the microphone to measure the frequency and amplitude of the sound and then set different fan speeds from that? It would have nothing to do with the audio sync if that's case. I have no clue how to measure the frequency and amplitude from a mic in .NET at least at this point. Would it just set the speed based on the volume of the sound? Or take into account the frequency range of the sound too? Sounds really complicated.

I mean how would it make any sense to the movie or distinguish between anything?

An explosion is loud and low frequency, but so it a rock song.


----------



## enovison

SirMaster said:


> I am not sure how exactly you would propose we do that.
> 
> 
> 
> Are you saying to just use the microphone to measure the frequency and amplitude of the sound and then set different fan speeds from that? It would have nothing to do with the audio sync if that's case. I have no clue how to measure the frequency and amplitude from a mic in .NET at least at this point. Would it just set the speed based on the volume of the sound? Or take into account the frequency range of the sound too? Sounds really complicated.
> 
> 
> 
> I mean how would it make any sense to the movie or distinguish between anything?
> 
> 
> 
> An explosion is loud and low frequency, but so it a rock song.




Yea taking into account the amplitude and frequency via microphone to turn fan and off- perhaps in this mode it’s an all or nothing thing. At a certain threshold it turns on high and below that threshold off.

As for the how- that I don’t know ha. Maybe someone more knowledgeable than me on the topic could offer some insight. 


Sent from my iPhone using Tapatalk


----------



## SirMaster

enovison said:


> Yea taking into account the amplitude and frequency via microphone to turn fan and off- perhaps in this mode it’s an all or nothing thing. At a certain threshold it turns on high and below that threshold off.
> 
> As for the how- that I don’t know ha. Maybe someone more knowledgeable than me on the topic could offer some insight.


I mean, I would have to find some sound analysis library for .NET that could give a spectrum analyzer.

But amplitude is like the height, and frequency is left to right looking like this.










Even if I could get that I don't know how I would decide at what point to start and stop the fan or use different speeds either.

Sure, above a certain amplitude, but at what frequencies, just below a certain frequency?


----------



## SOWK

It’s what some are currently doing in the other thread.

Just turns on based on LFE at certain ranges.

Think of it as just an extension to the bass. Unfortunately it will have a large delay but it is what it is. And may not match at all to what is on screen.


----------



## enovison

SOWK said:


> It’s what some are currently doing in the other thread.
> 
> 
> 
> Just turns on based on LFE at certain ranges.
> 
> 
> 
> Think of it as just an extension to the bass. Unfortunately it will have a large delay but it is what it is. And may not match at all to what is on screen.




For sure- it’s like comparing D-BOX to buttkickers- no comparison. I don’t think it’s worth it if super complicated- but if it could be done it could be a nice backup for those movies without wjndtracks but still want some 4d. Again, just an idea- no pressure at all


Sent from my iPhone using Tapatalk


----------



## enovison

SOWK said:


> It’s what some are currently doing in the other thread.
> 
> Just turns on based on LFE at certain ranges.
> 
> Think of it as just an extension to the bass. Unfortunately it will have a large delay but it is what it is. And may not match at all to what is on screen.


Fast and Furious Presents Hobbs and Shaw (2019)


----------



## SirMaster

*HTFanControl Beta 5*

https://nicko88.com/misc/HTFan/HTFanControl_Beta5.zip

Notes:

Fixed issue that could cause program to crash on startup on some computers.


All other changes for Beta 5 were just code changes for getting the app in working order for RasPi.


Added transmitter channel selection. (for RasPi)
Added WiFi settings. (for RasPi)

I figured I would still make a new build because of the fixed possible startup crash issue on some computers.
Also a good amount of code was changed in Beta 5 in order to fully accommodate a RasPi and so I would like everyone to use Beta 5 so I that I still know nothing broke and that everything remains working smoothly.

Technically the app is ready for it's first RasPi release, but I still have a couple logistics about how I exactly plan on distributing the RasPi build.

My plan is to build a fresh Ubuntu 20.04 RasPi image and get everything needed all set up and configured on the SD card, and then make an image of the SD card.
That way I can just distribute the SD card image, someone with a RasPi can just download the image, flash it onto their SD card, stick the card in the RasPi, boot it up and be up and running. All they need to do is find the IP address of their RasPi on a wired connection, then they can open the web page of my program and enter in WiFi credentials to switch to WiFi if they want.

I have not built this image yet and I may not get to it until next week as I will be gone this weekend and I don't know if I will have enough time to get everything set up perfectly in the remaining time this week.

Once you have this image and working on a RasPi, I will have a simple app update method that I will detail later.


----------



## kdawg2391044

SirMaster said:


> https://nicko88.com/misc/HTFan/HTFanControl_Beta5.zip
> 
> Notes:
> 
> Fixed issue that could cause program to crash on startup on some computers.
> 
> 
> All other changes for Beta 5 were just code changes for getting the app in working order for RasPi.
> 
> 
> Added transmitter channel selection. (for RasPi)
> Added WiFi settings. (for RasPi)
> 
> I figured I would still make a new build because of the fixed possible startup crash issue on some computers.
> Also a good amount of code was changed in Beta 5 in order to fully accommodate a RasPi and so I would like everyone to use Beta 5 so I that I still know nothing broke and that everything remains working smoothly.
> 
> Technically the app is ready for it's first RasPi release, but I still have a couple logistics about how I exactly plan on distributing the RasPi build.
> 
> My plan is to build a fresh Ubuntu 20.04 RasPi image and get everything needed all set up and configured on the SD card, and then make an image of the SD card.
> That way I can just distribute the SD card image, someone with a RasPi can just download the image, flash it onto their SD card, stick the card in the RasPi, boot it up and be up and running. All they need to do is find the IP address of their RasPi on a wired connection, then they can open the web page of my program and enter in WiFi credentials to switch to WiFi if they want.
> 
> I have not built this image yet and I may not get to it until next week as I will be gone this weekend and I don't know if I will have enough time to get everything set up perfectly in the remaining time this week.
> 
> Once you have this image and working on a RasPi, I will have a simple app update method that I will detail later.


Thanks @SirMaster. Will give a whirl later today if I can. I was noticing that Beta4 kept crashing on me because when I went to reload the windtrack after making tweaks in the creator app, the webpage would show a page not found and I realized the app crashed (no error messages or stack trace). Hopefully that is what you were addressing in Beta5. It seemed like it was consistently crashing when I used Chrome and pressed the Reload Windtrack button and in Edge, it would work a few times and then after 5-10 mins, I realized that the app had crashed. I also have a RasPi 3 that I could use to test with, although its currently running OctoPi for my 3d printer, which has been sitting idle for quite some time so I dont have any issues re purposing it temporarily.

@SOWK and @Enovision, man you guys are pumping out these movies really quick. I am probably overthinking it but I was trying to create a windtrack for Back to the Future and it just seemed really off and not appropriate for the scenes (beginning of the movie with MJF is skateboarding as an example and when delorean time travels for first time). I think ultimately for this movie, its going to have to be a way more subtle effect and I will go back and remove the skateboarding scenes because it just didnt fit with the movie. I was wondering if you guys had tips for your workflow in creating the tracks. I have been trying to play the movies at like 2x-4x in MPC and then when it gets to a scene that could be coded, I use the precision time controls to code it in. Then after doing a few scenes worth, I save the file and preview the draft using the actual fan and make tweaks as I see fit. With this, it takes me probably 30-45 mins just to code a few mins of runtime in a movie. Any tips or suggestions? I also dont have a photographic memory so for a lot of these movies, I havent seen in a long time (even though for BTTF I have seen tons of times, I dont remember the scene by scene flow to sort of preload in my mind the scenes that could be coded) so I have to essentially re-watch it in 2-4x.

On a side note, is there a proper way to mention someone? For some reason enovision keeps getting mapped to a different user "eno" and I have been having to go back to edit the post with the proper mention tag.


----------



## enovison

kdawg2391044 said:


> Thanks @SirMaster. Will give a whirl later today if I can. I was noticing that Beta4 kept crashing on me because when I went to reload the windtrack after making tweaks in the creator app, the webpage would show a page not found and I realized the app crashed (no error messages or stack trace). Hopefully that is what you were addressing in Beta5. It seemed like it was consistently crashing when I used Chrome and pressed the Reload Windtrack button and in Edge, it would work a few times and then after 5-10 mins, I realized that the app had crashed. I also have a RasPi 3 that I could use to test with, although its currently running OctoPi for my 3d printer, which has been sitting idle for quite some time so I dont have any issues re purposing it temporarily.
> 
> 
> 
> @SOWK and @Enovision, man you guys are pumping out these movies really quick. I am probably overthinking it but I was trying to create a windtrack for Back to the Future and it just seemed really off and not appropriate for the scenes (beginning of the movie with MJF is skateboarding as an example and when delorean time travels for first time). I think ultimately for this movie, its going to have to be a way more subtle effect and I will go back and remove the skateboarding scenes because it just didnt fit with the movie. I was wondering if you guys had tips for your workflow in creating the tracks. I have been trying to play the movies at like 2x-4x in MPC and then when it gets to a scene that could be coded, I use the precision time controls to code it in. Then after doing a few scenes worth, I save the file and preview the draft using the actual fan and make tweaks as I see fit. With this, it takes me probably 30-45 mins just to code a few mins of runtime in a movie. Any tips or suggestions? I also dont have a photographic memory so for a lot of these movies, I havent seen in a long time (even though for BTTF I have seen tons of times, I dont remember the scene by scene flow to sort of preload in my mind the scenes that could be coded) so I have to essentially re-watch it in 2-4x.
> 
> 
> 
> On a side note, is there a proper way to mention someone? For some reason enovision keeps getting mapped to a different user "eno" and I have been having to go back to edit the post with the proper mention tag.




It’s because you’re spelling my name wrong  it’s @enovison - no extra “i” 

My first movie took a while but now that I know how the fans respond and how they feel I can move more quickly. I skim through the movie quickly bypassing long dialog scenes or scenes where clearly no action is taking place. Once I get to an action scene I’ll go more slowly and look for key things- explosions, car chases, etc. I especially like to look for things that are whizzing on to the screen or off the screen because I think that gives a great effect. For example , I’ll have the wind come on just as a tie fighter is about to whiz by. For any short bursts of air I try my best to get 3-5 seconds of HIGH out of it. Any shorter than that and the effect is kinda lost. 

For car chases I try to adjust fan speed based on how fast they are going. I took @SOWK advice and during a car chase, If the camera goes inside a closed car I’ll drop to eco so that it’s easier to pop back up to high again. 

I think trying to get wind at every single opportunity will kill the effect- I think using it for those big moments adds a lot. Just my 2 cents 

I think Once you get the hang of it, testing after every scene can be eliminated. Once I’m done I watch the movie w the fans and spot check major scenes - make some tweaks and that’s it. Should probably take 45 min per movie. 

Let me know how I can help more!


Sent from my iPhone using Tapatalk


----------



## smoothtlk

SirMaster said:


> I mean, I would have to find some sound analysis library for .NET that could give a spectrum analyzer.
> 
> But amplitude is like the height, and frequency is left to right looking like this.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Even if I could get that I don't know how I would decide at what point to start and stop the fan or use different speeds either.
> 
> Sure, above a certain amplitude, but at what frequencies, just below a certain frequency?


With myServer, we developed (in .NET Core) a sound analyzer that then triggered DMX lights (for a swimming pool was first implementation). Then the lights "danced" with the music. Higher frequencies triggered different colors and groups of lights and "beat" triggered lights on / off. There were adjustments for sampling speed. DMX RGB lights were chosen for their speed of change. It is a neat effect, especially for a swimming pool / spa during parties.

But I am not seeing how that would be used for the wind for an accurate effect. I think it would loose its appropriateness.

As a thought, you might want in your authoring software / composer where you can trigger multiple possible effects ie: wind, light, vibration, water spray, etc. So the authoring is done once and can be used across different systems that have some / all of the 4D mechanical effects. I haven't looked at your authoring software yet, but might be a keyboard where you hit a letter at the appropriate time to document the desired effect at that time stamp point to compose the score. The "player" / automation controller would read the score on playback and trigger the desired effect.


----------



## kdawg2391044

enovison said:


> It’s because you’re spelling my name wrong  it’s @enovison - no extra “i”
> 
> My first movie took a while but now that I know how the fans respond and how they feel I can move more quickly. I skim through the movie quickly bypassing long dialog scenes or scenes where clearly no action is taking place. Once I get to an action scene I’ll go more slowly and look for key things- explosions, car chases, etc. I especially like to look for things that are whizzing on to the screen or off the screen because I think that gives a great effect. For example , I’ll have the wind come on just as a tie fighter is about to whiz by. For any short bursts of air I try my best to get 3-5 seconds of HIGH out of it. Any shorter than that and the effect is kinda lost.
> 
> For car chases I try to adjust fan speed based on how fast they are going. I took @SOWK advice and during a car chase, If the camera goes inside a closed car I’ll drop to eco so that it’s easier to pop back up to high again.
> 
> I think trying to get wind at every single opportunity will kill the effect- I think using it for those big moments adds a lot. Just my 2 cents
> 
> I think Once you get the hang of it, testing after every scene can be eliminated. Once I’m done I watch the movie w the fans and spot check major scenes - make some tweaks and that’s it. Should probably take 45 min per movie.
> 
> Let me know how I can help more!
> 
> 
> Sent from my iPhone using Tapatalk


DOH! My bad, I didnt even notice that lol. Thats all good advice, I am sure it will get easier with more movies created.


----------



## SirMaster

kdawg2391044 said:


> Thanks @SirMaster. Will give a whirl later today if I can. I was noticing that Beta4 kept crashing on me because when I went to reload the windtrack after making tweaks in the creator app, the webpage would show a page not found and I realized the app crashed (no error messages or stack trace). Hopefully that is what you were addressing in Beta5. It seemed like it was consistently crashing when I used Chrome and pressed the Reload Windtrack button and in Edge, it would work a few times and then after 5-10 mins, I realized that the app had crashed. I also have a RasPi 3 that I could use to test with, although its currently running OctoPi for my 3d printer, which has been sitting idle for quite some time so I dont have any issues re purposing it temporarily.


No, the only thing I changed in Beta 5 for Windows is some computers would crash when launching the program every time. This is certainly not your issue.

I didn't know you were crashing on Beta 4. All the error messages and stack traces for your crashes should be in your Windows event log. If you could, open the Event Viewer, and on the tree in the left drill down to Windows Logs -> Application. Then in the middle you should see the logs and can find the crashes. You can use the Filter Current Log... link on the right menu to filter to only Critical and Error to more easily find the crashes.

If you can't find them or something, I have also ninja-updated Beta 5 to dump the error and stack trace to a text file in the .exe's folder when it crashes.

So please re-download Beta 5 again and use that and send me any crash logs so I can fix the crashes, thanks!


If you want to test the RasPi when I release a build for that that would be cool. If you have a spare SD card it would be super easy to swap in.


----------



## kdawg2391044

SirMaster said:


> No, the only thing I changed in Beta 5 for Windows is some computers would crash when launching the program every time. This is certainly not your issue.
> 
> I didn't know you were crashing on Beta 4. All the error messages and stack traces for your crashes should be in your Windows event log. If you could, open the Event Viewer, and on the tree in the left drill down to Windows Logs -> Application. Then in the middle you should see the logs and can find the crashes. You can use the Filter Current Log... link on the right menu to filter to only Critical and Error to more easily find the crashes.
> 
> If you can't find them or something, I have also ninja-updated Beta 5 to dump the error and stack trace to a text file in the .exe's folder when it crashes.
> 
> So please re-download Beta 5 again and use that and send me any crash logs so I can fix the crashes, thanks!
> 
> 
> If you want to test the RasPi when I release a build for that that would be cool. If you have a spare SD card it would be super easy to swap in.


Sent you a PM with more details. Ill try out Beta 5 later today


----------



## enovison

SOWK said:


> It’s what some are currently doing in the other thread.
> 
> Just turns on based on LFE at certain ranges.
> 
> Think of it as just an extension to the bass. Unfortunately it will have a large delay but it is what it is. And may not match at all to what is on screen.


Skyfall (2012)


----------



## SirMaster

*HTFanControl Beta 6*

https://nicko88.com/misc/HTFan/HTFanControl_Beta6.zip

Notes:

Fixed a crash that could happen under certain circumstances depending on the state of the wind track file and playback position. (mainly when reloading or switching videos)


Beta 4 and 5 appeared to have an occasional problem in the LIRC connection so this is another attempt at improving the connection reliability for that.


----------



## enovison

SOWK said:


> It’s what some are currently doing in the other thread.
> 
> Just turns on based on LFE at certain ranges.
> 
> Think of it as just an extension to the bass. Unfortunately it will have a large delay but it is what it is. And may not match at all to what is on screen.


Iron Man 3 (2013)


----------



## SOWK

Added


----------



## SOWK

Added: 

# The Dark Knight (2008)
# 4K Ultra HD Blu-ray (02:32:12)
# Coded by: SOWK


----------



## SirMaster

*HTFanControl Beta 7*

https://nicko88.com/misc/HTFan/HTFanControl_Beta7.zip

Just a small update. Didn't really have time to work on much this weekend.

I want to try to set up a RasPi build soon so that's probably what I will work on next.

Notes:

Added a Disable/Enable button so you can easily disable and enable the fan control itself.
Disable will turn the fans off, and prevent any commands from being sent to them. (The program will continue to function as if it's still running normally)
Enable will put the fans immediately back into the mode they should be in at the current moment in the movie.


Added a timestamp to the last error, so you can see when the error actually happened and whether it's still happening.
Also added a clear button next to the last error, so you can clear the error text so you can more easily see if another error is happening again.


----------



## enovison

SirMaster said:


> https://nicko88.com/misc/HTFan/HTFanControl_Beta7.zip
> 
> 
> 
> Just a small update. Didn't really have time to work on much this weekend.
> 
> 
> 
> I want to try to set up a RasPi build soon so that's probably what I will work on next.
> 
> 
> 
> Notes:
> 
> 
> Added a Disable/Enable button so you can easily disable and enable the fan control itself.
> 
> Disable will turn the fans off, and prevent any commands from being sent to them. (The program will continue to function as if it's still running normally)
> 
> Enable will put the fans immediately back into the mode they should be in at the current moment in the movie.
> 
> 
> 
> 
> 
> Added a timestamp to the last error, so you can see when the error actually happened and whether it's still happening.
> 
> Also added a clear button next to the last error, so you can clear the error text so you can more easily see if another error is happening again.




Thanks! Would there be a way you could add a “test on and test off” button for the fans to the interface. Just a quick way to manually make sure the fan control app is connected to LIRC and that all is working well without having to turn a movie on or physically run back and forth between where my computer is set up and theater room. Thanks again!


Sent from my iPhone using Tapatalk


----------



## SirMaster

enovison said:


> Thanks! Would there be a way you could add a “test on and test off” button for the fans to the interface. Just a quick way to manually make sure the fan control app is connected to LIRC and that all is working well without having to turn a movie on or physically run back and forth between where my computer is set up and theater room. Thanks again!


OK, i'll put some test page in the settings menu.


----------



## kdawg2391044

SirMaster said:


> OK, i'll put some test page in the settings menu.


Beta7 is crashing for me with the same index out of bounds error that I had with Beta 4. I haven't had a chance to test any of the other functions yet. Does the app output a log file somewhere besides in Event Viewer because I dont see anything in the app folder? It seems like the way to recreate the crash is to do this:


Launch controller app
Go to Wind Tracks
Go to Download
Click on "Fast & Furious Presents Hobbs and Shaw (2019)"
App immediately crashes and shows the same error that I sent you in Event Viewer
I can recreate this crash immediately if I restart the app and then refresh the webpage which is now at the URL http://IP:5500/download. If I remove the download in the URL (http://ip:5500) and go to the root of the webpage, then it seems to work fine until I go back to that specific Wind Track file under Download. I am able to download other tracks, just not the Fast & Furious one...


----------



## SirMaster

kdawg2391044 said:


> Beta7 is crashing for me with the same index out of bounds error that I had with Beta 4. I haven't had a chance to test any of the other functions yet. Does the app output a log file somewhere besides in Event Viewer because I dont see anything in the app folder? It seems like the way to recreate the crash is to do this:
> 
> 
> Launch controller app
> Go to Wind Tracks
> Go to Download
> Click on "Fast & Furious Presents Hobbs and Shaw (2019)"
> App immediately crashes and shows the same error that I sent you in Event Viewer
> I can recreate this crash immediately if I restart the app and then refresh the webpage which is now at the URL http://IP:5500/download. If I remove the download in the URL (http://ip:5500) and go to the root of the webpage, then it seems to work fine until I go back to that specific Wind Track file under Download. I am able to download other tracks, just not the Fast & Furious one...


I don't think this is related to what you were getting in Beta 4 exactly, especially since you say it's only with a specific wind track file.

I will see if I can recreate this crash on my system like you say. If I can then it will be simple to fix.

I thought that it should be outputting the crash log to the app folder, but I guess for some reason it's not. I'll try and see why that is too.


----------



## SirMaster

*HTFanControl Beta 8*

https://nicko88.com/misc/HTFan/HTFanControl_Beta8.zip

Notes:

Fixed crash when there is a "&" in a wind track name on pastebin.
Fixed crash logs now output to a text file in the app folder. (please send me any crash logs you get)


Added fan test buttons to a tab in settings menu.
Added version number to settings page.


----------



## SOWK

Added: Star Wars Episode VI - Return of the Jedi (1983)


----------



## CineSnack

SOWK said:


> *4D Theater Wind Effect - SirMaster & SOWK Edition*
> 
> 
> 
> 
> 
> 
> *Required Components:*
> 
> Source Device - HTPC or any devices that can run KODI _*HTFanControl software will currently require a PC with Microsoft Windows OS, Raspberry Pi support coming soon._
> 
> Media Player - MPC-BE / MPC-HC / KODI
> 
> Additional Hardware: IguanaWorks USB Dual Socket IR Transceiver (PURCHASE) & IguanaWorks Homebuilt Wired IR Emitter (PURCHASE)
> 
> Additional Software: winLIRC *No need to download*
> 
> Additional Software: Fan Configuration file with preconfigured winLIRC (DOWNLOAD: WinLIRC & Fan Configuration File)
> 
> Additional Software: Wind track files (User Created) - (DOWNLOAD: Wind Tracks)
> 
> Additional Software: SirMaster's Wind Track Creator - (DOWNLOAD: Wind Track Creator)
> 
> Additional Software: SirMaster's HTFanControl (DOWNLOAD: HTFanControl)
> 
> Fans - Seville Classics Black UltraSlimline 40" Oscillating Tower Fan (PURCHASE: Model #: EHF10127B)
> 
> Optional Hardware: IguanaWorks Stereo to Mono Splitter (PURCHASE) & Additional IguanaWorks Wired IR Emitter (PURCHASE) _
> (This is only needed if you feel one emitter location is not enough to reach your fans with perfect 100% consistency.)_
> 
> -----------------------------------------------------------------------------------------------------------------------------------
> 
> 
> *How It Works:*
> 
> 1. Users will create a Wind Track .txt file with the same name of the source file they will be playing. The file will need time stamps and IR commands they want to send (OFF, ECO, LOW, MED, HIGH)
> 
> _Example file name:
> 
> Ford v Ferrari (2019).txt
> 
> Example data inside Ford v Ferrari (2019).txt
> 
> # Ford v Ferrari (2019)
> # 4K Ultra HD Blu-ray (02:32:35)
> # Coded by: SOWK
> 
> 00:01:08.734,HIGH
> 00:01:26.029,OFF
> 00:02:11.714,LOW
> 00:02:13.924,MED
> 00:02:16.720,HIGH
> 00:02:50.043,OFF
> 00:04:01.866,LOW
> 00:04:05.245,MED
> 00:04:11.710,HIGH
> 00:04:42.949,OFF_
> 
> 2. HTPC runs the source file through MPC-BE / MPC-HC / KODI (_Using the example above it would be Ford v Ferrari (2019).mkv_)
> 
> 3. @SirMaster's HTFanControl program then does the following:
> It communicates with MPC-BE/MPC-HC/KODI to get the current time stamp of the active source file playing
> It accesses the user created .TXT file with time stamps and IR commands
> It sends the IR commands to winLIRC at the specified time stamps in the user created file.
> _(The HTFanControl program also has a user editable start up fan negative delay and general negative delay. Example: If you want the fans to turn on at time stamp 00:10:00 and the fans take 3 secs for the wind to hit you the program will start the fans up at 00:09:57)_
> 
> 4. When winLIRC receives the IR command from HTFanControl it sends that command to the USB IR Transceiver
> 
> 5. The USB IR Transceiver then sends the IR command to the Seville Classics Black UltraSlimline 40" Oscillating Tower Fan (Model #: EHF10127B)
> 
> -----------------------------------------------------------------------------------------------------------------------------------
> 
> *Quick Links:*
> HTPC Setup
> Raspberry Pi Setup
> Offset Calibration
> Wind Track Creator
> Supported Movies
> Tower Fan - Beep Removal
> 
> -----------------------------------------------------------------------------------------------------------------------------------



Hi! This is very cool!! i like to Setup this in my HomeCinema, but i cant find the Fan Here in Germany: „Seville Classics Black UltraSlimline 40" Oscillating Tower Fan „ can i use also a different Fan? 🙂 thanks! Matthias


----------



## Archaea

CineSnack said:


> Hi! This is very cool!! i like to Setup this in my HomeCinema, but i cant find the Fan Here in Germany: „Seville Classics Black UltraSlimline 40" Oscillating Tower Fan „ can i use also a different Fan? 🙂 thanks! Matthias



You should be able to use any IR controller fan with low medium and high settings.


----------



## SirMaster

You can use any fan with any number of speeds really. 

Ideally it will have 4 speeds in addition to off, but even if it only had 1 speed it would still be usable. 

The wind tracks are normally designed for 4 speeds, but you can easily decide how to map the 4 speeds into the speeds that your fan has. 

If you only had 1 speed then all the speeds could just merge into 1. 

If you had 10 speeds you would just decide which 4 of the 10 you would map to the 4 speeds. 

The important thing is that the fan has unique IR commands for each speed. What won’t work is a fan that has multiple speeds but only has a speed toggle button that cycles through the speeds. 

Unfortunately it’s not really possible to know this before you buy and try the fan. Even if the remote only has 1 fan speed toggle button it doesn’t mean the fan doesn’t have individual IR commands for each speed. 

The fan recommended for this project actually only has 1 speed button on the remote, but it still has individual IR codes for each fan. 

Hopefully this is a common design aspect of various fans.


----------



## enovison

SirMaster said:


> You can use any fan with any number of speeds really.
> 
> Ideally it will have 4 speeds in addition to off, but even if it only had 1 speed it would still be usable.
> 
> The wind tracks are normally designed for 4 speeds, but you can easily decide how to map the 4 speeds into the speeds that your fan has.
> 
> If you only had 1 speed then all the speeds could just merge into 1.
> 
> If you had 10 speeds you would just decide which 4 of the 10 you would map to the 4 speeds.
> 
> The important thing is that the fan has unique IR commands for each speed. What won’t work is a fan that has multiple speeds but only has a speed toggle button that cycles through the speeds.
> 
> Unfortunately it’s not really possible to know this before you buy and try the fan. Even if the remote only has 1 fan speed toggle button it doesn’t mean the fan doesn’t have individual IR commands for each speed.
> 
> The fan recommended for this project actually only has 1 speed button on the remote, but it still has individual IR codes for each fan.
> 
> Hopefully this is a common design aspect of various fans.




I was actually wondering how you guys figured out the individual IR commands since the remote is a toggle!


Sent from my iPhone using Tapatalk


----------



## SirMaster

enovison said:


> I was actually wondering how you guys figured out the individual IR commands since the remote is a toggle!
> 
> 
> Sent from my iPhone using Tapatalk



The speed toggle button on the remote actually sends individual speed commands in a cycle. 

So if the fan is OFF and you cover the remote IR and press the button, then uncover it and press the button again, the fan will go straight to LOW and skip ECO because the remote is actually sending specific speed IR commands in a cycle. 

So when profiling the remote we just keep pressing the toggle button and it kept recording different IR codes. Then when we made it through the cycle we saw we had all 4 commands and tested each to see which speed they triggered. 

Hopefully most fans do this.


----------



## CineSnack

SirMaster said:


> enovison said:
> 
> 
> 
> I was actually wondering how you guys figured out the individual IR commands since the remote is a toggle!
> 
> 
> Sent from my iPhone using Tapatalk
> 
> 
> 
> 
> The speed toggle button on the remote actually sends individual speed commands in a cycle.
> 
> So if the fan is OFF and you cover the remote IR and press the button, then uncover it and press the button again, the fan will go straight to LOW and skip ECO because the remote is actually sending specific speed IR commands in a cycle.
> 
> So when profiling the remote we just keep pressing the toggle button and it kept recording different IR codes. Then when we made it through the cycle we saw we had all 4 commands and tested each to see which speed they triggered.
> 
> Hopefully most fans do this.
Click to expand...


Hi!

Thank you all for the Feedback! I will try this with a different Fan and Hope it works the seville Fan is sold Out everywhere...

i think the project is really potential and very interesting. do you know what would be really cool? if you could control the dyson hot and cool fan. So you would also have warm air which you could simulate! fantastic!


----------



## SirMaster

CineSnack said:


> Hi!
> 
> Thank you all for the Feedback! I will try this with a different Fan and Hope it works the seville Fan is sold Out everywhere...
> 
> i think the project is really potential and very interesting. do you know what would be really cool? if you could control the dyson hot and cool fan. So you would also have warm air which you could simulate! fantastic!



Yeah if you are willing to test another fan, it helps others get more fan choices. 

I can help you if you need help recording the IR codes from your new fan. 

Hopefully you can acquire an iguana IR in Germany as it’s really the best IR transmitter that is easy to use on Windows and ras pi.


----------



## CineSnack

SirMaster said:


> CineSnack said:
> 
> 
> 
> Hi!
> 
> Thank you all for the Feedback! I will try this with a different Fan and Hope it works the seville Fan is sold Out everywhere...
> 
> i think the project is really potential and very interesting. do you know what would be really cool? if you could control the dyson hot and cool fan. So you would also have warm air which you could simulate! fantastic!
> 
> 
> 
> 
> Yeah if you are willing to test another fan, it helps others get more fan choices.
> 
> I can help you if you need help recording the IR codes from your new fan.
> 
> Hopefully you can acquire an iguana IR in Germany as itâ€™️s really the best IR transmitter that is easy to use on Windows and ras pi.
Click to expand...

Thanks ! 🙂 I think I will come back to your offer as soon as I have selected a fan. maybe I'll actually try the dyson! Many greetings and many thanks in advance!


----------



## SirMaster

*HTFanControl Beta 9*

https://nicko88.com/misc/HTFan/HTFanControl_Beta9.zip

Notes:

Added Plex support.

You should now be able to sync HTFanControl to the playback of your movies through any player device that supports the Plex app.


Next I will work on putting together a pre-configured RasPi SD card image so the HTFanControl and IR can run entirely from a RasPi.

After that I will start taking a stab at syncing the movie playback by using a microphone you can place in your theater connected to the PC or RasPi running HTFanControl. If I can get that to work it will allow people to use any movie source such as disc players and streaming services.


----------



## enovison

SirMaster said:


> https://nicko88.com/misc/HTFan/HTFanControl_Beta9.zip
> 
> 
> 
> Notes:
> 
> 
> Added Plex support.
> 
> 
> 
> 
> You should now be able to sync HTFanControl to the playback of your movies through any player device that supports the Plex app.
> 
> 
> 
> 
> 
> Next I will work on putting together a pre-configured RasPi SD card image so the HTFanControl and IR can run entirely from a RasPi.
> 
> 
> 
> After that I will start taking a stab at syncing the movie playback by using a microphone you can place in your theater connected to the PC or RasPi running HTFanControl. If I can get that to work it will allow people to use any movie source such as disc players and streaming services.




Is there any way to get the fan program and winLIRC to start automatically when windows reboots? Sometimes my computer reboots and it would be nice for everything to always just work - thanks!


Sent from my iPhone using Tapatalk


----------



## SirMaster

enovison said:


> Is there any way to get the fan program and winLIRC to start automatically when windows reboots? Sometimes my computer reboots and it would be nice for everything to always just work - thanks!
> 
> 
> Sent from my iPhone using Tapatalk


Well WinLIRC has an option to start with Windows, so you could enable that. I wasn't planning on interacting with WinLIRC in any way like this since it already has the option to do so built in.

HTFanControl will have this option eventually. It was always on the list of features, I just didn't get around to it yet as there were more important things to do.

There's nothing stopping you right now from creating a shortcut to HTFanControl in your Windows startup folder though. You can do this by opening the "run" dialog (Win+r) and entering in "Shell:startup" and then creating a shortcut to a program inside the folder that pops up.


----------



## enovison

SirMaster said:


> Well WinLIRC has an option to start with Windows, so you could enable that. I wasn't planning on interacting with WinLIRC in any way like this since it already has the option to do so built in.
> 
> 
> 
> HTFanControl will have this option eventually. It was always on the list of features, I just didn't get around to it yet as there were more important things to do.
> 
> 
> 
> There's nothing stopping you right now from creating a shortcut to HTFanControl in your Windows startup folder though. You can do this by opening the "run" dialog (Win+r) and entering in "Shell:startup" and then creating a shortcut to a program inside the folder that pops up.




I did that and on first restart it works perfectly- but then it automatically added wind tracks and settings file in there as well and everything opens together on restart after that first time.

I will def do that on WinLIRC- that’s easy 


Sent from my iPhone using Tapatalk


----------



## SirMaster

enovison said:


> I did that and on first restart it works perfectly- but then it automatically added wind tracks and settings file in there as well and everything opens together on restart after that first time.
> 
> I will def do that on WinLIRC- that’s easy
> 
> 
> Sent from my iPhone using Tapatalk


Are you sure that you created a shortcut in the startup folder, or did you move the whole program .exe in there?

I have not tested auto startup functionality at all yet but I feel like it should have worked with a shortcut in the startup folder.


----------



## enovison

SirMaster said:


> Are you sure that you created a shortcut in the startup folder, or did you move the whole program .exe in there?
> 
> 
> 
> I have not tested auto startup functionality at all yet but I feel like it should have worked with a shortcut in the startup folder.




You’re right I put in the exe 

I’ll try and report back 


Sent from my iPhone using Tapatalk


----------



## SOWK

Added: Star Wars Episode V - The Empire Strikes Back (1980)


----------



## brazen1

Please, can someone help me!

Something is not right here in my setup?
When I run beta 9 or beta 8 HTFanControl.exe, I get a window with an http: // xx.xx.xx.x:xxx and that's all the window shows. There's no menu or settings or anything else? I do get a HTFanControlSettings.txt that is automatically created with values filled in though. Am I simply confused and all is well or is HTFanControl.exe supposed to bring up something I'm supposed to work with?

I should also point out, when I installed the iguana driver, it installed to C:\Program Files (x86)\IguanaIR as it should. But, it also installed, I think it was, a MS Visual C++ 2008 Redistributable (not certain exactly that?) Problem is, it installed itself and all its loose files inside the root of one of my 8 data HDD's and not the C:. One of those loose files was an install.exe and I ran it which offered an uninstall so I uninstalled it. Next I uninstalled the iguana driver. Then I disconnected all my extra data HDD's leaving just the C: and ran the iguana driver install.exe again so whatever it installs all went to C:. I don't think uninstalling and reinstalling screwed anything up but just mentioning in case someone else notices the same or indeed has a role in things not working for me.

So far, I can send commands with the WinLIRC program to the fan and that works ok. The fan responds perfectly to all the IR commands. I have Crawl 2019 windtrack inside the windtracks folder that was created but nothing happens when I FF to the timestamp the fan should be engaging. The windtrack file I downloaded is named 'crawl_(2019).txt'. I changed the name of that file to match my own 'Crawl.2019.1080p.BluRay.txt'. That didn't work. Next I edited the title in the file from 'Crawl (2019)' to match my file 'Crawl.2019.1080p.BluRay'. That didn't work either so currently I changed everything back how it was.

The Iguana transmitter does not emit unless I use an IR emitter. I have it plugged into the top port (1 & 2). When I go into WinLIRC plugin setup, channel 1 has been automatically ticked with Device ID 0 fwiw. I noticed another user got WinLIRC to work with the fan but not windtracks just like me and this was suggested to check out.

I've been screwing around with this trying Kodi internal VideoPlayer, MPC-BE, and MPC-HC all configured as shown on page 1.

I've been so eager to get this going and contribute windfiles but I can't even get the basics to cooperate because I'm naïve.

I'm guessing it has to be the HTFanControl.exe is not working on my system for some odd reason? W10 v.1909 x64. Please help asap! Thanks.


----------



## enovison

brazen1 said:


> Please, can someone help me!
> 
> 
> 
> Something is not right here in my setup?
> 
> When I run beta 9 or beta 8 HTFanControl.exe, I get a window with an http: // xx.xx.xx.x:xxx and that's all the window shows. There's no menu or settings or anything else? I do get a HTFanControlSettings.txt that is automatically created with values filled in though. Am I simply confused and all is well or is HTFanControl.exe supposed to bring up something I'm supposed to work with?
> 
> 
> 
> I should also point out, when I installed the iguana driver, it installed to C:\Program Files (x86)\IguanaIR as it should. But, it also installed, I think it was, a MS Visual C++ 2008 Redistributable (not certain exactly that?) Problem is, it installed itself and all its loose files inside the root of one of my 8 data HDD's and not the C:. One of those loose files was an install.exe and I ran it which offered an uninstall so I uninstalled it. Next I uninstalled the iguana driver. Then I disconnected all my extra data HDD's leaving just the C: and ran the iguana driver install.exe again so whatever it installs all went to C:. I don't think uninstalling and reinstalling screwed anything up but just mentioning in case someone else notices the same or indeed has a role in things not working for me.
> 
> 
> 
> So far, I can send commands with the WinLIRC program to the fan and that works ok. The fan responds perfectly to all the IR commands. I have Crawl 2019 windtrack inside the windtracks folder that was created but nothing happens when I FF to the timestamp the fan should be engaging. The windtrack file I downloaded is named 'crawl_(2019).txt'. I changed the name of that file to match my own 'Crawl.2019.1080p.BluRay.txt'. That didn't work. Next I edited the title in the file from 'Crawl (2019)' to match my file 'Crawl.2019.1080p.BluRay'. That didn't work either so currently I changed everything back how it was.
> 
> 
> 
> The Iguana transmitter does not emit unless I use an IR emitter. I have it plugged into the top port (1 & 2). When I go into WinLIRC plugin setup, channel 1 has been automatically ticked with Device ID 0 fwiw. I noticed another user got WinLIRC to work with the fan but not windtracks just like me and this was suggested to check out.
> 
> 
> 
> I've been screwing around with this trying Kodi internal VideoPlayer, MPC-BE, and MPC-HC all configured as shown on page 1.
> 
> 
> 
> I've been so eager to get this going and contribute windfiles but I can't even get the basics to cooperate because I'm naïve.
> 
> 
> 
> I'm guessing it has to be the HTFanControl.exe is not working on my system for some odd reason? W10 v.1909 x64. Please help asap! Thanks.



@SirMaster and @SOWK are much better equipped to help with all of your needs- but I’ll start the convo by saying to bring up the web UI by opening a web browser (computer or phone in same WiFi connection) and going to http://localhost:5500

That will get you to all of the settings. 


Sent from my iPhone using Tapatalk


----------



## brazen1

enovison said:


> @SirMaster and @SOWK are much better equipped to help with all of your needs- but I’ll start the convo by saying to bring up the web UI by opening a web browser (computer or phone in same WiFi connection) and going to http://localhost:5500
> 
> That will get you to all of the settings.
> 
> 
> Sent from my iPhone using Tapatalk


I tried from the same HTPC this is installed on and from my phone - This site can't be reached.

**EDIT**

OK, got it. Have to run HTFanControl_Beta9.exe and then connect. Told ya'. I'm naïve. This settings page looks like a start. Thank you for the tip.


----------



## enovison

brazen1 said:


> I tried from the same HTPC this is installed on and from my phone - This site can't be reached.
> 
> 
> 
> **EDIT**
> 
> 
> 
> OK, got it. Have to run HTFanControl_Beta9.exe and then connect. Told ya'. I'm naïve. This settings page looks like a start. Thank you for the tip.




See if you can control the fan through the “fan test” in settings via web. That should tell you if things are talking to each other. 


Sent from my iPhone using Tapatalk


----------



## brazen1

Yes, all of that is fine. I think I know the problem and sure hope I'm wrong...

All of my titles are ISO's. ISO's play from the index.bdmv file after the iso is mounted. The index.bdmv does not match Crawl.2019.1080p.BluRay windtrack. I cannot name all my individual windtracks index.bdmv unless the program allowed me to put windtrack files inside folders that could be unique.

PLEASE TELL ME I'M WRONG!!!

**EDIT**

Well, I can confirm if I name the windtrack .txt file 'index', all the IR speeds and timestamps are sent to the fan and all is well. 
I don't mind renaming all windtrack files to 'index' but they can't all be named 'index' unless they were in individual folders.
Then, instead of looking at multiple 'file' names inside one folder called 'windtracks' the program could look at 'folder' names and link the file inside the folder.
Could that be considered if it's even possible? There has to be a way...

Kodi doesn't work at all. HTFanControl says it can't find MPC although Kodi VideoPlayer is in use with 'allow remote control via HTTP' enabled and 'allow app control on this system. The port is 8080. Does that need to change?


----------



## SirMaster

I can probably do something, but you will have to manually select each movie track from the web interface as you switch movies since the player isn’t telling me what movie it is.


----------



## brazen1

All I can think of as a workaround at the moment is:

Every iso file I have is inside its own folder alongside artwork and other files. I can put windtracks in them too. I can name every windtrack 'index.txt' since they will be in their own folders. Then I can manually copy that to the 'windtracks' folder and delete it when finished. Rinse and repeat.

My system is completely automated from A-Z. Manually fiddling with the files means it won't be. I'll just have to get used to it until a better option that requires zero hands on appears... if ever. I'm just happy WinLIRC starts with Windows and HTFanControl starts with Windows too. Fwiw, HTFanControl greets me on the desktop until I minimize it. It would be great if it could just run in the tray or minimize itself after boot. I use my HTPC as a workstation too. My HTPC is only on when I'm using it otherwise it's off, not sleeping or hibernating.. OFF, ready for a cold start. If HTFanControl could have an option to be told to start only when MPC and perhaps Kodi starts, that would be cool. Maybe I can do that with a .bat and playercorefactory.xml? I'll look into it soon unless you have something planned already which I bet you do.

I know I'm suggesting a lot and probably the impossible but usually if someone creative and talented is told 'impossible'... well you know. I want to thank you and all the others involved for making what you've shared. I'm so delighted with it now that I've seen it in action! Once I'm comfortable with everything, I'm going to mount the fan(s) overhead in the ceiling soffit. To cut down on fan noise once it's buried in there only revealing the air outlet, I think an air intake port (still adjacent to the soffit) could be located away from the MSP. The fan outlet would still emit noise but maybe some massaging to the fan body itself could quiet it somewhat. Or maybe even duct the fan outlet, far from the unit itself located in an adjacent room, depending how much drywall I feel like removing and replacing.


----------



## SirMaster

brazen1 said:


> All I can think of as a workaround at the moment is:
> 
> Every iso file I have is inside its own folder alongside artwork and other files. I can put windtracks in them too. I can name every windtrack 'index.txt' since they will be in their own folders. Then I can manually copy that to the 'windtracks' folder and delete it when finished. Rinse and repeat.
> 
> My system is completely automated from A-Z. Manually fiddling with the files means it won't be. I'll just have to get used to it until a better option that requires zero hands on appears... if ever. I'm just happy WinLIRC starts with Windows and HTFanControl starts with Windows too. Fwiw, HTFanControl greets me on the desktop until I minimize it. It would be great if it could just run in the tray or minimize itself after boot. I use my HTPC as a workstation too. My HTPC is only on when I'm using it otherwise it's off, not sleeping or hibernating.. OFF, ready for a cold start. If HTFanControl could have an option to be told to start only when MPC and perhaps Kodi starts, that would be cool. Maybe I can do that with a .bat and playercorefactory.xml? I'll look into it soon unless you have something planned already which I bet you do.
> 
> I know I'm suggesting a lot and probably the impossible but usually if someone creative and talented is told 'impossible'... well you know. I want to thank you and all the others involved for making what you've shared. I'm so delighted with it now that I've seen it in action! Once I'm comfortable with everything, I'm going to mount the fan(s) overhead in the ceiling soffit. To cut down on fan noise once it's buried in there only revealing the air outlet, I think an air intake port (still adjacent to the soffit) could be located away from the MSP. The fan outlet would still emit noise but maybe some massaging to the fan body itself could quiet it somewhat. Or maybe even duct the fan outlet, far from the unit itself located in an adjacent room, depending how much drywall I feel like removing and replacing.


First you have to understand that this is a beta phase, so I have not focused on things like the console windows opening when the program runs and things like that. I was trying to focus on the core functionality before spending time messing with the behaviors like that. I certainly have plans to change the way the program behaves on the system, but we just have not gotten that far yet.

There is no way a program itself can be not running, and then decide to run itself when something else runs. There would need to be something running, checking for when to run the program. This would always need to be triggered by something else external of the program itself, something that would need to be running all the time. Or you need to do something like replace your shortcut that launches MPC or Kodi with one that also launches the other program. Or launch the program with whatever process you use to launch your media player.

Basically, I am saying there is nothing I could put into HTFanControl, that could tell it to magically run when something else runs, because if HTFanControl isn't running then it can't be doing any such checking, it can't be doing anything at all if it's not running.


For your media library, I am not really familiar with the format of your media files exactly. You have a single ISO for the movie, and you put this ISO inside a folder for the movie? I think I just need an example copy so I can see how the players read the ISO and what they say. Are these 1080p ISOs or 4K isos and I wonder exactly how the format differs. I will have to get one of each and take a look I guess.

If you are trying to use Kodi, then the error should definitely not say can't connect to MPC, at least after you clear that error. Seems like you didn't have Kodi selected as the media player in the HTFanControl Settings? Kodi might not work from ISO files in my program right now, but it still shouldn't produce an error talking about MPC when Kodi is selected in the settings.


----------



## brazen1

For being in very early development, this works extremely well. Nice job! My intensions are not to push/rush you or anything else. I'm just providing feedback to you and whoever. 

I have several movie folders. Inside each folder is an iso that the original Blu-ray in its entirety is contained. So are lots of other files related to that particular movie such as artwork. Each folder is unique. Since all my windtrack files need to be named 'index', the only way to accomplish that is by putting them in unique folders. I understand there is no way to associate a windtrack if they are all named 'index'. 

I'm having no problems at all. I just have to manually copy my windtrack in my movie folder to my windtracks folder as needed. Or, I could convert all my iso's into mkv's that won't have this problem. For me, that's not an option though.

Anyway, I took a little time before bed here and got something accomplished. I removed HTFanControl from my startup shortcut so that it doesn't start with Windows. I'm no longer greeted with it open on the desktop when I boot from a cold start. It isn't running. WinLIRC is running. When I'm no longer using the workstation desktop and I'd like to watch a movie, Kodi launches, and I navigate the library or whatever within Kodi. HTFanControl still isn't running. I select a movie to watch in the Kodi library.

The playercorefactory.xml is read. It says go read a certain .bat file. 
Among other things, the .bat file says to start a few .exe's. (They have parameter codes too, yours doesn't and it doesn't need any).
One of the .exe's is MPC-BE itself, because I want to use this external player instead of the Kodi VideoPlayer.
As part of the .bat sequence, HTFanControl starts. No CMD window, nothing. It just starts. I can see it in task manager.
As part of the rest of the .bat sequence, the iso file mounts, 'index' is read, the movie starts, the windtrack performs perfectly and I get wiiiiiind.


----------



## SirMaster

brazen1 said:


> For being in very early development, this works extremely well. Nice job! My intensions are not to push/rush you or anything else. I'm just providing feedback to you and whoever.
> 
> 
> 
> I have several movie folders. Inside each folder is an iso that the original Blu-ray in its entirety is contained. So are lots of other files related to that particular movie such as artwork. Each folder is unique. Since all my windtrack files need to be named 'index', the only way to accomplish that is by putting them in unique folders. I understand there is no way to associate a windtrack if they are all named 'index'.
> 
> 
> 
> I'm having no problems at all. I just have to manually copy my windtrack in my movie folder to my windtracks folder as needed. Or, I could convert all my iso's into mkv's that won't have this problem.  For me, that's not an option though.
> 
> 
> 
> Anyway, I took a little time before bed here and got something accomplished. I removed HTFanControl from my startup shortcut so that it doesn't start with Windows. I'm no longer greeted with it open on the desktop when I boot from a cold start. It isn't running. WinLIRC is running. When I'm no longer using the workstation desktop and I'd like to watch a movie, Kodi launches, and I navigate the library or whatever within Kodi. HTFanControl still isn't running. I select a movie to watch in the Kodi library.
> 
> 
> 
> The playercorefactory.xml is read. It says go read a certain .bat file.
> 
> Among other things, the .bat file says to start a few .exe's. (They have parameter codes too, yours doesn't and it doesn't need any).
> 
> One of the .exe's is MPC-BE itself, because I want to use this external player instead of the Kodi VideoPlayer.
> 
> As part of the .bat sequence, HTFanControl starts. No CMD window, nothing. It just starts. I can see it in task manager.
> 
> As part of the rest of the .bat sequence, the iso file mounts, 'index' is read, the movie starts, the windtrack performs perfectly and I get wiiiiiind.




I should be able to make this work for you.



I would like to make the program work so that it uses the name of the folder that your ISO is in as the windtrack name.



When you get time, can you start a movie from ISO in MPC and please give me the output from: http://127.0.0.1:13579/variables.html 



And for Kodi, can you start a movie, then go to http://127.0.0.1:8080, and click on the playing item text on the bottom of the web page (click the text that's between the grey Kodi icon and the time code at the bottom of the web page). Then copy the URL that appears in your browser?



See my picture attachment. Click what's in the red circle, and copy what's highlighted in yellow for you.


----------



## brazen1

index.bdmv
A:\BDMV\index.bdmv
A:\BDMV\index.bdmv
A:\BDMV
A:\BDMV
2
Playing
16173
00:00:16
5252080
01:27:32
100
0
1
1.86 KB
0
Unknown
1.5.5.5352

://127.0.0.1:8080/#browser/file/bluray://udf%3a%2f%2fD%253a%255c2%255cCrawl%2520(2019)%255cCrawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1.iso%2f/BDMV/PLAYLIST/00001.mpls

http://127.0.0.1:8080/#browser/file...C.DTS-HD.MA.7.1.iso//BDMV/PLAYLIST/00001.mpls

Again, not being pushy but thank you so much for taking interest in iso playback. This could make things more diverse imo. 

As an alternative to copy and pasting a windtrack that lives beside the title in its own folder to the windtracks folder before playback, I could store all the windtracks as intended in the windtracks folder and change the title of an intended windtrack to 'index'. When finished I could then change the title back to the original name of the movie so a subsequent windtrack could be renamed 'index'. But, if you code reading folder names instead of file names, point the folder to read what is inside of it (the windtrack file named 'index.txt'), this would be wonderful.

The following is just me relaying feedback and progress:

I'm getting a memory exception error when starting HTFanControl when the movie starts using the .bat. I acknowledge it by pressing enter on my remote and the rest of the .bat sequence initiates and everything loads and works fine from there. Going to play with my page file but I doubt it will help.

**EDIT**
I see a crashlogs folder is created. Every time it throws the exception, a new log is created (they are all the same error) and here is the contents in case anyone knows how to figure out the conflict. I don't know how to determine what the other existing reg is:

Failed to listen on prefix 'http://*:5500/' because it conflicts with an existing registration on the machine.

System.Net.HttpListener

at System.Net.HttpListener.AddPrefixCore(String registeredPrefix)
at System.Net.HttpListener.AddAllPrefixes()
at System.Net.HttpListener.Start()
at HTFanControl.HTFanControl.StartListen()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

I don't know how I missed it before but it's returned:
Earlier I wrote when installing iguana driver it also installs MS Visual C++ 2008 Redistributable. It installed to one of my data HDD's spreading its files loosely in the root. I thought the problem was on my end and it still may be. Turns out when I left it no choice but to install to C:, once again it deposited loose files in the root of C:. 24 of them. When installing the iguana driver, has anyone else noticed anything like this? This is probably something to take up with iguana... not sure? I made a folder in the root of C: titled MS Visual C++ 2008 Redistributable and put all the loose files in there. I want to save them in case I ever need to uninstall it. Testing functionality this didn't impact anything afaik.

On another note... a fine point of interest:
The fan can be in action during a scene and if you pause it, (say to grab a snack or answer the phone or something) the fan turns off. When you resume the movie, the fan picks right up where you left off. Very convenient.


----------



## SirMaster

brazen1 said:


> index.bdmv
> A:\BDMV\index.bdmv
> A:\BDMV\index.bdmv
> A:\BDMV
> A:\BDMV
> 2
> Playing
> 16173
> 00:00:16
> 5252080
> 01:27:32
> 100
> 0
> 1
> 1.86 KB
> 0
> Unknown
> 1.5.5.5352
> 
> ://127.0.0.1:8080/#browser/file/bluray://udf%3a%2f%2fD%253a%255c2%255cCrawl%2520(2019)%255cCrawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1.iso%2f/BDMV/PLAYLIST/00001.mpls
> 
> http://127.0.0.1:8080/#browser/file...C.DTS-HD.MA.7.1.iso//BDMV/PLAYLIST/00001.mpls
> 
> Again, not being pushy but thank you so much for taking interest in iso playback. This could make things more diverse imo.
> 
> As an alternative to copy and pasting a windtrack that lives beside the title in its own folder to the windtracks folder before playback, I could store all the windtracks as intended in the windtracks folder and change the title of an intended windtrack to 'index'. When finished I could then change the title back to the original name of the movie so a subsequent windtrack could be renamed 'index'. But, if you code reading folder names instead of file names, point the folder to read what is inside of it (the windtrack file named 'index.txt'), this would be wonderful.
> 
> The following is just me relaying feedback and progress:
> 
> I'm getting a memory exception error when starting HTFanControl when the movie starts using the .bat. I acknowledge it by pressing enter on my remote and the rest of the .bat sequence initiates and everything loads and works fine from there. Going to play with my page file but I doubt it will help.
> 
> **EDIT**
> I see a crashlogs folder is created. Every time it throws the exception, a new log is created (they are all the same error) and here is the contents in case anyone knows how to figure out the conflict. I don't know how to determine what the other existing reg is:
> 
> Failed to listen on prefix 'http://*:5500/' because it conflicts with an existing registration on the machine.
> 
> System.Net.HttpListener
> 
> at System.Net.HttpListener.AddPrefixCore(String registeredPrefix)
> at System.Net.HttpListener.AddAllPrefixes()
> at System.Net.HttpListener.Start()
> at HTFanControl.HTFanControl.StartListen()
> at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
> at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
> --- End of stack trace from previous location where exception was thrown ---
> at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
> at System.Threading.ThreadHelper.ThreadStart()
> 
> I don't know how I missed it before but it's returned:
> Earlier I wrote when installing iguana driver it also installs MS Visual C++ 2008 Redistributable. It installed to one of my data HDD's spreading its files loosely in the root. I thought the problem was on my end and it still may be. Turns out when I left it no choice but to install to C:, once again it deposited loose files in the root of C:. 24 of them. When installing the iguana driver, has anyone else noticed anything like this? This is probably something to take up with iguana... not sure? I made a folder in the root of C: titled MS Visual C++ 2008 Redistributable and put all the loose files in there. I want to save them in case I ever need to uninstall it. Testing functionality this didn't impact anything afaik.
> 
> On another note... a fine point of interest:
> The fan can be in action during a scene and if you pause it, (say to grab a snack or answer the phone or something) the fan turns off. When you resume the movie, the fan picks right up where you left off. Very convenient.



The program crashes because your .bat keeps trying to run it again and again when it's already running. You can't run more than 1 copy of the program at a time because it's running a server on port 5500 listening for providing the web interface. You can't have 2 programs using the same listen port at the same time.

I suppose I can prevent the program from trying to run again when it's already running.

You won't be able to use MPC as the data source for automatically loading a movie since it gives no information about what movie is playing other than "A:\BDMV\index.bdmv"

But you can use Kodi to give information. I think the best course of action will be for me to use the filename of the ISO file as the wind track name.

Here is what Kodi gives: bluray://udf://D:\2\Crawl (2019)\Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1.iso//BDMV/PLAYLIST/00001.mpls

I can pull Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1.iso out of there, and you can name your wind track: Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1.txt

You will need to keep all the wind tracks in the windtrack folder, because I don't know where your actual movie folder is located. Kodi told me "D:\2\Crawl (2019)\" which I am assuming is where your ISO is mounted on and reading from, it doesn't tell me where the ISO file is actually stored, so it wont be able to know where to go look for the wind track file. Unless the wind track file would actually go inside: "D:\2\Crawl (2019)\"

But this is how the program is designed to work. You will be able to go to the wind track download page from the web ui, and then click on the Crawl (2019) movie from the online wind track database, and it will download it to your win track folder and automatically name it Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1.txt and automatically load it.

You don't need the MS Visual C++ 2008 Redistributable files it put in C:\ they were just temporary where it extracted them before installing them into the system.


----------



## brazen1

I deleted HTFanControl_Beta9.exe and HTFanControlSettings.txt.
I unzipped and replaced a new HTFanControl_Beta9.exe.
I deleted all the crash logs.
I removed my .bat start entry for it so as not to confuse any new refinements you might make and to eliminate any crashes this may have caused. Fwiw, the .bat worked without any crashes many times.
All is normal and well.

"D:\2\Crawl (2019)\" is the FOLDER location. The FILE Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1.iso is stored inside that FOLDER. The iso is auto mounted on a fixed drive letter A: using a virtual BD-ROM drive (virtual clone drive). All Blu-rays start from the index.bdmv file. So, the virtual player starts from index.bdmv and is the reason I, as an iso user, requires the name 'index' to match a windtrack titled the same. But we can't name all windtracks 'index'.

Afaik, Kodi does not need to mount the iso file in order to read it. Instead it searches the iso for a playlist which is part of the file structure contained in an iso. The playlist contains .mpls files. Thus why we see bluray://udf://D:\2\Crawl (2019)\Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1.iso//BDMV/PLAYLIST/00001.mpls

No problem keeping all the windtracks where they belong in the windtracks folder. No problem keeping them in movie folders where the movie is stored either. ("D:\2\Crawl (2019)\") I will be doing both considering it backup. No problem manually renaming the windtrack to match the iso name. As it stands, windtracks have to match file names anyway and it just needs to be done once.

I don't understand where you write:
You will be able to go to the wind track download page from the web ui, and then click on the Crawl (2019) movie from the online wind track database, and it will download it to your win track folder and automatically name it Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1.txt and automatically load it.

Especially the automatically load it part? As it stands, I can manually rename it Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1.txt but that accomplishes nothing. Unless a windtrack is named "index" it isn't going to load. As far as HTFanControl is concerned, it's handling a movie called index. Unless I'm misunderstanding and you're going to change HTFanControl to also look at Kodi data and pluck the iso name? Heck, that would be great! If so, not only could Kodi provide the name of the file (which will match the windtrack name after renaming) it could get an additional location address for a windtrack residing in the movie folder (D:\2\Crawl (2019)

Understand there could be MANY address locations all with iso's inside:
B:\1\High Plains Drifter (1973)
E:\3\Crimson Tide (1995)
F:\4 HDR\2001 A Space Odyssey (1968)
and so on...

Thanks for letting me know those were temp files. Was hesitant to delete in case I needed to uninstall.


----------



## SirMaster

brazen1 said:


> I don't understand where you write:
> 
> You will be able to go to the wind track download page from the web ui, and then click on the Crawl (2019) movie from the online wind track database, and it will download it to your win track folder and automatically name it Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1.txt and automatically load it.


The program is built to be operated entirely from the web ui. In the program web ui there is a page that goes out to the online wind track database and lists all the movies that we have wind tracks for. (under Wind Tracks -> Download, in the web ui) It lets you click on them to download and install these wind tracks in a single click, and it will automatically name the wind track file to match your currently opened movie in your media player.

You should never have to edit, move, or rename files manually on the file system unless you made the wind track yourself and didn't post it here to be added to the online database.

Adding new wind tracks and renaming them to match your movies is meant to be done through the web ui.

You wont confuse new beta builds with old ones since I will name any new release with a new build number.

It sounds to me like your .bat file runs every time a movie is played, and so you would be launching multiple copies of HTFanControl which wont work. Only 1 copy can run at a time. You are launching it with your .bat file, but you never mentioned when you are closing the program, so if your .bat file runs twice without you closing HTFanControl, then you are certainly trying to run more than one at the same time which will always crash, because only 1 copy can open the web ui port at a time.

But this wont matter anyways as I am changing the program so it won’t try to run again while it's already running.


----------



## brazen1

You and I are not communicating in sync somehow?

I've already abandoned the .bat thing. It isn't in use at all for HTFanControl. Follow me here and you'll realize my feedback.

I have nothing inside the windtracks folder. It's empty of all content.
I play Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1.iso.
While the movie is playing, I go to http://localhost:5500/ 
I download the windtrack Crawl (2019) from that web ui.
The fan blows, the windtrack is working perfectly.
I quit the movie and close the web ui.
I look inside the windtracks folder and notice a windtrack has downloaded there like it's supposed to.
The name of that windtrack is "index". index.txt

I play another movie - Jaws
I open the web ui.
web ui says Crawl is playing.
I download Jaws windtrack anyway.
The fan blows, the windtrack is working perfectly including specific time frames for the movie Jaws.
I exit the movie and the web ui.
I look inside windtracks folder.
There is still only one windtrack named "index".
I open the index.txt and notice the timestamps are now for Jaws... not Crawl. 
The windtrack for Crawl which was also named "index" is no longer present.
It's been overwritten.
This is because we can't have a bunch of different windtrack files all named the same thing - "index".

What does all this mean and what are my choices?
Don't use iso's and convert my entire collection to mkv (out of the question for me)
Give up complete automation and interact with a web ui as part of the home theatre experience other users of the automated system will never master. Not fond of this but I'll adapt. Fwiw, I have no problem monitoring this thread and pastebin for new user added windtracks including my own once I get all this ironed out.
Manually rename a windfile to "index" prior to playback and rename it back to original when finished. Not fond of this either but I'll adapt.
Don't use wind as an additional sensory enhancement. I already like it too much though!
Provide you feedback to consider seamless integration to include iso's if at possible. It doesn't appear that is possible and that's ok. More than happy with what has been provided.

My personal goal is to press play on a movie in Kodi and have everything happen behind the scenes with zero user input for everything to occur. This is how it's always been but now that I'm adding this wind enhancement, manual intervention is part of the requirement for my system, my sources, and users of it. I understand the ease of a web ui or renaming stuff but I'm seeking automation. As it stands, I press exactly one button on my remote control and everything, and I mean everything from A-Z occurs leaving us with only navigating the library to pick a title and press play. I'm sure you understand the importance of automation to me. I also understand the world does not revolve around me and if you are happy with things how they are, by all means don't change or add anything.

Thank you for discussing all of this with me. I find it fascinating and a great learning experience.


----------



## SirMaster

brazen1 said:


> You and I are not communicating in sync somehow?
> 
> I've already abandoned the .bat thing. It isn't in use at all for HTFanControl. Follow me here and you'll realize my feedback.
> 
> I have nothing inside the windtracks folder. It's empty of all content.
> I play Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1.iso.
> While the movie is playing, I go to http://localhost:5500/
> I download the windtrack Crawl (2019) from that web ui.
> The fan blows, the windtrack is working perfectly.
> I quit the movie and close the web ui.
> I look inside the windtracks folder and notice a windtrack has downloaded there like it's supposed to.
> The name of that windtrack is "index". index.txt
> 
> I play another movie - Jaws
> I open the web ui.
> web ui says Crawl is playing.
> I download Jaws windtrack anyway.
> The fan blows, the windtrack is working perfectly including specific time frames for the movie Jaws.
> I exit the movie and the web ui.
> I look inside windtracks folder.
> There is still only one windtrack named "index".
> I open the index.txt and notice the timestamps are now for Jaws... not Crawl.
> The windtrack for Crawl which was also named "index" is no longer present.
> It's been overwritten.
> This is because we can't have a bunch of different windtrack files all named the same thing - "index".
> 
> What does all this mean and what are my choices?
> Don't use iso's and convert my entire collection to mkv (out of the question for me)
> Give up complete automation and interact with a web ui as part of the home theatre experience other users of the automated system will never master. Not fond of this but I'll adapt. Fwiw, I have no problem monitoring this thread and pastebin for new user added windtracks including my own once I get all this ironed out.
> Manually rename a windfile to "index" prior to playback and rename it back to original when finished. Not fond of this either but I'll adapt.
> Don't use wind as an additional sensory enhancement. I already like it too much though!
> Provide you feedback to consider seamless integration to include iso's if at possible. It doesn't appear that is possible and that's ok. More than happy with what has been provided.
> 
> My personal goal is to press play on a movie in Kodi and have everything happen behind the scenes with zero user input for everything to occur. This is how it's always been but now that I'm adding this wind enhancement, manual intervention is part of the requirement for my system, my sources, and users of it. I understand the ease of a web ui or renaming stuff but I'm seeking automation. As it stands, I press exactly one button on my remote control and everything, and I mean everything from A-Z occurs leaving us with only navigating the library to pick a title and press play. I'm sure you understand the importance of automation to me. I also understand the world does not revolve around me and if you are happy with things how they are, by all means don't change or add anything.
> 
> Thank you for discussing all of this with me. I find it fascinating and a great learning experience.


Your only choice is to wait until I add support for the iso files.

I have been working on this all day just for you. I don't know why you say it's not possible. It will literally be working as soon as I can finish the code tonight and release beta 10.

I don't know why you keep going on about naming files to index and manually moving files around as all that is irrelevant when it's going to load your files by iso file name. You will even be able to put the wind track files in the windtracks folder or just in the folder next to the iso. I am adding both just for you.

You are wasting your efforts trying to make a solution right now with index.txt when it will be completely automated for you. I got all the info I needed from your setup a couple posts ago.

You posted crash logs earlier and I explained why those crashes happened. They happened because you were launching the program while it was already running, simple as that.


In fact, the iso stuff is done, but I was taking the time to fix Plex support and stuff, but I guess I will just release a new build now so you can make sure the iso stuff is working and I can add the other changes I am making after.


----------



## SirMaster

*HTFanControl Beta 10*

https://nicko88.com/misc/HTFan/HTFanControl_Beta10.zip

Notes:

Added support for .iso files for Kodi.


Allow wind track files to also be manually placed in the folder next to the .iso/.mkv (in case the user wants to do it this way). However, the Web UI will still only manage the wind track downloading/adding/renaming in the dedicated "windtrack" folder at least for now.


HTFanControl will no longer crash when trying to run it again while it's already running. Running the program repeatedly in a script (for each time you play a movie for example) will be safe now, and it will simply do nothing if it's already running.

I noticed that there is a problem with the Plex support I added in Beta 9, so it probably wont work yet for most people. I am fixing it and that should work in the next release soon.


----------



## brazen1

SirMaster said:


> Your only choice is to wait until I add support for the iso files.
> 
> I have been working on this all day just for you. I don't know why you say it's not possible. It will literally be working as soon as I can finish the code tonight and release beta 10.
> 
> I don't know why you keep going on about naming files to index and manually moving files around as all that is irrelevant when it's going to load your files by iso file name. You will even be able to put the wind track files in the windtracks folder or just in the folder next to the iso. I am adding both just for you.
> 
> You are wasting your efforts trying to make a solution right now with index.txt when it will be completely automated for you. I got all the info I needed from your setup a couple posts ago.
> 
> You posted crash logs earlier and I explained why those crashes happened. They happened because you were launching the program while it was already running, simple as that.
> 
> 
> In fact, the iso stuff is done, but I was taking the time to fix Plex support and stuff, but I guess I will just release a new build now so you can make sure the iso stuff is working and I can add the other changes I am making after.


My friend, if you didn't make any changes from this day forward I would still absolutely embrace just the way it is and continue enjoying the hell out of it! Please don't misunderstand me. Until now reading this, I didn't understand you are going to introduce iso support and already have something figured out. I thought you were explaining how to use beta9 now... not how it will be able to behave in the future. LoL. That's why I've been testing what I read and providing feedback! Well I feel like a putz since you've been working on it just for me. Hopefully other iso users that get interested in this wind enhancement will benefit too and I'll feel like less of a putz! Hey thank you. Pretty gracious.


----------



## SirMaster

brazen1 said:


> My friend, if you didn't make any changes from this day forward I would still absolutely embrace just the way it is and continue enjoying the hell out of it! Please don't misunderstand me. Until now reading this, I didn't understand you are going to introduce iso support and already have something figured out. I thought you were explaining how to use beta9 now... not how it will be able to behave in the future. LoL. That's why I've been testing what I read and providing feedback! Well I feel like a putz since you've been working on it just for me. Hopefully other iso users that get interested in this wind enhancement will benefit too and I'll feel like less of a putz! Hey thank you. Pretty gracious.


I am sure there will probably be other .iso users. I know it's a somewhat common way to do things.

Please let me know if the program is working for you now with your .iso files.

You must use the Kodi media player option to use the .iso files as the MPC player does not provide any useful information about what .iso is playing and what it's location is.

It's still quite early days for this software overall so not all features are there yet. For example why the program just opens and sits there in a command window. But .iso support is a worthy feature which is why I worked on it an added it today. I am interested in knowing if it's working now for you. There could certainly be bugs.

Thanks!


----------



## brazen1

I'm not sure how it's supposed to work but here's what happens:

I have a few windtracks in the windtracks folder including "crawl_(2019)"
I play Crawl via Kodi external MPC.
I open web ui and status tells me no wind file named "index" loaded or something like that.
In web ui I select rename Crawl.
Fan control is working perfectly.
I look in windtracks folder.
"crawl_(2019)" has been renamed to "index".

I haven't tested multi instances of HTFanControl yet but I will tomorrow.
Anything specific you want me to check out?

**EDIT**
I open web ui and select Kodi as player instead of MPC.
Start Crawl.
Rename Crawl in web ui.
Windfile works perfect.
"crawl_(2019)" has been renamed to "Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1".
This matches my iso name.
This rename can be permanent if using just Kodi VideoPlayer. For MPC, it will need to be renamed either manually or via the new feature in the web ui and when finished using, it will need to be manually renamed back to "crawl_(2019)" or it will overwrite "index" if it's left that way.


----------



## SirMaster

brazen1 said:


> I'm not sure how it's supposed to work but here's what happens:
> 
> I have a few windtracks in the windtracks folder including "crawl_(2019)"
> I play Crawl via Kodi external MPC.
> I open web ui and status tells me no wind file named "index" loaded or something like that.
> In web ui I select rename Crawl.
> Fan control is working perfectly.
> I look in windtracks folder.
> "crawl_(2019)" has been renamed to "index".
> 
> I haven't tested multi instances of HTFanControl yet but I will tomorrow.
> Anything specific you want me to check out?
> 
> **EDIT**
> I open web ui and select Kodi as player instead of MPC.
> Start Crawl.
> Rename Crawl in web ui.
> Windfile works perfect.
> "crawl_(2019)" has been renamed to "Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1".
> This matches my iso name.
> This rename can be permanent if using just Kodi VideoPlayer. For MPC, it will need to be renamed either manually or via the new feature in the web ui and when finished using, it will need to be manually renamed back to "crawl_(2019)" or it will overwrite "index" if it's left that way.


If Kodi works, why do you need MPC to work?

MPC does not give me any information on what file or movie is playing at all when you load a mounted .iso, so there pretty much isn't anything I could do to automate it.

All I could do is build a page in the web ui for you to select the movie from your wind tracks list and it would use that wind track for the currently playing movie, without overwriting anything.

But why do you need MPC to work when you have Kodi that works?


----------



## brazen1

I use MPC-HC/BE with Kodi as the front end for a couple reasons:

I only want to use official software, not forked knock-offs. Too many reasons to list why. So I use the latest stable build of Kodi. While the Kodi internal player is reserved for certain file playback, I prefer other players for different file playback, my iso's for example. 

MPC-BE is used 90% of the time. I choose this one because it is compatible with madVr processing. The Kodi internal player isn't so I have to use MPC externally. This processing brings video rendering to life and once you use it, you'll never want to not use it again.

There is an older forked version of Kodi that has a custom player compatible with madVr, but as I stated, I stay away from unmaintained forked unofficial software especially as it falls by the wayside and simply becomes old and unable to perform given advancements in everything else. This isn't to say it isn't any good. Plenty of folks still use it. It just isn't for me.

I understand MPC provides no info. That's why I stated earlier that probably nothing can be done after reading what you wrote earlier. The majority doesn't care about madVr or anything else. There might be plenty of Kodi users that prefer the Kodi player whether it's forked or official versions. 

The new rename feature is great and is still beneficial when using MPC. I need to use this new wind enhancement more to find out which option will work best for me. It's nice having options and you just provided another with beta10 I'm sure I'll be incorporating  Thank you for the special treatment.

I'll be honest with you in my opinion about the whole shebang. I've shown this to 3 people so far. All of them + me are kind of blown away by it (pardon the pun). We discussed when I installed bass shakers as part of the sensory immersion. When I gave up on the TV speakers and started using a surround sound AVR. When displays advanced to high def and became flat/thin enough to hang on a wall, even 3D, and higher resolution, higher nit values coupled with HDR, like looking out of a window. 

I figure the more we can immerse ourselves into our home theatre environment, the more pleasurable it is interacting with a motion picture. It sure beats sitting in front of the B/W Zenith I once thought was the greatest because it had a 'clicker' for changing channels and volume. The better we present all of these enhancements, and the more we add, the more we can distance ourselves from the software/hardware and become immersed in a movie, documentary, TV show, etc. The realism is getting that good. 

There's a fine line between watching and listening to our equipment instead of watching and listening to our movie. Once you are not drawn into the equipment and you automate it (set and forget) you are more likely to pay attention to the movie you are watching and listening to. Add in 'feeling' what you are hearing and seeing, and you've tapped into another trick to put you closer to the action and distance yourself from where you actually are. The bass shakers added 'feeling' on top of hearing and seeing. Imo, the feeling of the wind tops the feeling of the vibration. Maybe because it's fresh, maybe because it's more subtle. Not sure yet? Need to use it more. Using both is definitely advantageous. 

I don't know of any fan users with custom windtracks at home other than the users here. I thought that stuff was only reserved for Disneyland and Las Vegas. Thank you for your talent, ingenuity and sharing so I can use it here at home without spending an arm and a leg to do it. Many thanks to others contributing here also. Great job.


----------



## SirMaster

*HTFanControl Beta 11*

https://nicko88.com/misc/HTFan/HTFanControl_Beta11.zip

Notes:

Added a system tray icon.
Added a program icon.

The program now starts in a system tray icon (down by the clock) and no longer keeps a console window open.

There are a few options in the system tray icon which you can access by clicking it with either mouse button.



Open Web UI (this opens a web browser to the Web UI)
Show Console Window (this shows and hides the program console window)
Start HTFanControl Automatically (this enables and disables automatic startup on boot) (If you were using a different method like a startup shortcut to start your program, I would recommend deleting that and using this new option)
Shutdown HTFanControl (shuts down the HTFanControl program)


The fix for Plex is still not ready yet and will come soon in a later build.


----------



## SirMaster

@brazen1

If you downloaded Beta 11 before this post, please download it again, I fixed something small.


I thought you could use the Kodi method, but since you prefer to use MPC, I will have to brainstorm some new ideas.

Do you know, if your movie is loaded in MPC external player via Kodi, does Kodi still show the filename being played in http://127.0.0.1:8080 when you click the text at the bottom of the page like before. Or what does it say on the status screen of my Web UI, when you have it set to Kodi mediaplayer, but when the file is playing in MPC external player?

I might be able to get the filename from Kodi, but the time sync from MPC or something like that.

Another idea that I can try is maybe I can try to ask Windows what the path of the ISO that is mounted on your A:\ drive is as in "A:\BDMV\index.bdmv".

If not, I will at least add a button to the Manage Wind Track screen (where the Rename button is). What the button will do is just let you pick a wind track that you have installed in your windtracks folder, and "Load" it for your currently playing movie. So you wont have to do anything other than open the Web UI and select the movie you are playing. No moving or renaming of files or anything like that before or after the movie should be necessary.

You will be able to download new wind tracks from the online list into your local folder, and you will be able to select a downloaded wind track to "Load" for the current movie.


----------



## brazen1

When you requested the url, this was the address I supplied you. I removed the "http" so you could read it and this website wouldn't turn it into a dead link. The iso movie was selected via Kodi which passed it to a playercorefactory.xml which instructed my .bat to tell Virtual Clone Drive to mount it and then for MPC-BE to play it. MPC was the player selected in HTFanControl web ui.

://127.0.0.1:8080/#browser/file/bluray://udf%3a%2f%2fD%253a%255c2%255cCrawl%2520(2019)%255c Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1.iso%2f/BDMV/PLAYLIST/00001.mpls

As you see, the iso file name is present. This also why I was explaining how Kodi handles an iso and why the .mpls is present and the other associated info I went on about.

At one point in time I had Kodi set as the player in the web ui, launched an iso same as above using MPC external player (instead of using the Kodi internal player), and noticed the IR signal to the fan was repeating OFF, OFF, OFF, OFF fwiw. I didn't take note of the url. If you still want it, I'll reproduce again but I think the url above is what you're after.

If you can ask windows the complete path of what's mounted in A: beyond simply "A:\BDMV\index.bdmv", perhaps all this could be automated. Or even better, retrieve the iso title from the url above which would match the pre-named windtrack file. I have no problem whatsoever manually editing windtrack files to match iso file names. I also have no problem obtaining windtrack files from this thread or pastebin. It's nice the web ui handles retrieving them and managing them though. As a last resort, the ability to choose and then force a windtrack regardless of the "index" mismatch is a pretty good workaround and cuts back on hands-on fiddling. Still, if you can automate it via reading the iso title from the url... it would be absolutely hands down perfect. No expectations. Love what you've done so far and what you are contemplating during this brainstorm. 

Installing Beta11 shortly. Anxious to see if it's stable in the tray, the icon you picked, hiding the console, web ui shortcut, auto start, etc. Man, you're really movin' along... FANTASTIC!!!


----------



## brazen1

At some point I'm going to concentrate on this Seville fan. I still want to horizontal mount it in the ceiling I think. I've come to learn, noise is not a problem. The audio drowns it out even well below reference. I have noticed the grill is fixed and directs the air flow in a narrow beam. It's actually overly powerful head on but guests on the L and R can barely feel it. So, I want to mod the grill and louvre it to expand the air flow directions... horizontaly. It has plenty of CFM to experiment. This, or use two fans.


----------



## SirMaster

brazen1 said:


> When you requested the url, this was the address I supplied you. I removed the "http" so you could read it and this website wouldn't turn it into a dead link. The iso movie was selected via Kodi which passed it to a playercorefactory.xml which instructed my .bat to tell Virtual Clone Drive to mount it and then for MPC-BE to play it. MPC was the player selected in HTFanControl web ui.
> 
> ://127.0.0.1:8080/#browser/file/bluray://udf%3a%2f%2fD%253a%255c2%255cCrawl%2520(2019)%255c Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1.iso%2f/BDMV/PLAYLIST/00001.mpls
> 
> As you see, the iso file name is present. This also why I was explaining how Kodi handles an iso and why the .mpls is present and the other associated info I went on about.
> 
> At one point in time I had Kodi set as the player in the web ui, launched an iso same as above using MPC external player (instead of using the Kodi internal player), and noticed the IR signal to the fan was repeating OFF, OFF, OFF, OFF fwiw. I didn't take note of the url. If you still want it, I'll reproduce again but I think the url above is what you're after.
> 
> If you can ask windows the complete path of what's mounted in A: beyond simply "A:\BDMV\index.bdmv", perhaps all this could be automated. Or even better, retrieve the iso title from the url above which would match the pre-named windtrack file. I have no problem whatsoever manually editing windtrack files to match iso file names. I also have no problem obtaining windtrack files from this thread or pastebin. It's nice the web ui handles retrieving them and managing them though. As a last resort, the ability to choose and then force a windtrack regardless of the "index" mismatch is a pretty good workaround and cuts back on hands-on fiddling. Still, if you can automate it via reading the iso title from the url... it would be absolutely hands down perfect. No expectations. Love what you've done so far and what you are contemplating during this brainstorm.
> 
> Installing Beta11 shortly. Anxious to see if it's stable in the tray, the icon you picked, hiding the console, web ui shortcut, auto start, etc. Man, you're really movin' along... FANTASTIC!!!



Well what I want to know, is when your movie is playing from external player MPC, does Kodi still give the ISO file information? I know that it gives the info when using the internal Kodi player, but I want to know for sure if it still gives the ISO info when using external MPC player.


----------



## brazen1

Yes, that's what I just explained. I'm doing it again to double check:

MPC is player selected in web ui.
Open Kodi.
Select Crawl (2019).
External MPC-BE is playing it.
Open http://127.0.0.1:8080/

://127.0.0.1:8080/#browser/file/bluray://udf%3a%2f%2fD%253a%255c2%255cCrawl%2520(2019)%255cCrawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1.iso%2f/BDMV/PLAYLIST/00001.mpls


----------



## SirMaster

brazen1 said:


> Yes, that's what I just explained. I'm doing it again to double check:
> 
> MPC is player selected in web ui.
> Open Kodi.
> Select Crawl (2019).
> External MPC-BE is playing it.
> Open http://127.0.0.1:8080/
> 
> ://127.0.0.1:8080/#browser/file/bluray://udf%3a%2f%2fD%253a%255c2%255cCrawl%2520(2019)%255cCrawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1.iso%2f/BDMV/PLAYLIST/00001.mpls


OK, I think I will do a hybrid sync mode then. I will pull the movie from Kodi as it already can do now with ISO, and pull the time codes from MPC.

I need to think how I will make this option enabled/disabled.

When you select Kodi in the web ui though, you should currently see the movie listed on the status page (iso file name), but does it also say _(playing)_ or _(stopped)_ after the movie? And does it track the time code at all?

I am thinking that it wont, but maybe somehow it does? This is what I wanted to also make sure of before I start working on alternatives.


----------



## brazen1

Opened web ui.
Changed player from MPC to Kodi.
Close web ui
Open Kodi.
Select Crawl (2019) and playing with MPC-BE.
Open web ui status tab.

Status
Settings
Wind Tracks
Loaded Movie: Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1 (playing) 
Current time: 00:00:00.000
No wind track file found named: Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1.txt
Current Command: OFF 
Last error: (11:02:10 AM) Cannot connect to Kodi at: 127.0.0.1:8080 (clear) 
Fans Enabled Reload Wind Track 

Yes, iso file name is showing.
Status shows 'playing'.
No, it doesn't appear to be tracking time code.


----------



## SirMaster

brazen1 said:


> Opened web ui.
> Changed player from MPC to Kodi.
> Close web ui
> Open Kodi.
> Select Crawl (2019) and playing with MPC-BE.
> Open web ui status tab.
> 
> Status
> Settings
> Wind Tracks
> Loaded Movie: Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1 (playing)
> Current time: 00:00:00.000
> No wind track file found named: Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1.txt
> Current Command: OFF
> Last error: (11:02:10 AM) Cannot connect to Kodi at: 127.0.0.1:8080 (clear)
> Fans Enabled Reload Wind Track
> 
> Yes, iso file name is showing.
> Status shows 'playing'.
> No, it doesn't appear to be tracking time code.



Hmm I wonder why it is saying cannot connect to Kodi when it definitely is to get the ISO file name.

Or why it says it can't find Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1.txt unless you don't actually have a file named that in your windtrack folder or next to your ISO.

I think I will have to set up Kodi with an external MPC player myself to test this out fully and really get to the bottom of things. It's just kind of hard to understand what is going on inside your system for me I guess.


----------



## Kano3D

I would like to improve the system with cold/heat.

Rumble could be added with some rumble motor on seat and a simple sound filter to adjust to vibrate only with constant sounds lower than 50Hz


----------



## brazen1

I have changed windtrack name to Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1 to match my iso title. I didn't know I was supposed to do this? Sorry. Naturally that takes care of the "no windtrack file found".

Here's the new status and it isn't tracking time code:

Status
Settings
Wind Tracks
Loaded Movie: Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1 (playing) 

Wind track info: 
crawl_(2019)
Blu-ray (01:27:32)
Coded by: SOWK
Codes loaded: 105 

Current time: 00:00:33.147

Current Command: 
OFF 

Next Command: 
00:05:57.360,MED (with offsets) 
00:06:01.360 (raw time) 

Last error: (12:13:59 PM) Cannot connect to Kodi at: 127.0.0.1:8080 (clear) 

Fans Enabled Reload Wind Track


----------



## SOWK

Kano3D said:


> I would like to improve the system with cold/heat.
> 
> Rumble could be added with some rumble motor on seat and a simple sound filter to adjust to vibrate only with constant sounds lower than 50Hz


Rumble can already be done with bass shakers and buttkickers. 

Cold/Heat would be possible but a very good working solution would need to be found to make it feasible.


----------



## brazen1

SirMaster said:


> Hmm I wonder why it is saying cannot connect to Kodi when it definitely is to get the ISO file name.
> 
> Or why it says it can't find Crawl.2019.1080p.BluRay.AVC.DTS-HD.MA.7.1.txt unless you don't actually have a file named that in your windtrack folder or next to your ISO.
> 
> I think I will have to set up Kodi with an external MPC player myself to test this out fully and really get to the bottom of things. It's just kind of hard to understand what is going on inside your system for me I guess.


If you want, I can TeamViewer into you and set it up. You can make a system image ahead of time to undo. It would take a while.
OR
Set this whole iso thing aside and move on to other things you want to do. Very grateful for what you've already accomplished.


----------



## SirMaster

brazen1 said:


> If you want, I can TeamViewer into you and set it up. You can make a system image ahead of time to undo. It would take a while.
> OR
> Set this whole iso thing aside and move on to other things you want to do. Very grateful for what you've already accomplished.


I mean I don't mind getting it working. I might want to do TeamViewer. I have some other stuff I want to try to take care of first though.


----------



## kdawg2391044

SirMaster said:


> https://nicko88.com/misc/HTFan/HTFanControl_Beta11.zip
> 
> Notes:
> 
> Added a system tray icon.
> Added a program icon.
> 
> The program now starts in a system tray icon (down by the clock) and no longer keeps a console window open.
> 
> There are a few options in the system tray icon which you can access by clicking it with either mouse button.
> 
> 
> 
> Open Web UI (this opens a web browser to the Web UI)
> Show Console Window (this shows and hides the program console window)
> Start HTFanControl Automatically (this enables and disables automatic startup on boot) (If you were using a different method like a startup shortcut to start your program, I would recommend deleting that and using this new option)
> Shutdown HTFanControl (shuts down the HTFanControl program)
> 
> 
> The fix for Plex is still not ready yet and will come soon in a later build.


love the systray option and having the shortcuts to launch the various functions now. One thing I noticed while running the new beta is that the SpindownOffset was reintroduced. Is that on purpose or is it a bug? I havent had much time to spend on this the past few weeks since its been busy at work but great to see you still cranking away at adding new features and I am personally excited for the Plex support since I am not a huge fan of how Kodi's management interface works and how it tracks played movies. Also, I think having the ability to load any arbitrary wind track as the manual fallback without renaming a track file would be a good catch all feature if you have a specific setup that isnt quite support which while not automated, still should make it a simple task for anyone. 

BTW, I played a demo of the system to my brother and his gf yesterday and they were impressed with the effect so this is an awesome project!


----------



## SirMaster

kdawg2391044 said:


> love the systray option and having the shortcuts to launch the various functions now. One thing I noticed while running the new beta is that the SpindownOffset was reintroduced. Is that on purpose or is it a bug? I havent had much time to spend on this the past few weeks since its been busy at work but great to see you still cranking away at adding new features and I am personally excited for the Plex support since I am not a huge fan of how Kodi's management interface works and how it tracks played movies. Also, I think having the ability to load any arbitrary wind track as the manual fallback without renaming a track file would be a good catch all feature if you have a specific setup that isnt quite support which while not automated, still should make it a simple task for anyone.
> 
> BTW, I played a demo of the system to my brother and his gf yesterday and they were impressed with the effect so this is an awesome project!


Ah yes, good catch.

I did add back in SpindownOffset but I forgot to mention it in my change notes. I just figured someone might want to use it so why not put it back in.

It will be great that you can test the Plex support when I get it working correctly soon.

I am glad you are enjoying the app.


----------



## SirMaster

@brazen1



Try this build to see if it will work for you.



Leave your Kodi remote access on port 8080, but set HTFanControl to read from MPC like normal.



When the program sees that MPC looks like a mounted BluRay iso, it will try to read the file info from Kodi. But play/pause state and time codes will come from MPC.



https://nicko88.com/misc/HTFan/HTFanControl_Beta11_brazen1.zip


----------



## SirMaster

*Wind Track Creator v1.2*

Just a small update to Wind Track Creator.

https://nicko88.com/misc/HTFan/WindTrackCreator.v1.2.zip

Notes

Added dark mode skin.


----------



## brazen1

Hi. web ui doesn't connect with special build and the address is different from beta11. If I put in address from normal beta11, it does connect. Status shows it is expecting "index" still.
Thank you for trying.


----------



## SirMaster

brazen1 said:


> Hi. web ui doesn't connect with special build and the address is different from beta11. If I put in address from normal beta11, it does connect. Status shows it is expecting "index" still.
> Thank you for trying.


I think we have to try teamviewer because your system is not making sense to me I guess. 

Based on the information I had it should have worked. It works on my test system which I tried to set up like yours.


----------



## kdawg2391044

SirMaster said:


> Ah yes, good catch.
> 
> I did add back in SpindownOffset but I forgot to mention it in my change notes. I just figured someone might want to use it so why not put it back in.
> 
> It will be great that you can test the Plex support when I get it working correctly soon.
> 
> I am glad you are enjoying the app.


I thought you stated previously that the Spindown offset wasnt needed for a properly calibrated system? Is this going to be required moving forward or is it optional? Are you or SOWK going to update the calibration files to include this parameter? This is testing how long it takes for the fan to stop blowing once it is turned off right? So I would just need to time how long it takes after going from High to Off for the wind to stop reaching my MLP?


----------



## SirMaster

kdawg2391044 said:


> I thought you stated previously that the Spindown offset wasnt needed for a properly calibrated system? Is this going to be required moving forward or is it optional? Are you or SOWK going to update the calibration files to include this parameter? This is testing how long it takes for the fan to stop blowing once it is turned off right? So I would just need to time how long it takes after going from High to Off for the wind to stop reaching my MLP?


I still stand by that on a properly calibrated system it's not needed. I defaulted it to 0. I mean, technically all the offsets are optional, so yes it's optional. There is no need to update the calibration files for this since it's normally not needed. Yes it's only used when a fan is switching OFF. It will switch it off a little earlier.

The reason that I brought it back is more complicated than all that. In testing, it seems generally OK if a fan turns OFF a little too early. This doesn't cause a real noticeable distraction in the wind effect. There is a negative experience noticed however if the fan turns off too late.

When I added Plex, an unfortunate aspect of the Plex API is that the time code positions are not as accurate as MPC or Kodi. It's not a huge deal, but they can be off a fraction of a second with Plex. I added SpindownOffset in the case that someone uses Plex. They might find that shutting off their fans about 500ms earlier can prevent the fans from ever shutting off too late. That's all.


----------



## brazen1

SirMaster said:


> I think we have to try teamviewer because your system is not making sense to me I guess.
> 
> Based on the information I had it should have worked. It works on my test system which I tried to set up like yours.


Sure. Make a system image in case we make any changes you might want to revert. Install TeamViewer and PM me your user/password.


----------



## brazen1

*Life of Pi (2012)*

Coded by brazen1


----------



## SirMaster

*HTFanControl Beta 12*

https://nicko88.com/misc/HTFan/HTFanControl_Beta12.zip

Notes:

Fixed Plex media source.

Plex as a media source should actually work for everyone now.

Please let me know if you test it out and if you get it working or run into problems.

There's always little tiny tweaks here and there as well that generally aren't worth mentioning, but I always recommend updating to the latest version, especially to help make sure that the latest version is always the most stable and that everything, including all the old stuff still works as I tweak and clean up things here and there.


----------



## kdawg2391044

SirMaster said:


> https://nicko88.com/misc/HTFan/HTFanControl_Beta12.zip
> 
> Notes:
> 
> Fixed Plex media source.
> 
> Plex as a media source should actually work for everyone now.
> 
> Please let me know if you test it out and if you get it working or run into problems.
> 
> There's always little tiny tweaks here and there as well that generally aren't worth mentioning, but I always recommend updating to the latest version, especially to help make sure that the latest version is always the most stable and that everything, including all the old stuff still works as I tweak and clean up things here and there.


thanks @SirMaster, is it still accurate to say that Plex as a client wont give me the best experience from a timing perspective from what you stated previously? If so, I will test and validate the general functionality for Plex, but will likely stick to Kodi for 4d enabled movies.


----------



## SirMaster

kdawg2391044 said:


> thanks @SirMaster, is it still accurate to say that Plex as a client wont give me the best experience from a timing perspective from what you stated previously? If so, I will test and validate the general functionality for Plex, but will likely stick to Kodi for 4d enabled movies.


In terms of actual timing data it's not as accurate, no. But I doubt that it would really be noticeable. If you can use Kodi then great, but I probably wouldn't use Kodi over Plex if I liked Plex more.

Maybe you can tell us if you can notice a difference in timing accuracy between Plex and Kodi with your highly detailed How to Train Your Dragon track.

In terms of real accuracy, Plex could be up to about 400ms off from what Kodi or MPC would be, worst case. With how air moves through a room I don't think anything under 500ms would be noticeable.


----------



## brazen1

*1917 (2019)*

Coded by brazen1


----------



## SOWK

Brazen1, thank you for jumping in and making fan files!!!!

I love when the whole community helps build something amazing!


----------



## brazen1

SOWK said:


> Brazen1, thank you for jumping in and making fan files!!!!
> 
> I love when the whole community helps build something amazing!


Right back at cha'! Expect more.

These Windtracks are as new to me as they are to others. Personally, I'd like feedback on my coding of these movies like if anything needs consideration for refinement or how to improve etc. It really is up to the interpretation of the author and I want to make sure I'm starting off on the right foot. Perhaps they're fine just as they are and no feedback means no changes needed? Hopefully some of you have the movies being coded by the folks here. I'm sure this thread might be open for requests too. I've used a couple supplied here so far and was very pleased. 

I think there is plans for a microphone to supply IR signals in real time. While there are MANY advantages to using a mic, my common sense keeps telling me it's going to get it wrong more than it's going to get it right. Even one wrong could ruin the moment imo. Not having experienced it, this prediction means absolutely nothing. These Windtracks MAY become the reference for anything else.

I'm still learning along the way and can pass on a tip for MPC players. I think you touched on this in the how to section. When you have a timeframe that requires precision, pause and use the keyboard up/down directional keys to forward or rewind one frame at a time. Holding the directional up or down key will be in real time. This should help speedup reviewing the movie and deciding code. Coding should take less time than the actual runtime imo. Anything to help speed it up so we can spit these out accurately.


----------



## kdawg2391044

SirMaster said:


> https://nicko88.com/misc/HTFan/HTFanControl_Beta12.zip
> 
> Notes:
> 
> Fixed Plex media source.
> 
> Plex as a media source should actually work for everyone now.
> 
> Please let me know if you test it out and if you get it working or run into problems.
> 
> There's always little tiny tweaks here and there as well that generally aren't worth mentioning, but I always recommend updating to the latest version, especially to help make sure that the latest version is always the most stable and that everything, including all the old stuff still works as I tweak and clean up things here and there.


I am unfortunately having issues with getting Plex support to work with this build

Launched HTFanControl beta 12, went to Settings in web portal, I checked the Plex option, put in my server IP on my LAN, got Plex token and inputted that. When I go to list the players, nothing shows up. I then went to Plex console logs and saw a HUGE list of connection attempts from HTFanControl trying to access Plex with an error "Request: [192.168.1.87:57979] rejected because secure connections are required" with an incrementing port that the originating computer is using. That IP is my HTPC which is NOT running my Plex server. Ok, so I check Network settings in Plex and I have to change "Secure Connections" from Required to Preferred so that some unsecure connections to the server are allowed. Also to note, if I leave HTFanControl web UI at the Settings screen at this point, my Plex server is basically unresponsive on the UI side. I have to change the media player type to Kodi or MPC so that it stops essentially spamming my server. After changing that secure connection setting, I can now go back to HTFanController Settings UI and then click Select Plex Player, but then it only lists three Chrome players (I couldnt figure out where they were coming from but I had at one open on the HTPC that I was aware of). I opened up my phone Plex app and it didnt show up in the list and my Shield doesnt show up either. After inspecting the Plex console logs, I do see that my phone and the Kodi player on Shield show up in the logs as clients but not in the HTFanControl list to select. I tried setting it to each of the Chrome options and then playing media in the Plex chrome window that I did have open but on the Status page, it just shows cannot connect to Plex. I am not able to try running HTFanControl on the Plex server itself since that is running Ubuntu so I am wondering if this works if everything is all local. Any other settings to change or try? How did you do initial testing in your setup?


----------



## SirMaster

kdawg2391044 said:


> I am unfortunately having issues with getting Plex support to work with this build
> 
> 
> 
> Launched HTFanControl beta 12, went to Settings in web portal, I checked the Plex option, put in my server IP on my LAN, got Plex token and inputted that. When I go to list the players, nothing shows up. I then went to Plex console logs and saw a HUGE list of connection attempts from HTFanControl trying to access Plex with an error "Request: [192.168.1.87:57979] rejected because secure connections are required" with an incrementing port that the originating computer is using. That IP is my HTPC which is NOT running my Plex server. Ok, so I check Network settings in Plex and I have to change "Secure Connections" from Required to Preferred so that some unsecure connections to the server are allowed. Also to note, if I leave HTFanControl web UI at the Settings screen at this point, my Plex server is basically unresponsive on the UI side. I have to change the media player type to Kodi or MPC so that it stops essentially spamming my server. After changing that secure connection setting, I can now go back to HTFanController Settings UI and then click Select Plex Player, but then it only lists three Chrome players (I couldnt figure out where they were coming from but I had at one open on the HTPC that I was aware of). I opened up my phone Plex app and it didnt show up in the list and my Shield doesnt show up either. After inspecting the Plex console logs, I do see that my phone and the Kodi player on Shield show up in the logs as clients but not in the HTFanControl list to select. I tried setting it to each of the Chrome options and then playing media in the Plex chrome window that I did have open but on the Status page, it just shows cannot connect to Plex. I am not able to try running HTFanControl on the Plex server itself since that is running Ubuntu so I am wondering if this works if everything is all local. Any other settings to change or try? How did you do initial testing in your setup?




OK, so the Request: 192.168.1.87 is being made from HTFanControl asking Plex for a list of active players. When on the select a player page it was requesting it every second, but I changed it to 3 seconds now.

I am not sure why your Plex web UI was locking up, but we will have to see if that happens once this is working correctly.

For my initial testing, my Plex Media Server runs on my ubuntu server machine, and I was running a Plex Media Player client on my Windows desktop and also Plex iOS client on my Phone. To get the phone to work as a player you need to go into settings on the Plex phone app. Look for Remote Control setting or Sharing setting and enable "Advertise as player" option.

I also tested running Plex Media Server on my desktop just to have a slightly different test and they all worked.

Just a few minutes ago I had one of my friends test HTFanControl with his Plex. He has his Plex Media Server on his Synology NAS, and he has 3 nVidia shields and an AppleTV in his house. HTFanControl saw all 3 shields and the AppleTV just fine (the Plex app needed to be open on them).

The movie sync from his AppleTV worked perfectly, but there was some sync issues with his Shields due to a request timeout issue.

I have adjusted the timeout values in HTFanControl and made a new Beta 13 which may help you. I also added the IP of the Plex player to the plex clients list to help identify them when there are more than 1 of the same name.

To view the clients that your Plex Media Player sees and provides to HTFanControl, you can see this by opening this link in your browser:

http://PlexServerIP:Port/clients?X-Plex-Token=XXX...

I would say try Beta 13 to see if that helps any, and compare what you see in the link above to what you see in the select a player page in my app.

If you are still having more troubles perhaps I can teamviewer in some time do some debuging with your setup. 

With Beta 13 it was working for my friend with Plex Media Player on his Linux NAS, and for all 3 of his shields and his AppleTV.


----------



## SirMaster

*HTFanControl Beta 13*

https://nicko88.com/misc/HTFan/HTFanControl_Beta13.zip

Notes:

Tweaks to Plex connectivity.

Further tweaking to improve the Plex connectivity and functionality.


----------



## feistyacorn

SirMaster said:


> With Beta 13 it was working for my friend with Plex Media Player on his Linux NAS, and for all 3 of his shields and his AppleTV.


I was really impressed with the software! Awesome work @SirMaster !!!


----------



## kdawg2391044

SirMaster said:


> OK, so the Request: 192.168.1.87 is being made from HTFanControl asking Plex for a list of active players. When on the select a player page it was requesting it every second, but I changed it to 3 seconds now.
> 
> I am not sure why your Plex web UI was locking up, but we will have to see if that happens once this is working correctly.
> 
> For my initial testing, my Plex Media Server runs on my ubuntu server machine, and I was running a Plex Media Player client on my Windows desktop and also Plex iOS client on my Phone. To get the phone to work as a player you need to go into settings on the Plex phone app. Look for Remote Control setting or Sharing setting and enable "Advertise as player" option.
> 
> I also tested running Plex Media Server on my desktop just to have a slightly different test and they all worked.
> 
> Just a few minutes ago I had one of my friends test HTFanControl with his Plex. He has his Plex Media Server on his Synology NAS, and he has 3 nVidia shields and an AppleTV in his house. HTFanControl saw all 3 shields and the AppleTV just fine (the Plex app needed to be open on them).
> 
> The movie sync from his AppleTV worked perfectly, but there was some sync issues with his Shields due to a request timeout issue.
> 
> I have adjusted the timeout values in HTFanControl and made a new Beta 13 which may help you. I also added the IP of the Plex player to the plex clients list to help identify them when there are more than 1 of the same name.
> 
> To view the clients that your Plex Media Player sees and provides to HTFanControl, you can see this by opening this link in your browser:
> 
> http://PlexServerIP:Port/clients?X-Plex-Token=XXX...
> 
> I would say try Beta 13 to see if that helps any, and compare what you see in the link above to what you see in the select a player page in my app.
> 
> If you are still having more troubles perhaps I can teamviewer in some time do some debuging with your setup.
> 
> With Beta 13 it was working for my friend with Plex Media Player on his Linux NAS, and for all 3 of his shields and his AppleTV.


hmm, not sure what is wrong with my setup since I am still noticing the same behavior of my clients not showing up. Here are the things I checked:

Phone already had advertise as player enabled but its not showing up in the list even when I access the API call that you mentioned, when I do that, it only lists two Chrome clients, one running local to HTPC and other on the Plex server itself. Its easier to identify now though with the IP being shown for the client so thanks for adding that. When I look at the phone app and use the cast feature, I see all sorts of devices on my network including Google devices. I also see my shield show up there twice and can cast media directly that way. It looks like it shows up twice because the Shield is both a chromecast device and a plex client so I see one with a Chromecast icon and the other with a rectangle with Plex logo in bottom left. I still dont see this listed in the API call though and am not sure why. On the Plex server, I have local network discovery enabled (GDM) so not sure what else could be the reason why it doesnt work. I would note that I tried to get my Plex and chromecast devices to work with smartthings at one point in time, but could never get the clients to show up. I wonder if this is a related issue since the clients arent being advertised in the API call which is likely how the Smartthings app worked at the time. Only other things I can think of is that I have DLNA disabled on Plex and UPnP disabled on my network. I did checked my Authorized Devices section on Plex and HTFanControl does not show up, not sure if that has anything to do with it but it still doesnt explain why the API call doesnt return any valid clients.

@feistyacorn any other inputs regarding your setup and if there is any difference would be appreciated. I am running Ubuntu 16.04.6 LTS and Plex Media Server 1.19.4.2865 and HTFanControl is running on Win10 Pro v2004


----------



## brazen1

*The Revenant (2015)*

Coded by brazen1

*FIXED*


----------



## SirMaster

kdawg2391044 said:


> hmm, not sure what is wrong with my setup since I am still noticing the same behavior of my clients not showing up. Here are the things I checked:
> 
> Phone already had advertise as player enabled but its not showing up in the list even when I access the API call that you mentioned, when I do that, it only lists two Chrome clients, one running local to HTPC and other on the Plex server itself. Its easier to identify now though with the IP being shown for the client so thanks for adding that. When I look at the phone app and use the cast feature, I see all sorts of devices on my network including Google devices. I also see my shield show up there twice and can cast media directly that way. It looks like it shows up twice because the Shield is both a chromecast device and a plex client so I see one with a Chromecast icon and the other with a rectangle with Plex logo in bottom left. I still dont see this listed in the API call though and am not sure why. On the Plex server, I have local network discovery enabled (GDM) so not sure what else could be the reason why it doesnt work. I would note that I tried to get my Plex and chromecast devices to work with smartthings at one point in time, but could never get the clients to show up. I wonder if this is a related issue since the clients arent being advertised in the API call which is likely how the Smartthings app worked at the time. Only other things I can think of is that I have DLNA disabled on Plex and UPnP disabled on my network. I did checked my Authorized Devices section on Plex and HTFanControl does not show up, not sure if that has anything to do with it but it still doesnt explain why the API call doesnt return any valid clients.
> 
> @feistyacorn any other inputs regarding your setup and if there is any difference would be appreciated. I am running Ubuntu 16.04.6 LTS and Plex Media Server 1.19.4.2865 and HTFanControl is running on Win10 Pro v2004


I am not sure why your devices wouldn't show up in the /clients API call. That's the only way I know how to get the information that I use to connect to the player device to make what are called "timeline" requests to get the time code and playback state.

You could try just manually entering in Plex client settings into the HTFanControlSettings.txt file. To try using your Shield, put in the Shield's IP, and for Port put 32500. For client name put anything, and I guess for client GUID just try putting anything. I am not sure if the Shield will respond to timeline requests without providing its GUID, but I don't know another way to get it's GUID than the /clients API interface.

I tried HTFanControl on another friend's network late last night. Hes running Plex Media Server in a Docker container on his UnRAID server and everything saw his Plex clients just fine.

I also do not believe it's possible to use a Chromecast as a Plex player with HTFanControl. As far as I understand how a Chromecast works, it doesn't actually run a Plex app, so it's probably incapable of acting like a full-fledged Plex player and responding to "timeline" requests. I think that the Chromecast works as a generic google media player, and other devices simply tell the Chromecast to play the video at a particular stream URL. So it's not actually running a Plex player code, it's running a Google player code, simply streaming from a URL that's pointing to the Plex Media Server.

But so far I have tested HTFanControl from Shield, iPhone, iPad, AppleTV, Pixel 2, and Plex Media Player (windows) and they all worked as players that could provide their current time code and play state back to HTFanControl.

Have not tried a Roku, or FireTV, or any Smart TV Plex apps yet. I might be able to test a Roku and Samsung TV app at my parent's house this weekend.

I wish I knew more info to help, but I am out of ideas for your setup so far. It's worked on 3 of 3 different system setups that I have tried so far with all players except Chromecasts.


----------



## SirMaster

I tested Plex on Roku tonight at my parents house and it worked perfect on the first try immediately.


----------



## brazen1

*Gemini Man (2019)*

Coded by brazen1


----------



## SOWK

Updated Pastebin


----------



## kdawg2391044

SirMaster said:


> I am not sure why your devices wouldn't show up in the /clients API call. That's the only way I know how to get the information that I use to connect to the player device to make what are called "timeline" requests to get the time code and playback state.
> 
> You could try just manually entering in Plex client settings into the HTFanControlSettings.txt file. To try using your Shield, put in the Shield's IP, and for Port put 32500. For client name put anything, and I guess for client GUID just try putting anything. I am not sure if the Shield will respond to timeline requests without providing its GUID, but I don't know another way to get it's GUID than the /clients API interface.
> 
> I tried HTFanControl on another friend's network late last night. Hes running Plex Media Server in a Docker container on his UnRAID server and everything saw his Plex clients just fine.
> 
> I also do not believe it's possible to use a Chromecast as a Plex player with HTFanControl. As far as I understand how a Chromecast works, it doesn't actually run a Plex app, so it's probably incapable of acting like a full-fledged Plex player and responding to "timeline" requests. I think that the Chromecast works as a generic google media player, and other devices simply tell the Chromecast to play the video at a particular stream URL. So it's not actually running a Plex player code, it's running a Google player code, simply streaming from a URL that's pointing to the Plex Media Server.
> 
> But so far I have tested HTFanControl from Shield, iPhone, iPad, AppleTV, Pixel 2, and Plex Media Player (windows) and they all worked as players that could provide their current time code and play state back to HTFanControl.
> 
> Have not tried a Roku, or FireTV, or any Smart TV Plex apps yet. I might be able to test a Roku and Samsung TV app at my parent's house this weekend.
> 
> I wish I knew more info to help, but I am out of ideas for your setup so far. It's worked on 3 of 3 different system setups that I have tried so far with all players except Chromecasts.


Man I really dont know what else to look for. I tried finding some documentation on the Plex API and was only able to find this site https://github.com/Arcanemagus/plex-api/wiki/Plex-Web-API-Overview I tried a few of the calls and can't get it to show my other non Chrome clients. I did see that under Plex.tv api call there is https://plex.tv/devices.xml. Interestingly enough, when I call that, I do see my client show up including servers. I tried setting HTFanControl to the client identifier, device name and IP address that is outputted for my phone as an example and HTFanControl still says cannot connect to client. What API call do you use to get the current playing timeline for the player? Maybe I can try calling that manually and see if it returns the expected output for my clients. For the api calls, are you using HTTPS? maybe it has something to do with secure vs insecure connections or something.

I am combing through the Plex console logs and see the following call coming from the HTPC which I am assuming what HTFanControl is calling: /player/proxy/poll?deviceClass=pc&protocolVersion=3&protocolCapabilities=timeline%2Cplayback%2Cnavigation%2Cmirror%2Cplayqueues&timeout=1 but when I append my token to that call and add my plex server IP prefix, I get bad request.


----------



## SirMaster

kdawg2391044 said:


> Man I really dont know what else to look for. I tried finding some documentation on the Plex API and was only able to find this site https://github.com/Arcanemagus/plex-api/wiki/Plex-Web-API-Overview I tried a few of the calls and can't get it to show my other non Chrome clients. I did see that under Plex.tv api call there is https://plex.tv/devices.xml. Interestingly enough, when I call that, I do see my client show up including servers. I tried setting HTFanControl to the client identifier, device name and IP address that is outputted for my phone as an example and HTFanControl still says cannot connect to client. What API call do you use to get the current playing timeline for the player? Maybe I can try calling that manually and see if it returns the expected output for my clients. For the api calls, are you using HTTPS? maybe it has something to do with secure vs insecure connections or something.
> 
> I am combing through the Plex console logs and see the following call coming from the HTPC which I am assuming what HTFanControl is calling: /player/proxy/poll?deviceClass=pc&protocolVersion=3&protocolCapabilities=timeline%2Cplayback%2Cnavigation%2Cmirror%2Cplayqueues&timeout=1 but when I append my token to that call and add my plex server IP prefix, I get bad request.


Yes, unfortunately there is no "official" and complete Plex API. There is only bit and pieces that plex has published or others have reverse engineered.

I connect only over http, not https. It would be much more complicated to do https. I don't even know how to get https working because of the certificate errors. But HTFanControl works for me with a default install of Plex media server. By default Plex Media Server is set to allow insecure connections.

I have now tested it at 4 different homes with Linux, docker, NAS, and Windows as the Plex Media Server host. And on a bunch of clients. iPhone, iPad, AppleTV, Shield, Roku, Windows desktop app and so far its all worked for me. I sent it off to 3 friends and they tested it on their setups and it just worked.

For making a timeline request to the player I use this as documented by Plex.

https://github.com/plexinc/plex-media-player/wiki/Remote-control-API#new-remote-control-commands

I am using the non-subscribe method: /player/timeline/poll?wait=0/1

You need to make a GET request for this and you need to include some headers. You need X-Plex-Client-Identifier (can be anything), X-Plex-Device-Name (can be anything), and X-Plex-Target-Client-Identifier (should be the machineidentifier of the player client). You don't include your token for this. The token is only for accessing the plex server, not for accessing a player client.

You can make the request in a program like Postman if you want to do some testing. I attached a screenshot. First a request to get the client information from the plex media server, then the timeline request to the selected player where you will need the IP, port, and machineidentifier to make the GET request from the player. Contained in the XML body output is the time (which holds the current time position in milliseconds) and state attributes for whether its currently playing or not.

When you are requesting time and state from a player, it has absolutely nothing to do with the plex media server. But some players you also need to enable an option in their settings that allow them to respond to these control requests. So far I only found I had to do that on my iPhone and iPad. AppleTV, Shield, and Roku all worked by default.


----------



## AndreNewman

Well this is an interesting project, surprising what comes out of too much spare time. 

I have just yesterday installed a ceiling fan in our cinema room and planned to automate it so it would automatically be turned off during a movie but maybe it has a better use now. It's really installed in Auro 3D Voice of God position which causes me to wonder if perhaps several fans are required co-located with atmos and 7.1 speaker positions perhaps ;-) Maybe an object based file format (wind direction as well as strength) could be defined before too many movies get analysed, files get created.

For us I'm thinking two vertical fans disguised as atmos wides or just outside of L&R anyway and the VoG ceiling fan would cover most effects I would want. Although some low speed fans behind might be good for horror movies, not a genre we enjoy but might be interesting.

Seems my wife is up for the idea too, so might have to start on it, next weekend maybe, excellent stuff and I thought the B.O.S.S. thread was wacky, well I will be building one but wacky..


----------



## brazen1

*The Hunger Games (2012)*

Coded by brazen1


----------



## brazen1

Tough crowd.


----------



## SOWK

Updated the pastebin. Thanks again brazen1!


----------



## SOWK

AndreNewman said:


> Well this is an interesting project, surprising what comes out of too much spare time.
> 
> I have just yesterday installed a ceiling fan in our cinema room and planned to automate it so it would automatically be turned off during a movie but maybe it has a better use now. It's really installed in Auro 3D Voice of God position which causes me to wonder if perhaps several fans are required co-located with atmos and 7.1 speaker positions perhaps ;-) Maybe an object based file format (wind direction as well as strength) could be defined before too many movies get analysed, files get created.
> 
> For us I'm thinking two vertical fans disguised as atmos wides or just outside of L&R anyway and the VoG ceiling fan would cover most effects I would want. Although some low speed fans behind might be good for horror movies, not a genre we enjoy but might be interesting.
> 
> Seems my wife is up for the idea too, so might have to start on it, next weekend maybe, excellent stuff and I thought the B.O.S.S. thread was wacky, well I will be building one but wacky..


You can easily convert this into a surround type wind setup.

Different fans with different IR commands are needed and the coding for the movies would require more work as well. 

Here is a design look:


----------



## kdawg2391044

SOWK said:


> You can easily convert this into a surround type wind setup.
> 
> But the coding for the movies would require more work as well.
> 
> Here is a design look:
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> You would just need to make sure the emitters going front, back, left, right (even up and down if you want) don't activate anything but the fans they are suppose too.


Lol that would be nuts! First ever 9.4.6.6 setup? That would make coding windtracks much more complex though but would certainly be doable as a PoC. I will leave it up to someone else to be the first to implement


----------



## SOWK

Nevermind. It would require different fans with different IR commands to work. It's still possible, but most defiantly not worth the hassle.


----------



## AndreNewman

SOWK said:


> You can easily convert this into a surround type wind setup.
> 
> But the coding for the movies would require more work as well.
> 
> You would just need to make sure the emitters going front, back, left, right (even up and down if you want) don't activate anything but the fans they are suppose too.


Ah yes, completely forgot the issue of identical fans with identical IR codes!

I can't see any fan company having the forethought to provide 5.1 switchable IR code choices, never mind a full atmos set, I think I'm going to call the ceiling fan the .1  Probably my ceiling fan is too heavy to respond quickly enough but it might be fun trying... On full forward speed it would do a good helicopter downdraft simulation, I can think of a few movies where that would be appropriate.

I had thought to build a controller rather than using IR but needs some thought.

Thanks for an excellent idea


----------



## AndreNewman

Ok a little research finds me the sonoff ifan03 module, designed for mains ceiling fans but should control 3 speeds of any suitable wattage mains fan.

It can be flashed with tasmota an open source project replacing the firmware on the module, makes it a lot more flexible, as it's controlled over wifi should be able to control as many different ones as wanted. I was already planning to use some of these modules for other lighting control around the house so I think I'll get one of these and use it for the ceiling fan, see how that goes, it would be my preferred solution even just to automate turning the fan off when putting the projector on.

I now have a project for the two old floorstander speaker cabinets I have in the loft, should be able to put some mains fans in them in place of the speakers, remove the rear panels, I have some spare velvet for the backs. and then they won't give the game away to visitors. ;-)

So would need to find a way to get mqtt messages out from your software, doesn't seem to be a LIRC thing but hopefully that's not too difficult?


----------



## SOWK

So thinking more about it.... you can do it, but it gets very convoluted... LOL

You can run:

Multiple PC's (or Virtual Machines) with multiple IguanaWorks USB IR devices and multiple wired IR emitters

Each PC would control for a fan or series of fans.

Example:

PC-1 can run a custom fan file for just the front set of fans
PC-2 can run a custom fan file for just the rear set of fans
PC-3 can run a custom fan file for just the Left set of fans
PC-4 can run a custom fan file for just the right set of fans
PC-5 can run a custom fan file for just the ceiling set of fans

You would absolutely need to make sure the IR emitters of each PC only reach the fans you want activated.

You would have to create 5 separate fan files for the above example per movie. 

You would code all helicopter wind for PC-5 with a custom fan file that only contains timestamps for helicopter wind effects.

You would code all wind coming from the left for PC-3 with a custom fan file that contains only the timestamps for wind coming from the left...

Etc.

Even I am not this crazy yet.... But if you want to have at it....


----------



## brazen1

*Lucy (2014)*

Coded by brazen1


----------



## enovison

SirMaster said:


> Yes, unfortunately there is no "official" and complete Plex API. There is only bit and pieces that plex has published or others have reverse engineered.
> 
> 
> 
> I connect only over http, not https. It would be much more complicated to do https. I don't even know how to get https working because of the certificate errors. But HTFanControl works for me with a default install of Plex media server. By default Plex Media Server is set to allow insecure connections.
> 
> 
> 
> I have now tested it at 4 different homes with Linux, docker, NAS, and Windows as the Plex Media Server host. And on a bunch of clients. iPhone, iPad, AppleTV, Shield, Roku, Windows desktop app and so far its all worked for me. I sent it off to 3 friends and they tested it on their setups and it just worked.
> 
> 
> 
> For making a timeline request to the player I use this as documented by Plex.
> 
> 
> 
> https://github.com/plexinc/plex-media-player/wiki/Remote-control-API#new-remote-control-commands
> 
> 
> 
> I am using the non-subscribe method: /player/timeline/poll?wait=0/1
> 
> 
> 
> You need to make a GET request for this and you need to include some headers. You need X-Plex-Client-Identifier (can be anything), X-Plex-Device-Name (can be anything), and X-Plex-Target-Client-Identifier (should be the machineidentifier of the player client). You don't include your token for this. The token is only for accessing the plex server, not for accessing a player client.
> 
> 
> 
> You can make the request in a program like Postman if you want to do some testing. I attached a screenshot. First a request to get the client information from the plex media server, then the timeline request to the selected player where you will need the IP, port, and machineidentifier to make the GET request from the player. Contained in the XML body output is the time (which holds the current time position in milliseconds) and state attributes for whether its currently playing or not.
> 
> 
> 
> When you are requesting time and state from a player, it has absolutely nothing to do with the plex media server. But some players you also need to enable an option in their settings that allow them to respond to these control requests. So far I only found I had to do that on my iPhone and iPad. AppleTV, Shield, and Roku all worked by default.




Glad to see this feed picking up steam! Through some digging, I actually found something that may be of an interest to us all. I contacted a company that creates products for haunted houses and escape rooms! They sell everything from strobe lights, to scents (every scent imaginable from apple pie to rotting corpses to explosive material), foggers, misters you name it. Any of these 4d devices can be plugged into their module which in turn can be triggered by a unique IR command. Seems like it could fit right into the wind program- imagine during a storm the wind kicks on and strobe light lightning! @SirMaster thoughts?


Sent from my iPhone using Tapatalk


----------



## SirMaster

enovison said:


> Glad to see this feed picking up steam! Through some digging, I actually found something that may be of an interest to us all. I contacted a company that creates products for haunted houses and escape rooms! They sell everything from strobe lights, to scents (every scent imaginable from apple pie to rotting corpses to explosive material), foggers, misters you name it. Any of these 4d devices can be plugged into their module which in turn can be triggered by a unique IR command. Seems like it could fit right into the wind program- imagine during a storm the wind kicks on and strobe light lightning! @SirMaster thoughts?
> 
> 
> Sent from my iPhone using Tapatalk



It’s up to you. As long as it’s IR controlled there are no changes that need to be made. Just add the IR commands to your remote config file and add them to your wind track files.


----------



## enovison

SirMaster said:


> It’s up to you. As long as it’s IR controlled there are no changes that need to be made. Just add the IR commands to your remote config file and add them to your wind track files.




Oh good point- and instead of low medium or high I can just name it “strobe” for example?

I think very doable. Once we can use a raspberry pi- I can just hide the pi behind whatever device I’m controlling. I’ll follow up if I have success


Sent from my iPhone using Tapatalk


----------



## enovison

SOWK said:


> So thinking more about it.... you can do it, but it gets very convoluted... LOL
> 
> 
> 
> You can run:
> 
> 
> 
> Multiple PC's (or Virtual Machines) with multiple IguanaWorks USB IR devices and multiple wired IR emitters
> 
> 
> 
> Each PC would control for a fan or series of fans.
> 
> 
> 
> Example:
> 
> 
> 
> PC-1 can run a custom fan file for just the front set of fans
> 
> PC-2 can run a custom fan file for just the rear set of fans
> 
> PC-3 can run a custom fan file for just the Left set of fans
> 
> PC-4 can run a custom fan file for just the right set of fans
> 
> PC-5 can run a custom fan file for just the ceiling set of fans
> 
> 
> 
> You would absolutely need to make sure the IR emitters of each PC only reach the fans you want activated.
> 
> 
> 
> You would have to create 5 separate fan files for the above example per movie.
> 
> 
> 
> You would code all helicopter wind for PC-5 with a custom fan file that only contains timestamps for helicopter wind effects.
> 
> 
> 
> You would code all wind coming from the left for PC-3 with a custom fan file that contains only the timestamps for wind coming from the left...
> 
> 
> 
> Etc.
> 
> 
> 
> Even I am not this crazy yet.... But if you want to have at it....




If we get to a point where we can run the program off a raspberry pi - it seems prettyy doable- like you said each just coded separately 

Meanwhile I’ve showed this to a few people and they were blown away!


Sent from my iPhone using Tapatalk


----------



## SirMaster

enovison said:


> Oh good point- and instead of low medium or high I can just name it “strobe” for example?
> 
> I think very doable. Once we can use a raspberry pi- I can just hide the pi behind whatever device I’m controlling. I’ll follow up if I have success
> 
> 
> Sent from my iPhone using Tapatalk


Yes just scan in your new IR codes and add them all to the same .cf LIRC remote config file and give them whatever name you want. Then use that same name in the wind track file.

The only thing I will need to do to the program is allow multiple commands at the same time code which I was planning on adding at some point anyways. Just list them comma separated and soon I will add support for that.

00:00:00.000,ECO,STROBE


----------



## enovison

Okay seems doable though! Once I get some things together we can iron out the details. Would be happy to test out a multi effect setup.

Is there any way we could run your app (when the time comes) on a pi zero? Just thinking bc it’s very small


Sent from my iPhone using Tapatalk


----------



## SirMaster

enovison said:


> Okay seems doable though! Once I get some things together we can iron out the details. Would be happy to test out a multi effect setup.
> 
> Is there any way we could run your app (when the time comes) on a pi zero? Just thinking bc it’s very small
> 
> 
> Sent from my iPhone using Tapatalk


The program will work on a Pi Zero, but not something I am providing an SD card image for.

You would have to set up the Pi OS yourself.

Also the Pi Zero will never work with the audio sync method if that becomes an option as it's way too slow and low ram.


Just something to consider for other effects is you will have to program them yourself, and you will have to program them to counteract the global offset and such. So if you want a light to turn on at the same time as you feel the air, you will have to program the light to come on early by the same time as your global offset for the air.


----------



## enovison

SirMaster said:


> The program will work on a Pi Zero, but not something I am providing an SD card image for.
> 
> 
> 
> You would have to set up the Pi OS yourself.
> 
> 
> 
> Also the Pi Zero will never work with the audio sync method if that becomes an option as it's way too slow and low ram.
> 
> 
> 
> 
> 
> Just something to consider for other effects is you will have to program them yourself, and you will have to program them to counteract the global offset and such. So if you want a light to turn on at the same time as you feel the air, you will have to program the light to come on early by the same time as your global offset for the air.




If I just dedicated a separate pi to each additional effect (or at least group effects based on offset) couldn’t I just have numerous instances run at same time and something like light will probably just have no offset? As for the type of pi I’ll prob just use the minimum version that you’ll support as an image file makes it way easier 


Sent from my iPhone using Tapatalk


----------



## SirMaster

enovison said:


> If I just dedicated a separate pi to each additional effect (or at least group effects based on offset) couldn’t I just have numerous instances run at same time and something like light will probably just have no offset? As for the type of pi I’ll prob just use the minimum version that you’ll support as an image file makes it way easier
> 
> 
> Sent from my iPhone using Tapatalk


Yes you could use separate Pi for each and then you could have them set to different offsets.

The reason for the Pi support is I would like to use Ubuntu which I am most conformable with. Also LIRC works easier on Ubuntu. Pi Zero is a different architecture, so the OS is not the same and Ubuntu does not work on the Pi Zero. For Pi Zero you have to use Rasbian OS which is the official OS.

But also the main reason is the Pi Zero does not have a LAN port. You would have to use a USB to Ethernet adapter, or get a Pi Zero W which has WiFi. But then you would have to use command line to setup the WiFi and such and that's is just too complicated for what I want users to have to worry about to set up my software to use on a Pi.

With my SD card image, you will just have to connect your Pi to LAN initially, and then you can connect to the HTFanControl WebUI and input your WiFi information there, and then you can disconnect the Pi from LAN and use it wirelessly from then on.


----------



## brazen1

enovison said:


> If I just dedicated a separate pi to each additional effect (or at least group effects based on offset) couldn’t I just have numerous instances run at same time and something like light will probably just have no offset? As for the type of pi I’ll prob just use the minimum version that you’ll support as an image file makes it way easier
> 
> 
> Sent from my iPhone using Tapatalk


Why use another device(s) when all you'd have to do is 

00:00:00.000,ECO
00:00:00:500 ,STROBE 

for instance. Assuming the light (or whatever) needs to sync with ECO 500ms later. Just add the delay for STROBE for every instance you code it.


----------



## SirMaster

brazen1 said:


> Why use another device(s) when all you'd have to do is
> 
> 00:00:00.000,ECO
> 00:00:00:500 ,STROBE
> 
> for instance. Assuming the light (or whatever) needs to sync with ECO 500ms later. Just add the delay for STROBE for every instance you code it.


I mean yes, that is what I originally suggested you would need to do because modifying the program to account for all that is just outside the scope of what I am willing to do. 

I am already spending way more time on this than I want. I don't even use the program for my own theater lol.

But you can always have the code and fork it yourself to make whatever changes you like.

It will be on GitHub soon.


----------



## brazen1

SirMaster said:


> I mean yes, that is what I originally suggested you would need to do because modifying the program to account for all that is just outside the scope of what I am willing to do.
> 
> I am already spending way more time on this than I want. I don't even use the program for my own theater lol.
> 
> But you can always have the code and fork it yourself to make whatever changes you like.
> 
> It will be on GitHub soon.


I wasn't implying that you need to change anything with the program... just the windtrack.txt files created by users.

*You don't use your own program?*


----------



## SirMaster

brazen1 said:


> I wasn't implying that you need to change anything with the program... just the windtrack.txt files created by users.
> 
> *You don't use your own program?*



No lol. I made this for SOWK and anyone else who finds it interesting for their system. 

I don’t really have a setup that would work well enough IMO. 

No good place for the fans and too loud for my listening volumes. And my roommate wouldn’t like it anyways.


----------



## brazen1

SirMaster said:


> No lol. I made this for SOWK and anyone else who finds it interesting for their system.
> 
> I don’t really have a setup that would work well enough IMO.
> 
> No good place for the fans and too loud for my listening volumes. And my roommate wouldn’t like it anyways.


Just when I'm convinced the world has completely turned into **** and is mostly bad... that the majority are 'takers' and not 'givers'... I run into a person like you. Thank you for reminding me there is still hope. *YOU ARE A GOOD PERSON - THANK YOU!* 

This encourages me to keep creating windtracks. Hopefully others as well


----------



## SirMaster

brazen1 said:


> Just when I'm convinced the world has completely turned into **** and is mostly bad... that the majority are 'takers' and not 'givers'... I run into a person like you. Thank you for reminding me there is still hope. *YOU ARE A GOOD PERSON - THANK YOU!*
> 
> This encourages me to keep creating windtracks. Hopefully others as well


Thanks.

I mean I definitely like the project and think it's cool.

It's a learning opportunity for my programming skills.

Some day I may use it in a future HT system. Hopefully the project is a success and there are lots of movies supported by then and lots of people adding new movies all the time.


----------



## SOWK

Updated Pastebin


----------



## AndreNewman

SirMaster said:


> Yes just scan in your new IR codes and add them all to the same .cf LIRC remote config file and give them whatever name you want. Then use that same name in the wind track file.
> 
> The only thing I will need to do to the program is allow multiple commands at the same time code which I was planning on adding at some point anyways. Just list them comma separated and soon I will add support for that.
> 
> 00:00:00.000,ECO,STROBE


Oh that's nice, very simple, elegant design, easy to extend.

I hadn't realised that the command were just LIRC commands, I can extend any way I like within what LIRC can do, I did a lot with LIRC with MythTV so should be easy. I had wondered why the commands included ECO for example but that's just the button name in LIRC, so VOGHIGH or LEFTLOW would be just as valid if that's what LIRC calls them.

I found a couple of 3 speed fan controllers in the "projects that never got finished" box, if (big if) I can find a compatible 433Mhz transmitter that works with LIRC I'm up and running.


----------



## SirMaster

AndreNewman said:


> Oh that's nice, very simple, elegant design, easy to extend.
> 
> I hadn't realised that the command were just LIRC commands, I can extend any way I like within what LIRC can do, I did a lot with LIRC with MythTV so should be easy. I had wondered why the commands included ECO for example but that's just the button name in LIRC, so VOGHIGH or LEFTLOW would be just as valid if that's what LIRC calls them.
> 
> I found a couple of 3 speed fan controllers in the "projects that never got finished" box, if (big if) I can find a compatible 433Mhz transmitter that works with LIRC I'm up and running.


Yes, you just name the "buttons" in your LIRC remote config file, and use those same names in the wind track files.

This allows the wind tracks to be created with 4 standard speeds, but if your fan only has 1 or 2 speeds or 10 speeds, you just have to read in the IR commands for your fan and map the speeds to the fan commands that you want.

Say your fan only has ON and OFF. You would just put the ON IR command in the LIRC config file 4 times and call each one ECO, LOW, MED, HIGH. Sure it's not as nice as a multi-speed fan, but at least you can still use the system and get the wind to be on and off when it's suppose to be.

Or if your fan had 10 speeds, you would just have to decide which of the 10 speeds to map to each of the 4 wind track speeds. Like in the LIRC config you would put IR speed 10 for HIGH, IR speed 7 for MED, 4 for LOW, and 1 for ECO or something like that.


----------



## brazen1

*Three Billboards Outside Ebbing Missouri (2017)*

Coded by brazen1


----------



## enovison

brazen1 said:


> *Three Billboards Outside Ebbing Missouri (2017)*
> 
> 
> 
> Coded by brazen1
> 
> 
> 
> Please respond with a 'like' if you appreciate it ---------------------------------------------------------------------------------->




We should make a community “wish list” maybe something on google docs?


Sent from my iPhone using Tapatalk


----------



## brazen1

I suggest this thread for wish lists. Then we have an idea of how many users we are reaching. Given the 'likes', not many. Then again, pastebin looks like a hit and run grab fest. Probably 'lurkers' that can't be bothered to show appreciation by clicking a button. Great incentive.


----------



## brazen1

Back to starting WinLIRC and HTFanControl automatically only when a movie starts instead of starting with Windows...

IF you are a madVr user, madVr provides "command line to execute when this profile is activated:" There is no limit to how many exe's can be initiated depending how many profiles you use. I use about 15.

I simply put the path for WinLIRC in one and the path for HTFanControl in another. MadVr only starts when a movie starts and now so does WinLIRC and HTFanControl.

If there were command lines to deactivate them (perhaps there is and I just don't know them) when madVr auto shuts down after closing a movie, so would they.

There is nothing wrong with having them run in the tray when not in use. I'm just a minimalist and thought I'd share in case others were interested.


----------



## mercury79

*Other fan brand? its possible to run the fanfile separately from the kodi??*

Some days ago i bring the hue sync in my theater setup: hue sync + atmos + butt kicker + projector, my family said: "you're mad!, we only waited the moment when we can feel the air in the face ", i'm very surprised this idea was bring here and there´s many people enthusiastic, i wish to thank to: @sourWK, @SirMaster AND @EnoVISION for this great work.

I wish to know if its only possible to make it work with the seville fan since i dont find it here in México


BTW im using and external player (ZIDOO x20 pro), and use the ISO files i dont know if its possible to trigger only the program running the fan script in windows since i prefer still use my zidoo player 

again thank you and i wish to test it on my home theater and edit my firs movie soon 

thank you!


----------



## SirMaster

mercury79 said:


> Some days ago i bring the hue sync in my theater setup: hue sync + atmos + butt kicker + projector, my family said: "you're mad!, we only waited the moment when we can feel the air in the face ", i'm very surprised this idea was bring here and there´s many people enthusiastic, i wish to thank to: @sourWK, @SirMaster AND @EnoVISION for this great work.
> 
> I wish to know if its only possible to make it work with the seville fan since i dont find it here in México
> 
> 
> BTW im using and external player (ZIDOO x20 pro), and use the ISO files i dont know if its possible to trigger only the program running the fan script in windows since i prefer still use my zidoo player
> 
> again thank you and i wish to test it on my home theater and edit my firs movie soon
> 
> thank you!


The program currently supports Media Player Classic, Kodi, and Plex for media players. The media player is critical for determining what time the movie is at in order to know when to send the IR commands.

And for fans it supports any IR controlled fan, or any IR device really. But the IR controlled fan will need to have different IR codes for each fan speed you want to use.

Some day the program might support using a microphone to determine what time the movie is at, and then you would be able to use any media source/player.


----------



## SOWK

Updated Pastebin

Brazen you are a mad man!!!! Such a fantastic job getting new files out. Thank you for all the effort you are putting into creating these files.

Also, support will grow over time, this is a foreign concept to most. It currently requires more than just putting a disk in a player and pressing play. 

Eventually we might get it there, but all of this will take time, and demoing for other enthusiasts is the only way to really explain to some what it is all about. A large amount of the comments on the Youthman video are thinking it would just be a gimmick and nothing more. They are taking their previous experiences of a 4D theater and thinking the version SirMaster and I came up with are the same thing. But as you probably already know they are vastly different. 

In the end, if it becomes popular or not, it doesn't matter to me personally. I wanted to try it and I will continue to use it as I like the additional immersion to the overall experience. 

Once SirMaster and I decided it worked well, we wanted to share it with the community. 

I have a saying to the members of the Wisconsin Enthusiasts Meet Group. "Whatever you do to your theater, make sure you are doing it for yourself first and foremost. Do not do something just to impress others."


----------



## brazen1

SOWK said:


> Updated Pastebin
> 
> Brazen you are a mad man!!!! Such a fantastic job getting new files out. Thank you for all the effort you are putting into creating these files.
> 
> Also, support will grow over time, this is a foreign concept to most. It currently requires more than just putting a disk in a player and pressing play.
> 
> Eventually we might get it there, but all of this will take time, and demoing for other enthusiasts is the only way to really explain to some what it is all about. A large amount of the comments on the Youthman video are thinking it would just be a gimmick and nothing more. They are taking their previous experiences of a 4D theater and thinking the version SirMaster and I came up with are the same thing. But as you probably already know they are vastly different.
> 
> In the end, if it becomes popular or not, it doesn't matter to me personally. I wanted to try it and I will continue to use it as I like the additional immersion to the overall experience.
> 
> Once SirMaster and I decided it worked well, we wanted to share it with the community.
> 
> I have a saying to the members of the Wisconsin Enthusiasts Meet Group. "Whatever you do to your theater, make sure you are doing it for yourself first and foremost. Do not do something just to impress others."


Me, personally, I do hope the popularity catches on so that more and more windtracks are created that will compliment my collection. Then it's less I need to make for myself although I find making them a pleasant pastime. I'll be honest. Now that I've managed to spoil myself, watching something without this wind special effect feels emptier. Yeah, you pimps hooked me


----------



## brazen1

*There Will Be Blood (2007)*

Coded by brazen1


----------



## brazen1

*Roma (2018)*

Coded by brazen1


----------



## SirMaster

I wonder if we should work on "popular" movies that people would probably watch over and over again?

Marvel, Star Wars, Harry Potter, James Bond, Mission Impossible, Pirates of the Caribbean etc.

https://www.mentalfloss.com/article/70920/10-highest-grossing-movie-franchises-all-time

Also probably doing new release movies is good which is what SOWK was doing for new UHD releases even if they were old movies.


----------



## brazen1

I was kinda' picking best picture Oscar winners and nominees thinking they were popular. With Covid, there hasn't been any new releases of anything afaik. I know preorders for Game of Thrones started today at Best Buy but no idea when the seasons would actually ship. I think that would be popular but it's equivalent to about 40 movies given 80 one hour episodes and longer. All those you mentioned are pretty huge movie sets. Doing just one movie out of the set begs for all the others to be done as well and some of them have already been started by others... not that someone else can't continue the effort. Personally, I'm just doing titles we want to watch for the evenings and 'getting them ready' and then sharing them here. These are movies we like to watch over and over every couple-few years. But I hear ya' and appreciate the advice and now have them in mind.


----------



## SirMaster

brazen1 said:


> I was kinda' picking best picture Oscar winners and nominees thinking they were popular. With Covid, there hasn't been any new releases of anything afaik. I know preorders for Game of Thrones started today at Best Buy but no idea when the seasons would actually ship. I think that would be popular but it's equivalent to about 40 movies given 80 one hour episodes and longer. All those you mentioned are pretty huge movie sets. Doing just one movie out of the set begs for all the others to be done as well and some of them have already been started by others... not that someone else can't continue the effort. Personally, I'm just doing titles we want to watch for the evenings and 'getting them ready' and then sharing them here. These are movies we like to watch over and over every couple-few years. But I hear ya' and appreciate the advice and now have them in mind.


Yeah award nominee and winning movies are a good idea for sure.

And of course it makes sense to do the ones you want to re-watch and add them to the database.


----------



## SirMaster

*HTFanControl Beta 14*

https://github.com/nicko88/HTFanControl/releases/download/Beta14/HTFanControl_Beta14.zip

Notes:

Allow multiple commands for the same timestamp. (00:00:00:000,CMD1,CMD2)
Minor tweaks to Plex connectivity.
Added configurable LIRC remote name to settings.

I did a lot of code refactoring for this build to get it ready to be more "presentable" for GitHub.

So it will be nice if you guys update to this version to help make sure everything is still working. It all was when I tested it at least.



I will really be focusing on making a Ras Pi build next. There is just 1 more thing I want to add to the program before I release that (an auto program updater button in the web UI).


----------



## SirMaster

*HTFanControl and WindTrackCreator on GitHub*

HTFanControl and WindTrackCreator are now on GitHub so anyone can view the code and if people want they can fork the project for themselves.

I would also consider pull requests if there is some good contribution (improvement or addition) that someone would ever make that I think belongs in the project.

https://github.com/nicko88/HTFanControl

https://github.com/nicko88/WindTrackCreator

I will be hosting all future releases on GitHub, but I can keep posting new release announcements here as well. But you can also subscribe to new release notifications on GitHub to be notified the moment I put out a new release.


----------



## brazen1

*Guardians of the Galaxy (2014) IMAX*

Coded by brazen1


----------



## enovison

brazen1 said:


> *Guardians of the Galaxy (2014)*
> 
> 
> 
> Coded by brazen1
> 
> 
> 
> Please respond with a 'like' if you appreciate it ---------------------------------------------------------------------------------->




Awesome one


Sent from my iPhone using Tapatalk


----------



## brazen1

*Guardians Of The Galaxy Vol 2 (2017)*

Coded by brazen1


----------



## SOWK

WOW..... Just incredible! Pastebin updated.


----------



## brazen1

SOWK said:


> WOW..... Just incredible! Pastebin updated.


That last one will give your fan(s) quite a workout.

To all. I wanted to stress the importance of fan timings using the settings in HTFanControl for others. The defaults are only defaults. I think every setup is unique. Not only distance but even how you sit. I use a recliner so my feet are first to feel air. Milliseconds later it travels the extra couple feet to hit the last part of my body, my face. Users should determine what they perceive first and time the wind accordingly. I judge by my feet because it seems more life like and realistic. My feet start my sensory perception, not my face, because I feel my feet first.

SOWK has provided timing videos with windtracks on page one. I understand how they work but personally I found it more difficult using the black and white video referencing when you feel air than actually watching something - as crazy as that sounds. Instead, I play a wind scene over and over until my perception agrees with the timing changes I make for fan operation. I am certain it is because the test videos have no audio and I hear the fan which in turn confuses my perception timing. I tried ear plugs. I still hear the fan engage. I suppose you could drown out the fan engagement noise by playing something else for background noise during testing but even that isn't going to coincide with what you see in the test videos and mess with perception because the audio makes no sense. 

I've found that watching actual scenes coupled with actual audio not only drowns out the fan engaging noise but increases perception to time the fan settings better. YMMV. For instance: An explosion or gunshot not only times with what you see, but with what you hear as well. If you hear it but you don't feel it right on que, it isn't going to perceive correctly. Perhaps SOWK would consider adding 'white noise' to the video to mask the fan noise as somewhat of a benefit for those that are able to time using the test videos. Personally I can't probably because I'm goofy  Even better would be to add a very quick audio track 'pop' or 'bang' so that the video (what you see) also has an audio (what you hear) reference precisely when the video changes from black to white and vice versa. Maybe about 500ms worth of audio? 

I am getting better and better coding these windtracks down to precisely the exact video frame(s). Many codes to the fan are subtle and without precise timing they won't make any sense especially the codes that happen quickly with rapid changes - usually no less than 500ms since the fans really aren't responsive below that. But once the timings are in sync, it all comes to life. If they aren't, you won't 'get' the effect.

I'm still fine tuning my timings and I'm pretty close and generally happy. I'm 10ft from the fan hitting my feet using:

Global Offset (ms) 1500
Spin Up Offset (ms) 1500
Spin Down Offset (ms) 1000

Spin Down Offset is imo, THE most important setting. This is when you should no longer feel any air. Although the code is timed with the frame of the video, some residual air is still sent from the fan even once it's turned off or to a different speed. You can test this yourself by turning off the fan and still feeling wind because the fan blades don't turn off immediately and they are still pushing some wind. There is some 'spin down' coasting time present. More importantly, although the fan has been told to turn off or change speed, there is still wind traveling the distance to you since the last command and if it's LATE, the sync is off. To account for this, use the Spin Down Offset adjustment. As the guide states, when a scene changes and wind should STOP is more important than when a scene changes and you should START feeling wind. This is critical for an enjoyable experience. I understand this particular setting was incorporated for slow systems... Plex for instance. I think its value goes beyond that for the reasons I've stated.


----------



## SirMaster

Does anyone care if I remove the "Next Command:" item from the status screen?

I can simplify the code a lot if I remove that and just show the "Current Command:" only.

It would be nice and I would prefer it if I can remove it if you really don't *need* it.


----------



## SOWK

I’m fine if you take it out.


----------



## brazen1

*The Hunger Games Catching Fire (2013)*

Coded by brazen1


----------



## aoaaron

Thank you for this. How long does this take to setup? You can do a youtube tutorial of start to finish? What is the total cost? 
How many films are supported? 

I am very much so interested. Also are there smaller fans available? I only have a 4x3.5M room so the fan placement would be difficult. Thank you.

Also can you please link me a fan which I can buy in the UK which would be compatible?
We could do with a list of supported fans.. would help dramatically as the seville fans are not as easily accessile around the world. 

This honestly sounds like a total home theatre game changer.. The only issue for me with this is space.. !

If you can help me please!


----------



## brazen1

Page one has the info.

Order the IR transceiver. Order an emitter if you don't have one laying around. Order any IR fan (not RF) if you don't have one laying around. I've seen them very reasonable on US Ebay international shipped. (IF) you can hear beeps, remove the 'beeper' from the fan. It's very easy. If you go with a different fan, the IR code may be different. I think the author would oblige you with specific changes but you should check with him before purchasing.

Download the software and driver. Adjust the software. Download windtracks and/or make your own. Plug in the fan, aim it. Enjoy! The fan(s) can be placed horizontal or vertical fwiw and the footprint is minimal. I mounted mine horizontal above my display due to limited space but it also ended up being most effective for us from there because it channels air flow to all seats and negated the need for multiple fans in my environment.

Currently, there are about 40 popular movies and the list is growing almost daily. Keep in mind this is brand new. Requests would most likely be welcomed. After implementing this special effect, I agree. It is a game changer for home enthusiasts and the cost to enjoy it will appeal to many once they are aware. Welcome to the club. Let us know how you make out obtaining hardware and using this project.


----------



## aoaaron

brazen1 said:


> Page one has the info.
> 
> Order the IR transceiver. Order an emitter if you don't have one laying around. Order any IR fan (not RF) if you don't have one laying around. I've seen them very reasonable on US Ebay international shipped. (IF) you can hear beeps, remove the 'beeper' from the fan. It's very easy. If you go with a different fan, the IR code may be different. I think the author would oblige you with specific changes but you should check with him before purchasing.
> 
> Download the software and driver. Adjust the software. Download windtracks and/or make your own. Plug in the fan, aim it. Enjoy! The fan(s) can be placed horizontal or vertical fwiw and the footprint is minimal. I mounted mine horizontal above my display due to limited space but it also ended up being most effective for us from there because it channels air flow to all seats and negated the need for multiple fans in my environment.
> 
> Currently, there are about 40 popular movies and the list is growing almost daily. Keep in mind this is brand new. Requests would most likely be welcomed. After implementing this special effect, I agree. It is a game changer for home enthusiasts and the cost to enjoy it will appeal to many once they are aware. Welcome to the club. Let us know how you make out obtaining hardware and using this project.


thank you for the help mate.

on ebay the fan is going for 70 dollars + 100 dollars shipping so very very expensive IMO. 
I am stuck in terms of fans but i guess the transceiver and emitter will take a while to come. 

how hard was it to mount horizontally? (that sounds like genius). 

also can we use smaller fans or are the taller ones best to use?


----------



## SirMaster

aoaaron said:


> thank you for the help mate.
> 
> on ebay the fan is going for 70 dollars + 100 dollars shipping so very very expensive IMO.
> I am stuck in terms of fans but i guess the transceiver and emitter will take a while to come.
> 
> 
> I will buy the IR transceiver and emitter ASAP... do i buy dual socket or socket receive? similarly which emitter? there are 3 options on the site.
> 
> how hard was it to mount horizontally? (that sounds like genius).
> 
> also can we use smaller fans or are the taller ones best to use?


Either IR device will work, but you don't need a receive socket. The dual-socket has a built in reciever which is sufficient for scanning in a new fan's IR codes. You want the homebuilt emitter as it's the longer range one.

You can use any IR controlled fan, but you will need one that has individual IR codes for each speed. Ideally the fan has 4 speeds, but any number of speeds will be easily adaptable, you will just get fewer different speeds if you have less than 4 speeds. A fan which has multiple speeds, but only a single IR code for cycling through each speed will not work. I don't really see how you can know that a fan has this capability except for seeing that the remote has separate buttons for each speed. If it has separate buttons then surely it has separate IR codes.

But even if it doesn't have separate buttons on the remote, it could still have separate codes. The fan everyone is currently using is like this. The remote has 1 speed button that cycles speeds, but the remote actually sends out a separate IR code for each speed. But we didn't learn this until someone bought the fan and tried it.

Hopefully some day there is a list of good fans, but this wont happen until someone buys different fans and tries them.

There are 40 movies so far: https://pastebin.com/u/SOWK But it has only been 2 months since the start.


----------



## aoaaron

Thanks. I have now bought the emitter + transceiver. it will come to my country in 2 weeks. 

i now just have to try and find this seville fan or another fan which works. has anyone tried different brand fans?


----------



## brazen1

Try this in a google search. EHF10127 purchase

I see some new and used. HomeDepot, etc.

I see one used for $26 but you would have to ask seller about UK shipping. Maybe offer to send shipping label to sellers yourself for those hesitant to ship to the UK?

I had one laying around as luck has it. The model number is different from the model number suggested here because it's pretty old. COC611360 can be added to a list. The remote was long lost. Turns out I didn't need the remote for usage here. I did fake the IR emitter as a genuine remote to my Harmony using the 'learn' function with no problems just so I had a remote to manually control it. The point being, if you find used fans without a remote (the reason they are inexpensive) it won't matter.

I have an old paperwork included in box for Seville. Not sure if it's any good anymore? (800) 323-5565 or (310) 533-3800.

Wait a minute...

Here is Seville website. Says 'in-stock'. $50, free shipping. https://www.sevilleclassics.com/ultraslimline-40-in-oscillating-tower-fan-black.html 

Happy hunting!


----------



## SirMaster

brazen1 said:


> The point being, if you find used fans without a remote (the reason they are inexpensive) it won't matter.


If he finds a fan without the remote, how is he going to capture the IR commands needed to control it?


----------



## brazen1

SirMaster said:


> If he finds a fan without the remote, how is he going to capture the IR commands needed to control it?


As I said, I had no remote for this fan when I set-up. I didn't even know if the IR part of the fan worked. I took a chance. Turns out it did. Later I wanted to manually control the fan but I had no remote to teach my Harmony. So, I put the IR emitter next to the Harmony (pretending it was the actual remote that came with the fan), went to WinLIRC and operated the on, off, eco, low, med, high... and taught the Harmony using its 'learn' function. Worked perfectly.


----------



## SirMaster

brazen1 said:


> As I said, I had no remote for this fan when I set-up. I didn't even know if the IR part of the fan worked. I took a chance. Turns out it did. Later I wanted to manually control the fan but I had no remote to teach my Harmony. So, I put the IR emitter next to the Harmony (pretending it was the actual remote that came with the fan), went to WinLIRC and operated the on, off, eco, low, med, high... and taught the Harmony using its 'learn' function. Worked perfectly.


Yes, because you got the commands from me...

If he buys a fan that doesn't have the remote, he's not going to have any way to acquire the commands.

I only have the commands for the Seville tower fan because I scanned them in with the IR reciever on the IguanaIR from the remote.

The commands are in the ehf10127b.cf file.


----------



## brazen1

I see what you mean. For a different fan make and model. I was just referring to the ehf10127b and the COC611360 I was linking 'for sale' because I notice some of the used for sale don't come with a remote - therefor why they are inexpensive as well as used.


----------



## SirMaster

Yeah he made it sound like he wanted to look for a smaller fan as well, so a completely different make and model potentially.


----------



## brazen1

I'm all for testing other fans and encourage it so this project becomes even more diverse than it already is. If you have the time and are willing to scan them in as users appear, it would open the door up wider. I understand you don't even use this special effect and that would be asking a lot of you but that's your decision. In the mean time, it appears there is a source for the recommended fan or something very close to it per the link above at a very reasonable cost - $50 with free shipping that would need to be confirmed by someone actually going to order from there. If I was ordering from Amazon per the link provided on page one, I'd be disappointed to see 'out of stock'. Maybe you should link https://www.sevilleclassics.com/ultraslimline-40-in-oscillating-tower-fan-black.html as well once it's confirmed either by actual order and usage or speaking with them about IR and difference to ehf10127b. I'd bet it's just remote style looks but not codes.


----------



## SirMaster

brazen1 said:


> I'm all for testing other fans and encourage it so this project becomes even more diverse than it already is. If you have the time and are willing to scan them in as users appear, it would open the door up wider. I understand you don't even use this special effect and that would be asking a lot of you but that's your decision. In the mean time, it appears there is a source for the recommended fan or something very close to it per the link above at a very reasonable cost - $50 with free shipping that would need to be confirmed by someone actually going to order from there. If I was ordering from Amazon per the link provided on page one, I'd be disappointed to see 'out of stock'. Maybe you should link https://www.sevilleclassics.com/ultraslimline-40-in-oscillating-tower-fan-black.html as well once it's confirmed either by actual order and usage or speaking with them about IR and difference to ehf10127b. I'd bet it's just remote style looks but not codes.


Yeah it's on Amazon too. I would link this as well.

https://www.amazon.com/Seville-Classics-UltraSlimline-Oscillating-Tower/dp/B07PGR9CNF

I am 99% sure the codes wont be any different for that fan.

As far as other fans. Yes I hope someone tries some eventually.

They do not need my help or input. WinLIRC has built in IR scanner walkthrouh (wizard) feature. All one needs to do is run the WinLIRC IR scanning program to read in the IR commands for their fan, and this will create a LIRC remote config file for them for their fan. HTFanControl has the option in the settings menu to specify any fan remote name. They just need to assign the command names to the IR fan speed commands they wish for their fan in their own LIRC remote config file.


----------



## brazen1

https://www.amazon.com/Seville-Classics-UltraSlimline-Oscillating-Tower/dp/B07PGR9CNF
Currently unavailable. 
We don't know when or if this item will be back in stock. 

The Seville link says in stock though. I think that's what people finding interest need - somewhere to purchase now - new - reasonable cost.

As for the WinLIRC wizard - Perfect. Easy and efficient. All of this just keeps getting better and better!


----------



## SirMaster

brazen1 said:


> https://www.amazon.com/Seville-Classics-UltraSlimline-Oscillating-Tower/dp/B07PGR9CNF
> Currently unavailable.
> We don't know when or if this item will be back in stock.
> 
> The Seville link says in stock though. I think that's what people finding interest need - somewhere to purchase now - new - reasonable cost.
> 
> As for the WinLIRC wizard - Perfect. Easy and efficient. All of this just keeps getting better and better!


Hmm, shows in stock for me.


----------



## aoaaron

brazen1 said:


> I'm all for testing other fans and encourage it so this project becomes even more diverse than it already is. If you have the time and are willing to scan them in as users appear, it would open the door up wider. I understand you don't even use this special effect and that would be asking a lot of you but that's your decision. In the mean time, it appears there is a source for the recommended fan or something very close to it per the link above at a very reasonable cost - $50 with free shipping that would need to be confirmed by someone actually going to order from there. If I was ordering from Amazon per the link provided on page one, I'd be disappointed to see 'out of stock'. Maybe you should link https://www.sevilleclassics.com/ultraslimline-40-in-oscillating-tower-fan-black.html as well once it's confirmed either by actual order and usage or speaking with them about IR and difference to ehf10127b. I'd bet it's just remote style looks but not codes.




Sadly I'm based in the UK so I'm really stuck on fan. I've bought the Receiver and Emitter which should arrive in two weeks.

Now it is time to either hunt for the Seville fan or experiment with others.

Is there a service available which would allow someone else to import them for me for a fee? 


Is scanning the IR codes a difficult process or fairly easy?


----------



## brazen1

You are correct. I had the UK entered for the OP since he could find nothing there. For sure it isn't available there. In the US... yes. Thanks for correcting that. UK buyers are just going to have to figure out how to order from US and ship to UK somehow unless Seville link provides international shipping reasonably.


----------



## aoaaron

I know its asking a lot but if any of the more experienced members could find a fan which is easily available on the amazon UK store and EU stores.. would help with worldwide adoption of this projection. I know of many uk avforums members who would love to use this amazing project.


----------



## brazen1

aoaaron said:


> Sadly I'm based in the UK so I'm really stuck on fan. I've bought the Receiver and Emitter which should arrive in two weeks.
> 
> Now it is time to either hunt for the Seville fan or experiment with others.
> 
> Is there a service available which would allow someone else to import them for me for a fee?
> 
> 
> Is scanning the IR codes a difficult process or fairly easy?


Did you check out the direct from Seville link I provided? You could call or email them about getting one to you and I'd bet they'd be more than happy or provide them with your own shipping label. You're going to have to do some footwork since you are in the UK. Where there's a will... there's a way.


----------



## SirMaster

aoaaron said:


> Sadly I'm based in the UK so I'm really stuck on fan. I've bought the Receiver and Emitter which should arrive in two weeks.
> 
> Now it is time to either hunt for the Seville fan or experiment with others.
> 
> Is there a service available which would allow someone else to import them for me for a fee?
> 
> 
> Is scanning the IR codes a difficult process or fairly easy?


It's pretty easy to scan in the new IR codes from a remote.

The scan program can be a little buggy at times, but you just have to try again until it works.


----------



## aoaaron

brazen1 said:


> Did you check out the direct from Seville link I provided? You could call or email them about getting one to you and I'd bet they'd be more than happy or provide them with your own shipping label. You're going to have to do some footwork since you are in the UK. Where there's a will... there's a way.


No UK shipping option but I'll shoot them an email and ask... Otherwise.. can I ask one of you guys for a favour?


----------



## brazen1

aoaaron said:


> I know its asking a lot but if any of the more experienced members could find a fan which is easily available on the amazon UK store and EU stores.. would help with worldwide adoption of this projection. I know of many uk avforums members who would love to use this amazing project.


If I was a shipper that only shipped to the US... and I had multiple requests for orders... all for the same item... to ship to the UK... I'd consider shipping to all of them asap. Get these other members together and present multiple orders for them to consider. That's if you've confirmed they will not ship to you. Have you communicated anything with them yet?


----------



## SirMaster

SirMaster said:


> Does anyone care if I remove the "Next Command:" item from the status screen?
> 
> I can simplify the code a lot if I remove that and just show the "Current Command:" only.
> 
> It would be nice and I would prefer it if I can remove it if you really don't *need* it.


 @brazen1, @enovison, @kdawg2391044 

Can I get your guys input on this?

Thanks


----------



## enovison

SirMaster said:


> @brazen1, @enovison, @kdawg2391044
> 
> 
> 
> Can I get your guys input on this?
> 
> 
> 
> Thanks




Sometimes if a new movie pops up and I just want to check out a scene or two I’ll use that feature so I know about where to FF to. That being said, it’s not that important to me and if it makes your life easier and everyone wants it out I’m good with that.


Sent from my iPhone using Tapatalk


----------



## SirMaster

enovison said:


> Sometimes if a new movie pops up and I just want to check out a scene or two I’ll use that feature so I know about where to FF to. That being said, it’s not that important to me and if it makes your life easier and everyone wants it out I’m good with that.
> 
> 
> Sent from my iPhone using Tapatalk


I could replace it with a button that simply views the whole wind track and also shows the current timer on the top of the screen or something.

There are probably other things I can do as well.


----------



## brazen1

I don't need it especially if it makes coding easier for you.


----------



## brazen1

You guys do know that there's a 'seek' button when using WindTrackCreator.v1.2? Pressing it will advance the player to that timeframe. Pretty simple to review a windtrack without searching for when the next sequence is going to blow. I have the WTC open on one half of the screen and the player opened on the other half and toggle between the two when creating or reviewing.


----------



## kdawg2391044

brazen1 said:


> You guys do know that there's a 'seek' button when using WindTrackCreator.v1.2? Pressing it will advance the player to that timeframe. Pretty simple to review a windtrack without searching for when the next sequence is going to blow. I have the WTC open on one half of the screen and the player opened on the other half and toggle between the two when creating or reviewing.


Yes my workflow is similar when authoring new windtracks (which I am lagging behind on contributing!) but it would be nice maybe to be able to seek to a timecode minus a few seconds (maybe two rewind buttons, one for micro adjustments for frame by frame and one for macro of a second or two?) to give time for the program and fans to spin up, especially if you are tweaking a heavy fan scene. This would help account for spin up/power up time for those scenes. What does everyone else think about that?



enovison said:


> Sometimes if a new movie pops up and I just want to check out a scene or two I’ll use that feature so I know about where to FF to. That being said, it’s not that important to me and if it makes your life easier and everyone wants it out I’m good with that.
> 
> 
> Sent from my iPhone using Tapatalk


I mostly use this section to see when the upcoming code will come up for a new movie I havent watched. since my rig is temporary at moment, I first make sure the fans are working properly by using the Fan Tester function and then want to see when the first command is for a movie to ensure that its working correctly. This way you dont need to memorize it by looking at the Manage Windtrack section or by having the WTC app open side by side. I also think its valuable when you have to pause the movie because the current command will obviously change to Off and then you wouldnt know when the next command is going to come up if you get rid of it.


----------



## brazen1

I wouldn't change the code to compensate for spin up/power. Imo, the code should be standard precisely by the frame. Instead adjust/calibrate using the offsets provided in the settings. That's what they're for. Consider everyone's calibration will be different. Preadjusting a windtrack is never going to be correct for everyone but calibrating to a standard code will be perfect.

That said, there will be a slight problem when using offsets. For example. You code something to blow for 500ms. You test it. It blows for 500ms. You save it. It no longer blows and the code has been removed automatically. Why? Because you are using an offset longer than 500ms and it's a conflict. You'll notice my last contribution begins with 'OFF'. That's not how I created it. It began with an 'ON' code with a duration of about 1000ms. That's because I use a 1500 offset, so the windtrack creator simply eliminated the conflict of interest.

Please, when you guys code these... do it accurate to the frame. Don't compensate for your system because it's not going to sync on other systems. Instead, everyone should calibrate using the provided settings. This way windtracks remain standard across the board. Unless I'm missing something here?


----------



## SirMaster

brazen1 said:


> That said, there will be a slight problem when using offsets. For example. You code something to blow for 500ms. You test it. It blows for 500ms. You save it. It no longer blows and the code has been removed automatically. Why? Because you are using an offset longer than 500ms and it's a conflict. You'll notice my last contribution begins with 'OFF'. That's not how I created it. It began with an 'ON' code with a duration of about 1000ms. That's because I use a 1500 offset, so the windtrack creator simply eliminated the conflict of interest.



I’m confused about what you are saying here. There is no such code in WindTrackCreator. 

WindTrackCreator knows nothing about the offsets you are using in HTFanControl.

If you put a command at 00:00:00.000 or like 00:00:00.100 and save, it should be saving them to the file just like that.


----------



## brazen1

kdawg2391044 said:


> I mostly use this section to see when the upcoming code will come up for a new movie I havent watched. since my rig is temporary at moment, I first make sure the fans are working properly by using the Fan Tester function and then want to see when the first command is for a movie to ensure that its working correctly. This way you dont need to memorize it by looking at the Manage Windtrack section or by having the WTC app open side by side. I also think its valuable when you have to pause the movie because the current command will obviously change to Off and then you wouldnt know when the next command is going to come up if you get rid of it.


This IS a pretty good point. I've been doing it the hard way. Open a windtrack and memorize a few commands prior to playing. But, I only use one device for all of this - my HTPC. If I was smart, I'd open the status on my cell phone so I don't have to refer to the HTPC but I don't know how to show it on my cell cuz I'm cell phone challenged. On my Android I guess I would save the url for HTFanControl somehow and then make a shortcut to that url on the cell desktop? Anyone care to explain step by step like a 4yr old to me? 

If we end up keeping the 'next windtrack code coming at' feature in status, I'd probably use it a lot. But again, if it makes future app coding easier, I can live without it. Now I'm undecided but go with the majority or your gut SirMaster.


----------



## aoaaron

I've tried but to no avail. Seville are actually now sold out. How much does it cost to actually ship these to the UK? 

Maybe a friend in the US with delivery connections can help me out?


----------



## brazen1

SirMaster said:


> I’m confused about what you are saying here. There is no such code in WindTrackCreator.
> 
> WindTrackCreator knows nothing about the offsets you are using in HTFanControl.


If you wanted to TeamViewer in, I can show you. It confused me too when it happened and took a couple hours to comprehend. Maybe it's just my system though. It wouldn't be the first time. It's really not that big a deal tbh.


----------



## aoaaron

also for a small room can you get away with one fan or do you need two?


----------



## SirMaster

brazen1 said:


> If you wanted to TeamViewer in, I can show you. It confused me too when it happened and took a couple hours to comprehend. Maybe it's just my system though. It wouldn't be the first time. It's really not that big a deal tbh.



If a line isn’t getting saved it’s definitely a bug. 

Just make a text file in notepad or something and open it in WindTrackCreator and then save it and see if you can make it drop lines. 

If you can then send me the text file so I can see.

It doesn’t make sense to me. I’m just saving all the lines. I’m not looking at what they are or anything, it just saves all the lines as text.


----------



## brazen1

aoaaron said:


> also for a small room can you get away with one fan or do you need two?


I'm able to hit at least 4 seats from 12 feet positioning the fan horizontally. If you wanted to fashion deflectors for the fan you could disperse the wind further. I did a quick mock-up out of cardboard during testing and there was plenty of cfm to push it left and right further.


----------



## brazen1

SirMaster said:


> If a line isn’t getting saved it’s definitely a bug.
> 
> Just make a text file in notepad or something and open it in WindTrackCreator and then save it and see if you can make it drop lines.
> 
> If you can then send me the text file so I can see.
> 
> It doesn’t make sense to me. I’m just saving all the lines. I’m not looking at what they are or anything, it just saves all the lines as text.


Maybe it's a bug, maybe it's my system. Don't know? I just tried it again.

Set your calibration for offsets at 2000/2000/1000

Download my last windtrack https://www.avsforum.com/forum/attachment.php?attachmentid=2757170&d=1594586746

Just open it. You'll notice the first code is 'OFF'. Add this to it above the first code that says 'OFF'. 00:02:35.600,ON Save it and put in your windtracks folder.
Now open WindTrackCreator.v1.2.exe and navigate to The Hunger Games Catching Fire (2013) windtrack.

For me, that 00:02:35.600,ON line that was just added is now MIA. It just doesn't exist as if it was never added. Same happens when using WTC to create the line even after saving.

Now set the offsets to zero (as if). Repeat the procedure. You'll now notice it saves no problem. Change them back to 2000/2000/1000 and it disappears again.


----------



## aoaaron

brazen1 said:


> I'm able to hit at least 4 seats from 12 feet positioning the fan horizontally. If you wanted to fashion deflectors for the fan you could disperse the wind further. I did a quick mock-up out of cardboard during testing and there was plenty of cfm to push it left and right further.




Thanks.. I'll take a photo of my setup tommorow but basically I'm VERY tight for space. but the room is tiny too it shouldn't need much wind I assume.. like 3.5x3.2 room max.


----------



## kdawg2391044

brazen1 said:


> I wouldn't change the code to compensate for spin up/power. Imo, the code should be standard precisely by the frame. Instead adjust/calibrate using the offsets provided in the settings. That's what they're for. Consider everyone's calibration will be different. Preadjusting a windtrack is never going to be correct for everyone but calibrating to a standard code will be perfect.
> 
> That said, there will be a slight problem when using offsets. For example. You code something to blow for 500ms. You test it. It blows for 500ms. You save it. It no longer blows and the code has been removed automatically. Why? Because you are using an offset longer than 500ms and it's a conflict. You'll notice my last contribution begins with 'OFF'. That's not how I created it. It began with an 'ON' code with a duration of about 1000ms. That's because I use a 1500 offset, so the windtrack creator simply eliminated the conflict of interest.
> 
> Please, when you guys code these... do it accurate to the frame. Don't compensate for your system because it's not going to sync on other systems. Instead, everyone should calibrate using the provided settings. This way windtracks remain standard across the board. Unless I'm missing something here?


No i think you misunderstood me. The seek function I am talking about is to seek to a specific timecode that has been programmed in the windtrack minus a few seconds or a few microseconds for the sole purpose of tweaking the timecodes during playback. This has nothing to do with the recording of the timestamp for creating new commands for a windtrack which should always be consistent for everyone and be based on the actual action in the movie that the commands are being authored for. My thought here is that if you are playing back the commands for a scene when authoring the track, right now if you use the seek button, it goes to that very specific timecode in the movie, which is good for tweaking when to set up the command, but I was more thinking about if you wanted to go to a specific scene to play it back repeatedly. At the current state, you would have to press the seek button for the timecode that you are interested in playing back and then in the movie controls, rewind a few seconds and then play. One instance where this is something that would have more of an impact is if you are working on a scene in a movie that is not close to any other commands in the movie. Say you have a set of commands in quick succession where action happens around 10:00:00 and the prev set of commands was at 5:00:00. If you seek to 10:00:00, you would need to rewind in the movie for a few seconds so that the first set of commands isnt "skipped" due to accounting for offsets and whatnot. Example if your offset is almost 2 seconds, then you would need to rewind at least the offset in the actual movie or else that first command would be missed. BUT, this could cause confusion for people which is why I was suggesting that there would be multiple seek buttons, the current one which would go to the exact timecode, then another seek button that subtracts the offset and maybe 1 second so that you can get well before that command. I dont know if anyone else would find it valuable though and would mainly be for someone like me who likes to author small sections and test repeatedly. It sounded like @enovison will go through a whole movie in one go and then try playing it out after the fact so then this alternative seek might not be as valuable.


----------



## brazen1

kdawg2391044 said:


> No i think you misunderstood me. The seek function I am talking about is to seek to a specific timecode that has been programmed in the windtrack minus a few seconds or a few microseconds for the sole purpose of tweaking the timecodes during playback. This has nothing to do with the recording of the timestamp for creating new commands for a windtrack which should always be consistent for everyone and be based on the actual action in the movie that the commands are being authored for. My thought here is that if you are playing back the commands for a scene when authoring the track, right now if you use the seek button, it goes to that very specific timecode in the movie, which is good for tweaking when to set up the command, but I was more thinking about if you wanted to go to a specific scene to play it back repeatedly. At the current state, you would have to press the seek button for the timecode that you are interested in playing back and then in the movie controls, rewind a few seconds and then play. One instance where this is something that would have more of an impact is if you are working on a scene in a movie that is not close to any other commands in the movie. Say you have a set of commands in quick succession where action happens around 10:00:00 and the prev set of commands was at 5:00:00. If you seek to 10:00:00, you would need to rewind in the movie for a few seconds so that the first set of commands isnt "skipped" due to accounting for offsets and whatnot. Example if your offset is almost 2 seconds, then you would need to rewind at least the offset in the actual movie or else that first command would be missed. BUT, this could cause confusion for people which is why I was suggesting that there would be multiple seek buttons, the current one which would go to the exact timecode, then another seek button that subtracts the offset and maybe 1 second so that you can get well before that command. I dont know if anyone else would find it valuable though and would mainly be for someone like me who likes to author small sections and test repeatedly. It sounded like @enovison will go through a whole movie in one go and then try playing it out after the fact so then this alternative seek might not be as valuable.


Yes I understand perfectly what you mean now. Not for an authoring 'save' but for seeking during authoring. I admit, I constantly rewind a few seconds during review which creates more button pushes. I agree a 2nd seek button that seeks to the actual time frame MINUS a few seconds to compensate for offsets would be valuable and time saving.


----------



## SirMaster

brazen1 said:


> Maybe it's a bug, maybe it's my system. Don't know? I just tried it again.
> 
> Set your calibration for offsets at 2000/2000/1000
> 
> Download my last windtrack https://www.avsforum.com/forum/attachment.php?attachmentid=2757170&d=1594586746
> 
> Just open it. You'll notice the first code is 'OFF'. Add this to it above the first code that says 'OFF'. 00:02:35.600,ON Save it and put in your windtracks folder.
> Now open WindTrackCreator.v1.2.exe and navigate to The Hunger Games Catching Fire (2013) windtrack.
> 
> For me, that 00:02:35.600,ON line that was just added is now MIA. It just doesn't exist as if it was never added. Same happens when using WTC to create the line even after saving.
> 
> Now set the offsets to zero (as if). Repeat the procedure. You'll now notice it saves no problem. Change them back to 2000/2000/1000 and it disappears again.


I experience no such behavior.

And what you are saying here is an absolute impossibility. The WindTrackCreator code couldn't be simpler. It simply saves all rows from the grid to the text file, that's it.

As I said these 2 programs are in no way connected. Neither has any idea about the other. There's no way the WindTrackCreator could possibly know what the offsets in HTFanControl were. You might as well be saying that the offset settings on my computer is affecting your computer heh.


----------



## brazen1

SirMaster said:


> I experience no such behavior.
> 
> And what you are saying here is an absolute impossibility. The WindTrackCreator code couldn't be simpler. It simply saves all rows from the grid to the text file, that's it.
> 
> As I said these 2 programs are in no way connected. Neither has any idea about the other. You might as well be saying that the offset settings on my computer is affecting your computer heh.


Hey, I agree with you. That's why I was stumped for hours about it. Unfortunately, my PC does not seem to understand this impossibility. Again, you are welcome to TeamViewer in and witness it first hand. I don't make this stuff up.


----------



## aoaaron

https://www.facebook.com/marketplace/item/268466791082502/ would this work?


----------



## SOWK

Any IR fan can work, but the key is to get one that has independent IR codes for speeds. (Unfortunately there is no way to know if the speed commands are independent before buying the fans) 

We program the movies with 4 fan speeds

ECO
LOW
MED
HIGH

You could get a 10 speed fan, but you would have to determine if you want Speed 10 as HIGH, 6 as MED, 3 as LOW, 1 as ECO... etc.

You program that via the WinIRLC configuration file. 



A question for everyone in the thread, has anyone tried a different fan and got it to work?

I'm curious if most companies with IR fans are all using independent codes for speeds, or if there are any that just keep sending the same IR code and the fans are just programed to cycle through the different speeds in sequence?


----------



## kdawg2391044

SirMaster said:


> https://github.com/nicko88/HTFanControl/releases/download/Beta14/HTFanControl_Beta14.zip
> 
> Notes:
> Allow multiple commands for the same timestamp. (00:00:00:000,CMD1,CMD2)
> Minor tweaks to Plex connectivity.
> Added configurable LIRC remote name to settings.
> 
> I did a lot of code refactoring for this build to get it ready to be more "presentable" for GitHub.
> 
> So it will be nice if you guys update to this version to help make sure everything is still working. It all was when I tested it at least.
> 
> 
> 
> I will really be focusing on making a Ras Pi build next. There is just 1 more thing I want to add to the program before I release that (an auto program updater button in the web UI).


 @SirMaster, I am getting random crashes from this beta that seems to happen intermittently. I can have the app running for only 5 mins before it crashes or a few hrs. One thing to note is that when I first ran this version, I was getting the crash immediately and repeatedly and could not get the app to run at all. I decided to delete my old config file since I copy over the Windtrack and config files from the old betas to the new one. this allowed it to work even though from what I could tell it was the same file details (besides the defaults that the app sets to which is different from my setup) besides the client being set to Plex with my specific details (used notepad++ compare). In app crash log I am getting this:

Value cannot be null. (Parameter 'path1')
System.Private.CoreLib

at System.IO.Path.Combine(String path1, String path2)
at HTFanControl.HTFanControl.LoadVideoTimecodes(String fileName, String filePath)
at HTFanControl.HTFanControl.SyncVideo()
at System.Threading.Tasks.Task.c.b__139_1(Object state)
at System.Threading.QueueUserWorkItemCallbackDefaultContext.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

I can replicate the error if i restore my old config file from beta 13 but the app seems to crash before you are able to handle logging but I do see logs in Event Viewer which seems to indicate the same type of crash:

Application: HTFanControl.exe
CoreCLR Version: 4.700.20.26901
.NET Core Version: 3.1.5
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArgumentNullException: Value cannot be null. (Parameter 'path1')
at System.IO.Path.Combine(String path1, String path2)
at HTFanControl.HTFanControl.LoadVideoTimecodes(String fileName, String filePath)
at HTFanControl.HTFanControl.SyncVideo()
at System.Threading.Tasks.Task.c.b__139_1(Object state)
at System.Threading.QueueUserWorkItemCallbackDefaultContext.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()


----------



## kdawg2391044

brazen1 said:


> That last one will give your fan(s) quite a workout.
> 
> To all. I wanted to stress the importance of fan timings using the settings in HTFanControl for others. The defaults are only defaults. I think every setup is unique. Not only distance but even how you sit. I use a recliner so my feet are first to feel air. Milliseconds later it travels the extra couple feet to hit the last part of my body, my face. Users should determine what they perceive first and time the wind accordingly. I judge by my feet because it seems more life like and realistic. My feet start my sensory perception, not my face, because I feel my feet first.
> 
> SOWK has provided timing videos with windtracks on page one. I understand how they work but personally I found it more difficult using the black and white video referencing when you feel air than actually watching something - as crazy as that sounds. Instead, I play a wind scene over and over until my perception agrees with the timing changes I make for fan operation. I am certain it is because the test videos have no audio and I hear the fan which in turn confuses my perception timing. I tried ear plugs. I still hear the fan engage. I suppose you could drown out the fan engagement noise by playing something else for background noise during testing but even that isn't going to coincide with what you see in the test videos and mess with perception because the audio makes no sense.
> 
> I've found that watching actual scenes coupled with actual audio not only drowns out the fan engaging noise but increases perception to time the fan settings better. YMMV. For instance: An explosion or gunshot not only times with what you see, but with what you hear as well. If you hear it but you don't feel it right on que, it isn't going to perceive correctly. Perhaps SOWK would consider adding 'white noise' to the video to mask the fan noise as somewhat of a benefit for those that are able to time using the test videos. Personally I can't probably because I'm goofy  Even better would be to add a very quick audio track 'pop' or 'bang' so that the video (what you see) also has an audio (what you hear) reference precisely when the video changes from black to white and vice versa. Maybe about 500ms worth of audio?
> 
> I am getting better and better coding these windtracks down to precisely the exact video frame(s). Many codes to the fan are subtle and without precise timing they won't make any sense especially the codes that happen quickly with rapid changes - usually no less than 500ms since the fans really aren't responsive below that. But once the timings are in sync, it all comes to life. If they aren't, you won't 'get' the effect.
> 
> I'm still fine tuning my timings and I'm pretty close and generally happy. I'm 10ft from the fan hitting my feet using:
> 
> Global Offset (ms) 1500
> Spin Up Offset (ms) 1500
> Spin Down Offset (ms) 1000
> 
> Spin Down Offset is imo, THE most important setting. This is when you should no longer feel any air. Although the code is timed with the frame of the video, some residual air is still sent from the fan even once it's turned off or to a different speed. You can test this yourself by turning off the fan and still feeling wind because the fan blades don't turn off immediately and they are still pushing some wind. There is some 'spin down' coasting time present. More importantly, although the fan has been told to turn off or change speed, there is still wind traveling the distance to you since the last command and if it's LATE, the sync is off. To account for this, use the Spin Down Offset adjustment. As the guide states, when a scene changes and wind should STOP is more important than when a scene changes and you should START feeling wind. This is critical for an enjoyable experience. I understand this particular setting was incorporated for slow systems... Plex for instance. I think its value goes beyond that for the reasons I've stated.


For SpinDown offset, I actually agree with @SirMaster that this isnt super critical to have a value set for. The main reason is that it reduces the resolution of timecode commands that you are able to achieve if you have it set for a high or accurate number. Example is that if you want to be able to do really quick bursts of air like for an arrow whizzing by or a sheep getting picked up by a dragon (in How to Train Your Dragon at around 1 min mark if anyone wants to try), then if you have spindown offset, it will stop the fan earlier by that offset and reduce the time the fan is actually on. For this effect that I programmed, its about 1 sec burst of the fan from Off to High, which I will admit is probably the limit in terms of minimum duration that this type of fan can handle and was not recommended by @SOWK or @SirMaster to do. However, on my system it still seems to be effective for the effect I was aiming for but I dont think anyone has tried the movie out yet to give feedback. When I had my spindown offset at 1000ms which is accurate to where my fan is placed in the room, this scene is effectively neutered because the fan doesnt have time to spin up to High before it shuts down. If I set it something a little more conservative such as 250ms, then it still works but honestly, when @SirMaster got rid of this offset temporarily, I didnt notice anything with how the system behaved. I think this just boils down to how sensitive you are to the effect and where its blowing on your body for when it registers in your mind. 
@SOWK @SirMaster
On a separate note, there is nothing stopping anyone now from authoring tracks for tv shows or any other media content. Just from an organizational perspective, did you guys think about how that could be stored in Pastebin/managed in the Windtrack UI in the portal? It might make sense to have high level tree structure for at least these two types (Movies and TV Shows) so that the download and manage pages arent cluttered up, even though it would 100% work in the current state that its in right now.


----------



## SirMaster

kdawg2391044 said:


> @SirMaster, I am getting random crashes from this beta that seems to happen intermittently. I can have the app running for only 5 mins before it crashes or a few hrs. One thing to note is that when I first ran this version, I was getting the crash immediately and repeatedly and could not get the app to run at all. I decided to delete my old config file since I copy over the Windtrack and config files from the old betas to the new one. this allowed it to work even though from what I could tell it was the same file details (besides the defaults that the app sets to which is different from my setup) besides the client being set to Plex with my specific details (used notepad++ compare). In app crash log I am getting this:
> 
> Value cannot be null. (Parameter 'path1')
> System.Private.CoreLib
> 
> at System.IO.Path.Combine(String path1, String path2)
> at HTFanControl.HTFanControl.LoadVideoTimecodes(String fileName, String filePath)
> at HTFanControl.HTFanControl.SyncVideo()
> at System.Threading.Tasks.Task.c.b__139_1(Object state)
> at System.Threading.QueueUserWorkItemCallbackDefaultContext.Execute()
> at System.Threading.ThreadPoolWorkQueue.Dispatch()
> at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
> 
> I can replicate the error if i restore my old config file from beta 13 but the app seems to crash before you are able to handle logging but I do see logs in Event Viewer which seems to indicate the same type of crash:
> 
> Application: HTFanControl.exe
> CoreCLR Version: 4.700.20.26901
> .NET Core Version: 3.1.5
> Description: The process was terminated due to an unhandled exception.
> Exception Info: System.ArgumentNullException: Value cannot be null. (Parameter 'path1')
> at System.IO.Path.Combine(String path1, String path2)
> at HTFanControl.HTFanControl.LoadVideoTimecodes(String fileName, String filePath)
> at HTFanControl.HTFanControl.SyncVideo()
> at System.Threading.Tasks.Task.c.b__139_1(Object state)
> at System.Threading.QueueUserWorkItemCallbackDefaultContext.Execute()
> at System.Threading.ThreadPoolWorkQueue.Dispatch()
> at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()


Thanks for this, I fixed it in the code.


----------



## SirMaster

*HTFanControl Beta 15*

https://github.com/nicko88/HTFanControl/releases/download/Beta15/HTFanControl_Beta15.zip

Notes:

Fixed a crash when loading the windtrack file.

Just wanted to put this fix out right away since it could be causing some people crashes.


----------



## kdawg2391044

SOWK said:


> Any IR fan can work, but the key is to get one that has independent IR codes for speeds. (Unfortunately there is no way to know if the speed commands are independent before buying the fans)
> 
> We program the movies with 4 fan speeds
> 
> ECO
> LOW
> MED
> HIGH
> 
> You could get a 10 speed fan, but you would have to determine if you want Speed 10 as HIGH, 6 as MED, 3 as LOW, 1 as ECO... etc.
> 
> You program that via the WinIRLC configuration file.
> 
> 
> 
> A question for everyone in the thread, has anyone tried a different fan and got it to work?
> 
> I'm curious if most companies with IR fans are all using independent codes for speeds, or if there are any that just keep sending the same IR code and the fans are just programed to cycle through the different speeds in sequence?


 @SOWK,

I have a Lasko ceramic heater fan lying around model 751320 that I figured I could use to test your theory. Link here https://www.lasko.com/products/ceramic-tower-heater-with-remote-control-751320/
I got the full package of WinLIRC to get the record feature, tried making a config file by pressing each button on the remote 3 times. When I go to play it back though, I get an error from WinLirc saying "send failed/not supported". Any thoughts why? I noticed that when recording the buttons, sometimes it would receive the button code for a split second so this seemed like a misread. I opened the config file in Notepad++ to delete those bad codes so I dont know if that if some how corrupting the config file? Also, I have no idea what I am looking at for the IR codes so how do I know if pressing the same button gives me different codes? I dont know if its like an analog signal that has different codes that can vary for the same signal or if its digital so I can literally look at the same button press and if its ANY different, that is a different code? Ultimately, this model probably wont work for the current windtracks since it only has high and low speed and always has the heat on (maybe could work for heat effect as a secondary fan?) However, HTFanControl only is able to handle one set of offsets so I dont think this would work in its current state unless you could have individual offsets per device like you can do with individual speaker distances and trim levels. I tried to find a config file on the Lirc repository but dont see anything for Lasko.

http://lirc.sourceforge.net/remotes/

Edit: I tried playing around with RawCodes exe and IRGraph and I can see differences when I press the same button, but honestly it looks like gibberish to me at this time since I dont really understand how to read it and what I am looking for. It seems that some of the numbers alternate but I dont know if this is a good thing or not.


----------



## SirMaster

kdawg2391044 said:


> @SOWK,
> 
> I have a Lasko ceramic heater fan lying around model 751320 that I figured I could use to test your theory. Link here https://www.lasko.com/products/ceramic-tower-heater-with-remote-control-751320/
> I got the full package of WinLIRC to get the record feature, tried making a config file by pressing each button on the remote 3 times. When I go to play it back though, I get an error from WinLirc saying "send failed/not supported". Any thoughts why? I noticed that when recording the buttons, sometimes it would receive the button code for a split second so this seemed like a misread. I opened the config file in Notepad++ to delete those bad codes so I dont know if that if some how corrupting the config file? Also, I have no idea what I am looking at for the IR codes so how do I know if pressing the same button gives me different codes? I dont know if its like an analog signal that has different codes that can vary for the same signal or if its digital so I can literally look at the same button press and if its ANY different, that is a different code? Ultimately, this model probably wont work for the current windtracks since it only has high and low speed and always has the heat on (maybe could work for heat effect as a secondary fan?) However, HTFanControl only is able to handle one set of offsets so I dont think this would work in its current state unless you could have individual offsets per device like you can do with individual speaker distances and trim levels. I tried to find a config file on the Lirc repository but dont see anything for Lasko.
> 
> http://lirc.sourceforge.net/remotes/
> 
> Edit: I tried playing around with RawCodes exe and IRGraph and I can see differences when I press the same button, but honestly it looks like gibberish to me at this time since I dont really understand how to read it and what I am looking for. It seems that some of the numbers alternate but I dont know if this is a good thing or not.


How are you scanning in the remote?

You should be going through a whole wizard which has you push many, many buttons before moving on to capturing specific buttons and giving them names.

You should be clicking the create config button in WinLIRC and following the instructions.


----------



## kdawg2391044

SirMaster said:


> How are you scanning in the remote?
> 
> You should be going through a whole wizard which has you push many, many buttons before moving on to capturing specific buttons and giving them names.
> 
> You should be clicking the create config button in WinLIRC and following the instructions.


Yeah I am running the Create Config option originally but I am now going to just run in CMD manually so that I can create a name for the saved file from the onset. I am just pointing the remote into the Iguana IR receiver to capture the codes. I followed the "wizard" in IRRecord, but its not very good. All it does is ask you to set a name for a button and then you press it and it just repeats that. Is there a different wizard or tool to use? I did see some feedback to press the button as quickly as possible which I was not doing - in IRRecord, it says to press and hold so I was doing that for 1-2 seconds. Looking at the IRRecord notes online, it seems like there is an analyze feature that says it will read the raw codes and convert it into a regular configuration. Is that a step that I need to take?


----------



## SirMaster

kdawg2391044 said:


> Yeah I am running the Create Config option originally but I am now going to just run in CMD manually so that I can create a name for the saved file from the onset. I am just pointing the remote into the Iguana IR receiver to capture the codes. I followed the "wizard" in IRRecord, but its not very good. All it does is ask you to set a name for a button and then you press it and it just repeats that. Is there a different wizard or tool to use? I did see some feedback to press the button as quickly as possible which I was not doing - in IRRecord, it says to press and hold so I was doing that for 1-2 seconds. Looking at the IRRecord notes online, it seems like there is an analyze feature that says it will read the raw codes and convert it into a regular configuration. Is that a step that I need to take?


All I did was go through the create config wizard.

If I remember correctly, it had me press like 40 buttons, then 40 buttons again. Then had me press one repeatedly really fast.

Then there was the part where it asks you for a button name, and then you press that button. I did that for each button to record all the codes and when that was done it was done.

I didn't have to do anything additional. It recorded the commands in raw mode which is fine.


----------



## kdawg2391044

SirMaster said:


> All I did was go through the create config wizard.
> 
> If I remember correctly, it had me press like 40 buttons, then 40 buttons again. Then had me press one repeatedly really fast.
> 
> Then there was the part where it asks you for a button name, and then you press that button. I did that for each button to record all the codes and when that was done it was done.
> 
> I didn't have to do anything additional. It recorded the commands in raw mode which is fine.


Doh! I completely glazed over that step in the wizard because all I saw was the last line which says press Enter to start recording and just followed from there which sounds like the second phase of the capture. I didnt even see the text above that which says to press a whole bunch of buttons. Ill do that later tonight and hopefully I can get a working file.


----------



## SOWK

*Air Force One (1997)*

Coded by SOWK

I will be surprised if the fans survive after this one... 400 commands!


----------



## brazen1

*Star Trek (2009)*

Coded by brazen1


----------



## kdawg2391044

kdawg2391044 said:


> Doh! I completely glazed over that step in the wizard because all I saw was the last line which says press Enter to start recording and just followed from there which sounds like the second phase of the capture. I didnt even see the text above that which says to press a whole bunch of buttons. Ill do that later tonight and hopefully I can get a working file.


hmm, I am still not able to get a config file created. For some reason the remote that comes with this fan doenst work with the irrecord tool, no output is generated when I press the buttons during the gap discovery step and it spits out "could not find gap. gap not found cant continue" after about 5 mins of mashing buttons. The dots dont get generated during this step. I tried with my denon remote and it worked immediately and I was able to get past the discovery step and go to the button mapping step. When I run the IRGraph tool, I do see an output that is generated so it does seem like the remote is sending a signal and the receiver is picking it up. From what I have read, it might have to do with the frequency that the remote is sending signals at or something. When I try to append to the already created fan file for the Seville fan, i am able to map new buttons, but when I do this, WinLIRC wont send commands which is the error I originally reported since I was inadvertently modifying the existing config file instead of creating a new one. This is obviously not working since the gap is different and signal is different compared to my Lasko remote. I tried the following command to generate the config:

IRRecord.exe -f -d IguanaPlugin.dll ../Lasko.cfg which is forcing it in raw mode but this didnt do anything with the lasko remote. As I mentioned, it worked fine with Denon remote so maybe there is some sort of mode or something I need to activate/switch to? I tested the Denon cfg file that I created and it works fine so I am pretty sure I am doing this correctly, its just not working with this remote for some reason. Any other thoughts?


----------



## SirMaster

kdawg2391044 said:


> hmm, I am still not able to get a config file created. For some reason the remote that comes with this fan doenst work with the irrecord tool, no output is generated when I press the buttons during the gap discovery step and it spits out "could not find gap. gap not found cant continue" after about 5 mins of mashing buttons. The dots dont get generated during this step. I tried with my denon remote and it worked immediately and I was able to get past the discovery step and go to the button mapping step. When I run the IRGraph tool, I do see an output that is generated so it does seem like the remote is sending a signal and the receiver is picking it up. From what I have read, it might have to do with the frequency that the remote is sending signals at or something. When I try to append to the already created fan file for the Seville fan, i am able to map new buttons, but when I do this, WinLIRC wont send commands which is the error I originally reported since I was inadvertently modifying the existing config file instead of creating a new one. This is obviously not working since the gap is different and signal is different compared to my Lasko remote. I tried the following command to generate the config:
> 
> IRRecord.exe -f -d IguanaPlugin.dll ../Lasko.cfg which is forcing it in raw mode but this didnt do anything with the lasko remote. As I mentioned, it worked fine with Denon remote so maybe there is some sort of mode or something I need to activate/switch to? I tested the Denon cfg file that I created and it works fine so I am pretty sure I am doing this correctly, its just not working with this remote for some reason. Any other thoughts?


No, I don't really know anything specific about LIRC or IR signals in general other than recording a remote using the wizard and sending the commands with it after. Seems possible that some remotes can't be recorded or supported properly.


----------



## brazen1

kdawg2391044 said:


> hmm, I am still not able to get a config file created. For some reason the remote that comes with this fan doenst work with the irrecord tool, no output is generated when I press the buttons during the gap discovery step and it spits out "could not find gap. gap not found cant continue" after about 5 mins of mashing buttons. The dots dont get generated during this step. I tried with my denon remote and it worked immediately and I was able to get past the discovery step and go to the button mapping step. When I run the IRGraph tool, I do see an output that is generated so it does seem like the remote is sending a signal and the receiver is picking it up. From what I have read, it might have to do with the frequency that the remote is sending signals at or something. When I try to append to the already created fan file for the Seville fan, i am able to map new buttons, but when I do this, WinLIRC wont send commands which is the error I originally reported since I was inadvertently modifying the existing config file instead of creating a new one. This is obviously not working since the gap is different and signal is different compared to my Lasko remote. I tried the following command to generate the config:
> 
> IRRecord.exe -f -d IguanaPlugin.dll ../Lasko.cfg which is forcing it in raw mode but this didnt do anything with the lasko remote. As I mentioned, it worked fine with Denon remote so maybe there is some sort of mode or something I need to activate/switch to? I tested the Denon cfg file that I created and it works fine so I am pretty sure I am doing this correctly, its just not working with this remote for some reason. Any other thoughts?


Are you certain it's IR and not RF?


----------



## brazen1

SOWK said:


> *Air Force One (1997)*
> 
> Coded by SOWK
> 
> I will be surprised if the fans survive after this one... 400 commands!


Just finished watching this with your windtrack. WoW!


----------



## kdawg2391044

SirMaster said:


> No, I don't really know anything specific about LIRC or IR signals in general other than recording a remote using the wizard and sending the commands with it after. Seems possible that some remotes can't be recorded or supported properly.





brazen1 said:


> Are you certain it's IR and not RF?


Yes its IR. In any case, not sure why I cannot capture the remote but I managed to find an existing lasko config file off of the sourceforge LIRC remotes database and tested it and it works. Bad part is that its the same code to change states so you cannot jump to a specific setting like in the Seville fan. I guess with the new windtrack format that allows multiple commands per timecode, is there a limit? For this fan, really the only thing I could do is turn it on/off or set heater to low/high temp so at most it would be two commands at one time to command this fan. If it is somehow combined with a regular fan then that would be 3 commands at one time but I really doubt that would even be used in that manner at this time, but if you were to integrate lights and other things, then maybe it would. I guess maybe I can try doing some sort of PoC using heater and fan or just heater to see if its even feasible or makes sense.

I know you can combine multiple remotes into the same config file, but the way I understand HTFanControl to work, you can only set one remote to be active in the settings. Since these two devices have different remotes, how would I even use both? I guess you would need to make changes to support using multiple remotes at the same time. At the moment, I believe the only way to achieve this is to leverage @SOWK's idea of using individual containers/VMs for each instance of HTFanControl (or allow you to set port for the service in config file so that you can run multiple instances on the same host) and then have individual windtracks for each specific device but that is obviously more for PoC vs a viable long term solution.


----------



## SirMaster

kdawg2391044 said:


> Yes its IR. In any case, not sure why I cannot capture the remote but I managed to find an existing lasko config file off of the sourceforge LIRC remotes database and tested it and it works. Bad part is that its the same code to change states so you cannot jump to a specific setting like in the Seville fan. I guess with the new windtrack format that allows multiple commands per timecode, is there a limit? For this fan, really the only thing I could do is turn it on/off or set heater to low/high temp so at most it would be two commands at one time to command this fan. If it is somehow combined with a regular fan then that would be 3 commands at one time but I really doubt that would even be used in that manner at this time, but if you were to integrate lights and other things, then maybe it would. I guess maybe I can try doing some sort of PoC using heater and fan or just heater to see if its even feasible or makes sense.
> 
> I know you can combine multiple remotes into the same config file, but the way I understand HTFanControl to work, you can only set one remote to be active in the settings. Since these two devices have different remotes, how would I even use both? I guess you would need to make changes to support using multiple remotes at the same time. At the moment, I believe the only way to achieve this is to leverage @SOWK's idea of using individual containers/VMs for each instance of HTFanControl (or allow you to set port for the service in config file so that you can run multiple instances on the same host) and then have individual windtracks for each specific device but that is obviously more for PoC vs a viable long term solution.


Actually, to support multiple remotes we would normally have to change the wind track file format, because to send a command to LIRC you need to tell it the remote name and command (button) name.

But we aren't going to put remote names in the wind track files because that wouldn't be universal for everyone.

I could develop something different to support multiple remotes but only if it's really worth it. That's really outside the original scope of the plan for this project. The more we keep doing stuff like this the longer and longer until I will ever get time to make this work on Ras Pi for example or start working on the syncing via audio to see if that can work.


----------



## kdawg2391044

SirMaster said:


> Actually, to support multiple remotes we would normally have to change the wind track file format, because to send a command to LIRC you need to tell it the remote name and command (button) name.
> 
> But we aren't going to put remote names in the wind track files because that wouldn't be universal for everyone.
> 
> I could develop something different to support multiple remotes but only if it's really worth it. That's really outside the original scope of the plan for this project. The more we keep doing stuff like this the longer and longer until I will ever get time to make this work on Ras Pi for example or start working on the syncing via audio to see if that can work.


Lol, yeah you make a good point and dont mean to get you sidetracked. I think for now, it doesnt make sense to really pursue this unless others have a use case to create other types of experiences.


----------



## SirMaster

kdawg2391044 said:


> Lol, yeah you make a good point and dont mean to get you sidetracked. I think for now, it doesnt make sense to really pursue this unless others have a use case to create other types of experiences.


As I think about the how, I might just end up doing it if I come up with an easy enough solution that doesn't interfere with the normal operation, and is easy enough for me to add into the program.


----------



## brazen1

*Midway (2019)*

Coded by brazen1 - 456 Commands. I think this movie was made for windtracks. Top Gun would probably be another.


----------



## SOWK

brazen1 said:


> *Midway (2019)*
> 
> Coded by brazen1 - 456 Commands. I think this movie was made for windtracks. Top Gun would probably be another.
> 
> Please respond with a 'like' if you appreciate it ---------------------------------------------------------------------------------->


Awesome!


----------



## staknhalo

Anyone watch the movie Twister with this set up yet?


----------



## brazen1

staknhalo said:


> Anyone watch the movie Twister with this set up yet?


Yeah, it was fun.


----------



## kdawg2391044

brazen1 said:


> Yeah, it was fun.


Yeah I agree, it was the first movie I watched on the setup and it really adds to the movie immersion! Crawl was another one that really showed the promise of this application as well.


----------



## brazen1

kdawg2391044 said:


> Yeah I agree, it was the first movie I watched on the setup and it really adds to the movie immersion! Crawl was another one that really showed the promise of this application as well.


I think because a couple of windtracks were just released with over 400 commands, the movie Twister was associated although it was authored with less. Although one might automatically assume its got to be the windiest move ever made and would display how well this wind special effect works the best, that may or may not be true. As you said, Crawl is another that showcases the capabilities well.

Those last two windtracks for Air Force One and Midway example just how much detail can be authored when the author pushes the envelope of this wind special effect. In time, improved fans may more dramatically realize the fan codes and present them in more detail. As it stands, using the suggested Seville fan demonstrates pretty good but as with all things, it could always be better.


----------



## kdawg2391044

brazen1 said:


> I think because a couple of windtracks were just released with over 400 commands, the movie Twister was associated although it was authored with less. Although one might automatically assume its got to be the windiest move ever made and would display how well this wind special effect works the best, that may or may not be true. As you said, Crawl is another that showcases the capabilities well.
> 
> Those last two windtracks for Air Force One and Midway example just how much detail can be authored when the author pushes the envelope of this wind special effect.


I will need to check these two out then!


----------



## brazen1

*The Hunger Games Mockingjay Part 1 (2014)*

Coded by brazen1


----------



## brazen1

*Elysium (2013)*

Coded by brazen1


----------



## brazen1

*The Martian (2015)*

Coded by brazen1


----------



## brazen1

*Ad Astra (2019)*

Coded by brazen1


----------



## SOWK

Ill be updating Pastebin shortly, thank you Brazen!!!


----------



## SOWK

Pastebin updated.


----------



## SirMaster

So many new movies, Awesome!


----------



## brazen1

*Life (2017)*

Coded by brazen1


----------



## brazen1

*A Quiet Place (2018)*

Coded by brazen1


----------



## brazen1

*The Hunger Games Mockingjay Part 2 (2015)*

Coded by brazen1


----------



## brazen1

*Forrest Gump (1994)*

Coded by brazen1


----------



## SOWK

SirMaster and I just watched There will be blood with brazen1's Wind file! 


Amazing work. It was extremely well done, Thank you very much!!!


----------



## SirMaster

SOWK said:


> SirMaster and I just watched There will be blood with brazen1's Wind file!
> 
> 
> Amazing work. It was extremely well done, Thank you very much!!!


Yeah, the wind timings were perfect and everything fit with all the scenes.

I really liked the bursts of air from the explosions, haven't experienced wind effects like that in the little testing demos i've experienced at SOWK's before now.

Looking forward to watching more movies coded by @brazen1


----------



## brazen1

I'm happy you guys like them  Unfortunately, others don't


----------



## SOWK

brazen1 said:


> I'm happy you guys like them  Unfortunately, others don't


I still only think there are an extremely small number of users.

5-6 maybe. And this was the first time in a while SirMaster and I got a chance to sit down and actually watch a movie. I have actually only watch three full length movies with fan files so far.

There Will be Blood
Ford vs Ferrari 
Crawl 

But you did code it expertly and am excited to experience more of your coded movies eventually.


----------



## brazen1

I look at the Amazon link on page one for the Seville fan and still see 'out of stock' and there is no price shown for even if it was in stock? Maybe it's hit or miss by region or browser but that's what I see. Perhaps some additional links on page one would benefit potential users. Here's one direct from Seville and another for Seville on Ebay both in stock for US purchases. We know they work as intended and at $50... how could anyone not be interested?

Brand new fans direct from Seville $49.99 with free shipping - in stock https://www.sevilleclassics.com/ultr...fan-black.html

and

Brand new fans from Seville $49.99 with free shipping - in stock through eBay if you prefer https://www.ebay.com/itm/ULTRASLIMLI...e8-v4#shpCntId


----------



## SOWK

I can add those links

My only concern is the different model numbers

EHF10127B
vs
EHF10119PB


I don't know if the IR codes for EHF10119PB are the exact same and if the fan responds the exact same.


----------



## brazen1

I use a COC611360 which has been collecting dust at least 10yrs and all the codes are exactly the same and it even looks exactly the same as the newer EHF models. I think the only thing that has updated over the years is the way the actual remote control looks tbh. So, if I'm using an ancient model and you are using a newer model and an even newer model has now been released... and every single one of them looks the same, except for the remote control, I highly doubt the codes have been changed. They work perfectly. Why would they find a need to change after this many years of using the same code anyway? There's a phone number for them on their website. I bet if you called tech support they'd confirm the codes have not changed and even if they did, SirMaster provided instructions for extracting different codes from different manufactures/models. If push came to shove for some obscure reason, return it.


----------



## kdawg2391044

brazen1 said:


> I'm happy you guys like them  Unfortunately, others don't


you are creating these windtracks like a madman! Thanks so much for your contribution, but same like @SOWK said, I havent had much time to sit down and watch a full movie. To be honest, most of the movies that have been authored so far I havent even seen once so its always hard to decide what to watch next. Most of the free time that I do have with my wife we end up watching a tv show since that is a smaller time commitment vs watching a movie. I did watch a little bit of Guardians of the Galaxy to test it out and it was awesome. I am also wondering why the number of users is still fairly small and hasnt grown yet since the capital cost to get this set up is pretty cheap compared to most other upgrades. Maybe once the Pi version is released there will be more takers since that means you dont need a separate computer running and Pis are cheap and small.


----------



## SOWK

I still just think most enthusiasts don’t understand the added immersion that this will add. Most think it will be way over the top. 

As brazen read in his thread, someone equated it to, if it was a boxing movie do you want to get punched in the face while watching the movie... 

They just cant wrap their minds around the real world benefits/results.


----------



## SOWK

Lets start to post some user photo's of the setups!!!! I'll add them to one of the first couple of posts.


----------



## brazen1

*Gladiator (2000)*

Coded by brazen1


----------



## Bellaseni

Add me to the list! Will start ordering tonight !


----------



## brazen1

Bellaseni said:


> Add me to the list! Will start ordering tonight !


Welcome!


----------



## brazen1

SOWK said:


> Lets start to post some user photo's of the setups!!!! I'll add them to one of the first couple of posts.


Imo, you, yourself have one of the finest examples.

Here's my quick and dirty setup anyway.


----------



## SirMaster

@brazen1 since you have been doing so many movies, are there any feature(s) that you would like for WindTrackCreator that would help your process?


----------



## SOWK

brazen1 said:


> Imo, you, yourself have one of the finest examples.
> 
> Here's my quick and dirty setup anyway.


Do you have any that show the whole setup?

basically the front stage.


----------



## brazen1

SirMaster said:


> @brazen1 since you have been doing so many movies, are there any feature(s) that you would like for WindTrackCreator that would help your process?


That's nice of you to ask. You already gave a lot of thought and have provided a tool that really doesn't need any additions or improvements imo. As I've been doing these, I've been contemplating how to speed up the process. They are so minor it's not worth the effort but if you are earnest, there is one thing that slows me down. I wouldn't be upset if it didn't get realized.

I am constantly battling blow times. As much as I try, at times I'm simply so caught up in the creating, I overlook what I'm trying to avoid because I might have a dozen thoughts about a particular scene at any moment and lose sight of one of the main objectives - blow times.

I try to keep fan changes under 1000ms due to fan reaction lag. Couple that with occasional hiccups in time frame readouts due to the MPC player itself faulting, and we a mess on our hands.

(IF) WTC could reject any fan code that was less than 1000ms and was at least 1000ms away from the previous fan code, it would speed up the process a bunch. But, the rejection would need to be brought to the users attention. I suppose a pop-up to confirm would be ok. No details necessary. We'd know what it is. That would create extra clicks though. Even better than rejecting, and what I'd prefer, is to accept the code but apply a RED text entry in the code of WTC as a visual. Even just a red mark or something. That way you get a warning by seeing RED in WTC but nothing has to change.

Another addition might be to add an auto save every 10mins or so. Although I've not lost anything and my HTPC cooperates without fail, there's always that chance you'll be on the last line of code and the PC will fail and down the drain goes hours of work. I find myself manually saving every 10mins or so just in case.

Again, both of these suggestions are not that big of a deal and absolutely no expectations. You've already provided so much...


----------



## SOWK

brazen can you test this first ~5 mins and let me know if this is good or pure garbage?

And if you were to have coded it what would your first 5 mins or so look like?


----------



## brazen1

SOWK said:


> brazen can you test this first ~5 mins and let me know if this is good or pure garbage?
> 
> And if you were to have coded it what would your first 5 mins or so look like?


HuH? There is no right or wrong? Half of the fun is enjoying what ever the creator came up with. And when you're lost in the moment and immersed, it goes without saying the creator must have done the job well.

I watched your 2001 A Space Odyssey (1968) last night. While watching, I was never reminded 'hey, there should have been wind blowing in that scene'. Only 23 lines of code for a 2 1/2hr movie and it was perfect. It blew how and when it should imo.

I see nothing wrong with the preview you just supplied. In fact, the detail is spot on and perfect imo. The fan speed intensities show pride in workmanship. Also, you know when to apply something and when not to. I wouldn't change a thing.

On a side note, the remastering of that 1977 movie is superb. I wish all remasters were done that well. A good visual sets the stage for other effects including audio... and 4D wind of course


----------



## SOWK

*Star Wars Episode IV - A New Hope (1977)*

Coded by SOWK


----------



## enovison

SOWK said:


> *Star Wars Episode IV - A New Hope (1977)*
> 
> 
> 
> Coded by SOWK




I apologize to the group for not participating lately- had some personal family stuff! Great to see this still going and wow @brazen1 great job with the movies. Once a little time frees up I’m going to start contributing again! I’ve attached a photo of my setup- thanks to @SOWK for the guidance on building the fan housing.










Sent from my iPhone using Tapatalk


----------



## SOWK

Pictures: Our 4D wind enthusiast setups! When you're here, you are family!


----------



## SirMaster

brazen1 said:


> That's nice of you to ask. You already gave a lot of thought and have provided a tool that really doesn't need any additions or improvements imo. As I've been doing these, I've been contemplating how to speed up the process. They are so minor it's not worth the effort but if you are earnest, there is one thing that slows me down. I wouldn't be upset if it didn't get realized.
> 
> I am constantly battling blow times. As much as I try, at times I'm simply so caught up in the creating, I overlook what I'm trying to avoid because I might have a dozen thoughts about a particular scene at any moment and lose sight of one of the main objectives - blow times.
> 
> I try to keep fan changes under 1000ms due to fan reaction lag. Couple that with occasional hiccups in time frame readouts due to the MPC player itself faulting, and we a mess on our hands.
> 
> (IF) WTC could reject any fan code that was less than 1000ms and was at least 1000ms away from the previous fan code, it would speed up the process a bunch. But, the rejection would need to be brought to the users attention. I suppose a pop-up to confirm would be ok. No details necessary. We'd know what it is. That would create extra clicks though. Even better than rejecting, and what I'd prefer, is to accept the code but apply a RED text entry in the code of WTC as a visual. Even just a red mark or something. That way you get a warning by seeing RED in WTC but nothing has to change.
> 
> Another addition might be to add an auto save every 10mins or so. Although I've not lost anything and my HTPC cooperates without fail, there's always that chance you'll be on the last line of code and the PC will fail and down the drain goes hours of work. I find myself manually saving every 10mins or so just in case.
> 
> Again, both of these suggestions are not that big of a deal and absolutely no expectations. You've already provided so much...


I think that I basically decided that 500ms between commands was going to be the minimum that I would "support" or recommend. In your experience do you think that this is even too short, and there is no point in commands closer than 1000ms?

I think what might be good is I can color commands in WTC in yellow if they are under 1000ms, and red if they are under 500ms. This should give a good overview of where it's critical and recommended to make adjustments to the wind track.

And I will add the auto-save feature, that should be no problem.

I am also going to add a button to auto-generate the # header information as well.

Thanks for the suggestions!


----------



## kdawg2391044

SirMaster said:


> I think that I basically decided that 500ms between commands was going to be the minimum that I would "support" or recommend. In your experience do you think that this is even too short, and there is no point in commands closer than 1000ms?
> 
> I think what might be good is I can color commands in WTC in yellow if they are under 1000ms, and red if they are under 500ms. This should give a good overview of where it's critical and recommended to make adjustments to the wind track.
> 
> And I will add the auto-save feature, that should be no problem.
> 
> I am also going to add a button to auto-generate the # header information as well.
> 
> Thanks for the suggestions!


I have coded some scenes in How to Train Your Dragon with ~500ms changes for quick bursts of air and I thought they still worked to apply the effect but I dont think anyone else has validated the track. That is the absolute limit though going from High to Off or vice versa because any shorter and the fan doesnt really have time to spin up to speed (as I stated in a previous post, if you leverage the spindown offset, this will neuter the ability to run 500ms code changes which is likely why @brazen1 sees an issue running commands less than 1000ms). I think the yellow/red color coding will be great to add guidance for creating new tracks so that its clear to see if you are approaching the recommended limits. However, how would this be displayed since the WTC app shows individual timecodes and in order to flag something you would need to look at two different timecodes? I guess you would look at the difference between the prev code and current and if it matches those criteria, color that current code appropriately? Auto save and the header prepopulate are great additions too. Maybe if its not too hard for a really polished app, add a hints/information icon that will have some of the general guidance on how to fill out headers, creating tracks, etc, but you could also just link to the forum post first page to make it easier.

My room is currently a mess since I have been experimenting with a few other things so Ill need to clean it up before I can share it. I didnt take the time to make the fan enclosure, but it might be something Ill tackle later on because it makes it look so clean.


----------



## brazen1

Well, I just lost hours worth testing and typing results here thanks to the new Edge Chromium browser closing multiple tabs without a warning prompt. What a POS.

These comments are off topic from what I want to discuss but I want to put it out there since we're discussing changes to WTC:

(1) As it stands, when WTC is open, you cannot use, 0, 5, 1, 4,& 7 keyboard numbers in any other application even when WTC is not in focus. For example, WTC is open right now. I want to type the number 1 in this post. I can't. I'm met with a pop-up "ERROR: Can't connect to MPC.". Does anyone use the number keys for entering fan commands? I never do. I always use the mouse in WTC to select a fan command. If no one else uses it, can we get rid of the number pad option to enter commands if possible? If folks do use it, keep it by all means and when we need to type those particular numbers in another application, we'll just have to quit WTC... that's if it affects everyone or if this is just a special gremlin of my own. We'd need feedback to determine. 

(2) MPC-BE/HC. I pause on an exact frame and then enter the command using WTC. I enter a couple more commands. Then I select "Jump to time - Seek" back to when the sequence of commands start for that scene so I can review it or make a change. The problem is... seek jumps back but it doesn't land on the EXACT time frame I originally selected. Instead, it lands a few frames before or after the EXACT frame it's supposed to. I haven't taken the time to do the math and figure out where, how, or why it is landing on a different frame other than the one meticulously originally selected. I just delete the original entry, navigate to the frame I want (again) and reenter it and all is well. This only happens once in a blue moon... maybe a few times per title and sometimes not at all. I don't know how to reproduce this yet but I will try to determine in the future. Has anyone else experienced this? Furthermore, I can enter a command. I then ADVANCE the movie frame by frame for let's say, 10 frames. Then I enter another command. Looking at WTC, that last command is placed a line ahead of the previous command even though it was ADVANCED. I think MPC and how it registers times is a little screwy.

Now on to the issue at hand about 500ms, 1000ms, etc. minimum fan timings. Here's the deal. I'll try to explain this the best I can along with it's boring details and I hope you guys can absorb them. We need feedback! So you guys are going to need to test if these are global or local anomalies (everyone or just me)! 

I don't know if the fan chip looses its mind or if offsets are a factor? I am currently using 2000/1500/0 fwiw. I notice when I do a sequence of rapid successions of fan changes (within a 1000ms limit), the first couple commands are fine but subsequent commands are altered and even ignored. Here's an example from the Gemini Man windtrack (I do hope someone has this title to test):

Here are 6 commands occurring in 6822ms:

01:36:18.139,HIGH - This command is fine. The duration until it is turned OFF by the next command is 2135ms (well within the 500ms min)

01:36:20.274,OFF - This command is fine. The duration until it is turned ON by the next command is 1201ms (well within the 500ms min)

01:36:21.475,HIGH - This command flashes the light on the fan for about 100ms and then the light turns off and there is no spin-up. WHY? It has a duration of 851ms before it's to be turned off by the next command. It's been waiting to execute this command for 1201ms. (851ms IS within 500ms minimum). Unfortunately, 500ms IS NOT enough duration. It needs to be greater. If the movie has rapid successions of fan changes using 500ms spans of time, clearly this is asking too much of the fan and they simply cannot be that rapid. The speed needs to be at least 1201ms given the examples above because they work. I think it can go as low as 1000ms but not 500ms. Understand other things come into play. A fan code can take longer to turn ON rather than already be ON and simply need to change speed because spin-up takes longer from a dead stop which is what all the commands in this sequence are. So, take it one step further with WTC. If a command is sent from an OFF state, the minimum is 1000. If the command is sent from an ON state, the minimum is 500 ( I assume and would need to locate in a windtrack and test unless you guys want to confirm cuz I get a little burned out). If WTC could warn us should we blow it (ha, ha,) on these rules, it would be fantastic. 

01:36:22.326,OFF - I don't know if this command worked because the previous one didn't so there is nothing to turn off and there is no 'off' light on the fan to confirm.

01:36:23.478,HIGH - No light flashes on the fan and no wind blows (confirming it has not received a command). This command has been waiting 1152ms to execute. The fan chip or something in software is probably still confused by the previous error although you would think it has had plenty of time to recover but it hasn't.

01:36:24.961,OFF - I don't know if this command worked because the previous one didn't so there is nothing to turn off and there is no 'off' light on the fan to confirm.

Here are the final 2 commands in the windtrack. They both perform as intended. Obviously enough time has went by for either the fan or the software to recover from the previous debacle.

01:41:53.191,HIGH - This command is fine. It has been 28,230ms since the last command which we don't know if it worked or not and 991ms in duration until the next command to turn it off.

01:41:54.182,OFF - This command is fine.

What I have just described is apparent in many windtracks. This is why a warning from WTC would be useful. Again, no expectations. Sorry this is so lengthy. I just want to get it all out here especially after Edge Chromium did me the favor of starting from scratch again.


----------



## SirMaster

brazen1 said:


> Well, I just lost hours worth testing and typing results here thanks to the new Edge Chromium browser closing multiple tabs without a warning prompt. What a POS.
> 
> These comments are off topic from what I want to discuss but I want to put it out there since we're discussing changes to WTC:
> 
> (1) As it stands, when WTC is open, you cannot use, 0, 5, 1, 4,& 7 keyboard numbers in any other application even when WTC is not in focus. For example, WTC is open right now. I want to type the number 1 in this post. I can't. I'm met with a pop-up "ERROR: Can't connect to MPC.". Does anyone use the number keys for entering fan commands? I never do. I always use the mouse in WTC to select a fan command. If no one else uses it, can we get rid of the number pad option to enter commands if possible? If folks do use it, keep it by all means and when we need to type those particular numbers in another application, we'll just have to quit WTC... that's if it affects everyone or if this is just a special gremlin of my own. We'd need feedback to determine.
> 
> (2) MPC-BE/HC. I pause on an exact frame and then enter the command using WTC. I enter a couple more commands. Then I select "Jump to time - Seek" back to when the sequence of commands start for that scene so I can review it or make a change. The problem is... seek jumps back but it doesn't land on the EXACT time frame I originally selected. Instead, it lands a few frames before or after the EXACT frame it's supposed to. I haven't taken the time to do the math and figure out where, how, or why it is landing on a different frame other than the one meticulously originally selected. I just delete the original entry, navigate to the frame I want (again) and reenter it and all is well. This only happens once in a blue moon... maybe a few times per title and sometimes not at all. I don't know how to reproduce this yet but I will try to determine in the future. Has anyone else experienced this?
> 
> Now on to the issue at hand about 500ms, 1000ms, etc. minimum fan timings. Here's the deal. I'll try to explain this the best I can along with it's boring details and I hope you guys can absorb them. We need feedback! So you guys are going to need to test if these are global or local anomalies (everyone or just me)!
> 
> I don't know if the fan chip looses its mind or if offsets are a factor? I am currently using 2000/1500/0 fwiw. I notice when I do a sequence of rapid successions of fan changes (within a 1000ms limit), the first couple commands are fine but subsequent commands are altered and even ignored. Here's an example from the Gemini Man windtrack (I do hope someone has this title to test):
> 
> Here are 6 commands occurring in 6822ms:
> 
> 01:36:18.139,HIGH - This command is fine. The duration until it is turned OFF by the next command is 2135ms (well within the 500ms min)
> 
> 01:36:20.274,OFF - This command is fine. The duration until it is turned ON by the next command is 1201ms (well within the 500ms min)
> 
> 01:36:21.475,HIGH - This command flashes the light on the fan for about 100ms and then the light turns off and there is no spin-up. WHY? It has a duration of 851ms before it's to be turned off by the next command. It's been waiting to execute this command for 1201ms. (851ms IS within 500ms minimum). Unfortunately, 500ms IS NOT enough duration. It needs to be greater. If the movie has rapid successions of fan changes using 500ms spans of time, clearly this is asking too much of the fan and they simply cannot be that rapid. The speed needs to be at least 1201ms given the examples above because they work. I think it can go as low as 1000ms but not 500ms. Understand other things come into play. A fan code can take longer to turn ON rather than already be ON and simply need to change speed because spin-up takes longer from a dead stop which is what all the commands in this sequence are. So, take it one step further with WTC. If a command is sent from an OFF state, the minimum is 1000. If the command is sent from an ON state, the minimum is 500 ( I assume and would need to locate in a windtrack and test unless you guys want to confirm cuz I get a little burned out). If WTC could warn us should we blow it (ha, ha,) on these rules, it would be fantastic.
> 
> 01:36:22.326,OFF - I don't know if this command worked because the previous one didn't so there is nothing to turn off and there is no 'off' light on the fan to confirm.
> 
> 01:36:23.478,HIGH - No light flashes on the fan and no wind blows (confirming it has not received a command). This command has been waiting 1152ms to execute. The fan chip or something in software is probably still confused by the previous error although you would think it has had plenty of time to recover but it hasn't.
> 
> 01:36:24.961,OFF - I don't know if this command worked because the previous one didn't so there is nothing to turn off and there is no 'off' light on the fan to confirm.
> 
> Here are the final 2 commands in the windtrack. They both perform as intended. Obviously enough time has went by for either the fan or the software to recover from the previous debacle.
> 
> 01:41:53.191,HIGH
> 
> 01:41:54.182,OFF
> 
> What I have just described is apparent in many windtracks. This is why a warning from WTC would be useful. Again, no expectations. Sorry this is so lengthy. I just want to get it all out here especially after Edge Chromium did me the favor of starting from scratch again.



I know SOWK exclusively uses the numpad hotkeys, and it's important that they work when WTC is not focused because generally he would have the MPC window focused when inserting timecodes.

But I will just make the hotkeys an option to enable.

I have never seen the seek not go to the exact millisecond / frame. If it doesn't, it's probably the player's fault as my program just commands it to that specific millisecond and that's all I can do. I have only tried HC though, I don't use BE.

For your whole last point, it's a known bug/limitation/artifact in the software that I already know about and am already fixing.

If you have your spinup offset set to 1500ms, and you have a command, say 00:00:03.000,OFF and then a 00:00:04.000,HIGH... well, then HIGH will go at 00:00:02.500, because the spinup takes 1500ms, so it will end up before the OFF which will obviously cause problems.

The next version of HTFanControl will make sure that if an offset (either spinup, or spindown) would have made a command play out of order (like the above example), or if it would place the next command less than 500ms away from the previous command, HTFanControl will instead place the following command 500ms *after* the previous command. So the above example would place the command HIGH at 00:00:03.500 which is 500ms after the OFF, instead of 500ms before it, because of the 1500ms spinup offset.

The same rule will apply to spindown offset.


----------



## brazen1

The hotkey option and the auto ms compensation after the previous command sounds perfect. Looking forward to trying it and making sure it performs how we want. Thank you for even considering doing these for us 

If we open an older windtrack with your new forthcoming release of WTC, will it show the warnings so we can reedit them? Also, if we save and close a partially completed windtrack, will it reopen showing the warnings? 

I'm asking because if it won't be capable, I'll refrain from any new windtracks until you release it. If it will be, no reason to refrain since it can be edited once the new version is released. What I'm getting at is windtracks can wait to be shared and let them pile up until final edits are done.


----------



## kdawg2391044

brazen1 said:


> Now on to the issue at hand about 500ms, 1000ms, etc. minimum fan timings. Here's the deal. I'll try to explain this the best I can along with it's boring details and I hope you guys can absorb them. We need feedback! So you guys are going to need to test if these are global or local anomalies (everyone or just me)!
> 
> I don't know if the fan chip looses its mind or if offsets are a factor? I am currently using 2000/1500/0 fwiw. I notice when I do a sequence of rapid successions of fan changes (within a 1000ms limit), the first couple commands are fine but subsequent commands are altered and even ignored. Here's an example from the Gemini Man windtrack (I do hope someone has this title to test):
> 
> Here are 6 commands occurring in 6822ms:
> 
> 01:36:18.139,HIGH - This command is fine. The duration until it is turned OFF by the next command is 2135ms (well within the 500ms min)
> 
> 01:36:20.274,OFF - This command is fine. The duration until it is turned ON by the next command is 1201ms (well within the 500ms min)
> 
> 01:36:21.475,HIGH - This command flashes the light on the fan for about 100ms and then the light turns off and there is no spin-up. WHY? It has a duration of 851ms before it's to be turned off by the next command. It's been waiting to execute this command for 1201ms. (851ms IS within 500ms minimum). Unfortunately, 500ms IS NOT enough duration. It needs to be greater. If the movie has rapid successions of fan changes using 500ms spans of time, clearly this is asking too much of the fan and they simply cannot be that rapid. The speed needs to be at least 1201ms given the examples above because they work. I think it can go as low as 1000ms but not 500ms. Understand other things come into play. A fan code can take longer to turn ON rather than already be ON and simply need to change speed because spin-up takes longer from a dead stop which is what all the commands in this sequence are. So, take it one step further with WTC. If a command is sent from an OFF state, the minimum is 1000. If the command is sent from an ON state, the minimum is 500 ( I assume and would need to locate in a windtrack and test unless you guys want to confirm cuz I get a little burned out). If WTC could warn us should we blow it (ha, ha,) on these rules, it would be fantastic.
> 
> 01:36:22.326,OFF - I don't know if this command worked because the previous one didn't so there is nothing to turn off and there is no 'off' light on the fan to confirm.
> 
> 01:36:23.478,HIGH - No light flashes on the fan and no wind blows (confirming it has not received a command). This command has been waiting 1152ms to execute. The fan chip or something in software is probably still confused by the previous error although you would think it has had plenty of time to recover but it hasn't.
> 
> 01:36:24.961,OFF - I don't know if this command worked because the previous one didn't so there is nothing to turn off and there is no 'off' light on the fan to confirm.
> 
> Here are the final 2 commands in the windtrack. They both perform as intended. Obviously enough time has went by for either the fan or the software to recover from the previous debacle.
> 
> 01:41:53.191,HIGH - This command is fine. It has been 28,230ms since the last command which we don't know if it worked or not and 991ms in duration until the next command to turn it off.
> 
> 01:41:54.182,OFF - This command is fine.
> 
> What I have just described is apparent in many windtracks. This is why a warning from WTC would be useful. Again, no expectations. Sorry this is so lengthy. I just want to get it all out here especially after Edge Chromium did me the favor of starting from scratch again.


I think I understand what you are describing and it sounds like it has to do with rapid timecode changes being played out of order when you scrub to the middle of that particular scene. If that is what you are describing, then that is what I mentioned in a previous post about scrubbing to a timecode minus a few seconds to play through the scene so that it "works correctly with applied offsets". But I can see how this would throw things off if you are tweaking the middle of a high action scene. I never had any issues with codes being received by my fan in rapid succession since I think the 5th or 6th beta when some bugs related to the time keeping were worked out.

I dont use the numkeys either but it does sound like thats a bug with WTC taking complete control of the keyboard which it shouldnt. I also use MPC-HC but I havent paid attention to the exact frame so dont know if this is happening.



SirMaster said:


> For your whole last point, it's a known bug/limitation/artifact in the software that I already know about and am already fixing.
> 
> If you have your spinup offset set to 1500ms, and you have a command, say 00:00:03.000,OFF and then a 00:00:04.000,HIGH... well, then HIGH will go at 00:00:02.500, because the spinup takes 1500ms, so it will end up before the OFF which will obviously cause problems.
> 
> The next version of HTFanControl will make sure that if an offset (either spinup, or spindown) would have made a command play out of order (like the above example), or if it would place the next command less than 500ms away from the previous command, HTFanControl will instead place the following command 500ms *after* the previous command. So the above example would place the command HIGH at 00:00:03.500 which is 500ms after the OFF, instead of 500ms before it, because of the 1500ms spinup offset.
> 
> The same rule will apply to spindown offset.


I think this makes sense and while it wont be the full duration of the timecode, it will at least account for stuff playing out of order.


----------



## SirMaster

kdawg2391044 said:


> I think I understand what you are describing and it sounds like it has to do with rapid timecode changes being played out of order when you scrub to the middle of that particular scene. If that is what you are describing, then that is what I mentioned in a previous post about scrubbing to a timecode minus a few seconds to play through the scene so that it "works correctly with applied offsets". But I can see how this would throw things off if you are tweaking the middle of a high action scene. I never had any issues with codes being received by my fan in rapid succession since I think the 5th or 6th beta when some bugs related to the time keeping were worked out.
> 
> I dont use the numkeys either but it does sound like thats a bug with WTC taking complete control of the keyboard which it shouldnt. I also use MPC-HC but I havent paid attention to the exact frame so dont know if this is happening.
> 
> I think this makes sense and while it wont be the full duration of the timecode, it will at least account for stuff playing out of order.


Offsets are pre-computed when the whole windtrack file is loaded. So it doesn't matter how you are playing it. Commands will literally load out of order if the time between OFF to ON command is less than spinup offset, or ON to OFF is less than spindown offset. It's always been this way and was just an oversight initially. I have wanted to fix it for awhile, but i was waiting for when I was rewriting the windtrack parser code entirely which is now.

WTC taking control of the numpad keys is intentional as the entire point is so you can insert commands into it while you are focused on your media player which is how SOWK makes his windtrack files.

As for time codes not being their full duration, it's because it's impossible given the spinup times of the fan unless I am missing something simple here. If your windtack file asks for a fan to turn on 1 second after it's supposed to turn off, but it takes 1.5 seconds to spinup, that's impossible for the fan to accomplish, so it just wont be completely spun up in time. The important thing is that it will still go to that speed, and it will still execute all the speeds in the proper order or else the fan could get stuck in a speed for a long time that it's not supposed to be in.

There are other ways that cases like this could be handled, but I am not sure if other manipulations of the timecodes would lead to a better result or not. I think perhaps we will just try it this way for now and see how it works out and adjust it again if there is some other way that we come up with that could lead to a better result.


----------



## kdawg2391044

SirMaster said:


> Offsets are pre-computed when the whole windtrack file is loaded. So it doesn't matter how you are playing it. Commands will literally load out of order if the time between OFF to ON command is less than spinup offset, or ON to OFF is less than spindown offset. It's always been this way and was just an oversight initially. I have wanted to fix it for awhile, but i was waiting for when I was rewriting the windtrack parser code entirely which is now.
> 
> WTC taking control of the numpad keys is intentional as the entire point is so you can insert commands into it while you are focused on your media player which is how SOWK makes his windtrack files.
> 
> As for time codes not being their full duration, it's because it's impossible given the spinup times of the fan unless I am missing something simple here. If your windtack file asks for a fan to turn on 1 second after it's supposed to turn off, but it takes 1.5 seconds to spinup, that's impossible for the fan to accomplish, so it just wont be completely spun up in time. The important thing is that it will still go to that speed, and it will still execute all the speeds in the proper order or else the fan could get stuck in a speed for a long time that it's not supposed to be in.
> 
> There are other ways that cases like this could be handled, but I am not sure if other manipulations of the timecodes would lead to a better result or not. I think perhaps we will just try it this way for now and see how it works out and adjust it again if there is some other way that we come up with that could lead to a better result.


Gotcha, that makes sense, I thought you guys were talking about playing it in the middle of a scene, not about the commands actually clashing due to offsets overlapping the commands. As for the numpad keys, that makes sense as well, I guess I didnt know how to use it properly as that would save time in authoring since I was always jumping back and forth between MPC and WTC and using the mouse buttons. For timecodes not being full duration, I wasnt suggesting that it was wrong, just making a statement that is the tradeoff so that commands dont play out of order. I agree that it would be impossible for the fan to do something that exceeds its limits which in this case is defined by those offsets.


----------



## brazen1

SirMaster said:


> The important thing is that it will still go to that speed, and it will still execute all the speeds in the proper order or else the fan could get stuck in a speed for a long time that it's not supposed to be in.


Not sure I'm understanding this correctly? I'm probably reading more into your words than you meant. 

As long as the selected time remains the exact timeframe chosen, all is well. If the timeframe is automatically changed, in order to ensure all the commands fit, blow the selected speed, and remain in the order they were selected, then this will be a problem. I'd rather be alerted to a potential problem command than have it auto adjusted because the fan is going to blow or turn off at the wrong times for the sake of conforming. 

Auto change under the right circumstances sounds cool though doesn't it?  Like an 'AutoFit' button for those times exact timeframes don't matter. For example. A plane is flying by. The duration of the scene is 8secs. You want to go from high to med to low to eco and evenly distribute the fade out. 8secs is easy. You blow each setting for 2secs. But when the scene is 6.5secs, you start doing math or guessing. If there was an AutoFit you could potentially select the 1st frame and the last frame in the sequence and ask WTC to AutoFit "high, med, low, eco". Or, AutoFit "eco, med, and high only". You could also ask it to 'Scale' from short duration in the beginning of a sequence to long duration at the end. I better stop here... LoL! 

If we open an older windtrack with your new forthcoming release of WTC, will it show warnings so we can reedit them or only ones created with the forthcoming release? Also, if we save and close a partially completed windtrack, will it reopen showing the previous warnings? I assume it could show previously saved warnings but old stuff that never saved warnings would require a new compute every time a windtrack is opened which would mean every windtrack is rescanned when opened. 

I'm asking because if it won't be capable, I'll refrain from any new windtracks until you release it. If it will be capable, no reason to refrain since it can be final edited once the new version is released.


----------



## SirMaster

brazen1 said:


> Not sure I'm understanding this correctly? I'm probably reading more into your words than you meant.
> 
> As long as the selected time remains the exact timeframe chosen, all is well. If the timeframe is automatically changed, in order to ensure all the commands fit, blow the selected speed, and remain in the order they were selected, then this will be a problem. I'd rather be alerted to a potential problem command than have it auto adjusted because the fan is going to blow or turn off at the wrong times for the sake of conforming.


We don't have a choice. Since the offsets are variable and a user can set them to anything they want/need.

If you program a windtrack to turn the fan on 1.5 seconds after you turn it off, then fine, it will work for your setup if you have your spinup offset set to 1500ms or lower, but if someone sets their spinup offset to 2000ms, now the command wont work because it would put it 500ms before the off command since their fan takes 2 seconds to spin up, but the wind track was coded to only have 1.5 seconds of time after it should turn off. Their fan is physically incapable of responding that fast so an adjustment has to be made. Without the adjustment the commands would play out of order and the fan would be off when it should be on, and if there are no commands soon after this, the fan could be stuck in the wrong state for a long time.

Giving you a warning based on your own personal spinup and spindown times is pointless because it doesn't change the need for the adjustments for someone else who uses your windtrack. And someone else might have a fan that is even faster than yours and only needs a 500ms spinup offset so if they make a windtrack file, their warning would only be 500ms, and a windtrack they make would need to be adjusted for your 1500ms offset system.

The only way this would work the way you seem to want it to work would be for me to lock the spinup and spindown offsets to the same value for everyone, and make those values the warnings and limits in WTC.



brazen1 said:


> Auto change under the right circumstances sounds cool though doesn't it?  Like an 'AutoFit' button for those times exact timeframes don't matter. For example. A plane is flying by. The duration of the scene is 8secs. You want to go from high to med to low to eco and evenly distribute the fade out. 8secs is easy. You blow each setting for 2secs. But when the scene is 6.5secs, you start doing math or guessing. If there was an AutoFit you could potentially select the 1st frame and the last frame in the sequence and ask WTC to AutoFit "high, med, low, eco". Or, AutoFit "eco, med, and high only". You could also ask it to 'Scale' from short duration in the beginning of a sequence to long duration at the end. I better stop here... LoL!


I'm not going to be doing anything like this.



brazen1 said:


> If we open an older windtrack with your new forthcoming release of WTC, will it show warnings so we can reedit them or only ones created with the forthcoming release? Also, if we save and close a partially completed windtrack, will it reopen showing the previous warnings? I assume it could show previously saved warnings but old stuff that never saved warnings would require a new compute every time a windtrack is opened which would mean every windtrack is rescanned when opened.
> 
> I'm asking because if it won't be capable, I'll refrain from any new windtracks until you release it. If it will be capable, no reason to refrain since it can be final edited once the new version is released.


Yellow and red coloring would be calculated after every single edit of the timecode list.


----------



## Archaea

I see there is a new model fan available
https://www.sevilleclassics.com/ultraslimline-40-in-oscillating-tower-fan-black.html

I wonder if one could rob the electronics out of this an power the fan of their choice? I'm fond of the squirrel cage fans.
I think I'll buy a couple - see how they do - and if they don't match the squirrel cage fan I have then I will try and swap the controller.

I tried a couple of the WhirlwindFX VortX units, but they aren't powerful enough for home theater, and they can't work on anything but stereo, so while they are pretty cool for PC games, and I see the potential there - it is a miss for home theater. AND you still have the problem where loud means fans - where that's not always appropriate.


----------



## feistyacorn

brazen1 said:


> Imo, you, yourself have one of the finest examples.
> 
> Here's my quick and dirty setup anyway.


This looks awesome! Any chance you could share how you mounted the fan and ran power? Looks like there might be some support at the back of the fan?


----------



## brazen1

feistyacorn said:


> This looks awesome! Any chance you could share how you mounted the fan and ran power? Looks like there might be some support at the back of the fan?


I use the fan horizontally so it will disperse air movement left and right further and I wanted it to look like it is floating. I also needed to find the sweet spot for where the bulk of the breeze hit our bodies. We didn't want too much in our eyes but to still allow for some face targeting so aiming was critical. The fan also needs space around the intake or it will be louder as it struggles to suck in air. It will also make the fan motor labor harder. Lastly, it can also create eddies which isn't ideal.

There are 2x4 top plates where a wall meets a ceiling in stick built structures. I screwed a couple deep reaching hooks into these 2x4's so I could easily remove and replace the fan during adjustment trials. I did a little geometry with a protractor for initial mounting and found the 2nd row of holes in the metal intake grate achieved the proper angle. I fed zip ties through these holes to form a circle and hung them on the hooks. One tie for the left and another for the right. Next I took a spacer cut from 1" PVC and placed it between the fan and the wall to allow a couple inches for unobstructed air intake. Then I tightened the zip ties a little bit at a time until the angle achieved the sweet spot. Lastly I unmounted the fan and added heavy gauge bailing wire as a backup in case the zip tie failed and remounted the unit.

I had an emitter salvaged from another project. I spliced in wire to make it longer. When I removed 'the beeper', I mounted this emitter on the circuit board aimed at the receiver and ran the wire out of the fan. It and the power cord feed in/out of my wall to an outlet and the Iguana. The emitter could have been left external but I figured why not since I had it apart for the beeper removal anyway.


----------



## brazen1

*Mad Max Fury Road (2015)*

Coded by brazen1


----------



## SOWK

brazen1 said:


> *Mad Max Fury Road (2015)*
> 
> Coded by brazen1 - 530 commands with 1 second spread minimums.
> 
> Please respond with a 'like' if you appreciate it ---------------------------------------------------------------------------------->


Wow, 530!!! That's like 4 movies in 1.


----------



## brazen1

*District 9 (2009)*

Coded by brazen1


----------



## SirMaster

*HTFanControl Beta 16*

https://github.com/nicko88/HTFanControl/releases/download/Beta16/HTFanControl_Beta16.zip

Notes:

Re-wrote the windtrack loading code to better handle how a user's offset numbers need to affect the timing of the commands when they are coded close together.
Also handle catching bad data in the windtrack file and displaying an error for the user on the WebUI status screen.


Added a new loaded windtrack screen that displays the windtrack commands as-loaded (with all offsets calculated).
In this screen you can see the commands following along with the movie as it plays.


Added a special "disc version" windtrack offset feature.
This feature lets us put a positive or negative offset value in the windtrack header that allows someone with a different disc version of the movie to enable the offset and use the windtrack with their version of the movie.
This feature exists because the 1080p disc and 4K disc versions of the movie can sometimes differ in the "studio logo" screens that come before the movie which affect the timing of all the windtrack commands.
I will go more into detail about this feature in another post.

I wanted to get this version posted before the forum goes into read-only mode for a couple days tomorrow. Hopefully you guys can use it and see if there are any bugs.

You can easily see the way the program now loads the windtrack commands in the new loaded windtrack screen and check to verify that the loaded command times make sense for your offset values.

I did some testing, but not a ton, so there could certainly be bugs with this that could load the commands at the wrong times, so let me know if you notice any issues.


----------



## SirMaster

The new "disc version" offset feature works like this.

In the windtrack header, a line will be added like this:

# How To Train Your Dragon (2010)
# Blu-ray (01:37:51)
*# Offset: 4K Ultra HD Blu-ray (00:00:24.024)*
# Coded by: kdawg2391044

This header means the windtrack file was created for the 1080p BluRay, but it has an offset that can be enabled to use the windtrack with the 4K BluRay version.

In this case, it means the 4K disc version has an extra 00:00:24.024 of "stuff" in the main video before the movie actually starts.

The offset value can be positive or negative (simply add a "-" before the first 00) and it's easy to find if you have both copies of the movie.

To find it, you open both copies of the movie in MPC player and seek forward past all the studio logos at the beginning (which is what makes the movie times different in the first place) to anywhere in the movie itself, and seek both players to the exact same frame (skipping to a chapter can often accomplish this automatically too).

And then once you have the same frame loaded for both copies (make sure you right click the time display in MPC and enable high precision timer), you can simply subtract the timestamp between each player to get the offset.

Now you don't really have to worry about this normally. I plan to go through all the movies we have created so far and add an offset for the other disc version (if one exists). And I will add it to all the new movies you guys are creating too. If you create the windtrack for the 1080p, I will add the 4K offset and vice versa, if a 4K version of the movie exists, and if the different disc needs an offset.

For the user, when a wind track has one of these Offset: lines in the header a special button will appear under the windtrack header information (on the WebUI status screen) that lets you toggle the special disc version offset on and off, simple as that!


----------



## SOWK

*Star Wars Episode I - The Phantom Menace (1999) *

Coded by SOWK


----------



## brazen1

*Edge of Tomorrow (2014)*

Coded by brazen1


----------



## brazen1

*Lion (2016)*

Coded by brazen1


----------



## brazen1

*Incendies (2010)*

Coded by brazen1


----------



## SOWK

brazen1 said:


> *Edge of Tomorrow (2014)*
> 
> Coded by brazen1


please tell me at the beginning with the massive bass drop you have the fans at full blast for no apparent reason...


----------



## brazen1

It appears something is auto editing the windtracks and adding 00:00:00.000,ECO on line one.
It's random and I didn't catch this particular title but saw it auto added on others. I'm using Beta16 now but don't know if the flaw is related.
I'd like to reupload a fixed .txt file but I can't find the 'edit post' function on this new forum? Never mind, found it. New file uploaded.


----------



## SirMaster

brazen1 said:


> It appears something is auto editing the windtracks and adding 00:00:00.000,ECO on line one.
> It's random and I didn't catch this particular title but saw it auto added on others. I'm using Beta16 now but don't know if the flaw is related.
> I'd like to reupload a fixed .txt file but I can't find the 'edit post' function on this new forum?


Nothing is editing the wind tracks. HTFanControl doesn't have a single line of code that could or would ever edit a wind track file. It opens the files for read only.

The only thing editing the files is WindTrackCreator and only when Save is clicked or you close the program and it asks to save.

I don't see a 00:00:00.000,ECO on any of your recent wind track files, unless you had already edited them before I downloaded them to look.


----------



## SOWK

brazen1 said:


> It appears something is auto editing the windtracks and adding 00:00:00.000,ECO on line one.
> It's random and I didn't catch this particular title but saw it auto added on others. I'm using Beta16 now but don't know if the flaw is related.
> I'd like to reupload a fixed .txt file but I can't find the 'edit post' function on this new forum?


Click the three dots in the top right hand corner of your post, click edit.


----------



## SOWK

I fixed Edge of Tomorrow already, AKA deleted the 00:00:00,ECO

But that was not why I said what I said earlier. There is a massive bass drop at the beginning of the movie for no apparent reason, and thought it would be funny to have the fans playing during the bass drop for no apparent reason. LOL


----------



## brazen1

SirMaster said:


> Nothing is editing the wind tracks. HTFanControl doesn't have a single line of code that could or would ever edit a wind track file. It opens the files for read only.
> 
> The only thing editing the files is WindTrackCreator and only when Save is clicked or you close the program and it asks to save.


I can assure you, I didn't add that line. How could I? If the movie was playing and I had the fastest fingers on earth, I couldn't enter 00:00:00.000,ECO on line one afaik. Anyway, it's all good and it's fixed now. I don't know what causes it? It's not the first time it's happened. Yes, I have edited out that line in the past before uploading. I just forgot to look on this particular title and missed it. I find out by actually playing the movie from the beginning and the fan runs on eco for no apparent reason. I run to the file and notice the line and scratch my head? Also, Beta16 status shows it as an error as intended.

I also have a couple other problems. It's probably my system but thought I'd ask if any other authors have noticed. 
(1) MPC-BE does not have the 'High Precision Mode Timestamp' for me. Only MPC-HC does. True?
(2) Using MPC-HC/BE advancing frame by frame works half way decent. Rewinding frame by frame is pretty iffy. True?
(3) I enter a code at a specific time stamp related to a specific frame. I review the code entry by pressing seek. It seeks to a different frame although the time stamp is unchanged and it's definitely not the frame I originally selected . I am constantly reediting until seeking and/or playback coincides how I intended. It's as if the player is bogged down due to all the jumping around and once it stabilizes and regains some normalcy, things change.
(4) Adding 00:00:00.000,ECO on line one randomly for no apparent reason.


----------



## brazen1

SOWK said:


> I fixed Edge of Tomorrow already, AKA deleted the 00:00:00,ECO
> 
> But that was not why I said what I said earlier. There is a massive bass drop at the beginning of the movie for no apparent reason, and thought it would be funny to have the fans playing during the bass drop for no apparent reason. LOL


Oh, I see. You're suggesting I should have added the fans at high during that bass drop. It is a pretty intense low played through my 18" sub and the bass shakers. It'll rattle your fillings on that last note 🔊


----------



## brazen1

I want to double check about something else cuz maybe I'm confused? I thought WTC was going to show red and yellow warnings about lines of code. Am I jumping the gun or was HTFanControl the intended software to help recognize errors now that the status tab shows them... at least that 00:00:00,ECO error. I haven't noticed any other errors but tbh, I haven't had HTFanControl UI opened during authoring.


----------



## SirMaster

brazen1 said:


> I can assure you, I didn't add that line. How could I? If the movie was playing and I had the fastest fingers on earth, I couldn't enter 00:00:00.000,ECO on line one afaik. Anyway, it's all good and it's fixed now. I don't know what causes it? It's not the first time it's happened. Yes, I have edited out that line in the past before uploading. I just forgot to look on this particular title and missed it. I find out by actually playing the movie from the beginning and the fan runs on eco for no apparent reason. I run to the file and notice the line and scratch my head? Also, Beta16 status shows it as an error as intended.


I am not saying you intentionally added it. I am just saying HTFanControl has nothing to do with it and can't have added it since it does not open files for edit.

It's easy to add a 00:00:00 time code. Just have the movie open and press stop or seek to the start and hit a numpad key or command button in WindTrackCreator.

If anything it's _remotely _possible there is a bug in WindTrackCreator, but why would it add ECO? Does it always add ECO? When you hit save, WTC performs a simple loop and writes each command from the grid into the file and that's it. It's like 5 lines of code.

Unless you can recreate the issue, there is nothing I can do about it since I can't reproduce it. If I can't reproduce it, I can't see what code is causing it. I don't know for sure that there wasn't simply a 00:00:00 code in your grid when you saved.

What I really need would be steps to produce the error or bug.



brazen1 said:


> I also have a couple other problems. It's probably my system but thought I'd ask if any other authors have noticed.
> (1) MPC-BE does not have the 'High Precision Mode Timestamp' for me. Only MPC-HC does. True?


It's called "Show milliseconds" on MPC-BE, but it works the same.



brazen1 said:


> (2) Using MPC-HC/BE advancing frame by frame works half way decent. Rewinding frame by frame is pretty iffy. True?
> (3) I enter a code at a specific time stamp related to a specific frame. I review the code entry by pressing seek. It seeks to a different frame although the time stamp is unchanged and it's definitely not the frame I originally selected . I am constantly reediting until seeking and/or playback coincides how I intended. It's as if the player is bogged down due to all the jumping around and once it stabilizes and regains some normalcy, things change.


I have only tested MPC-HC, but I didn't really notice this. I assume it simply has to do with rounding, because while you can specify specific milliseconds, a frame in a 23.976fps video lasts for 41.7ms. Either way there isn't anything I could ever do about it anyways. You would have to talk to the MPC developer to ask about a change to how it seeks to milliseconds if it's not doing it correctly.



brazen1 said:


> I want to double check about something else cuz maybe I'm confused? I thought WTC was going to show red and yellow warnings about lines of code. Am I jumping the gun or was HTFanControl the intended software to help recognize errors now that the status tab shows them... at least that 00:00:00,ECO error. I haven't noticed any other errors but tbh, I haven't had HTFanControl UI opened during authoring.


I have not made any changes to WTC yet. It's still on version 1.2 which is from 29 days ago. No, HTFanControl is not intended to be used for creating wind track files in any way. It will print errors though when it finds things like bad data in the wind track file, or like a command that's out of order or things like that.

However, telling you that 00:00:00.000,ECO timestamp is an error sounds like a bug to me. There is no reason this should be considered an error. Having a time code at 00:00:00.000 is allowed. I will have to check why triggers an error message for that case.


----------



## brazen1

SirMaster said:


> I am not saying you intentionally added it. I am just saying HTFanControl has nothing to do with it and can't have added it since it does not open files for edit.
> 
> It's easy to add a 00:00:00 time code. Just have the movie open and press stop or seek to the start and hit a numpad key or command button in WindTrackCreator.
> 
> If anything it's _remotely _possible there is a bug in WindTrackCreator, but why would it add ECO? Does it always add ECO? When you hit save, WTC performs a simple loop and writes each command from the grid into the file and that's it. It's like 5 lines of code.
> 
> Unless you can recreate the issue, there is nothing I can do about it since I can't reproduce it. If I can't reproduce it, I can't see what code is causing it. I don't know for sure that there wasn't simply a 00:00:00 code in your grid when you saved.
> 
> What I really need would be steps to produce the error or bug.
> 
> 
> 
> It's called "Show milliseconds" on MPC-BE, but it works the same.
> 
> 
> 
> I have only tested MPC-HC, but I didn't really notice this. I assume it simply has to do with rounding, because while you can specify specific milliseconds, a frame in a 23.976fps video lasts for 41.7ms. Either way there isn't anything I could ever do about it anyways. You would have to talk to the MPC developer to ask about a change to how it seeks to milliseconds if it's not doing it correctly.
> 
> 
> 
> I have not made any changes to WTC yet. It's still on version 1.2 which is from 29 days ago. No, HTFanControl is not intended to be used for creating wind track files in any way. It will print errors though when it finds things like bad data in the wind track file, or like a command that's out of order or things like that.
> 
> However, telling you that 00:00:00.000,ECO timestamp is an error sounds like a bug to me. There is no reason this should be considered an error. Having a time code at 00:00:00.000 is allowed. I will have to check why triggers an error message for that case.


Yes, it always adds ECO. When it happens, it always adds 00:00:00.000,ECO exactly. No, I don't know how to reproduce it. This is exactly what I was attempting to show you when we last TeamViewer. It's no big deal and more than likely something I am triggering without knowing it. 

AHA! Show milliseconds would never appear for me. A right click just toggled duration vs time left. But, I just enabled 'STATUS' in MPC and now it shows the option. Nice! 

I have just disabled madVr in MPC. The video will play, just without tone mapping. I don't mind. MAYBE this is what confuses frames vs actual time stamps since madVr is doing real time processing? I will probably do Oblivion (2013) in a bit and see if this baloney improves. Crossing my fingers. Might ditch LAV Filters and use internal processing to eliminate that as possibly bogging the system too. Most of the components for my system are circa 2008. What could possibly go wrong? LoL.


----------



## SirMaster

brazen1 said:


> Yes, it always adds ECO. When it happens, it always adds 00:00:00.000,ECO exactly. No, I don't know how to reproduce it. This is exactly what I was attempting to show you when we last TeamViewer. It's no big deal and more than likely something I am triggering without knowing it.
> 
> AHA! Show milliseconds would never appear for me. A right click just toggled duration vs time left. But, I just enabled 'STATUS' in MPC and now it shows the option. Nice!
> 
> I have just disabled madVr in MPC. The video will play, just without tone mapping. I don't mind. MAYBE this is what confuses frames vs actual time stamps since madVr is doing real time processing? I will probably do Oblivion (2013) in a bit and see if this baloney improves. Crossing my fingers. Might ditch LAV Filters and use internal processing to eliminate that as possibly bogging the system too. Most of the components for my system are circa 2008. What could possibly go wrong? LoL.


If you want a different setup for coding vs. playing you could always install both HC and BE and use one for playback and one for coding and you wouldn't have to ever change their settings for each.


----------



## brazen1

Yes, I already have both players but mainly for subtitle and hot key differences. It's rare I need one vs the other so I think I am going to dedicate one for playback and one for coding.


----------



## kdawg2391044

@SirMaster low priority request, but are you planning on adding some sort of bulk Windtrack download function to HTFanControl where you can select multiple windtracks and download with one click? Given how fast @brazen1 has been creating these tracks, that would make things much easier to manage.


----------



## SirMaster

kdawg2391044 said:


> @SirMaster low priority request, but are you planning on adding some sort of bulk Windtrack download function to HTFanControl where you can select multiple windtracks and download with one click? Given how fast @brazen1 has been creating these tracks, that would make things much easier to manage.


I haven't, but how would that save any effort?

If you are mass downloading them, then their filenames will surely not match your own movie file names.

And so you will have to find each one later in the "Manage" screen and "Rename" them when you play each movie. Or you will have to open the folder on your computer and rename them to match your movie names.

Is this really more preferable than just downloading the movie from the online list when you go to watch it?


----------



## brazen1

Hey, I can slow em' down... LoL!

You guys don't like Lion or Incendies? Two very good adult movies. High on IMDB all time best and Oscar nominations, etc.


----------



## kdawg2391044

SirMaster said:


> I haven't, but how would that save any effort?
> 
> If you are mass downloading them, then their filenames will surely not match your own movie file names.
> 
> And so you will have to find each one later in the "Manage" screen and "Rename" them when you play each movie. Or you will have to open the folder on your computer and rename them to match your movie names.
> 
> Is this really more preferable than just downloading the movie from the online list when you go to watch it?


It was more to have the Windtracks all locally so that I could see what movies are available with tracks since the Windtrack management defaults to your local file storage. I know I would need to rename them anyways after the fact by using the rename feature after the movie is loaded up in the client player (assuming I follow the same workflow). The intended use of this functionality is to download a windtrack and rename in one step when the movie is already loaded which would be ultimately be easier than what I am doing now which is downloading the online versions to computer individually using the app not specifically intending to watch any movie. Not a big deal though, as I could just switch to the online view, pick a movie to watch and use the existing functionality as intended. Just figured I would throw it out there but now that I think about this its probably not really worth your time to code that in.


----------



## brazen1

So that I know which movies in my library have windtracks, I added a playlist of them all on my Kodi homepage (if you use Kodi). It's pretty quick and simple to edit the playlist within Kodi too.


----------



## SirMaster

I mean, I could add a multi-select to the download page if it helps, but it's not high priority as you said.


----------



## enovison

SirMaster said:


> I mean, I could add a multi-select to the download page if it helps, but it's not high priority as you said.



Hey- is there a way for the program to basically cross reference what’s in the pastebin (download tab) vs what’s actually downloaded locally in my wind track library and turn the ones I have bold or a color or something like that. Since (thanks to all of the hard work going on here) the movies are coming in quickly I often forget what I already have and haven’t downloaded. It would be nice to see any non bolded titles and Download them. 

No big deal if not 


Sent from my iPhone using Tapatalk


----------



## SirMaster

enovison said:


> Hey- is there a way for the program to basically cross reference what’s in the pastebin (download tab) vs what’s actually downloaded locally in my wind track library and turn the ones I have bold or a color or something like that. Since (thanks to all of the hard work going on here) the movies are coming in quickly I often forget what I already have and haven’t downloaded. It would be nice to see any non bolded titles and Download them.
> 
> No big deal if not
> 
> 
> Sent from my iPhone using Tapatalk


Not really. Since the files are presumably going to have a different name once you download / rename them, so it would have to compare the contents of the files.

And that would mean it would have to open every pastebin webpage for every wind track just to load and filter the list compared to your local copies every time you open the "Download" page. Not feasible as the number of wind tracks grows to be loading 60+ web pages just to load the Download list.

The best way would be to alter the wind track format to do something like add some unique ID to them but I don't think that is worth the effort and such, at least not at this time.


----------



## enovison

SirMaster said:


> Not really. Since the files are presumably going to have a different name once you download / rename them, so it would have to compare the contents of the files.
> 
> And that would mean it would have to open every pastebin webpage for every wind track just to load and filter the list compared to your local copies every time you open the "Download" page. Not feasible as the number of wind tracks grows to be loading 60+ web pages just to load the Download list.
> 
> The best way would be to alter the wind track format to do something like add some unique ID to them but I don't think that is worth the effort and such, at least not at this time.



You’re right- forgot the file names change 


Sent from my iPhone using Tapatalk


----------



## brazen1

*Oblivion (2013)*

Coded by brazen1


----------



## brazen1

*Fargo (1996) *

Coded by brazen1


----------



## SOWK

Updated PasteBin


----------



## brazen1

*Avatar (2009)*

Coded by brazen1 - 643 fan changes.


----------



## brazen1

*Gravity (2013)*

Coded by brazen1


----------



## SirMaster

*WindTrackCreator v1.3*



https://github.com/nicko88/WindTrackCreator/releases/download/v1.3/WindTrackCreator.v1.3.zip



Notes:

Added autosave option.
Added hotkey toggle option.
Added automatic header fill button.


Added time code highlighting.
Time codes that are closer than 500ms apart will highlight in red.
Time codes where after factoring in the spinup or spindown offset fall closer than 500ms to the previous command are highlighted in yellow.
These color highlights are meant to help design wind tracks with reasonable time code gaps, but obviously the spinup and spindown will depend on the individual user's fan configuration.
It's recommended (but not required) to use 1500ms for spinup and less than 500ms for spindown.
If you ignore these highlighted rows nothing too terrible will happen. HTFanControl will simply round these times to be exactly 500ms after the previous command so everything will play in the correct order, just your commands wont be sent to the fans exactly when you expected them to be.
I hope this new version of Wind Track Creator helps you guys in creating your wind tracks.

I think that these highlighting rules make sense and should help understand what result you will be achieving when putting commands close together. Remember the colored rows are just recommended and not strictly required, but the consequence is your commands wont happen exactly when you wanted them to if you ignore the highlighted lines. But of course it can depend on the individual person's HTFanControl spinup and spindown offset settings. But I believe so far everyone is using 1500ms for spinup and that nobody is using more than 500ms for spindown offset.


----------



## brazen1

^^^^^^ THANK YOU  ^^^^^^


----------



## brazen1

*Mission Impossible Fallout (2018)*

Coded by brazen1


----------



## brazen1

*Everest (2015)*

Coded by brazen1


----------



## aoaaron

So I have to track down a fan now that my goodies from Iguana works have come in. Will one fan work from the left or right or does it need two fans?


----------



## SirMaster

aoaaron said:


> So I have to track down a fan now that my goodies from Iguana works have come in. Will one fan work from the left or right or does it need two fans?


Well, you can use as few or many fans as you want.

Some people have a fan on each side next to the L+R speakers so that the air covers a wide front row. Some have a single fan in the center above or possibly below their screen (mounted horizontally).

You could even do both with 3 fans if your front row is wide enough to need that much air coverage.

It all depends on where you want the air to be felt from and how big of a space you are trying to fill.

You can use any fan, but it needs to have IR control and a few speeds (ideally 4 speeds). And each speed needs to have its own IR code. That part will be hard to know before you buy and try, but that's just how it is. The more people who try more fans, the bigger the list of compatible fans we will have.


----------



## brazen1

*I Am Legend (2007)*

Coded by brazen1


----------



## aoaaron

Can't seem to find a fan with a good returns policy at the moment (can't go through amazon as I have too many returns logged with them).


----------



## brazen1

*Avengers Infinity War (2018)*

Coded by brazen1


----------



## brazen1

*Avengers Endgame (2019)*

Coded by brazen1


----------



## enovison

brazen1 said:


> *Avengers Endgame (2019)*
> 
> Coded by brazen1


Wow I was worried to tackle this one! Brave man. Looking forward to trying it out 


Sent from my iPhone using Tapatalk


----------



## brazen1

enovison said:


> Wow I was worried to tackle this one! Brave man. Looking forward to trying it out
> 
> 
> Sent from my iPhone using Tapatalk


Infinity War was more demanding with 546 fan changes vs Endgame with only 352 and Endgame is a half hour longer. I've been refining my technique as I gain experience though but not a lot changed since I did these back to back. I hope you enjoy them.


----------



## SirMaster

brazen1 said:


> Infinity War was more demanding with 546 fan changes vs Endgame with only 352 and Endgame is a half hour longer. I've been refining my technique as I gain experience though but not a lot changed since I did these back to back. I hope you enjoy them.


Awesome movies that people will watch over and over again!


----------



## brazen1

SirMaster said:


> Awesome movies that people will watch over and over again!


Many titles I've seen a half dozen times or more. Sometimes simply to enjoy again and other times to share with new people. Interacting with their reactions is like a whole new viewing for me. Add to that this new wind special effect. Even though I already know the movie, it's like seeing it fresh with more immersion and why I enjoy making these windtracks. Not that I have lousy memory retention or poor viewing attention but, some of these movies are so complex in details, I can't possibly catch every subtle attribute especially at the pace they progress sometimes and many of them are quick important details designed to be missed tbh. It never fails, no matter how many times I've watched something, I always catch a new something or other to absorb.

A few observations that affect how I create windtracks as this hobby evolves for me in my environment:

(1) More is not necessarily better because less allows the element of surprise. With action movies, determining when to blow and when not to can be challenging though. Some of these you might as well turn it on high at frame one and turn it off on the last. Blowing at only the most significant meaningful moments seems to be a happy medium and is up to the creators interpretation. I struggle with this because I interpret what I see and hear too literal but I will adjust and improve.

(2) Blows do not always have to match a timeframe for accuracy. Audio can be just as important if not more. An audio graph would be very handy and something I might look into. If someone is already familiar with a simple small graph to incorporate, by all means share.

(3) My setup barely distinguishes the transitions of eco vs low vs med vs high in rapid sequences except when fading in or out. To get the most effect, I find off, eco, and high very distinguishable when making rapid changes. However, scenes that do not call for rapid changes benefit from all speeds according to how much wind they warrant.

In the past, reviewing a title after creating a windtrack revealed many errors that needed editing which sort of took away from enjoying the title at specific moments. The new WTC is working very well. It's impossible to produce an error now and reviewing is pleasant. Still, I find myself editing a bit here and a bit there to get it just how I want it for the next time I watch it someday. My goal is not to pay ANY attention to the fan and be able to just get lost in all the immersion without thinking about it. Perfecting the fan blows to my liking will achieve this eventually since I'm already noticing them less and less as this evolves and I'm becoming more and more immersed as intended. I say this because many times I'm supposed to be reviewing my windtrack but I'm lost in the movie and forget. This is good... very good


----------



## SirMaster

brazen1 said:


> Many titles I've seen a half dozen times or more. Sometimes simply to enjoy again and other times to share with new people. Interacting with their reactions is like a whole new viewing for me. Add to that this new wind special effect. Even though I already know the movie, it's like seeing it fresh with more immersion and why I enjoy making these windtracks. Not that I have lousy memory retention or poor viewing attention but, some of these movies are so complex in details, I can't possibly catch every subtle attribute especially at the pace they progress sometimes and many of them are quick important details designed to be missed tbh. It never fails, no matter how many times I've watched something, I always catch a new something or other to absorb.
> 
> A few observations that affect how I create windtracks as this hobby evolves for me in my environment:
> 
> (1) More is not necessarily better because less allows the element of surprise. With action movies, determining when to blow and when not to can be challenging though. Some of these you might as well turn it on high at frame one and turn it off on the last. Blowing at only the most significant meaningful moments seems to be a happy medium and is up to the creators interpretation. I struggle with this because I interpret what I see and hear too literal but I will adjust and improve.
> 
> (2) Blows do not always have to match a timeframe for accuracy. Audio can be just as important if not more. An audio graph would be very handy and something I might look into. If someone is already familiar with a simple small graph to incorporate, by all means share.
> 
> (3) My setup barely distinguishes the transitions of eco vs low vs med vs high in rapid sequences except when fading in or out. To get the most effect, I find off, eco, and high very distinguishable when making rapid changes. However, scenes that do not call for rapid changes benefit from all speeds according to how much wind they warrant.
> 
> In the past, reviewing a title after creating a windtrack revealed many errors that needed editing which sort of took away from enjoying the title at specific moments. The new WTC is working very well. It's impossible to produce an error now and reviewing is pleasant. Still, I find myself editing a bit here and a bit there to get it just how I want it for the next time I watch it someday. My goal is not to pay ANY attention to the fan and be able to just get lost in all the immersion without thinking about it. Perfecting the fan blows to my liking will achieve this eventually since I'm already noticing them less and less as this evolves and I'm becoming more and more immersed as intended. I say this because many times I'm supposed to be reviewing my windtrack but I'm lost in the movie and forget. This is good... very good


Yeah I think less can be more. What makes this effect not gimmicky is by not overdoing it. But I think you are doing an excellent job at creating these. I need to get over to SOWK's more and watch some more of the tracks you have programmed.

Yeah, I don't think you always need to use so many speeds, but I wanted to include at least a few speeds for use and I think 4 speeds is enough but not too many to manage. Of course you don't have to use them all in any given movie, and someone who buys a new fan model might get a fan that only has 1 or 2 speeds, and they can still get a great effect I would imagine.

I haven't been programming much in the last week or so, but I still want to get a ras pi version put out there soon. It all works already and has for awhile, I just am not satisfied releasing it until it's super easy to setup and use and maintain on the ras pi.

I am also itching to try to play with getting the microphone sync method for streaming sources to work which I will work on after the ras pi option is working well. I have no idea if it will be feasible, but I have to try it to find out for sure.


----------



## brazen1

SirMaster said:


> I am also itching to try to play with getting the microphone sync method for streaming sources to work which I will work on after the ras pi option is working well. I have no idea if it will be feasible, but I have to try it to find out for sure.


I have an old low quality mic laying around and a gen 1 RPI but doubt either is sufficient for testing/usage? I'd welcome fan control via audio only for real time sources just to see if it's feasible or not. I also made a remote controlled USB switch for another project meaning IE: I can have one USB Iguana input with two USB outputs... one to the PC for the existing setup and the other for an RPI or whatever. Obtaining another Iguana or manually flip flopping it might be simpler for others though.


----------



## kdawg2391044

SirMaster said:


> Yeah I think less can be more. What makes this effect not gimmicky is by not overdoing it. But I think you are doing an excellent job at creating these. I need to get over to SOWK's more and watch some more of the tracks you have programmed.
> 
> Yeah, I don't think you always need to use so many speeds, but I wanted to include at least a few speeds for use and I think 4 speeds is enough but not too many to manage. Of course you don't have to use them all in any given movie, and someone who buys a new fan model might get a fan that only has 1 or 2 speeds, and they can still get a great effect I would imagine.
> 
> I haven't been programming much in the last week or so, but I still want to get a ras pi version put out there soon. It all works already and has for awhile, I just am not satisfied releasing it until it's super easy to setup and use and maintain on the ras pi.
> 
> I am also itching to try to play with getting the microphone sync method for streaming sources to work which I will work on after the ras pi option is working well. I have no idea if it will be feasible, but I have to try it to find out for sure.


I know you can add streaming services into Kodi through plugins so I wonder if your app would work for those. I guess even if it did, you would still need to have a more specific setup vs the more generic functionality using a mic. I can see if a service like Disney+ works in Kodi to give the same information later today.


----------



## SirMaster

brazen1 said:


> I have an old low quality mic laying around and a gen 1 RPI but doubt either is sufficient for testing/usage? I'd welcome fan control via audio only for real time sources just to see if it's feasible or not. I also made a remote controlled USB switch for another project meaning IE: I can have one USB Iguana input with two USB outputs... one to the PC for the existing setup and the other for an RPI or whatever. Obtaining another Iguana or manually flip flopping it might be simpler for others though.


A ras pi 1 definitely wont work as it's a different CPU architecture than pi 2-4. C# code is impossible to run on a pi 1.

I am not even sure if a pi 2 or 3 will work though as their 1GB of ram and especially CPU might be too little for real-time audio processing and matching, but anyone would be free to try it. I have an old Pi 3 that I will be testing, but it's likely a Pi 4 would be the required for audio matching. A pi 2 or 3 would definitely work though just for running HTFanControl and IR and having it connect to Kodi or Plex or MPC on another device to get the time code.



kdawg2391044 said:


> I know you can add streaming services into Kodi through plugins so I wonder if your app would work for those. I guess even if it did, you would still need to have a more specific setup vs the more generic functionality using a mic. I can see if a service like Disney+ works in Kodi to give the same information later today.


Even if Kodi provided a time code and file name for a streaming source, there is no way it would match any disc.


----------



## brazen1

I was thinking the mic concept would listen to speaker(s) and process what it heard through a PC or an RPI using HTFC which is listening real time and sending via WinLirc... no?


----------



## SirMaster

brazen1 said:


> I was thinking the mic concept would listen to speaker(s) and process what it heard through a PC or an RPI using HTFC which is listening real time and sending via WinLirc... no?


Yes that's what it will do.


----------



## brazen1

Hmmmm? Brainstorming - Wouldn't it be difficult for an algo or filters to interpret the appropriate Hz and/or dB fan blows? Why use a mic at all? Not sure if this has already been done or not? If you y-cord from the AVR to a subwoofer, you can capture the .1 from say a 5.1 signal. The other end of the y-cord would plug into the PC mic port - minus the mic. This is the low frequency portion of the signal only. 

You would be guaranteed to only blow on low frequency notes which would probably be more accurate than listening to other frequencies when you wouldn't want the fan blowing. Albeit, the fan would only blow for say... explosions with loud low frequencies, it wouldn't blow when say... orchestral music simply gets loud and nothing in the scene warrants the fan to blow at all. 

I think Windows has a built in recorder with a volume adjuster for the mic input. This volume adjuster would fine tune out unwanted noise and only pay attention to the loudest, deepest low frequencies. Perhaps HTFC could incorporate or be standalone and do its own listening instead of reading? I don't know its capabilities or your interest. Of course higher frequencies like wind rustling leaves or high pitched spinning tornadoes would be ignored... but it'd be safe. Personally, if audio driven fan blows were limited to just safe low frequencies, (I can't think of an example of a low frequency you wouldn't want the fan blowing) it would be better than nothing as well as fans firing off when they shouldn't. And this isn't to say it couldn't be refined to interpret higher frequencies with acceptable accuracies either. Just sayin'.


----------



## SirMaster

brazen1 said:


> Hmmmm? Brainstorming - Wouldn't it be difficult for an algo or filters to interpret the appropriate Hz and/or dB fan blows? Why use a mic at all? Not sure if this has already been done or not? If you y-cord from the AVR to a subwoofer, you can capture the .1 from say a 5.1 signal. The other end of the y-cord would plug into the PC mic port - minus the mic. This is the low frequency portion of the signal only.
> 
> You would be guaranteed to only blow on low frequency notes which would probably be more accurate than listening to other frequencies when you wouldn't want the fan blowing. Albeit, the fan would only blow for say... explosions with loud low frequencies, it wouldn't blow when say... orchestral music simply gets loud and nothing in the scene warrants the fan to blow at all.
> 
> I think Windows has a built in recorder with a volume adjuster for the mic input. This volume adjuster would fine tune out unwanted noise and only pay attention to the loudest, deepest low frequencies. Perhaps HTFC could incorporate or be standalone and do its own listening instead of reading? I don't know its capabilities or your interest. Of course higher frequencies like wind rustling leaves or high pitched spinning tornadoes would be ignored... but it'd be safe. Personally, if audio driven fan blows were limited to just safe low frequencies, (I can't think of an example of a low frequency you wouldn't want the fan blowing) it would be better than nothing as well as fans firing off when they shouldn't. And this isn't to say it couldn't be refined to interpret higher frequencies with acceptable accuracies either. Just sayin'.


You are misunderstanding this. 

The microphone audio is used to sync the movie only.

Most people don’t use a video player where I can get the current playback position over the network so this is the alternative.


----------



## brazen1

SirMaster said:


> You are misunderstanding this.
> 
> The microphone audio is used to sync the movie only.
> 
> Most people don’t use a video player where I can get the current playback position over the network so this is the alternative.


WoW? I guess I was a little off. LoL! Ok. Never mind.


----------



## aoaaron

has anyone got any fan suggestions from ebay uk or amazon uk ? I've checked the sites and cant find myself an osccilating fan with a remote which alters the speeds based on individual button presses. 

there is a tilting seville one but it beeps.. and i wouldnt know how to delve in and stop the beeping myself as its a different one to the model described here.


----------



## aoaaron

Seville Classics UltraSlimline Tower Fan Combo Pack, Black | eBay


Find many great new & used options and get the best deals for Seville Classics UltraSlimline Tower Fan Combo Pack, Black at the best online prices at eBay! Free delivery for many products!



www.ebay.co.uk






would this work?


----------



## SirMaster

aoaaron said:


> Seville Classics UltraSlimline Tower Fan Combo Pack, Black | eBay
> 
> 
> Find many great new & used options and get the best deals for Seville Classics UltraSlimline Tower Fan Combo Pack, Black at the best online prices at eBay! Free delivery for many products!
> 
> 
> 
> www.ebay.co.uk
> 
> 
> 
> 
> 
> 
> would this work?


Yeah that big one is essentially the one everyone is using so far.

So it works and the IR codes are already known.


----------



## kdawg2391044

aoaaron said:


> Seville Classics UltraSlimline Tower Fan Combo Pack, Black | eBay
> 
> 
> Find many great new & used options and get the best deals for Seville Classics UltraSlimline Tower Fan Combo Pack, Black at the best online prices at eBay! Free delivery for many products!
> 
> 
> 
> www.ebay.co.uk
> 
> 
> 
> 
> 
> 
> would this work?


I would have a pretty high confidence that any Seville fan that has the same fan modes as the one everyone else is using will work as they reuse the same electronics over the years. So as long as you find one that has the same modes/controls it should work including this one. The remote has changed over the years but they all work the same.


----------



## brazen1

*Prometheus (2012)*

Coded by brazen1


----------



## brazen1

*Alien Covenant (2017)*

Coded by brazen1


----------



## aoaaron

Placed an order. I think the next step is getting my head around how to remove the beep. Is it very hard? I can't afford to mess it up as I've had to import this... ! 

Is it an easy process? I think I'll be asking my dad to do it as he's good with tools


----------



## kdawg2391044

aoaaron said:


> Placed an order. I think the next step is getting my head around how to remove the beep. Is it very hard? I can't afford to mess it up as I've had to import this... !
> 
> Is it an easy process? I think I'll be asking my dad to do it as he's good with tools


If you follow @enovison's guide, its pretty straight forward. However, I was not able to pull the speaker out cleanly like he was suggesting and I didnt have a soldering iron to properly remove it so I ended up pulling the speaker cap off. I am not sure if that permanently breaks it, but I didnt really care since the beep doesnt affect anything else.


----------



## brazen1

*Valerian and the City of a Thousand Planets (2017)*

Coded by brazen1


----------



## brazen1

brazen1 said:


> *Valerian and the City of a Thousand Planets (2017)*
> 
> Coded by brazen1


Fun action sci-fi with Cara Delevingne... mmmm, mmmm, mmmm. What's not to like?


----------



## brazen1

*San Andreas (2015)*

Coded by brazen1


----------



## brazen1

*No Country for Old Men (2007)*

Coded by brazen1


----------



## brazen1

*Cast Away (2000)*

Coded by brazen1


----------



## aoaaron

So they cancelled my order due to COVID and shipping issues. I'm gutted.


----------



## Mayo4

So, the transceiver is plugged into the HTPC, the IR emitter into the transceiver, then the other end of the emitter would be in the theater for the fans to "see", correct? My HTPC will be in a separate room and I'd need more than the 5' length to reach. Can I use a generic 3.5mm wire extender (or a few of them) like for headphones to reach my room? Or maybe I'm just confused as to how the setup actually works.


----------



## SirMaster

Mayo4 said:


> So, the transceiver is plugged into the HTPC, the IR emitter into the transceiver, then the other end of the emitter would be in the theater for the fans to "see", correct? My HTPC will be in a separate room and I'd need more than the 5' length to reach. Can I use a generic 3.5mm wire extender (or a few of them) like for headphones to reach my room? Or maybe I'm just confused as to how the setup actually works.


I don't think you want to use a wire extender.

I think the IR signal gets weaker if you do that but I could be wrong. You could maybe email Iguanaworks about it and ask.

What you can use is an IR repeater. I think @enovison mentioned a wireless one that he uses earlier.

The other solution would be to run the HTFanControl software and IR transceiver from a RasPi which you could put in the home theater room.

I have not released instructions for RasPi yet, but I could get that up and running for you if that's the route you would be going.


----------



## Mayo4

SirMaster said:


> I don't think you want to use a wire extender.
> 
> I think the IR signal gets weaker if you do that but I could be wrong. You could maybe email Iguanaworks about it and ask.
> 
> What you can use is an IR repeater. I think @enovison mentioned a wireless one that he uses earlier.
> 
> The other solution would be to run the HTFanControl software and IR transceiver from a RasPi which you could put in the home theater room.
> 
> I have not released instructions for RasPi yet, but I could get that up and running for you if that's the route you would be going.


Yea, that was my concern with extending the cable.

RasPi would be much cleaner and easier I believe. So, if that's something you'd been planning on releasing instructions for I'd appreciate. At your convenience of course.


----------



## enovison

Mayo4 said:


> Yea, that was my concern with extending the cable.
> 
> RasPi would be much cleaner and easier I believe. So, if that's something you'd been planning on releasing instructions for I'd appreciate. At your convenience of course.


Yes, this is the wireless repeater I used and it works great. I have the receiver in the room w the HTPC and transmitter against the fan. Works without issue. I do agree that raspberry pi would also be a nice clean solution. 

 BAFX Products - RF Wireless IR Rep...073WQNHQP/ref=cm_sw_r_cp_api_i_8jtpFbQJDGJ7D 


Sent from my iPhone using Tapatalk


----------



## brazen1

I just spliced in about 10 feet of wire to the emitter and tested it. It didn't diminish the signal at 10 feet away from the fan. I didn't bother testing any further away. Ultimately, I placed the emitter inside the fan and followed the power cord out when I removed the beeper. Routing the wiring wasn't a distance or aesthetic challenge for me but if it is for others an RPI would probably simplify things.

Next up - Dunkirk (2017).


----------



## brazen1

aoaaron said:


> So they cancelled my order due to COVID and shipping issues. I'm gutted.


Well, that sucks. Who is "they"?


----------



## brazen1

*Dunkirk (2017)*

Coded by brazen1


----------



## brazen1

I hope you folks don't mind that I'm adding an animatedposter.gif along with the windtracks. I use them in my Kodi front end and thought I'd share them as well. I edited some of my previous contributions to include them. This site only allows 10 edits per week though so I'll add more later unless you prefer I not jazz this forum up. If you'd like some for your own posts, hit me up.


----------



## SOWK

brazen1, you are the star of the show, Feel Free to spice it up any way you feel!


----------



## brazen1

Hey, wait a minute... wait a minute pal. You, SirMaster and others started this show. I'm just joining in with a few contributions because I believe in giving back to those that gave to me. Thank you for allowing me to participate. Nice group of folks here. Next up - Dances with Wolves (1990)


----------



## enovison

brazen1 said:


> Hey, wait a minute... wait a minute pal. You, SirMaster and others started this show. I'm just joining in with a few contributions because I believe in giving back to those that gave to me. Thank you for allowing me to participate. Nice group of folks here.


I’m going to work on one this weekend- any requests??


Sent from my iPhone using Tapatalk


----------



## SOWK

brazen1 said:


> Hey, wait a minute... wait a minute pal. You, SirMaster and others started this show. I'm just joining in with a few contributions because I believe in giving back to those that gave to me. Thank you for allowing me to participate. Nice group of folks here. Next up - Dances with Wolves (1990)


Sorry, meant ⭐ STAR ⭐of the show! Hehe.


----------



## brazen1

*Dances with Wolves (1990)*

Coded by brazen1 - This is the 4hr extended version.


----------



## brazen1

enovison said:


> I’m going to work on one this weekend- any requests??
> 
> 
> Sent from my iPhone using Tapatalk


Surprise us!


----------



## Mayo4

Picked up a couple EHF10119PB model fans and having issues getting things to work. Are the IR codes slightly different for this model possibly. I grabbed a couple of wireless transmitters and when I hit send code in WinLIRC the transmitter does seem to receive a signal.

So, has anyone had any success using this model?


----------



## brazen1

What wireless transmitters? We're using a transceiver and emitter(s). WinLIRC is very specific what hardware it's compatible with. I'm using one Iguana dual socket. If your transceiver is receiving a signal, you'll need an emitter to output for the fan to see. I tried without one and the fan didn't receive the signal even though the Iguana was close. I'm not certain if the Iguana even has a built in emitter? I never looked to see if it flashed. Also, you can use one Iguana with multiple emitters for your two fans. I doubt it's the fan IR codes.


----------



## SirMaster

Mayo4 said:


> Picked up a couple EHF10119PB model fans and having issues getting things to work. Are the IR codes slightly different for this model possibly. I grabbed a couple of wireless transmitters and when I hit send code in WinLIRC the transmitter does seem to receive a signal.
> 
> So, has anyone had any success using this model?


If you can give us more information I am sure we can help.

What IR transmitter are you using?

When you press send code in WinLIRC, does the little grey circle icon by the clock flash blue?

If you got an Iguana IR transceiver, they all have an IR reciever built into them, so if the IR commands for your fan are indeed different, then it's no problem and you can scan them in by creating a new config via WinLIRC and following the on screen instructions.

You could start by just scanning in 1 fan command for now just to see if you can get it working and if the codes are indeed different for that fan.

I would have guessed the commands for that model would be the same, but perhaps they aren’t. 

Fortunately it’s not too hard to capture the commands and then everyone else who buys that seemingly more available model will benefit from your work!


----------



## Mayo4

I have an Iguana IR transceiver and emitter. The icon does turn to blue. And if I have the emitter towards my wireless extender I can see that it is getting the commands. Which made me assume the IR codes were wrong. I'm struggling to run the config though.

During the initially portion, where it tells you to press multiple buttons for 1 second, it just doesn't seem to acknowledge the inputs. It says at least 1 dot should appear per press, but most of the time I am getting none. Any trick to this portion or just patience.

EDIT: To add, if I get through the first 80, the second row is simple and responds great. The next hiccup is that it asks me to press one button quickly over and over for the next step, but when I hit return to begin, the setup just closes immediately.


----------



## SirMaster

Mayo4 said:


> I have an Iguana IR transceiver and emitter. The icon does turn to blue. And if I have the emitter towards my wireless extender I can see that it is getting the commands. Which made me assume the IR codes were wrong. I'm struggling to run the config though.
> 
> During the initially portion, where it tells you to press multiple buttons for 1 second, it just doesn't seem to acknowledge the inputs. It says at least 1 dot should appear per press, but most of the time I am getting none. Any trick to this portion or just patience.
> 
> EDIT: To add, if I get through the first 80, the second row is simple and responds great. The next hiccup is that it asks me to press one button quickly over and over for the next step, but when I hit return to begin, the setup just closes immediately.


I think you just need to keep trying as sometimes it errors out.

You might have IR pollution in your room. Try isolating the Iguana and fan remote when creating the config. Unplug other devices nearby that could be sending out IR bouncing around the room.

If you are at all comfortable with Linux you could use the actual LIRC which should work more reliably. But I was able to after awhile get the fan commands captured with WinLIRC. It took many tries.


----------



## Mayo4

SirMaster said:


> I think you just need to keep trying as sometimes it errors out.
> 
> You might have IR pollution in your room. Try isolating the Iguana and fan remote when creating the config. Unplug other devices nearby that could be sending out IR bouncing around the room.
> 
> If you are at all comfortable with Linux you could use the actual LIRC which should work more reliably. But I was able to after awhile get the fan commands captured with WinLIRC. It took many tries.


I had eliminated the IR pollution before this issue. That was my first issue actually. Had a Vive basestation plugged in still and it was able to hit the receiver anywhere I put it, impressive the area it covered.

I gave it quite a few go's yesterday, but after work I'll reboot my pc and see if I can't get lucky.


----------



## SirMaster

You could also try another pc like a laptop if you have one.


----------



## brazen1

Mayo4 said:


> And if I have the emitter towards my wireless extender I can see that it is getting the commands.


Have you tried a basic primitive test:
I assume you've already installed the Iguana driver and the rest of this initial setup but try again. Forget your extender for now and work with one fan. Touch your emitter directly in front of the plastic receiver cover on the fan being sure to aim the light lens right at it. Open WinLIRC only and select the remote radio button drop down and make the selection. It should be EHF10127B. Then under the code button dropdown, make a selection and press 'send code'. Try all 4 of the speeds. Maybe the IR code is good for one of them and at least you'll know you're headed in the right direction. As I'm testing this, nothing is turning blue fwiw. If this doesn't work, post a pic of that WinLIRC UI. Then press the reconfigure tab and post a pic of that. Next select Plugin setup tab and post a pic of that. Also, are you able to control the fan with the remote that came with it?


----------



## Mayo4

brazen1 said:


> Have you tried a basic primitive test:
> I assume you've already installed the Iguana driver and the rest of this initial setup but try again. Forget your extender for now and work with one fan. Touch your emitter directly in front of the plastic receiver cover on the fan being sure to aim the light lens right at it. Open WinLIRC only and select the remote radio button drop down and make the selection. It should be EHF10127B. Then under the code button dropdown, make a selection and press 'send code'. Try all 4 of the speeds. Maybe the IR code is good for one of them and at least you'll know you're headed in the right direction. As I'm testing this, nothing is turning blue fwiw. If this doesn't work, post a pic of that WinLIRC UI. Then press the reconfigure tab and post a pic of that. Next select Plugin setup tab and post a pic of that. Also, are you able to control the fan with the remote that came with it?


I did try with just the Iguana emitter cable and didn't have any luck. I think I tried all the fan settings, but I'll double check them again after work. I didn't have the emitter directly up against the fan, so that's worth a shot. The fans work with the remotes they came with no problem. I'm thinking it may just be that they changed the codes with this model since the remote is different. May just be that I need to keep trying to get the config wizard to work and hope I eventually get lucky.


----------



## kdawg2391044

Are you able to try the setup with another ir device like tv or receiver to make sure it's not the setup that's the problem? You should be able to find the config files online. 

Sent from my Pixel 2 XL using Tapatalk


----------



## brazen1

Mayo4 said:


> I did try with just the Iguana emitter cable and didn't have any luck. I think I tried all the fan settings, but I'll double check them again after work. I didn't have the emitter directly up against the fan, so that's worth a shot. The fans work with the remotes they came with no problem. I'm thinking it may just be that they changed the codes with this model since the remote is different. May just be that I need to keep trying to get the config wizard to work and hope I eventually get lucky.


Post the pics when you get a chance. Maybe just something overlooked or wrong.


----------



## Mayo4

kdawg2391044 said:


> Are you able to try the setup with another ir device like tv or receiver to make sure it's not the setup that's the problem? You should be able to find the config files online.
> 
> Sent from my Pixel 2 XL using Tapatalk


I just gave it a shot with my Denon remote. First step went way quicker, then it skipped the press a button fast part I've been stuck at and jumped right to the part where you assign a button to a command name then hold it. This part went perfectly find as well with the Denon remote. Maybe the new Seville remotes are junk.


----------



## SirMaster

Hmm, I mean it was kind of a pain to scan in the one we did at first, but after a couple hours of trying again and again and learning how the remote and software reacts, we eventually got it. We had to sometimes get each of the speed commands in separate attempts too.

I don't really know what else to say unfortunately other than LIRC on Linux where it was originally designed for might be more stable for recording a remote.


----------



## kdawg2391044

What Denon receiver do you have? I meant to find an already completed config for a different device such as your denon to test the emitter part to ensure that your transceiver is working correctly. Can be anything like your tv, avr, etc. 

Sent from my Pixel 2 XL using Tapatalk


----------



## Mayo4

SirMaster said:


> Hmm, I mean it was kind of a pain to scan in the one we did at first, but after a couple hours of trying again and again and learning how the remote and software reacts, we eventually got it. We had to sometimes get each of the speed commands in separate attempts too.
> 
> I don't really know what else to say unfortunately other than LIRC on Linux where it was originally designed for might be more stable for recording a remote.


Given it a lot of go's with the same result, tried to get it going on linux, but that turned out to be it a little outside my capabilities. It always closed to quickly to read the last line that popped up, then I realized I could just record monitor. 

The last two lines that pop up a split second before closing say:
No toggle bit mask found.
But I know for sure that RC6 has a toggle bit!

Googling this seems to recommend people run irrecord in raw mode. Any chance you know how to get it into raw mode on winlirc? Everything I read seems to be for putting regular lirc into raw mode.


----------



## brazen1

*Avatar (2009) Extended*


----------



## SirMaster

Mayo4 said:


> Given it a lot of go's with the same result, tried to get it going on linux, but that turned out to be it a little outside my capabilities. It always closed to quickly to read the last line that popped up, then I realized I could just record monitor.
> 
> The last two lines that pop up a split second before closing say:
> No toggle bit mask found.
> But I know for sure that RC6 has a toggle bit!
> 
> Googling this seems to recommend people run irrecord in raw mode. Any chance you know how to get it into raw mode on winlirc? Everything I read seems to be for putting regular lirc into raw mode.


WinLIRC is supposed to work just like LIRC.






LIRC - Linux Infrared Remote Control


LIRC - Linux Infrared Remote Control




www.lirc.org





In the WinLIRC folder is IRRecord.exe

You can just run it from cmd and pass in -f for raw mode.

You should be able to run: 


Code:


IRRecord.exe -f -d plugins/IguanaPlugin.dll fan.cf

This will run IRRecord.exe in raw mode, for device IguanaIR and write to the file fan.cf

Maybe this will get you somewhere. I should note that IRRecord frequently kicked itself into raw mode for me automatically when I was struggling to read in the fan commands. So the fan config file everyone uses here is actually raw mode commands which work just fine.

IRRecord also includes a feature (-a) option to try to convert raw commands into normal commands, but I don't see a real reason to use it.

Hopefully this will get you somewhere.


----------



## SirMaster

Mayo4 said:


> Given it a lot of go's with the same result, tried to get it going on linux, but that turned out to be it a little outside my capabilities. It always closed to quickly to read the last line that popped up, then I realized I could just record monitor.
> 
> The last two lines that pop up a split second before closing say:
> No toggle bit mask found.
> But I know for sure that RC6 has a toggle bit!
> 
> Googling this seems to recommend people run irrecord in raw mode. Any chance you know how to get it into raw mode on winlirc? Everything I read seems to be for putting regular lirc into raw mode.


I thought of something else you can try as well.

Since the protocol between the fans probably isn't different, you should be able to just add new buttons to the existing config file like this:



Code:


IRRecord.exe -f -u -d plugins/IguanaPlugin.dll ehf10127b.cf

The "-u" option is for adding a button to an existing config file without modifying any protocol information.

You can just edit the remote file by hand after to rename and remove buttons as you need.


----------



## AndreNewman

So, I finally got my fan and fan controller installed and working with the home automation and cinema remote control, now on to see if I can get it working with this project for extra credit.

I was only going to switch the fan on and off at slowest speed so it's not on when the lamp is on and not on when the projector is on but for a tiny bit more I was able to control the speed so why not?

Only trouble is none of this is IR controlled, I don't have anything IR controlled in the cinema room, that's all upstairs. I have a sonoff ifan03 running tasmota, it's really easy to integrate with the other automation stuff I have.

I downloaded the code and had a scan through, is it C#? It's really unfamiliar to me, I'm a linux and MacOS guy and really bash and machine code programmer, just a code basher really. I was hoping to swap out the LIRC calls with something that sends mqtt or just a http request, either can be used to control the fan (or anything else in the house or cinema room) but I'm struggling to see where to start with that.

There are loads of opensource mqtt libs around and most of the complexity isn't required, just a publish "cmnd/CinemaCeilingFan/FANSPEED" with 0, 1, 2, 3





The Top 597 Mqtt Client Open Source Projects


Browse The Most Popular 597 Mqtt Client Open Source Projects



awesomeopensource.com





I'm hoping with a little help I can work out how to get this started, I think the mqtt approach is more future proof as that seems very popular with all the home automation projects and would permit almost anything to be controlled by this 4D application.


----------



## SirMaster

AndreNewman said:


> So, I finally got my fan and fan controller installed and working with the home automation and cinema remote control, now on to see if I can get it working with this project for extra credit.
> 
> I was only going to switch the fan on and off at slowest speed so it's not on when the lamp is on and not on when the projector is on but for a tiny bit more I was able to control the speed so why not?
> 
> Only trouble is none of this is IR controlled, I don't have anything IR controlled in the cinema room, that's all upstairs. I have a sonoff ifan03 running tasmota, it's really easy to integrate with the other automation stuff I have.
> 
> I downloaded the code and had a scan through, is it C#? It's really unfamiliar to me, I'm a linux and MacOS guy and really bash and machine code programmer, just a code basher really. I was hoping to swap out the LIRC calls with something that sends mqtt or just a http request, either can be used to control the fan (or anything else in the house or cinema room) but I'm struggling to see where to start with that.
> 
> There are loads of opensource mqtt libs around and most of the complexity isn't required, just a publish "cmnd/CinemaCeilingFan/FANSPEED" with 0, 1, 2, 3
> 
> 
> 
> 
> 
> The Top 597 Mqtt Client Open Source Projects
> 
> 
> Browse The Most Popular 597 Mqtt Client Open Source Projects
> 
> 
> 
> awesomeopensource.com
> 
> 
> 
> 
> 
> I'm hoping with a little help I can work out how to get this started, I think the mqtt approach is more future proof as that seems very popular with all the home automation projects and would permit almost anything to be controlled by this 4D application.


I don't think I will be adding MQTT to the program right now, but you should be able to add it in for your purposes.

Yes the program is C#, .NET Core 3.1

You will need Visual Studio 2019 (which is free). Then in VS, you can search for NuGet packages (libraries) to add to the project. This one looks good to me:










The project link for that MQTT client is here: https://github.com/mohaqeq/paho.mqtt.m2mqtt

There is some example code on the bottom of that page how to connect and publish messages:



C#:


// create client instance
MqttClient client = new MqttClient(IPAddress.Parse(MQTT_BROKER_ADDRESS));

string clientId = Guid.NewGuid().ToString();
client.Connect(clientId);

string strValue = Convert.ToString(value);

// publish a message on "/home/temperature" topic with QoS 2
client.Publish("/home/temperature", Encoding.UTF8.GetBytes(strValue), MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE, false);

If you can't figure this out, I can probably make most of the code changes to get you started, but as I have never used MQTT before nor do I have any hardware for testing I can't necessarily know it's all going to work.

You would replace the LIRC connection with the MQTT client connection, and then where the program gets the next fan command that it's sending, you could just map each of the current commands (OFF, ECO, LOW, MED, HIGH) to your preferred MQTT command. You could even map multiple of the existing commands to the same MQTT command if that makes sense. Like you could map OFF to 0 and all others to 1 as that sounds like what you said you wanted to do?


----------



## AndreNewman

Thanks for the hints, seems I have some learning to do... I've done similar before but never in C# and never on Windows but here goes. I'd found the paho client before and the code looks fairly simple, after all it's the libraries that do most of the work. 

I'll try not ask stupid questions.

I did investigate hacking lirc to do the mapping and considered writing a translator from the lirc interface to mqtt, so your program thinks it's talking to lirc but it looks like it should be far less complicated to modify your application, thanks for choosing to publish the source.


----------



## SirMaster

AndreNewman said:


> Thanks for the hints, seems I have some learning to do... I've done similar before but never in C# and never on Windows but here goes. I'd found the paho client before and the code looks fairly simple, after all it's the libraries that do most of the work.
> 
> I'll try not ask stupid questions.
> 
> I did investigate hacking lirc to do the mapping and considered writing a translator from the lirc interface to mqtt, so your program thinks it's talking to lirc but it looks like it should be far less complicated to modify your application, thanks for choosing to publish the source.


I think I am finding that I will have a fair amount of free time this weekend, so if you hang tight for a few days I can probably modify the code to get you 90%+ of the way there and send you the modified project.

You should set up VS2019 in the meantime.


----------



## AndreNewman

Really, wow excellent.


----------



## AndreNewman

Downloading now


----------



## brazen1

*Baby Driver (2017)*

Coded by brazen1


----------



## brazen1

*Midsommar (2019)*

Coded by brazen1 - Extended version.


----------



## SOWK

Updated Pastebin... Thank you Brazen!


----------



## brazen1

*Birds of Prey (2020)*

Coded by brazen1


----------



## brazen1

*Hacksaw Ridge (2016)*

Coded by brazen1


----------



## brazen1

*The Postman (1997)*

Coded by brazen1


----------



## brazen1

*War Horse (2011)*

Coded by brazen1


----------



## SOWK

Updated PasteBin!


----------



## brazen1

*Venom (2018)*

Coded by brazen1


----------



## brazen1

*Apocalypto (2006)*

Coded by brazen1


----------



## brazen1

*Cliffhanger (1993)*

Coded by brazen1


----------



## brazen1

*Sicario (2015)*

Coded by brazen1


----------



## Jayteds

Mayo4 said:


> Picked up a couple EHF10119PB model fans and having issues getting things to work. Are the IR codes slightly different for this model possibly. I grabbed a couple of wireless transmitters and when I hit send code in WinLIRC the transmitter does seem to receive a signal.
> 
> So, has anyone had any success using this model?


I am having the same exact issue as OP. I've tried everything, but the remote that comes with the efh10119b just doesn't have the low, med, hi functions. If anyone has a config file or any other ideas please let me know. I'm about 12 hours of troubleshooting in and 0 results. @SirMaster I see that that model is supposed to work. Do you have a config file for the efh10119b fans?


----------



## SirMaster

Jayteds said:


> I am having the same exact issue as OP. I've tried everything, but the remote that comes with the efh10119b just doesn't have the low, med, hi functions. If anyone has a config file or any other ideas please let me know. I'm about 12 hours of troubleshooting in and 0 results. @SirMaster I see that that model is supposed to work. Do you have a config file for the efh10119b fans?


Unfortunately nobody has used that fan yet.

But we listed it because we all figured it should have worked or at least been really similar once someone does record the IR commands.

The EHF10127B fan doesn't have individual speed buttons either, just a single speed cycle button that sends out all the different speed IR commands one after another when pressed repeatedly. I would be pretty surprised if the speed cycle button on the EFH10119B worked differently.

Maybe you can get raw mode or button add mode with IRRecord to work. If you are having trouble running IRRecord from the command line manually, let me know and I can help you on TeamViewer or something similar.

It would be really great to get the EFH10119B remote recorded.


----------



## Mayo4

Jayteds said:


> I am having the same exact issue as OP. I've tried everything, but the remote that comes with the efh10119b just doesn't have the low, med, hi functions. If anyone has a config file or any other ideas please let me know. I'm about 12 hours of troubleshooting in and 0 results. @SirMaster I see that that model is supposed to work. Do you have a config file for the efh10119b fans?


You won't have any luck with that model unless you do the IRRecord stuff SirMaster is talking about. It's a different remote. The all gray model EHF10119C uses the same remote as the EHF10127B, you can see it in pictures. That model will work without doing anything extra. It's also available a lot of places. Just have to paint it or make an enclosure if the color bothers you.


----------



## SirMaster

I'm willing to help anyone with IRRecord (via remote PC) who has the EFH10119B fan so we can get the IR codes scanned in for everyone and future users.


----------



## brazen1

@Mayo4 

Are you using a working setup now?


----------



## Mayo4

brazen1 said:


> @Mayo4
> 
> Are you using a working setup now?


I am, with the grey version of the fans. I kept the two black ones as well because once I have free time I'm determined to figure out the ir codes. Just so busy lately.


----------



## Jayteds

SirMaster said:


> I'm willing to help anyone with IRRecord (via remote PC) who has the EFH10119B fan so we can get the IR codes scanned in for everyone and future users.


I'm definitely willing to hop on Teamviewer. I can't seem to get the update mode working. I've tried running it quite a few ways. Not getting anywhere.


----------



## SirMaster

Yeah I played around with it and I think I can get it working now. I PM you my contact info so we can connect sometime.


----------



## Jayteds

Make sure you grab one of these grey fans from Home Depot which are compatible. 
Seville Classics Gray UltraSlimline 40 in. Oscillating Tower Fan with Steel Intake Grill-EHFK10119C - The Home Depot


----------



## brazen1

*Allied (2016)*

Coded by brazen1


----------



## aoaaron

Still can't find a fan but admiring from afar


----------



## aoaaron

If someone is able to use this fan please let me know: 









Seville Classics UltraSlimline 40 Inch Oscillating Tower Fan with Tilt Feature, White (EHF10202B), 24.3 x 106 x 23.1 cm : Amazon.co.uk: Home & Kitchen


Free delivery and returns on eligible orders. Buy Seville Classics UltraSlimline 40 Inch Oscillating Tower Fan with Tilt Feature, White (EHF10202B), 24.3 x 106 x 23.1 cm at Amazon UK.



www.amazon.co.uk


----------



## Jalaltwaish

@SirMaster

We can continue here .


Thanks


----------



## SirMaster

Jalaltwaish said:


> @SirMaster
> 
> We can continue here .
> 
> 
> Thanks



To support multiple IR devices:

1. Use LIRC to scan in each of your IR remotes for each of your devices to create a remote config file for each. Make sure each remote config file has a unique remote name (inside the remotename.cf file there is a line that defines the remote name).

2. Create a file in the HTFanControl.exe folder called lircmapping.txt.

In this file put lines such as:



Code:


remotename=CMD

Like this:



Code:


fanremote=OFF
fanremote=ECO
fanremote=LOW
fanremote=MED
fanremote=HIGH
lightremote=LIGHTON
lightremote=LIGHTOFF
fogremote=FOGON
fogremote=FOGOFF
OFF,LIGHTOFF,FOGOFF=STOP

Essentially list each of your remote names and all of their commands. Each command across ALL remotes MUST have a unique name.

You should also specify a line in this file that lists all the "OFF" commands for each device followed by =STOP.



Code:


OFF,LIGHTOFF,FOGOFF=STOP

These are the commands that will be sent when you pause or stop the movie.

Finally, create/modify wind track files to include your desired commands at your desired timestamps. List the commands separated with a comma.



Code:


# Avengers: Endgame (2019)
# 4K Ultra HD Blu-ray (03:01:11)
# Coded by: brazen1

00:01:00.000,MED,LIGHTON
00:02:00.000,ECO
00:03:00.000,HIGH,FOGON
00:04:00.000,OFF,LIGHTOFF,FOGOFF


----------



## Jalaltwaish

SirMaster said:


> To support multiple IR devices:
> 
> 1. Use LIRC to scan in each of your IR remotes for each of your devices to create a remote config file for each. Make sure each remote config file has a unique remote name (inside the remotename.cf file there is a line that defines the remote name).
> 
> 2. Create a file in the HTFanControl.exe folder called lircmapping.txt.
> 
> In this file put lines such as:
> 
> 
> 
> Code:
> 
> 
> remotename=CMD
> 
> Like this:
> 
> 
> 
> Code:
> 
> 
> OFF,LIGHTOFF,SMOKEOFF=STOP
> fanremote=OFF
> fanremote=ECO
> fanremote=LOW
> fanremote=MED
> fanremote=HIGH
> lightremote=LIGHTON
> lightremote=LIGHTOFF
> smokeremote=SMOKEON
> smokeremote=SMOKEOFF
> 
> Essentially list each of your remote names and all of their commands. Each command across ALL remotes MUST have a unique name.
> 
> You should also specify a line in this file that lists all the "OFF" commands for each device followed by =STOP.
> 
> 
> 
> Code:
> 
> 
> OFF,LIGHTOFF,SMOKEOFF=STOP
> 
> These are the commands that will be sent when you pause or stop the movie.
> 
> Finally, create/modify wind track files to include your desired commands at your desired timestamps. List the commands separated with a comma.
> 
> 
> 
> Code:
> 
> 
> # Avengers: Endgame (2019)
> # 4K Ultra HD Blu-ray (03:01:11)
> # Coded by: brazen1
> 
> 00:01:00.000,MED,LIGHTON
> 00:02:00.000,ECO
> 00:03:00.000,SMOKEON
> 00:04:00.000,OFF,LIGHTOFF,SMOKEOFF


thank you i got it

now will search about some equipment's and order it..after arrived will make the test.


but i have to think why we can not make some project on raspberry pi with this idea:
1-configure file that have timestamps like your fan controller app
2-configure resbperry pi and connect it for the equipment's we want
e.g fan - fog machine - lamps -- etc
3- configure rabperry pi to start the move and in same time start the timer for timestamps

upon this steps we can create a file for each movie with same you way but in this case we don not need even to use amplifier and no need any additional tools like IR device 

actually i don not have experience with coding, except that i will do it by my self.


----------



## SirMaster

Jalaltwaish said:


> thank you i got it
> 
> now will search about some equipment's and order it..after arrived will make the test.
> 
> 
> but i have to think why we can not make some project on raspberry pi with this idea:
> 1-configure file that have timestamps like your fan controller app
> 2-configure resbperry pi and connect it for the equipment's we want
> e.g fan - fog machine - lamps -- etc
> 3- configure rabperry pi to start the move and in same time start the timer for timestamps
> 
> upon this steps we can create a file for each movie with same you way but in this case we don not need even to use amplifier and no need any additional tools like IR device
> 
> actually i don not have experience with coding, except that i will do it by my self.


You are describing a completely different designed software control system (to control devices somehow physically connected to a RasPi).

IR was chosen for the control mechanism since it's generally well-supported and standard. The software was designed to be used to control household fans which have IR control.

While I do have future plans to support running the HTFanControl software from a RasPi, it is outside the scope of this project for me to control devices with other methods than IR.

Thus I made the source code available for others to modify as they want. I understand you are not a programmer, but I don't have the resources or time to re-write the way the whole program works, to somehow control devices connected directly to a RasPi.


----------



## Jalaltwaish

SirMaster said:


> You are describing a completely different designed software control system (to control devices somehow physically connected to a RasPi).
> 
> IR was chosen for the control mechanism since it's generally well-supported and standard. The software was designed to be used to control household fans which have IR control.
> 
> While I do have future plans to support running the HTFanControl software from a RasPi, it is outside the scope of this project for me to control devices with other methods than IR.
> 
> Thus I made the source code available for others to modify as they want. I understand you are not a programmer, but I don't have the resources or time to re-write the way the whole program works, to somehow control devices connected directly to a RasPi.


completely understand.
Ijust share my ideas, i am really can not ask you to make something like that because just i think it is good , am very very respect what you do here this is a big thing and it is very enough for me.

for my idea i will try to working on - i will try to learn some things and make first steps then i can found some one to help me.. i think if you see the idea from another corner it is a very good and we can sync the movie start time with all equipment's connected with rasbperry pi (at the end every one have his own vision) 

after done with first steps i will share it with you.


----------



## Jalaltwaish

in 2003 there is a company named exciteview they make full 4d hometheater equipment with easy software to add each timestamp you want to each equipment (like your idea but the app is a video editor not text file)

i see only the post and marketing video but after that there is no any news about the company it is seem like closed before start


----------



## brazen1

*Contagion (2011)*

Coded by brazen1


----------



## SirMaster

Thanks for continuing to make these wind tracks @brazen1

I will update the Pastebin this weekend!


This project is _not_ abandoned. I have just been busy with some other things, but winter is surely a slower time in general coming up.

RasPi support WILL come (I just want that experience really polished), and hopefully microphone audio source matching method will work out too!


----------



## brazen1

Thank you for creating the programs for us @SirMaster!

No, not abandoned at all. If you're going to update Pastebin, then I'll code another on-topic title hopefully by eod. I know some are really looking forward to RPI support and MIC audio matching. Hopefully more enthusiasts apply different fan models too as well as experiment with more 4D sensory effects such as fog machines and lighting. The ball is rolling.


----------



## brazen1

*Outbreak (1995)*

Coded by brazen1


----------



## brazen1

*The Fifth Element (1997)*

Coded by brazen1


----------



## SirMaster

The Fifth Element, awesome!

I finally updated the pastebin, sorry for the long delay.


----------



## brazen1

*The Great Wall (2016)*

Coded by brazen1


----------



## aoaaron

Hey guys, still can't find an ebay seller who is willing to send over one or two of these bad boys. I emailed Seville directly, they said no they don't ship overseas.

Is there any chance I could pay someone who could help me out with shipping these over? 
I know its a big ask and I understand if someone can't. I already bought the USB receiver etc. so I'd love if someone could help me out and I would appreciate it. If you could, please PM me.


----------



## brazen1

*War of the Worlds (2005)*

Coded by brazen1


----------



## aoaaron

BTw guys, general question would this still be fairly effective if you can only afford space for ONE fan? I can get one fan in my setup.. but space is tight for the second. Wind would be coming from the left... sweeping onto the listening space... I think with the right angle it could work? or be better tha nothing?

Distance from listening space to seating is only 2.8m or so.


----------



## aoaaron

Overstock.com: Online Shopping - Bedding, Furniture, Electronics, Jewelry, Clothing & more 

Hey guys, would this fan work?


----------



## SOWK

SirMaster told me it doesn’t, as he tried to get it to work with another individual. Any IR fan that has separate codes for different fan speeds and not the same one repeating over and over Should work. Apparently that one has the same code over and over.


----------



## aoaaron

SOWK said:


> SirMaster told me it doesn’t, as he tried to get it to work with another individual. Any IR fan that has separate codes for different fan speeds and not the same one repeating over and over Should work. Apparently that one has the same code over and over.



Thank god you told me SOWK! I was about to press buy! 
Back to Square one for now but thank you for for the clear quick response.


----------



## brazen1

But this post says that exact model number works? 4D Theater Wind Effect - DIY Home Theater Project

I also notice the first post has removed a couple of the models that used to be listed. I assume this EHFK10119C model was tested and unable to be used despite the post above confirming it does?


----------



## aoaaron

Haha damn.. I'm forever in limbo here. I'll wait to see if someone confirms if they got it working or not. Otherwise I'll have to look into a company which might be able to ship it over but I don't know if a service exists.


----------



## SirMaster

brazen1 said:


> But this post says that exact model number works? 4D Theater Wind Effect - DIY Home Theater Project
> 
> I also notice the first post has removed a couple of the models that used to be listed. I assume this EHFK10119C model was tested and unable to be used despite the post above confirming it does?


The Seville Grey and Silver models will work. That post link goes to the Grey model which works.

The Black as far as I have tested with someone wont. 2 people tried to get it to work and were unsuccessful and I worked with 1 of them for a few hours and we were unsuccessful still.

Originally we had listed the Black model as being an option but that was pre-emptive and based on assumption only before anyone tried one. Now that I have tried getting it working with someone I am pretty convinced that it doesn't work like the others.


----------



## brazen1

Let me see if I've got this straight, as unbelievable as it sounds?

Seville makes a model EHFK10119C. This model molded with a black plastic housing contains a completely different controller (that will not work) than the exact same model molded with grey and silver plastic housings which indeed do work? Apparently BFM (Black Fans Matter) is an issue here too. 

And, you have confirmed the black EHFK10119C model DOES NOT work after trying to set it up with a potential user and nothing about that testing was erroneous. This confirmed by yet another potential user with the same EHFK10119C black model but not tested by you. And yet another poster has confirmed the grey EHFK10119C model works and perhaps the EHFK10119C silver model which hasn't been tested or confirmed by anyone yet.

I trust if you worked for hours trying to get codes for the black EHFK10119C and it wasn't possible... it's never going to be.

I do know Home Depot has the grey\gray EHFK10119C in stock. This model shows the LED remote control vs the other hard button only model (if it matters). Although I did see this model being sold with two remotes included - one LED and one hard button but I can't remember where the listing was. I wonder if the proper controller only can be purchased from Seville as a part replacement? Then it wouldn't matter what model fan assuming they were interchangeable. Where there's a will... there's a way but why do things have to be so complicated? Sheesh.


----------



## SirMaster

brazen1 said:


> Let me see if I've got this straight, as unbelievable as it sounds?
> 
> Seville makes a model EHFK10119C. This model molded with a black plastic housing contains a completely different controller (that will not work) than the exact same model molded with grey and silver plastic housings which indeed do work? Apparently BFM (Black Fans Matter) is an issue here too.
> 
> And, you have confirmed the black EHFK10119C model DOES NOT work after trying to set it up with a potential user and nothing about that testing was erroneous. This confirmed by yet another potential user with the same EHFK10119C black model but not tested by you. And yet another poster has confirmed the grey EHFK10119C model works and perhaps the EHFK10119C silver model which hasn't been tested or confirmed by anyone yet.
> 
> I trust if you worked for hours trying to get codes for the black EHFK10119C and it wasn't possible... it's never going to be.
> 
> I do know Home Depot has the grey\gray EHFK10119C in stock. This model shows the LED remote control vs the other hard button only model (if it matters). Although I did see this model being sold with two remotes included - one LED and one hard button but I can't remember where the listing was. I wonder if the proper controller only can be purchased from Seville as a part replacement? Then it wouldn't matter what model fan assuming they were interchangeable. Where there's a will... there's a way but why do things have to be so complicated? Sheesh.


I think you have it straight.

The remote control for the Grey and Silver models is the same. The remote for the Black is different.

The problem is, the Black model does not have separate commands for each speed.

On the Grey and Silver models, if you for example, press the fan speed button with the remote pointed at the fan, and then press it again hidden from the fan, and then press it a third time back at the fan, you can see the fan skips a speed since the remote is sending out a different speed command each time it's pressed.

On the Black fan remote this is not the case. The fan does not skip a speed since the remote sends out the same command for each speed press.

Now you could say, maybe it's just the different remote that comes with the Black model one uses a different command method for speed toggle. Maybe the Black fan still supports some unique code for each speed. This could be the case, but the speed codes from the Grey and Silver remote do not work with the Black fan, so there is no way to discover any hidden unique speed commands for the Black model even if they did exist.


----------



## brazen1

This is the fan I use Seville Classics UltraSlimline Tower Fan & Personal Fan Combo | VitaSprings.com I don't think it's available anymore but I didn't search much.
It is a combo with 40" and 17" fans. They are black. the 40" uses the LED remote as pictured in the add. The model for this combo is Seville 611360.

There is no model number on the 40" I can see - just the Seville 611360 printed on the original box. It does say from China as do some other ads I've seen for other models. The remote for this fan was lost long ago. So, I entered a similar model number in my Harmony Remote Control software that has a database of many device codes. Seville 10167. The Harmony software asked to learn the commands from the original remote but I no longer had the original remote to teach my Harmony remote.

So, I went to WinLirc. This was already controlling the fan as luck has it. I placed the emitter next to my Harmony remote. This mimicked the original remote. I taught my Harmony via WinLirc. It accepted Off, Eco, Low, Med, and High commands. Pressing any command more than once does nothing but pressing individual commands responds as expected.

You can definitely add Seville UltraSlimline Tower Fan model 40" & 17" Combo model 611360 to the first post as a working model albeit a combo. I confirm it. Apparantly, according to the link, 611360 turns out to be COC611360 model.

Not sure if this helps, confirms, or contradicts anything but thought I'd share my results.

I have a new in box Bionair 40" I may test soon. Not sure if it's RF or IR though? Maybe someone knows?


----------



## SirMaster

brazen1 said:


> This is the fan I use Seville Classics UltraSlimline Tower Fan & Personal Fan Combo | VitaSprings.com I don't think it's available anymore but I didn't search much.
> It is a combo with 40" and 17" fans. They are black. the 40" uses the LED remote as pictured in the add. The model for this combo is Seville 611360.


I think where you are getting confused is you have the "Silver" model.

See the models here:

Look at the photos of the Grey, Silver, and Black:








Seville Classics Black UltraSlimline 40 in. Oscillating Tower Fan with Steel Intake Grill EHF10127B - The Home Depot


Keep cool and complement any room in your home with Seville Classics' premium 40 in. Oscillating Tower Fan with Steel Intake Grill. Our fan is designed for your home, and features a small footprint, remote



www.homedepot.com





Amazon calls it Black / Silver:


https://www.amazon.com/dp/B00LA1FIHS?ascsubtag=8x5oj2qn0j8l03cbr82vBP3oESvbJC3A&tag=dealnewscom&linkCode=ogi&th=1



The Grey and Silver are the same fan, different color, but both with a steel metal grill and same remote.

The Black has a black plastic grill and a different remote.



brazen1 said:


> You can definitely add Seville UltraSlimline Tower Fan model 40" & 17" Combo model 611360 to the first post as a working model albeit a combo. I confirm it.


I don't know about the model number 611360, but not all combos will work.

See this non-working combo:


https://www.amazon.com/dp/B01LX8CNYL/ref=dp_prsubs_2?th=1



It has the non-working plastic black grill and different remote.

See this working combo:


Seville Classics UltraSlimline Tower Fan & Personal Fan Combo | VitaSprings.com



It's the steel metal grill and good LCD remote.

So don't rely on the combo. Just look for the steel metal grill and the remote with the LCD display on it.


----------



## SirMaster

Just a quick search for the working fans where they are in stock: 

https://www.homedepot.com/p/Seville...-with-Steel-Intake-Grill-EHFK10119C/309005277

https://www.amazon.com/dp/B07NPFVXM1/ref=sbl_dpx_B07NPFVXM1_0

https://www.ebay.com/p/26033949518

https://www.ebay.com/p/26033949518?iid=274498009871

https://www.ebay.com/p/26033949518?iid=203139825417


----------



## brazen1

Good sleuthing. So it's established... 

Working confirmed fans include:
Any Seville model identified with a metal steel grill using an LED remote. These models are commonly listed as Grey, Silver, and Black/Silver models. Black models identified with plastic non-metal grills using a hard button remote with no LED will not work.

Maybe add this to first post to sort out confusion.


----------



## aoaaron

Seville Ultra Slimline Tilt Tower Fan, EHF10202UK | Costc...


Enjoy the summer comfortably when you fight the heat and cool down with a refreshing breeze! The gliding grille tilt tower fan will circulate fresh air into any room with its oscillating tower. You’ll also be saving up to 50% in wattage with the 25W energy efficient direct current motor. The 3...




www.costco.co.uk





Hmm I wonder if this would work?


----------



## brazen1

*G.I. Joe- The Rise of Cobra (2009)*

Coded by brazen1


----------



## SirMaster

aoaaron said:


> Seville Ultra Slimline Tilt Tower Fan, EHF10202UK | Costc...
> 
> 
> Enjoy the summer comfortably when you fight the heat and cool down with a refreshing breeze! The gliding grille tilt tower fan will circulate fresh air into any room with its oscillating tower. You’ll also be saving up to 50% in wattage with the 25W energy efficient direct current motor. The 3...
> 
> 
> 
> 
> www.costco.co.uk
> 
> 
> 
> 
> 
> Hmm I wonder if this would work?


Unfortunately nobody is going to be able to tell you if it works unless they have tried it.


----------



## SirMaster

*HTFanControl Beta 17*



https://github.com/nicko88/HTFanControl/releases/download/Beta17/HTFanControl_Beta17.zip



Notes:

Minor WebUI navigation tweaks to windtrack management.
Fix crash when wind track database is not responding (pastebin.com)
Adjust wind track parser to ignore all offsets for non-fan timecodes.
Nothing too exciting here, just wanted to put out an adjustment / fix for how the program loads timecodes in case someone wants to experiment with controlling other devices beyond fans. I realized that the program would apply offsets to the other non-fan device commands which is not what someone would want.

If you experiment with controlling other devices, you will have to program any offsets you want for those non-fan commands into your windtrack file manually.

The other notes are just changes that were made to the code awhile ago since the last release that now got included into the new release.


----------



## Vexden

Seems the transceiver is out of stock, they don't know when they will have more. Any others that can be used?

I am guessing that the other one called "socket receive" may work, but will only have one port for transmitting? Maybe I am reading it wrong, can a splitter just be used at that point?


----------



## SirMaster

You can use the "socket receive" model.

The dual socket has 4 transmit channels from 2 sockets, hence the "dual" socket. They sell a splitter to utilize both channels on a socket.

The socket receive has 1 socket and can be split the same way to have 2 transmit channels.

Plenty of people can get by with 1 transmit channel, but 2 channels even on the single socket model should be enough to cover most special cases for more placement flexibility with more than 1 fan.


----------



## Vexden

SirMaster said:


> You can use the "socket receive" model.
> 
> The dual socket has 4 transmit channels from 2 sockets, hence the "dual" socket. They sell a splitter to utilize both channels on a socket.
> 
> The socket receive has 1 socket and can be split the same way to have 2 transmite channels.
> 
> Plenty of people can get by with 1 transmit channel, but 2 channels even on the single socket model should then cover most special cases too for more placement flexibility with more fans.


Thank you for such a quick response. This makes me wonder what triggering left to right, or vice versa would feel like. (more resolution per say on the wind -> effect). 

Everything is ordered, I am excited about this.


----------



## aoaaron

Has anyone yet got this working with any other fan than the seville?


----------



## SirMaster

I haven't heard of anyone who has even tried another brand of fan yet.


----------



## SOWK

Workin on Spider-Man into the Spidervers Fan file. Hope to be done in a few day.


----------



## SOWK

*Spider-Man Into the Spider-Verse (2018) * 

Coded by SOWK


----------



## SirMaster

@brazen1

We need you to come out of retirement to code LotR and Hobbits extended editions wind tracks for the new 4K releases.

Lots of people will be re-watching these films soon and I want to watch them at SOWK's with the fans and with friends 

We are currently at 94 movies, with these 6 that would put us to 100!


----------



## Vexden

Just checking to see if anyone here has any insight. I currently have everything installed and using this for Plex (Windows Server 2019). Everything triggers manually as far as the IR stuff goes, but the issue I am having is that the HTFanControl beta 17 states that it does not show a movie playing.

I am using a Shield TV Pro and have tried selecting it manually and using a plex token. 
I tried using the Server web player to see if it would see it that way and it stills shows "No Movie Playing"
Lastly tried the player off of my android phone, selected it off of the list as it appeared and still no dice.

No Movie Playing - Cannot connect to plex player : Galaxy S10
No Movie Playing - Cannot connect to plex player : Shield TV Pro

It almost seems like something is blocking the HTFanControl app from getting any information about the streams, even though it can see the devices hence being able to select them off of a list.

Checking firewall, I see that the HTFanControl has full access to everything. I do not have any 3rd party virus / malware control on the system.


----------



## brazen1

Taking a shot in the dark for you...
Not opening a port will cause 'no movie playing' assuming you might not have opened the port.

Kodi has a port setting that must be enabled - 8080.
MPC players have a port setting that must be enabled - 13579
I've never used Plex but doesn't it have a port setting to open - 32400?

If you have, maybe try a keep it simple method just to confirm basics work. Install an MPC player and open the port in its settings. Place a windtrack next to the movie. Name it the same as the movie file. Start the movie with MPC.


----------



## SirMaster

Vexden said:


> Just checking to see if anyone here has any insight. I currently have everything installed and using this for Plex (Windows Server 2019). Everything triggers manually as far as the IR stuff goes, but the issue I am having is that the HTFanControl beta 17 states that it does not show a movie playing.
> 
> I am using a Shield TV Pro and have tried selecting it manually and using a plex token.
> I tried using the Server web player to see if it would see it that way and it stills shows "No Movie Playing"
> Lastly tried the player off of my android phone, selected it off of the list as it appeared and still no dice.
> 
> No Movie Playing - Cannot connect to plex player : Galaxy S10
> No Movie Playing - Cannot connect to plex player : Shield TV Pro
> 
> It almost seems like something is blocking the HTFanControl app from getting any information about the streams, even though it can see the devices hence being able to select them off of a list.
> 
> Checking firewall, I see that the HTFanControl has full access to everything. I do not have any 3rd party virus / malware control on the system.


Usually you have to enable an option in your Plex player called something like “advertise as player”. I’m pretty sure your phone app has this option.

Or some option that looks like it allows other apps to control that Plex player.


I’m don’t know if the shield app has an option like this.

I know HTFanControl normally works on a shield as I had a friend of mine test it.

The only player I’ve seen it doesn’t work for us web player and chrome cast.

I’ve seen it work on fire stick, roku, shield, iPhone, iPad, AppleTV, android phone, and Plex media player (on pc).

It does seem like somehow it’s getting blocked or something. I wish I had better advice.

You could try connecting it to Plex Media Player on your PC just to see.


----------



## Vexden

Thanks everyone for the information / ideas. I am getting somewhere as I installed a player on another pc (on the same wired network as my Shield), and it see's it just fine.

I try and select the shield again, and again it isn't seeing the very same movie I tested on the PC. So there must be a setting on the Shield directly that is causing this.

So Local PC connected to the same switch as the shield works, Shield does not. Surely you don't have to setup a file share from within the Shield?


----------



## SirMaster

Vexden said:


> Thanks everyone for the information / ideas. I am getting somewhere as I installed a player on another pc (on the same wired network as my Shield), and it see's it just fine.
> 
> I try and select the shield again, and again it isn't seeing the very same movie I tested on the PC. So there must be a setting on the Shield directly that is causing this.
> 
> So Local PC connected to the same switch as the shield works, Shield does not. Surely you don't have to setup a file share from within the Shield?


How are you selecting media to play on the Plex App on the Shield?

Are you browsing through the Plex UI on the Shield with the Shield remote? Or are you using another device to remotely tell the Shield Plex client to play something?

When you are playing a file on the Shield, do you see the playback status on the Plex Media Server Dashboard?

This seems to be a bug in Plex Client for Shield?

https://forums.plex.tv/t/no-session...back-on-shield-over-remote-control-api/555067


----------



## Vexden

I am using the remote for the Shield and selecting it from the Plex app directly on the Shield browsing data from the local Server running Plex Server.
The Plex Server Dashboard does show it playing when using the Shield without issue.

Good find on that link, I am wondering if it is just a bug on the Plex Client for the Shield.


----------



## SirMaster

Vexden said:


> I am using the remote for the Shield and selecting it from the Plex app directly on the Shield browsing data from the local Server running Plex Server.
> The Plex Server Dashboard does show it playing when using the Shield without issue.
> 
> Good find on that link, I am wondering if it is just a bug on the Plex Client for the Shield.


Well based on what you said it doesn't sound like you are running into the issue they are in that thread.

But that's what is not working for some reason. The player/timeline API from the shield's plex app is not being reached for some reason from HTFanControl.


----------



## Vexden

Lets add to the troubleshooting:

Loaded the HTFanControl on another computer (other than the HTServer that it was on) and that 3rd computer also cannot see the Shield Tv Pro, yet it CAN see the other computer with the Plex Player that the HTServer could see.

So everything seems to be revolving around the Shield, and this leads me to believe that even going with a Pi setup wouldn't help the situation since my player device would still be the Shield.


----------



## SirMaster

Vexden said:


> Lets add to the troubleshooting:
> 
> Loaded the HTFanControl on another computer (other than the HTServer that it was on) and that 3rd computer also cannot see the Shield Tv Pro, yet it CAN see the other computer with the Plex Player that the HTServer could see.
> 
> So everything seems to be revolving around the Shield, and this leads me to believe that even going with a Pi setup wouldn't help the situation since my player device would still be the Shield.



It's possible I am not doing something 100% correctly in regards to the Plex API.

I do know that a friend of mine tested HTFanControl on his shield and it worked some 6 months ago or so. Unfortunately I do not have a Shield to test with.

I know you probably don't want to do this, but you could also try using Kodi on the Shield. Not sure if you can use the Plex for Kodi plugin within Kodi. Not sure if the plugin would work any better or even at all, but native Kodi would work.


----------



## Vexden

Kodi might be interesting to figure out, and I may do that but here is some more information.

It seems that anything Android is where it has issues. Just tested on my android phone and it can't see it, just tested on an IOS IPAD and it works fine.

Is there anything else I can do? Would really like to get this working with my Shield.


----------



## kdawg2391044

I still have similar issues with using the plex client option in HTFanControl that I havent been able to figure out. It does sound like you are at least able to see advertised clients which I am not. I think it's likely due to my router or some setting that must be missing but I haven't really put much effort into figuring it out for a few months. I just use Kodi on shield to play movies with windtracks but I haven't watched one in a while since my laptop that was running the HTFanControl died and I didn't backup my config file and haven't had time to recreate it. I did recently add in a HoverBOSS miniriser and have been focused on tweaking that but playing a movie with the boss and windtracks is something I am looking forward to and is likely awesome. I bought some stuff to potentially add in a heat lamp that can be controlled by the app but haven't found an off the shelf solution to control the lamp using IR (most use RF to control and I'm not super adept with electronics to figure out a custom solution). Hopefully I can tinker around in the coming weeks as things slow down for the holidays at work.

Sent from my SM-G781U using Tapatalk


----------



## SirMaster

Yeah I have tried to access data from Plex to the best of my abilities according to the information that I can find on how you are supposed to access it.

I am not sure why it doesn't work for some people.

The list of players comes from the plex server via a request to it's client list at: http://plexserveriport/clients?X-Plex-Token=plextoken

The currently playing movie and current time come from a timeline request to the plex player device as so: http://playeriplayerport/player/timeline/poll?wait=0&protocol=http&port=5501&commandID=X

Where playerip and playerport came from the client list above. Also I need to pass a few headers into the timeline request such as X-Plex-Client-Identifier, X-Plex-Device-Name, and X-Plex-Target-Client-Identifier (which also comes from the above client list). Whenever I test this on my windows plex player client or my iPhone or iPad plex clients it works fine. Also worked fine when I tried it at my parents house with their Roku, and A friend tried it with his Shield a few months ago.









Remote control API · plexinc/plex-media-player Wiki


Next generation Plex Desktop/Embedded Client. Contribute to plexinc/plex-media-player development by creating an account on GitHub.




github.com





I was looking at this python plex API and noticed this:


plexapi.client — Python PlexAPI documentation



# Timeline Commands
[docs] def timelines(self, wait=0): "Poll the client's timelines, create, and return timeline objects. Some clients may not always respond to timeline requests, believe this to be a Plex bug."

Seems they also see this behavior where some clients don't respond to timeline requests and they think it's a plex bug.


The best solution might be if/when some day I can get the program syncing from audio via a microphone. I don't know when I will get time and motivation to work on this though and when I do I don't know if it will be a successful and reliable way to sync.



Vexden said:


> Kodi might be interesting to figure out, and I may do that but here is some more information.
> 
> It seems that anything Android is where it has issues. Just tested on my android phone and it can't see it, just tested on an IOS IPAD and it works fine.
> 
> Is there anything else I can do? Would really like to get this working with my Shield.



If you want, I can remote into one of your computers some time like on TeamViewer and try debugging some things. Maybe I can see a clue from your setup.


----------



## Vexden

SirMaster said:


> Yeah I have tried to access data from Plex to the best of my abilities according to the information that I can find on how you are supposed to access it.
> 
> I am not sure why it doesn't work for some people.
> 
> The list of players comes from the plex server via a request to it's client list at: http://plexserveriport/clients?X-Plex-Token=plextoken
> 
> The currently playing movie and current time come from a timeline request to the plex player device as so: http://playeriplayerport/player/timeline/poll?wait=0&protocol=http&port=5501&commandID=X
> 
> Where playerip and playerport came from the client list above. Also I need to pass a few headers into the timeline request such as X-Plex-Client-Identifier, X-Plex-Device-Name, and X-Plex-Target-Client-Identifier (which also comes from the above client list). Whenever I test this on my windows plex player client or my iPhone or iPad plex clients it works fine. Also worked fine when I tried it at my parents house with their Roku, and A friend tried it with his Shield a few months ago.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Remote control API · plexinc/plex-media-player Wiki
> 
> 
> Next generation Plex Desktop/Embedded Client. Contribute to plexinc/plex-media-player development by creating an account on GitHub.
> 
> 
> 
> 
> github.com
> 
> 
> 
> 
> 
> I was looking at this python plex API and noticed this:
> 
> 
> plexapi.client — Python PlexAPI documentation
> 
> 
> 
> # Timeline Commands
> [docs] def timelines(self, wait=0): "Poll the client's timelines, create, and return timeline objects. Some clients may not always respond to timeline requests, believe this to be a Plex bug."
> 
> Seems they also see this behavior where some clients don't respond to timeline requests and they think it's a plex bug.
> 
> 
> The best solution might be if/when some day I can get the program syncing from audio via a microphone. I don't know when I will get time and motivation to work on this though and when I do I don't know if it will be a successful and reliable way to sync.
> 
> 
> 
> 
> If you want, I can remote into one of your computers some time like on TeamViewer and try debugging some things. Maybe I can see a clue from your setup.



I would be more than happy to let you remote in and troubleshoot, I'll PM you.


----------



## mcfalcons15

Wow! This is all so cool, but all WAY above my IT level. Whenever any of you are interested in coming to Southern MD and making a few extra bucks to set this up in my home theater, I'm game. Just let me know what the price is. About all I can follow here is purchasing the fans.


----------



## brazen1

I use official Kodi for UHD playback now since I passthrough and it's no different than MPC-BE with madVR with the benefit of handling full menus for iso's. Naturally, for WindTracks to load, I had to switch to the Kodi setting in HTFanControl.

However, I still prefer MPC-BE using madVR to improve BD upscaling even though I'd be giving up menus again. This requires MPC-BE/HC be selected in HTFanControl.

I've caught myself playing BD's and UHD's without windtracks because I didn't remember to reset HTFanControl accordingly. 

My entire system is completely automated except for this. I could select Kodi or MPC-BE exclusively for everything and be fully automated again... but I'd rather not.

I assume HTFanControl could never distinguish Kodi VideoPlayer vs MPC-BE/HC automatically and make the selection for me even if @SirMaster had any interest in providing it.

In that case, does someone smarter than me know of another way I could try? I could insert a warning message in Kodi to alert me to set HTFanControl before playback of a WindTrack but I'm really more interested in keeping everything automated.

Open for any and all suggestions.


----------



## SirMaster

brazen1 said:


> I use official Kodi for UHD playback now since I passthrough and it's no different than MPC-BE with madVR with the benefit of handling full menus for iso's. Naturally, for WindTracks to load, I had to switch to the Kodi setting in HTFanControl.
> 
> However, I still prefer MPC-BE using madVR to improve BD upscaling even though I'd be giving up menus again. This requires MPC-BE/HC be selected in HTFanControl.
> 
> I've caught myself playing BD's and UHD's without windtracks because I didn't remember to reset HTFanControl accordingly.
> 
> My entire system is completely automated except for this. I could select Kodi or MPC-BE exclusively for everything and be fully automated again... but I'd rather not.
> 
> I assume HTFanControl could never distinguish Kodi VideoPlayer vs MPC-BE/HC automatically and make the selection for me even if @SirMaster had any interest in providing it.
> 
> In that case, does someone smarter than me know of another way I could try? I could insert a warning message in Kodi to alert me to set HTFanControl before playback of a WindTrack but I'm really more interested in keeping everything automated.
> 
> Open for any and all suggestions.


I guess I will have to put something in. Probably I will just put in an undocumented special case because I can't think of a better solution.

Perhaps this weekend I can find some time to try.


----------



## brazen1

SirMaster said:


> I guess I will have to put something in. Probably I will just put in an undocumented special case because I can't think of a better solution.
> 
> Perhaps this weekend I can find some time to try.


If there's anything I can do to help, PM me.


----------



## brazen1

*The Lord of the Rings - The Fellowship of the Ring 1 (2001)*

Coded by brazen1


----------



## brazen1

*The Lord of the Rings - The Fellowship of the Ring 2 (2001)*

Coded by brazen1


----------



## brazen1

*The Lord of the Rings - The Two Towers 1 (2002)*

Coded by brazen1


----------



## brazen1

*The Lord of the Rings - The Two Towers 2 (2002)*

Coded by brazen1


----------



## SirMaster

*HTFanControl Beta 18*

https://github.com/nicko88/HTFanControl/releases/download/Beta18/HTFanControl_Beta18_Win.zip
Notes:

Pretty much all non-user experience facing changes for this version

Updated project to .NET 5 (this is why the .exe is now smaller)
Updated referenced project packages
Minor code refactoring
Minor tweaks to Plex player
You shouldn't really notice any differences in this version compared to Beta17.

Basically just a maintenance update and I also added a special undocumented mode for @brazen1 so he can use both Kodi VideoPlayer and MPC at the same time.


----------



## SOWK

Pastebin updated.


----------



## AndreNewman

Hi, which LOTR cut, regular or extended are the windfiles created for?


----------



## brazen1

SirMaster said:


> *HTFanControl Beta 18*
> 
> https://github.com/nicko88/HTFanControl/releases/download/Beta18/HTFanControl_Beta18.zip
> Notes:
> 
> Pretty much all non-user experience facing changes for this version
> 
> Updated project to .NET 5 (this is why the .exe is now smaller)
> Updated referenced project packages
> Minor code refactoring
> Minor tweaks to Plex player
> You shouldn't really notice any differences in this version compared to Beta17.
> 
> Basically just a maintenance update and I also added a special undocumented mode for @brazen1 so he can use both Kodi VideoPlayer and MPC at the same time.


Thank you so much. Working perfectly and exactly what I needed. Now I can use Kodi VideoPlayer or an MPC player without needing to manually change the Kodi or MPC-HC/BE setting in HTFanControl. This will keep systems fully automated and simplified.


----------



## brazen1

AndreNewman said:


> Hi, which LOTR cut, regular or extended are the windfiles created for?


I always use extended cuts. I hope you enjoy them.


----------



## SOWK

*Leon The Professional (1994)*

Coded by SOWK


----------



## AndreNewman

brazen1 said:


> I always use extended cuts. I hope you enjoy them.


Thanks.

Extended is the right answer


----------



## brazen1

Hi. I notice my WindTrack for War of the Worlds (2005) was never added to pastebin? 4D Theater Wind Effect - DIY Home Theater Project


----------



## SOWK

100 MOVIES!!!!!!!!!!!!!!!!! 

Updated PasteBin


----------



## SirMaster

Lol, I was waiting for that, but I wasn't counting LotR as 2 movies each.

I might have to start thinking about search / filtering and paging for the windtrack download page at some point.


----------



## brazen1

*The Lord of the Rings - The Return of the King 1 (2003)*

Coded by brazen1


----------



## brazen1

*The Lord of the Rings - The Return of the King 2 (2003)*

Coded by brazen1


----------



## brazen1

*Tenet (2020)*

Coded by brazen1


----------



## SirMaster

*HTFanControl Beta 19*

https://github.com/nicko88/HTFanControl/releases/download/Beta19/HTFanControl_Win.zip
Notes:

Added a "check for update" page to check if there is a new version.
On Windows you need to download the update manually, at least for now
On RasPi there will be a button you can click to perform the update automatically

This release is the first version that is now ready to run on a RasPi and it should work on a Pi 2, 3, and 4.

I will write a post tomorrow about how to get started with testing / using the RasPi version.


----------



## SOWK

OK... NOW 100!!!! heh... 

Thanks Brazen!!!!!!!!!!


----------



## SirMaster

*RasPi Instructions*

The instructions for setting up and using HTFanControl on a RasPi should be very simple.

*Requirements*

RasPi 2, 3, or 4
16GB or greater SD card (with a PC SD card reader)
For now, all but the RasPi 1 will work and with any amount of RAM. But in the future, if I ever get audio (microphone) syncing to work, you will probably need a RasPi 4 4GB or maybe even 8GB RAM model. So if you are buying one new for this now, please get a RasPi 4.


*Installation*

Download the big "HTFanControl_RasPi2-3-4_img.zip" file.

This is a full SD card image that includes the operating system and everything all pre-installed and set up ready to go.

Link:


https://github.com/nicko88/HTFanControl/releases/download/Beta19/HTFanControl_RasPi2-3-4_img.zip



The small "HTFanControl_RasPi.zip" file is for HTFanControl updates only, but you don't need to worry about this file.

To install, you need to use the RasPi Imager program from here:


https://downloads.raspberrypi.org/imager/imager.exe
 


Run the imager program and click "Choose OS". Scroll all the way to the bottom and pick "Use custom" and select the zip file you downloaded earlier.

Then click "Choose SD Card", and pick your SD card, and then finally click "Write"

When that is all done, simply put the SD card in the RasPi.


*Set-Up*

Start by simply powering on the RasPi.

To setup the first time, you will need to use the wired network connection.

All you need to do is find your RasPi's IP address and enter that into a browser like so:


http://IPaddr:5500



To find your IP you will likely need to look in your router's IP list. Or you can try guessing IPs. Look at the IP format from your computer, it may look like "192.168.1.103" So you could start guessing by trying 192.168.1.100 and incrementing up the last number from 100. Sometimes the second to last number is a 0 instead of a 1 so pay attention to that.

Once you have connected to your RasPi from a browser you are ready to use it

Plug in your IguanaWorks IR USB, and set up your HTFanControl settings.

*Connecting over WiFi*

If you want to use your RasPi from WiFi instead of a wired network, you will find a "RasPi WiFi" settings page in the HTFanControl browser interface where you can enter in your wireless SSID name and password. After you enter this and save, you will need to reboot your RasPi.

To reboot the RasPi simply unplug the power and plug it back in.

Now you will need to find the new WiFi connection IP address like you did for the wired connection before.

If you want to disable WiFi, just enter random data into the SSID and password boxes, save and reboot.


*Additional Info*

If you want to manually manage your windtrack files or settings file you can browse to your RasPi IP as a standard file share from your network.

On Windows simply click the Start button and enter in \\IPaddr

You can also access LIRC remote configs from here as well as HTFanControl crash logs for sending to me.

To update HTFanControl on RasPi, simply click the "Check For Update" link at the bottom of the settings page, and then click the "Update HTFanControl" button on that page. The program should update and automatically restart and the page should automatically refresh when done.


----------



## SirMaster

@kdawg2391044 @enovison @Mayo4 

Just pinging you guys in case you wanted to test this out on RasPi now since you all mentioned RasPi at some point in the past.


----------



## Paynemaster

Amazing project for the Cinema enthusiasts! So, there are only two fans compatible now? Hope there will be more to come. Would love to see some products available for this in the EU


----------



## SirMaster

Paynemaster said:


> Amazing project for the Cinema enthusiasts! So, there are only two fans compatible now? Hope there will be more to come. Would love to see some products available for this in the EU


There’s really only 1 fan, but it comes in black and grey. I think you can still find the grey model probably on eBay (even new) or Home Depot in the US. 

It’s really just that more fans have not been tested for workable behavior. 

Only 1 other fan has even been attempted and it just appears as though it doesn’t support the individual speed IR commands that are needed for this to work. 

There are countless other fans out there on the market and surely some others support individual IR commands. 

Hopefully someone just tries some more brands and models. Anyone can try any fan and it’s meant that you can scan in the IR codes of your fan yourself pretty easily. 

Even if your fan doesn’t have 4 speeds, you can still use it and choose which wind track speeds to map to which fan speeds. I would bet that 3 speed fans are common.


----------



## brazen1

*2012 (2009)*

Coded by brazen1


----------



## brazen1

*Whiplash (2014)*

Coded by brazen1


----------



## Tate1023

I really want to thank everyone who had a part in making this happen. I have implemented it in my theater and it is totally worth it. After testing a bunch of the movies coded I want to make sure this thread does not die and I will start coding movies. Lets keep this going! Thanks again for all the time put into this project and the movies that have been coded so far. I mounted my fan above the seating positions with the ir poking out of the ceiling going into my equipment closet with my server that runs plex.


----------



## SirMaster

Tate1023 said:


> I really want to thank everyone who had a part in making this happen. I have implemented it in my theater and it is totally worth it. After testing a bunch of the movies coded I want to make sure this thread does not die and I will start coding movies. Lets keep this going! Thanks again for all the time put into this project and the movies that have been coded so far. I mounted my fan above the seating positions with the ir poking out of the ceiling going into my equipment closet with my server that runs plex.


Wow a brand new AVS user as well. Do you happen to be from the Youthman YouTube video comment section?

That's so awesome. Thanks for considering giving back by coding some movies!

I am far from done developing the software, so no worries there.

I have been at work on the next iteration of using microphone audio to sync the movie, so that will open the possibilities to a much wider number of people.

I am also working to make the RasPi setup easier to use.


----------



## brazen1

*Mortal Engines (2018)*

Coded by brazen1
Very good video processing. Filmed with Red Weapon Helium 8k cameras and Zeiss lenses.


----------



## brazen1

*News of the World (2020)*

Coded by brazen1


----------



## brazen1

*Gattaca (1997)*

Coded by brazen1


*







*


----------



## SirMaster

Thanks for the new movies!

Wow 340 commands in Mortal Engines 😲

Updated Pastebin


----------



## brazen1

You're welcome. I hope more and more people enjoy them and that they too will contribute. To be continued...


----------



## Tate1023

SirMaster said:


> Wow a brand new AVS user as well. Do you happen to be from the Youthman YouTube video comment section?
> 
> That's so awesome. Thanks for considering giving back by coding some movies!
> 
> I am far from done developing the software, so no worries there.
> 
> I have been at work on the next iteration of using microphone audio to sync the movie, so that will open the possibilities to a much wider number of people.
> 
> I am also working to make the RasPi setup easier to use.


The video from Youthman is what made me jump to this forum and check it out. I have always read threads on the forum but never commented. After testing movies with the wind soundtrack then watching a movie with out it was kind of disappointing. That is how awesome the effect is. For me I hung the single fan in the middle and my seats to the far left and right do not get the same effect, so I need to pick up another and mount both side by side and it should pick up all seats. I have windows machine running my plex server. I use a odroid N2 with kodi and plex addon in kodi with my theater since the N2 can do 4k and atmos. If I play the movie through Kodi it picks the track up but if I use plex within kodi (corelec) it does not. Not a big deal since my library is available on both. I really appreciate the time that you have put into the project. I have already started doing the new Snyders cut of Justice league!!


----------



## SirMaster

Tate1023 said:


> The video from Youthman is what made me jump to this forum and check it out. I have always read threads on the forum but never commented. After testing movies with the wind soundtrack then watching a movie with out it was kind of disappointing. That is how awesome the effect is. For me I hung the single fan in the middle and my seats to the far left and right do not get the same effect, so I need to pick up another and mount both side by side and it should pick up all seats. I have windows machine running my plex server. I use a odroid N2 with kodi and plex addon in kodi with my theater since the N2 can do 4k and atmos. If I play the movie through Kodi it picks the track up but if I use plex within kodi (corelec) it does not. Not a big deal since my library is available on both. I really appreciate the time that you have put into the project. I have already started doing the new Snyders cut of Justice league!!


Cool, yeah I noticed your comment on the YouTube video.

Yeah you should stick with Kodi option for now.

If you wanted to try the Plex option, that might work but you would have to use the official Plex for Kodi plugin (not PlexKodiConnect).

I am not even sure if the Plex for Kodi plugin option will work with the Plex functionality in HTFanControl though. But even if it does work, Kodi is still a more accurate source of time position and more reliable of a connection than trying to get that info from Plex.


----------



## brazen1

Have you considered fashioning a couple left and right deflectors on your fan vent instead of adding another fan? 

I've been thinking about adding a rheostat to slow the fan speeds down fwiw. Eco could be a little less for me and perhaps quieter for low decibel scenes. I may also remove the venturi to further cut down on noise. Perhaps SOWK could comment if enclosing his fans reduced noise? 

Would you provide a link for the Youthman video? I don't think I've seen it? TIA. 

Btw, Kodi VideoPlayer and a seamless launched external MPC-BE using "MediaPlayer=KodiMPC" has been working flawlessly.


----------



## SirMaster

He's talking about this video: 






But when I ever get the microphone mode working well and RasPi tested and working smoothly and easily I will likely have Youthman do a dedicated video to the fan project.

That could get a ton of new users.


----------



## brazen1

*Monster Hunter (2020)*

Coded by brazen1

Very few moments the wind isn't blowing in this movie.


----------



## brazen1

*Ex Machina (2015)*

Coded by brazen1


----------



## brazen1

*Fury (2014)*

Coded by brazen1


----------



## SirMaster

Oh I bet this one is awesome.

SOWK uses this movie for D-BOX demo all the time.

Should use it as a wind demo now too.


----------



## brazen1

I hope he can use it. I'm beginning to wonder if anyone uses these except me and I'm wasting my time sharing them here? I can't believe this project hasn't gained enthusiasm anywhere? Working our way towards a couple hundred titles now. 

I watched the Youthman video you linked. Great gather of enthusiasts you guys are. Perhaps if he found the wind effect worthy, his audience could be introduced to what they're missing out on. By the looks of his expertise, I'd bet he could present it well somehow. After all, it is air movement and most likely a challenge to demonstrate via audio and video. Even so, the video provided in this thread was enough to get my attention and get me started. 

And Tony's theatre... I'm lost for words tbh.


----------



## kdawg2391044

brazen1 said:


> *The Lord of the Rings - The Fellowship of the Ring 1 (2001)*
> 
> Coded by brazen1
> 
> View attachment 3082328





brazen1 said:


> *The Lord of the Rings - The Fellowship of the Ring 2 (2001)*
> 
> Coded by brazen1
> 
> View attachment 3082340


@brazen1 I dont have LOTR and this is the first time I have see Pt 1 and Pt 2 for a windtrack. Is the movie split on two discs or two separate files since its so large?



SirMaster said:


> @kdawg2391044 @enovison @Mayo4
> 
> Just pinging you guys in case you wanted to test this out on RasPi now since you all mentioned RasPi at some point in the past.


Sorry @SirMaster I dont have a free RaspPi that I can test with since you mentioned Pi v1 wont run the code. 



brazen1 said:


> I hope he can use it. I'm beginning to wonder if anyone uses these except me and I'm wasting my time sharing them here? I can't believe this project hasn't gained enthusiasm anywhere? Working our way towards a couple hundred titles now.
> 
> I watched the Youthman video you linked. Great gather of enthusiasts you guys are. Perhaps if he found the wind effect worthy, his audience could be introduced to what they're missing out on. By the looks of his expertise, I'd bet he could present it well somehow. After all, it is air movement and most likely a challenge to demonstrate via audio and video. Even so, the video provided in this thread was enough to get my attention and get me started.
> 
> And Tony's theatre... I'm lost for words tbh.


I have used the wind for a few demos to show people which has been fun and impressive but havent had a chance to watch a full length movie with it in a few months since I dont have most of the movies that you have created tracks for. Some of the comments from family has been pretty hilarious too where they think the wind is coming from the projector, the speakers, the ceiling, etc. Thank you so much for your contribution since you have been cranking out the windtracks and I am also surprised this hasn't caught traction with everyone else. I do still have in my head to try to integrate a heat lamp since I have an arduino that someone gave me but just havent had time to tinker with stuff and I'm not even sure if that would work by itself and if I would need a separate transceiver.


----------



## Shawn99

Hello, 
The tower fans aren't available anymore on amazon. Is there another model that works too? I would love to upgrade my theater with this awesome project.


----------



## SirMaster

Shawn99 said:


> Hello,
> The tower fans aren't available anymore on amazon. Is there another model that works too? I would love to upgrade my theater with this awesome project.


Nobody has really tried other fans much yet so we don't know.

But the Gray model is usually available and will work the same as the "Black / Silver". You might just want to paint it.

https://www.amazon.com/Seville-Classics-UltraSlimline-Oscillating-Intake/dp/B07NPFVXM1?th=1

https://www.homedepot.com/p/Seville...-with-Steel-Intake-Grill-EHFK10119C/309005277

https://www.ebay.com/itm/SEVILLE-CLASSICS-ULTRASLIMLINE-40-OSCILLATING-TOWER-FAN-GRAY/164794170632

https://dev.sevilleclassics.com/ultraslimline/ultraslimline-40-oscillating-tower-fan-gray.html

It's just the pure "Black" model with the different remote that doesn't seem to work right, so make sure you are not buying that.


I see you are not in the USA, so hopefully you can manage to find a Gray model you can buy.


----------



## brazen1

*Kong Skull Island (2017)*

Coded by brazen1


----------



## Tate1023

Shawn99 said:


> Hello,
> The tower fans aren't available anymore on amazon. Is there another model that works too? I would love to upgrade my theater with this awesome project.


I just ordered another tower fan for my setup so I have two. The Seville Classics gray is still available on Amazon.


----------



## Tate1023

For those of you who have hanged your fans from the ceiling what did you use to hang them? I used rocketfish speaker mounts for my first fan but the fan is a little heavy for the mounts. Thanks for the ideas.


----------



## brazen1

I used 2 ceiling screw hooks with shanks long enough to go through drywall and into the wood studs. I didn't hang mine from the ceiling though. They are in the wall and the full weight of the fan is rigid against it. I'm not sure how you rigid mounted your first fan hanging from the ceiling but to overcome the fan moving because of torque must have been a challenge.









4D Theater Wind Effect - DIY Home Theater Project


4D Theater Wind Effect - SirMaster & SOWK Edition Required Components: Source Device - HTPC or any devices that can run KODI *HTFanControl software will currently require a PC with Microsoft Windows OS, Raspberry Pi support coming soon. Media Player - MPC-BE / MPC-HC / KODI / PLEX...




www.avsforum.com


----------



## brazen1

*Battleship (2012)*

Coded by brazen1


----------



## Tate1023

Mounted using two rocket fish speaker mounts.


----------



## Tate1023

Front view.


----------



## Tate1023

I finally added my second fan. What a difference now every seat has a great wind effect. I also added how I mounted them this time. Instead of the rocketfish speaker mount shown in the last reply I used to big bolts with big heads going into the studs then cut a track into the fan so I can slide it and adjust the to the perfect angle. Don't mine the mess I just moved into this house and the theater is still a work in progress.


----------



## brazen1

*Inception (2010)*

Coded by brazen1


----------



## SamN

I am in love with this feature!!! I'm just a (pretty) young man from Belgium, but I say this from my heart: You guys are my heroes  I'm going to order the necessary items and start to build my own setup. Hopefully I'll be able to find a right fan. Wish me luck :-D


----------



## movierlover12345

Here Are My Top 4 Picks For Movies That Should Be Timecoded To Have The 4-D Theater Wind Effect:

4. Yogi Bear (2010)
3. Aladdin (2019)
2. The Peanuts Movie (2015)
1. Kiki's Delivery Service (1989)

Well, What Do You Think?


----------



## SamN

movierlover12345 said:


> Here Are My Top 4 Picks For Movies That Should Be Timecoded To Have The 4-D Theater Wind Effect:
> 
> 4. Yogi Bear (2010)
> 3. Aladdin (2019)
> 2. The Peanuts Movie (2015)
> 1. Kiki's Delivery Service (1989)
> 
> Well, What Do You Think?


Seeing as all four movies have multiple flying sequences, you can count me as a fan (no pun intended 😅)


----------



## SamN

2 questions:
Would it be possible to use a fan with only one IR, if you (meaning myself) take the time to only keep the HIGHs? I believe it’s about the same way they do it in 4DX. 
Also, if I were to watch movie on Apple TV, Disney+,... (my current preferred way to watch movies in my home theater), would it be possible to send a command to start the process to the fan?
Thanks in advance 😁


----------



## SirMaster

SamN said:


> 2 questions:
> Would it be possible to use a fan with only one IR, if you (meaning myself) take the time to only keep the HIGHs? I believe it’s about the same way they do it in 4DX.
> Also, if I were to watch movie on Apple TV, Disney+,... (my current preferred way to watch movies in my home theater), would it be possible to send a command to start the process to the fan?
> Thanks in advance 😁


Yes, it's possible to use a fan with any number of IR controlled speeds.

You can easily map the different speeds to whatever IR speed control on your fan that you want.

You could make all speed commands turn your fan on, or you could make only the HIGH commands turn it on or any other combination very easily.


Streaming services are not supported right now. Only local file content played on MPC-HC/BE, Kodi, or Plex (with most Plex clients).

But I still have plans to support other sources such as streaming.


----------



## kdawg2391044

SirMaster said:


> Yes, it's possible to use a fan with any number of IR controlled speeds.
> 
> You can easily map the different speeds to whatever IR speed control on your fan that you want.
> 
> You could make all speed commands turn your fan on, or you could make only the HIGH commands turn it on or any other combination very easily.
> 
> 
> Streaming services are not supported right now. Only local file content played on MPC-HC/BE, Kodi, or Plex (with most Plex clients).
> 
> But I still have plans to support other sources such as streaming.


@SirMaster - I know there are some plugins that you can use in Kodi to enable streaming services but it looks like there would need to be some custom dev to get the right metadata to show the title (assuming that information is available somewhere). I have the Disney+ plugin and just tested it out and do see that HTFanControl picks it up but its some sort of unique token string. Let me know if there are specific API commands that I can run to get additional information (if you are interested). I looked at the Kodi web browser interface but cant seem to find anything that is like a debug view or information about the current file that is playing besides the normal UI stuff. I cut off the screenshot since it seems like my auth token is in the string which doesnt change if I restart Kodi or play a different file. I did notice that the token seems to be in the format of a <bearer token>.<uniquesessiontoken> but I havent dug in to see if the unique session token is related to the file being played or if its just for that session and changes all the time. I tried to rename a dummy windtrack file but it doesnt work likely due to all the special characters in the string that Windows doesnt like.


----------



## SirMaster

kdawg2391044 said:


> @SirMaster - I know there are some plugins that you can use in Kodi to enable streaming services but it looks like there would need to be some custom dev to get the right metadata to show the title (assuming that information is available somewhere). I have the Disney+ plugin and just tested it out and do see that HTFanControl picks it up but its some sort of unique token string. Let me know if there are specific API commands that I can run to get additional information (if you are interested). I looked at the Kodi web browser interface but cant seem to find anything that is like a debug view or information about the current file that is playing besides the normal UI stuff. I cut off the screenshot since it seems like my auth token is in the string which doesnt change if I restart Kodi or play a different file. I did notice that the token seems to be in the format of a <bearer token>.<uniquesessiontoken> but I havent dug in to see if the unique session token is related to the file being played or if its just for that session and changes all the time. I tried to rename a dummy windtrack file but it doesnt work likely due to all the special characters in the string that Windows doesnt like.
> 
> View attachment 3126994


So it sees the correct time position?

I don't want to be a downer on this, but the main problem with media playing from a streaming service is the time codes (from the streaming media player) will not line up at all to the time codes from the disc (which was used to code the wind track).

Same problem between a 1080p disc and 4k disc with different studio logos and such. It completely changes the time codes. Sure it could be adjusted by an offset value, but I don't know how you would find a precise offset for a specific streaming copy vs the disc. And then you would probably need a different offset for every service (Netflix, amazon, Disney, hbo , etc). It's a mess and would be too much to manage IMO.

But the good news is that using the audio itself from a microphone will not care at all what the source of the movie is. This is the end goal and would make worrying about source offsets a non-factor.

I just need to get off my butt and work on programming it more.

I got it working in a proof of concept already, so I know it's possible and works.

I feel like I don't like to release features until its pretty polished, and the problem is I don't know how I want to handle the logistics part of doing audio matching.

Perhaps I just need to program a simple version of the audio matching where the logistics part is more manual for now, and then work on simplifying and automating the logistical management part after.

And what I mean by the logistics part is stuff like hosting the audio fingerprint files, filenames, managing their storage, loading and unloading them, etc.


I would like to get a version out there that people can actually try using and then I can get feedback whether people are having luck getting it working in their actual rooms. Because a microphone in a room has so many variables. I know it works in a controlled environment, but I am not sure how well it works in someone's actual room yet.

I'll try to work on this soon and get something out there that people can try using.


----------



## kdawg2391044

SirMaster said:


> So it sees the correct time position?
> 
> I don't want to be a downer on this, but the main problem with media playing from a streaming service is the time codes (from the streaming media player) will not line up at all to the time codes from the disc (which was used to code the wind track).
> 
> Same problem between a 1080p disc and 4k disc with different studio logos and such. It completely changes the time codes. Sure it could be adjusted by an offset value, but I don't know how you would find a precise offset for a specific streaming copy vs the disc. And then you would probably need a different offset for every service (Netflix, amazon, Disney, hbo , etc). It's a mess and would be too much to manage IMO.
> 
> But the good news is that using the audio itself from a microphone will not care at all what the source of the movie is. This is the end goal and would make worrying about source offsets a non-factor.
> 
> I just need to get off my butt and work on programming it more.
> 
> I got it working in a proof of concept already, so I know it's possible and works.
> 
> I feel like I don't like to release features until its pretty polished, and the problem is I don't know how I want to handle the logistics part of doing audio matching.
> 
> Perhaps I just need to program a simple version of the audio matching where the logistics part is more manual for now, and then work on simplifying and automating the logistical management part after.
> 
> And what I mean by the logistics part is stuff like hosting the audio fingerprint files, filenames, managing their storage, loading and unloading them, etc.
> 
> 
> I would like to get a version out there that people can actually try using and then I can get feedback whether people are having luck getting it working in their actual rooms. Because a microphone in a room has so many variables. I know it works in a controlled environment, but I am not sure how well it works in someone's actual room yet.
> 
> I'll try to work on this soon and get something out there that people can try using.


Yeah I forgot you mentioned that streaming services will have different versions of the movie/tv show which will throw things off. For the audio matching functionality, does this mean that someone would need to take the video file, run it through some sort of analysis program to create the fingerprint and then your program would match to the windtrack and timestamps? What pieces of software/tech are you using to do this? It sounds sorta similar to how BEQ filters are created where you have to import the audio streams (does this change things if you have DD vs DTS vs Atmos vs DTSX versions of the movie?), run some analysis and then create filters for that version of the movie but instead you are creating an audio fingerprint which tracks a sound signature over time. I imagine the placement of the mic and whatever thresholds you are using to match the signature would make or break the functionality. How do you also take into account someone pausing a film vs silence in the track? I guess theres probably some baseline noise floor you would need to calibrate to and then anything above that is the film playing? I think based on the many questions in my head on how this would work, it would probably be better to test it out in an alpha version just to make sure it will work before spending lots of time doing dev work and find out the success rate is low or unacceptable in real world envs. I could look to pick up a RaspPi v4 if this is the only platform that will support the sound matching (unless you have something that could work on Windows in which case, I would be happy to help out with some testing).


----------



## SirMaster

kdawg2391044 said:


> For the audio matching functionality, does this mean that someone would need to take the video file, run it through some sort of analysis program to create the fingerprint and then your program would match to the windtrack and timestamps? What pieces of software/tech are you using to do this?


Yes, it will be built into the WindTrackCreator program.

And since they already have the movie for making the wind track time codes, they should have no problems feeding their video file into the program to generate the fingerprints.

These fingerprints are around 7 MB per hour, so not too bad. But I have to figure out the logistics of handling these files. If I did every movie currently in the database now, all the fingerprints would be about 1.6GB in total.



kdawg2391044 said:


> (does this change things if you have DD vs DTS vs Atmos vs DTSX versions of the movie?), run some analysis and then create filters for that version of the movie but instead you are creating an audio fingerprint which tracks a sound signature over time. I imagine the placement of the mic and whatever thresholds you are using to match the signature would make or break the functionality.


No, the audio version / format does not matter. Audio fingerprinting is a bit simpler than that. The fingerprints are generated from a stereo downmix of the movie track and only looks at the 300-2000Hz frequency range.

If it turns out that microphones in most people rooms are not picking up a good enough audio signal, I can also recommend to the users to buy a cheap USB audio input device such as this:


https://www.amazon.com/Behringer-U-Control-UCA222-Ultra-Low-Interface/dp/B0023BYDHK



With this you will have to split off a stereo audio signal from your sound system and connect it to this as an analog line-in. This can usually be done with an inexpensive HDMI audio extractor. This is also something D-BOX supports (stereo line-in rather than a microphone). This would provide a loud clean source to the audio without any background noise either.



kdawg2391044 said:


> How do you also take into account someone pausing a film vs silence in the track? I guess theres probably some baseline noise floor you would need to calibrate to and then anything above that is the film playing? I think based on the many questions in my head on how this would work, it would probably be better to test it out in an alpha version just to make sure it will work before spending lots of time doing dev work and find out the success rate is low or unacceptable in real world envs.


Well, you don't 

D-BOX uses audio matching to sync the movies to their motion codes and they even support using a microphone in the room. This is where I got the idea that the concept is indeed possible and should work.

My plan is to not handle pauses. If you pause the movie, you will need to press a button in my app to stop the fans, otherwise the system will just assume the movie is still going. If you don't stop the fans in the app, the fans will turn on and off when it thinks the next commands are. But when you actually do resume the movie, they will sync right back up no problem in only a few seconds.

So the only downside to not pausing the fans is they will be potentially turning on and off during a pause. Which is why I will include an option to pause the fans. Actually I think the disable fans option is already sufficient.

The system will support a mode that does try to handle pauses, but that will simply be something like no audio matches for 10 seconds = the movie must be paused. And it will sync right back up as soon as it hears a match. This mode wont work if you have lot of background noise (audience chatter in the theater), or run your sound too low for the microphone to get a good signal in quieter scenes.

Do people code wind track commands during silent movie scenes? If not then treating a silent section of the movie like a pause wont cause any problems anyways.


I have thought about this and thought how D-BOX might handle this. You could handle silent scenes with metadata in the windtrack. For example, define a 2 minute chunk of movie as "silent", so that when the timer is in that section, it will not treat silence as a pause but rather it will know to just keep going because it "expects" the movie to be silent there. Then the only artifact is pausing the movie during a silent scene. I am confident this case would trip up the commercial D-BOX system as well.

My software's internal timer should be very accurate though so that even if you don't get an an audio match for a long time, it should not fall out of sync with the movie even over an hour without any subsequent matches.



kdawg2391044 said:


> I could look to pick up a RaspPi v4 if this is the only platform that will support the sound matching (unless you have something that could work on Windows in which case, I would be happy to help out with some testing).


Audio syncing will fully support Windows, and I would plan to release the feature on Windows first anyways for initial testing.

Any old USB mic will work.


----------



## SamN

SirMaster said:


> Yes, it's possible to use a fan with any number of IR controlled speeds.
> 
> You can easily map the different speeds to whatever IR speed control on your fan that you want.
> 
> You could make all speed commands turn your fan on, or you could make only the HIGH commands turn it on or any other combination very easily.
> 
> 
> Streaming services are not supported right now. Only local file content played on MPC-HC/BE, Kodi, or Plex (with most Plex clients).
> 
> But I still have plans to support other sources such as streaming.


Thank you ever so much for your clear, friendly and helpful answers. I was pretty sure before, but now I know it without doubt: You rock!  I'm going to order the two necessary hardwares from the first page and then look for a good fan on Amazon or a hardwarestore in the neigborhood.


----------



## SamN

brazen1 said:


> I hope he can use it. I'm beginning to wonder if anyone uses these except me and I'm wasting my time sharing them here? I can't believe this project hasn't gained enthusiasm anywhere? Working our way towards a couple hundred titles now.
> 
> I watched the Youthman video you linked. Great gather of enthusiasts you guys are. Perhaps if he found the wind effect worthy, his audience could be introduced to what they're missing out on. By the looks of his expertise, I'd bet he could present it well somehow. After all, it is air movement and most likely a challenge to demonstrate via audio and video. Even so, the video provided in this thread was enough to get my attention and get me started.
> 
> And Tony's theatre... I'm lost for words tbh.


Please don't doubt the fact if anyone is using your hard work, because I'm certain that in time this will all be used a lot more in home theaters all over the world. Take me for example: I just discovered this thread, but I'm already in love with it and with all you guys  The only thing that would be a little more useful to me is if we could work on the highest grossing films of all time. I'd be very interested in helping you (if I ever get used to the program :-D )


----------



## brazen1

I only have the titles I have. Many of the windtracks are highest grossing as well as IMDB top 200. I know some of them are probably not too popular. That's because I make windtracks for some of what I watch - high grossing top 200 or not. Encouraging others are discovering this. That said, here's another no where near top grossing or top 200 but it entertains me... especially with a windtrack


----------



## brazen1

*The 5th Wave (2016)*

Coded by brazen1


----------



## SirMaster

This isn't a promise, but I _should _have a new test version with audio syncing out by the end of this weekend. I started integrating my proof of concept code into the main program last night.

Which movies should I generate audio fingerprints for for testing?


----------



## kdawg2391044

@SirMaster awesome! Looking forward to helping test these are the movies that I have that have windtracks already, not that you have to do all of them: Ready player One, San Andreas, Everest, Mad Max Fury Road, How to train a dragon, Crawl. Of course since @brazen1 authored a big chunk of the tracks, I'm sure you could choose any other tracks as well. 

Sent from my SM-G781U using Tapatalk


----------



## SirMaster

kdawg2391044 said:


> @SirMaster awesome! Looking forward to helping test these are the movies that I have that have windtracks already, not that you have to do all of them: Ready player One, San Andreas, Everest, Mad Max Fury Road, How to train a dragon, Crawl. Of course since @brazen1 authored a big chunk of the tracks, I'm sure you could choose any other tracks as well.
> 
> Sent from my SM-G781U using Tapatalk


Made a lot of progress on the code last night.

I have it working integrated into the main program now.

Still have some things to do before it's ready for testing though, like adding the new options into the settings screen like being able to select Audio mode and being able to select your actual input device. 

Definitely still on track for this weekend.


----------



## SirMaster

*HTFanControl Beta 20*

https://github.com/nicko88/HTFanControl/releases/download/Beta20/HTFanControl_Win.zip
*Major new feature (Audio Syncing)*

This new audio syncing feature is in early testing phase for Beta20.
Please try it out and give feedback.
*Note*

You only need to update to Beta20 if you want to use the Audio Syncing feature.
If you are using MPC / Kodi / Plex syncing I recommend staying on Beta19 for now.


Alright guys, I finally got this new feature implemented and working and ready for people to start testing. Keep in mind this is the first test version for this new major feature and there are probably some issues to work out.

*The whole point of this feature is that you can now use any source of playback, from disc, to streaming services on streaming sticks and boxes, etc. It does not matter where the source of the movie is from or on what device it's playing on.*

It should be relatively self-explanatory to get working. You just need to select Audio Sync mode from settings, and then select your audio input device. The audio input device can be a microphone, or a line-in audio connection on your PC. For a line-in input, you will need to find a way to create an analog stereo down-mix of your movie audio over 3.5mm (headphone jack) or RCA to feed into a line-in capture device. We can help each other explore ways to do this if people like this idea more than a microphone, or if microphone proves to be too inaccurate.

You will have to experiment with placement of the microphone for best results. I am curious to hear what people find out about this. Personally I would try to place it close to the front speakers, away from the viewers so it picks up stronger movie audio compared to background noise from the viewers. Don't forget that you can adjust the microphone's input volume in your Windows sound settings.

For now, you need to manually select the movie from the WebUI when using Audio Sync mode. However, I have plans for the future to automate movie selection.

Also, all the audio tracks for the supported movies still need to be scanned in, in order to generate fingerprints for the audio matching to work. I will start to do this and provide a few movies so you can get started testing the feature.

This process of creating audio fingerprints for movies will soon be added to WindTrackCreator so that everyone will be able to contribute these fingerprints when they create wind tracks. It's critical that the same edition of disc is used to create the fingerprints that was used to create the wind track codes.

Until then, feel free to request any movie from the list of currently supported wind tracks and I will try to get the fingerprints created for you. You will also need to manually manage the fingerprint files for now in the "fingerprints" folder located in the HTFanControl main program folder.

In order for HTFanControl to read from audio input devices, you need to install the OpenAL software which you can get here:


OpenAL: Cross Platform 3D Audio



For now I will be hosting the audio fingerprint files on my server located here:


https://nicko88.com/misc/HTFan/fingerprints/



That's all I can think of for now (I might edit this as I need or reply in new posts).

Let me know how it goes and we will see where we get with testing, thanks!


----------



## SirMaster

Anyone try this yet?


----------



## kdawg2391044

SirMaster said:


> Anyone try this yet?


Yes, I was only able to try this out for about 15 mins Sunday night but it was working very well from what I could tell. I only tested with How To Train A Dragon since I use that for demo purposes a lot and it was a good baseline for me. I likely will have limited time this week to do more testing but will try to do more if I can. This is an awesome way to increase compatibility with different sources!

Pros: 

I am using a laptop to control the fans and using the built in mic at my listening position worked fine. I even had the volume initially at a pretty low level and it seemed to pick stuff up at the right time. I was even talking to my wife during the testing which was right next to the mic and that didnt seem to trip it up but obviously it would be more ideal if it got a purer source like in front of the speaker or line in. I am just now thinking though if that would potentially cause problems (say you have mic located on front left speaker and sound pans to right front speaker, would it through it off? That might be why its better to have mic near MLP to get the "stereo downmix"?)
I tried scrubbing to different times in movie and after a few seconds, it seemed to be aligned with the right timestamp
I did not notice any off sync/delays compared to client based timesync but I didnt test this critically
This allowed me to use Plex native client which is what I prefer as my main media player vs using Kodi (because for some reason the Plex integration doesnt work in my setup which you are already aware of)
Need to test with playing from other sources like streaming platforms to see if there's any issues but i dont see why it wouldnt work unless theres something different about the fingerprint (due to streaming compression or other stuff like that?)
Fingerprints seem pretty small (~10-20MB each) so marginal storage requirement for this
Eventually for me, I would likely want to get this running on a RasPi since I have one running minidsp-r/ezBEQ but that would require me to possibly rethink where I set up my IR emitters since my AV equip is in the front of my room vs IR emitters in the back (I guess extension cables can solve this where I would extend IR emitters)
Cons:

Seemed like the GUI doesnt show the running timestamp like in older versions so after syncing the time based on fingerprint, it shows a snapshot time but doesnt update in realtime. It seemed to update intermittently. This meant that for me it was a little confusing for me to understand if it was synced up or not (such as for playing sections that might trip it up like quiet parts or when you pause/scrub within the same movie). I had to pay attention to the wind effects to check if it was synced with the video vs having the timer to refer to with the list of next commands
Does seem to take a few seconds to sync up so if you are changing state such as pausing/scrubbing, it can get stuck playing the last set of timecodes until it syncs back up (known limitation of the tech but is a reasonable tradeoff for allowing to play from any other sources). 
Some questions from me:

How do you envision the management of fingerprints to work in the future? Is the intention to integrate into Pastebin in a separate folder structure (so that you could say download windtrack individually vs windtrack + fingerprint)?
Is there a way to tie fingerprint to windtrack via metadata or filename to ensure that the correct versions are matched? Like for example in the windtrack header, add in line for fingerprint name with checksum hash?
How did you plan to automate the audio selection process if you enable the audio syncing option? Does this require you to constantly process the sound the background and then use an algorithm to downselect the possible movie or is this trigger based somehow?
I was curious if there is some debugging log view that shows the match confidence and timestamp in case something causes the algorithm to trip up to help diagnose but honestly dont know if this even is useful or makes sense given everyones room is going to be different. I think this is just the part of me that likes to know how the black box works so no worries if this isnt worth the time


----------



## SirMaster

kdawg2391044 said:


> Yes, I was only able to try this out for about 15 mins Sunday night but it was working very well from what I could tell. I only tested with How To Train A Dragon since I use that for demo purposes a lot and it was a good baseline for me. I likely will have limited time this week to do more testing but will try to do more if I can. This is an awesome way to increase compatibility with different sources!


Awesome, glad you could give it a quick try!



kdawg2391044 said:


> I am using a laptop to control the fans and using the built in mic at my listening position worked fine. I even had the volume initially at a pretty low level and it seemed to pick stuff up at the right time. I was even talking to my wife during the testing which was right next to the mic and that didnt seem to trip it up but obviously it would be more ideal if it got a purer source like in front of the speaker or line in. I am just now thinking though if that would potentially cause problems (say you have mic located on front left speaker and sound pans to right front speaker, would it through it off? That might be why its better to have mic near MLP to get the "stereo downmix"?)


Nice sounds pretty accurate.

I have been testing with my mic close to the front right and it seems to work, so I don't think being farther away from some other speakers is such a big deal, but more testing will tell us for sure.



kdawg2391044 said:


> Need to test with playing from other sources like streaming platforms to see if there's any issues but i dont see why it wouldnt work unless theres something different about the fingerprint (due to streaming compression or other stuff like that?)


Yep, shouldn't cause any problems as minor differences like that shouldn't really affect it.



kdawg2391044 said:


> Eventually for me, I would likely want to get this running on a RasPi since I have one running minidsp-r/ezBEQ but that would require me to possibly rethink where I set up my IR emitters since my AV equip is in the front of my room vs IR emitters in the back (I guess extension cables can solve this where I would extend IR emitters)


Yeah, I see the main usage on RasPi. I just need to do some small updates to the RasPi, but I have already tested this performance-wise and it runs fine on a RasPi 3+, so for 3+ and 4 it will be no sweat.



kdawg2391044 said:


> Seemed like the GUI doesnt show the running timestamp like in older versions so after syncing the time based on fingerprint, it shows a snapshot time but doesnt update in realtime. It seemed to update intermittently. This meant that for me it was a little confusing for me to understand if it was synced up or not (such as for playing sections that might trip it up like quiet parts or when you pause/scrub within the same movie). I had to pay attention to the wind effects to check if it was synced with the video vs having the timer to refer to with the list of next commands


The GUI cannot show the running timestamp on a periodic refresh due to the inherent design of the system when using Audio Syncing. The timestamp in the GUI you see is re-labeled to "Last match time:" to specify that it is the last timestamp that was matched via audio.

You just have to trust the software. As long as last audio match it found is accurate, then the software will maintain accuracy in sending it's fan commands. I am using a very accurate way of keeping track of time. You could actually get only a single match at the start of the movie, and as long as you keep playing the movie, my program will stay lock-step synchronized with the movie even after hours. But of course if you seek the movie, or pause and play the movie again, it will find a new match relatively quickly and everything will be back in sync again.

Hopefully this makes sense.

To recap, a movie player keeps very accurate time. It has to, otherwise the audio would get off and there would be frame glitches in the playback. My program also keeps very accurate time. So when it gets an audio match that's only 50ms off from the actual movie time for example, then as long as you don't touch the movie playback, my program will stay that same 50ms off from the actual movie as it sends fan command after fan command accurately.

Only if you pause or seek the movie will they fall out of sync, but they go right back in sync on the next audio match. You should notice that audio matches happen quite frequently (every 2-3 seconds under ideal conditions), but this highly depends on how clear the microphone can hear and how much background noise it going on.



kdawg2391044 said:


> Does seem to take a few seconds to sync up so if you are changing state such as pausing/scrubbing, it can get stuck playing the last set of timecodes until it syncs back up (known limitation of the tech but is a reasonable tradeoff for allowing to play from any other sources).


Yes this is a limitation. You will have to manually disable the fans when you pause the movie if you don't want them going on and off. But when you resume the movie, the program should sync back up and put the fans back into the correct speed within a few to several seconds (depending on microphone clarity, movie volume level vs background noise).

Commercial D-BOX motion chair systems work this way too and have a similar limitation. When you stop the movie, the chairs keep moving for about 10-15 seconds until they decide this much silence means the movie must have stopped. I could do this too, but it could lead to another limitation where if you make too much background noise and the system doesn't find a match for X number of seconds, it will assume the movie has stopped when maybe it actually hasn't.

At some point I will likely include this feature as an option. And it might work great if instead of a microphone, you feed the software an analog line-in signal instead. That way is has a clean signal to the audio even at low volume, and has 0 background noise.



kdawg2391044 said:


> How do you envision the management of fingerprints to work in the future? Is the intention to integrate into Pastebin in a separate folder structure (so that you could say download windtrack individually vs windtrack + fingerprint)?


I haven't quite figured this out or decided on it yet. I think that when you are using Audio Sync mode, it will just automatically download fingerprints along with the windtracks. But I think I will always store them in a separate folder.

I will find a suitable web host for these files.



kdawg2391044 said:


> Is there a way to tie fingerprint to windtrack via metadata or filename to ensure that the correct versions are matched? Like for example in the windtrack header, add in line for fingerprint name with checksum hash?


What do you mean versions? There will only ever need to be 1 version. Whoever makes the windtrack file will need to scan in their video to create the matching fingerptints. And these files should then work for any edition and source of the movie. Excluding different cuts of the movie, but those would be treated as an entirely separate windtrack and fingerprint like a completely different movie.

I will tie the files together somehow. Might be file name, but I might also add a line to the windtrack header to facilitate the connection between the 2 files.



kdawg2391044 said:


> How did you plan to automate the audio selection process if you enable the audio syncing option? Does this require you to constantly process the sound the background and then use an algorithm to downselect the possible movie or is this trigger based somehow?


For automatically selecting the movie, I plan to feed the microphone data to 2 concurrent matching sessions. One session will contain a database of all supported movies and contain only the first 5 minutes or so of each movie. If this session finds a match, it will swap out the other session (with the correct movie) which contains the full movie and is responsible for the actual windtrack timestamp sync.



kdawg2391044 said:


> I was curious if there is some debugging log view that shows the match confidence and timestamp in case something causes the algorithm to trip up to help diagnose but honestly dont know if this even is useful or makes sense given everyones room is going to be different. I think this is just the part of me that likes to know how the black box works so no worries if this isnt worth the time


The Console Window prints when a match is found. Also each fan command is instantly printed to the console as well when it is sent to the fans. You can watch this to see what's going on to some extent.

Also, I do have a sort of accuracy testing built in. But in order to use this, you must play the movie on the same computer as you are running HTFanControl and you must use MPC-HC/BE to play the file.

To do this, simply create a file in the HTFanControl folder called "testaccuracy.txt", and in MPC-HC/BE enable the LAN access on the default port of 13579. When you play the file in MPC-HC/BE, the Console Window on HTFanControl will print out an accuracy report of each match in milliseconds compared to the time it pulls directly from the media player LAN access.


Hope this clears up some things. Sounds pretty promising from your initial testing though. Let me know if you want more explanation of things.


----------



## SOWK

First Audio Only wind track (until the disk is released)

Nobody (2021) - Amazon

Enjoy!


----------



## SirMaster

SOWK said:


> First Audio Only wind track (until the disk is released)
> 
> Nobody (2021) - Amazon
> 
> Enjoy!


Here are the audio fingerprints for this: 


https://nicko88.com/misc/HTFan/fingerprints/Nobody%20(2021)%20-%20Amazon.fingerprints



This is a perfect time to try the audio sync method since this movie only exists in streaming as of yet.

And then we can check the fingerprints and windtrack behavior with the disc when that comes out too.


----------



## kdawg2391044

SirMaster said:


> What do you mean versions? There will only ever need to be 1 version. Whoever makes the windtrack file will need to scan in their video to create the matching fingerptints. And these files should then work for any edition and source of the movie. Excluding different cuts of the movie, but those would be treated as an entirely separate windtrack and fingerprint like a completely different movie.
> 
> I will tie the files together somehow. Might be file name, but I might also add a line to the windtrack header to facilitate the connection between the 2 files.


Yeah this is what I meant, if someone created a windtrack for Avatar with fingerprint vs Avatar Extended Edition, how are the windtracks and fingerprints linked together. I was suggesting to add a line into the windtrack header and also include a checksum of the fingerprint as another validation point.



SirMaster said:


> For automatically selecting the movie, I plan to feed the microphone data to 2 concurrent matching sessions. One session will contain a database of all supported movies and contain only the first 5 minutes or so of each movie. If this session finds a match, it will swap out the other session (with the correct movie) which contains the full movie and is responsible for the actual windtrack timestamp sync.


Thats a really interesting ideal sorta how a dual clutch transmission works I suppose with the other gear preloaded



SirMaster said:


> The Console Window prints when a match is found. Also each fan command is instantly printed to the console as well when it is sent to the fans. You can watch this to see what's going on to some extent.
> 
> Also, I do have a sort of accuracy testing built in. But in order to use this, you must play the movie on the same computer as you are running HTFanControl and you must use MPC-HC/BE to play the file.
> 
> To do this, simply create a file in the HTFanControl folder called "testaccuracy.txt", and in MPC-HC/BE enable the LAN access on the default port of 13579. When you play the file in MPC-HC/BE, the Console Window on HTFanControl will print out an accuracy report of each match in milliseconds compared to the time it pulls directly from the media player LAN access.


I am not sure I understood the instructions correctly. Do I leave audio sync as the Media Player Type in this situation or this is only for when MPC-HC/BE is used? I tried toggling both and looking at the console but dont see anything different that shows an accuracy report. Also when I tried to use audio sync on same computer thats playing the video, the matching didnt seem to work using built in mic. I played the movie for about a minute and nothing seemed to be happening with the match. I did get it to output accuracy matches when it was set up like normal using my main Plex client in the theater room (Audio Sync using room audio) but I dont have MPC-HC/BE open at all. Also, how should I interpret the accuracy number? it seems to just increment up as I progress in a movie which doesnt make sense to me. 












SirMaster said:


> The GUI cannot show the running timestamp on a periodic refresh due to the inherent design of the system when using Audio Syncing. The timestamp in the GUI you see is re-labeled to "Last match time:" to specify that it is the last timestamp that was matched via audio.
> 
> You just have to trust the software. As long as last audio match it found is accurate, then the software will maintain accuracy in sending it's fan commands. I am using a very accurate way of keeping track of time. You could actually get only a single match at the start of the movie, and as long as you keep playing the movie, my program will stay lock-step synchronized with the movie even after hours. But of course if you seek the movie, or pause and play the movie again, it will find a new match relatively quickly and everything will be back in sync again.
> 
> Hopefully this makes sense.
> 
> To recap, a movie player keeps very accurate time. It has to, otherwise the audio would get off and there would be frame glitches in the playback. My program also keeps very accurate time. So when it gets an audio match that's only 50ms off from the actual movie time for example, then as long as you don't touch the movie playback, my program will stay that same 50ms off from the actual movie as it sends fan command after fan command accurately.
> 
> Only if you pause or seek the movie will they fall out of sync, but they go right back in sync on the next audio match. You should notice that audio matches happen quite frequently (every 2-3 seconds under ideal conditions), but this highly depends on how clear the microphone can hear and how much background noise it going on.


I notice a few things that would trip it up. When I played Ready Player One which has a lot of commands during the beginning race scene, followed by about 9 mins of no commands (10-26 min mark in the movie)

If I play the movie from beginning at lets say 5 min mark, it takes about 5-6 seconds and then it finds a match and is synced up, commands will work well after this, I see a lot of activity in the console where its finding a match every 1-2 seconds. If I scrub during this time to another part of the movie, say 5 mins forward, it seems to still find match quickly (within a second or less). 
Once the race scene starts to play around 13ish min mark and it already has a match, if i pause the movie at this point, the program proceeds to play all the commands in order assuming that the movie is still playing. I noticed that it went all the way until the 00:16:13 min mark which is the last command in that set. After this, it seems to stop doing stuff. So basically it was sending commands for 3 mins even though the movie was paused.
Likewise, if I play the race scene as normal, once it gets to the 00:16:13 min mark and it sends the last off command, if I scrub too far back to the beginning part of the movie, it seems to not do any matching as if its counting internally based on the last match and since its not expecting any additional commands for a while. I tried scrubbing to like the 26 min mark which is the next set of wind track commands and it seemed to sync up really quick
It seems like maybe there is a working buffer of X mins forward and backwards from the last matched time and if you go outside of that window, it doesnt sync properly but I could be wrong on that. Or you are using the windtrack timestamps as the working buffer (X number of commands forward and backwards) in terms of doing the check for matching the audio.
If you just play the movie from beginning to end, then it will work flawlessly, its just when you pause or scrub, then it gets tripped up. Any ideas on how to address these things? I think mostly the pausing would be the main issue that people would encounter.


----------



## SirMaster

kdawg2391044 said:


> Yeah this is what I meant, if someone created a windtrack for Avatar with fingerprint vs Avatar Extended Edition, how are the windtracks and fingerprints linked together. I was suggesting to add a line into the windtrack header and also include a checksum of the fingerprint as another validation point.


Well extended edition should have a different file name for both the windtrack and fingerprint and both these pairs of files should match in name, other than different file extensions.

This currently how they link, but I could add some other metadata for linking if it becomes needed or useful in some way.




kdawg2391044 said:


> I am not sure I understood the instructions correctly. Do I leave audio sync as the Media Player Type in this situation or this is only for when MPC-HC/BE is used? I tried toggling both and looking at the console but dont see anything different that shows an accuracy report. Also when I tried to use audio sync on same computer thats playing the video, the matching didnt seem to work using built in mic. I played the movie for about a minute and nothing seemed to be happening with the match. I did get it to output accuracy matches when it was set up like normal using my main Plex client in the theater room (Audio Sync using room audio) but I dont have MPC-HC/BE open at all. Also, how should I interpret the accuracy number? it seems to just increment up as I progress in a movie which doesnt make sense to me.
> 
> View attachment 3130462


Well the accuracy testing only works when it's getting a time reading from the MPC-HC/BE player LAN API. In your case it is not (see PlayerTime is 0:00:00:00).

The code is hard-coded to read the PlayerTime from 127.0.0.1:13579 from MPC-HC/BE LAN API. So you must be running the player and the HTFanControl from the same PC.

You do not set the program to MPC sync, you set it to Audio Sync and crating that text file engages the hardcoded 127.0.0.1:13579 player time access.




kdawg2391044 said:


> I notice a few things that would trip it up. When I played Ready Player One which has a lot of commands during the beginning race scene, followed by about 9 mins of no commands (10-26 min mark in the movie)
> 
> If I play the movie from beginning at lets say 5 min mark, it takes about 5-6 seconds and then it finds a match and is synced up, commands will work well after this, I see a lot of activity in the console where its finding a match every 1-2 seconds. If I scrub during this time to another part of the movie, say 5 mins forward, it seems to still find match quickly (within a second or less).
> Once the race scene starts to play around 13ish min mark and it already has a match, if i pause the movie at this point, the program proceeds to play all the commands in order assuming that the movie is still playing. I noticed that it went all the way until the 00:16:13 min mark which is the last command in that set. After this, it seems to stop doing stuff. So basically it was sending commands for 3 mins even though the movie was paused.
> Likewise, if I play the race scene as normal, once it gets to the 00:16:13 min mark and it sends the last off command, if I scrub too far back to the beginning part of the movie, it seems to not do any matching as if its counting internally based on the last match and since its not expecting any additional commands for a while. I tried scrubbing to like the 26 min mark which is the next set of wind track commands and it seemed to sync up really quick
> It seems like maybe there is a working buffer of X mins forward and backwards from the last matched time and if you go outside of that window, it doesnt sync properly but I could be wrong on that. Or you are using the windtrack timestamps as the working buffer (X number of commands forward and backwards) in terms of doing the check for matching the audio.
> If you just play the movie from beginning to end, then it will work flawlessly, its just when you pause or scrub, then it gets tripped up. Any ideas on how to address these things? I think mostly the pausing would be the main issue that people would encounter.


This whole situation is interesting. You are way overthinking how the software works though. There is no buffering or anything like that.

What the code should be doing is just listening for any match at any time. When it gets one it sets it's internal timer to that timetamp moment and issues the command it should be in at that moment, and then starts counting to the next commands issuing them along the way. That's it.... The logic and behavior really is that simple.



kdawg2391044 said:


> Once the race scene starts to play around 13ish min mark and it already has a match, if i pause the movie at this point, the program proceeds to play all the commands in order assuming that the movie is still playing.


Yes we have been over this. The program will keep going until the end of the movie.

There is no easy way around this. What do you suggest I do?

All I can do is stop the commands if I don't find a match for X duration. But what duration of no matches is reasonable? And in my testing I found that a little background noise or quiet scenes can easily stop matches from happening for a long time which would then pause the commands. This is much worse IMO than the current behavior where the commands keep going when you pause the movie. I don't know about other people but I don't normally pause a movie very often when I watch it in my theater, and if I do pause, I can stop the commands by pressing the disable fans button in the WebUI if I don't like the fans going on and off while the movie is paused.



kdawg2391044 said:


> I noticed that it went all the way until the 00:16:13 min mark which is the last command in that set. After this, it seems to stop doing stuff. So basically it was sending commands for 3 mins even though the movie was paused.


Well, after the 00:16:15,OFF command, there are no commands for 10 minutes, not until 00:25:42,HIGH.



kdawg2391044 said:


> Likewise, if I play the race scene as normal, once it gets to the 00:16:13 min mark and it sends the last off command, if I scrub too far back to the beginning part of the movie, it seems to not do any matching as if its counting internally based on the last match and since its not expecting any additional commands for a while. I tried scrubbing to like the 26 min mark which is the next set of wind track commands and it seemed to sync up really quick


Well, if you scrub back, it should find a match and go back to that section of commands. I will have to test this myself to see if something is going wrong. Scrubbing back should not work any different than scrubbing forward. So more testing is just needed to find out what's going wrong.



kdawg2391044 said:


> It seems like maybe there is a working buffer of X mins forward and backwards from the last matched time and if you go outside of that window, it doesnt sync properly but I could be wrong on that. Or you are using the windtrack timestamps as the working buffer (X number of commands forward and backwards) in terms of doing the check for matching the audio.


There is no buffer or anything like that, no time window or scrubbing limits or X command forward/backward limits. It shouldn't matter how far forward or backwards you jump, it should all work the same. If it's not working it's just a generic bug and the program not doing what I thought it should be doing. This is what I mean when I said it's early testing phase. Finding issues like this that are not behaving as they should and I do not know why until I do some testing now. I'll focus on jumping forward and back a lot, but I did not notice a problem in my limited initial testing.


I really appreciate your testing. I will have to spend some time testing this jumping back and forth to try to figure out what is going wrong.

I can put an automatic pausing option in the next version with a configurable timeout duration if you think it's worth trying to see if that can work. So like no matches for (X configurable seconds) means assume the movie is paused, so stop issuing fan commands. But it keeps listening and as soon as it finds a match, it automatically resumes operation.


----------



## Tate1023

SirMaster said:


> Well extended edition should have a different file name for both the windtrack and fingerprint and both these pairs of files should match in name, other than different file extensions.
> 
> This currently how they link, but I could add some other metadata for linking if it becomes needed or useful in some way.
> 
> 
> 
> 
> Well the accuracy testing only works when it's getting a time reading from the MPC-HC/BE player LAN API. In your case it is not (see PlayerTime is 0:00:00:00).
> 
> The code is hard-coded to read the PlayerTime from 127.0.0.1:13579 from MPC-HC/BE LAN API. So you must be running the player and the HTFanControl from the same PC.
> 
> You do not set the program to MPC sync, you set it to Audio Sync and crating that text file engages the hardcoded 127.0.0.1:13579 player time access.
> 
> 
> 
> 
> This whole situation is interesting. You are way overthinking how the software works though. There is no buffering or anything like that.
> 
> What the code should be doing is just listening for any match at any time. When it gets one it sets it's internal timer to that timetamp moment and issues the command it should be in at that moment, and then starts counting to the next commands issuing them along the way. That's it.... The logic and behavior really is that simple.
> 
> 
> 
> Yes we have been over this. The program will keep going until the end of the movie.
> 
> There is no easy way around this. What do you suggest I do?
> 
> All I can do is stop the commands if I don't find a match for X duration. But what duration of no matches is reasonable? And in my testing I found that a little background noise or quiet scenes can easily stop matches from happening for a long time which would then pause the commands. This is much worse IMO than the current behavior where the commands keep going when you pause the movie. I don't know about other people but I don't normally pause a movie very often when I watch it in my theater, and if I do pause, I can stop the commands by pressing the disable fans button in the WebUI if I don't like the fans going on and off while the movie is paused.
> 
> 
> 
> Well, after the 00:16:15,OFF command, there are no commands for 10 minutes, not until 00:25:42,HIGH.
> 
> 
> 
> Well, if you scrub back, it should find a match and go back to that section of commands. I will have to test this myself to see if something is going wrong. Scrubbing back should not work any different than scrubbing forward. So more testing is just needed to find out what's going wrong.
> 
> 
> 
> There is no buffer or anything like that, no time window or scrubbing limits or X command forward/backward limits. It shouldn't matter how far forward or backwards you jump, it should all work the same. If it's not working it's just a generic bug and the program not doing what I thought it should be doing. This is what I mean when I said it's early testing phase. Finding issues like this that are not behaving as they should and I do not know why until I do some testing now. I'll focus on jumping forward and back a lot, but I did not notice a problem in my limited initial testing.
> 
> 
> I really appreciate your testing. I will have to spend some time testing this jumping back and forth to try to figure out what is going wrong.
> 
> I can put an automatic pausing option in the next version with a configurable timeout duration if you think it's worth trying to see if that can work. So like no matches for (X configurable seconds) means assume the movie is paused, so stop issuing fan commands. But it keeps listening and as soon as it finds a match, it automatically resumes operation.


Thanks for putting all this together. I am very excited for this so I can use Plex client to play the wind tracks vs kodi. A couple questions. Will it matter if a usb mic is used vs a 3.5mm input mic? Could I load beta20 along side beta19 so I can keep using beta19 while this gets polished? Do the fingerprints for audio sync go in the same folder as the time stamps or does beta20 create a place to put the fingerprints? To be clear each current timestamp needs a fingerprint done with the same version to work with the new audio sync feature. Thanks for the help. I am very excited to help test this out.


----------



## SirMaster

Tate1023 said:


> Thanks for putting all this together. I am very excited for this so I can use Plex client to play the wind tracks vs kodi. A couple questions. Will it matter if a usb mic is used vs a 3.5mm input mic? Could I load beta20 along side beta19 so I can keep using beta19 while this gets polished? Do the fingerprints for audio sync go in the same folder as the time stamps or does beta20 create a place to put the fingerprints? To be clear each current timestamp needs a fingerprint done with the same version to work with the new audio sync feature. Thanks for the help. I am very excited to help test this out.


Well, Plex potentially works from syncing over network connection, but depending on the exact Plex setup it can sometime not work very well. You might have a better experience with audio syncing overall.

It doesn't matter what audio input device you use. It can be USB mic or 3.5mm mic or analog audio line-in.

You could run both versions in different folders, but you don't necessarily need to. All the normal functionality should work just fine in Beta20.

The .fingerprints files go in the "fingerprints" folder which gets created by Beta20.

Yes each movie needs a .fingerprints file created for it which will be done at some point. I could start making a bunch more in the next few days for movies I readily have access to in no particular order. Or if there are specific movies you want done I can do them right away.


----------



## brazen1

Do the new additional .fingerprint files need to be created by the windtrack author for existing and future videos or should the users of them create them? Exactly what is the procedure to create them? Does it require a new WindTrackCreator.exe you haven't released yet? I don't think the burden should fall on SirMaster unless it has to. You wrote about hosting them on your personal server. Couldn't they be uploaded here next to the WindTrack file?


----------



## SirMaster

brazen1 said:


> Do the new additional .fingerprint files need to be created by the windtrack author for existing and future videos or should the users of them create them? Exactly what is the procedure to create them? Does it require a new WindTrackCreator.exe you haven't released yet? I don't think the burden should fall on SirMaster unless it has to. You wrote about hosting them on your personal server. Couldn't they be uploaded here next to the WindTrack file?


The new .fingerprints will be created by a future version of WindTrackCreator. I will try to have this released by end of this weekend.

Normally the windtrack author would create them as it makes the most sense.

The only important requirement is that the .fingerprints are created from the same version of the movie as was used to code the windtrack. Fortunately we have the disc version and exact file duration saved in each windtrack, so anyone can know if they had the correct version of the movie and they could make the .fingerprints themselves.

I have many movies so I could make most of these, but you can do the ones that you made windtracks for when I have released the update for WindTrackCreator. The process doesn't take too long.

They could be uploaded here for now. But I want movies to be able to be downloaded from the WebUI, so eventually I need to find a suitable free host for these files so that they are in a static location that I can easily parse a list from and download programmatically from.

I don't mind hosting them on my personal server for now until I can decide on a better host. The only downside is it's not as fast as it could be and the uptime is not 100%. But the uptime is still very high. I could put an upload box on my server for people to upload new .fingerprints through, but for now posting them on here like we do for windtracks is fine.


----------



## brazen1

Do the movie.txt WindTrack files and the movie.fingerprint files have to remain separate file types or can the codes be combined in one file and HTFC.exe read and apply as necessary?


----------



## SirMaster

brazen1 said:


> Do the movie.txt WindTrack files and the movie.fingerprint files have to remain separate file types or can the codes be combined in one file and HTFC.exe read and apply as necessary?


I could combine them in a .zip and HTFC can just access each file from within the .zip as needed.

This would then basically make the filgerprint data "required" even for people not using audio sync. Meaning whe they go to download a new supported movie, they would get the fingerprint data even if they aren't using it.

You think that is fine? I guess the files are small enough, but this could be a couple GB some day.

About 1.6GB for all current movies once we make the fingerprints.


I do like this idea of combining them in a .zip though for ease of management.


----------



## brazen1

I'm thinking the more simplified the better and really thinking about those not so PC savvy but want enjoy this 4D wind effect. I doubt many users are going to D/L all the movies available - just what they want. Even so, a couple GB is nothing in this day and age... even for a RPI SD card keeping everything local. Also, there is going to be users presently using discs and rips who hang it up and switch to streaming (unfortunately) and the migration would be seamless for them.


----------



## Tate1023

SirMaster said:


> Well, Plex potentially works from syncing over network connection, but depending on the exact Plex setup it can sometime not work very well. You might have a better experience with audio syncing overall.
> 
> It doesn't matter what audio input device you use. It can be USB mic or 3.5mm mic or analog audio line-in.
> 
> You could run both versions in different folders, but you don't necessarily need to. All the normal functionality should work just fine in Beta20.
> 
> The .fingerprints files go in the "fingerprints" folder which gets created by Beta20.
> 
> Yes each movie needs a .fingerprints file created for it which will be done at some point. I could start making a bunch more in the next few days for movies I readily have access to in no particular order. Or if there are specific movies you want done I can do them right away.



Another question for you. I do not stream or use disc in my theater. Everything is digitized and loaded to my server, so if I am happy with how the time stamps work through kodi and I just use kodi for movies with timestamps would there be any benefit to going through the effort of adding the audio sync? 

Also I loaded MPC-HC on my server pc so I can time stamp movies but if I start a movie in it the program does not see a movie playing. The timestamp software is loaded on the same pc. Any ideas? I would really like to contribute to all your hard work. I did not try playing the movie through kodi to do that as that requires me to turn my projector on and I do not want to turn it on every time to code a movie. 

Once again thank you for all your hard work. My wife asked me is it going to rain in here next..haha


----------



## SirMaster

Yeah, I am going to move to .zip containers.

And I just realized that the fingerprints are compressible with about 36% compression.

So 1 hour is about 4.5MB rather than 7MB.

I will probably host them on my server for now and maybe move to GitHub hosting in the future. I can create a dedicated GitHub repo for these windtrack zip files. 1 free GitHub repo will allow me to store fingerprints for about 1,000 movies at this size.

There are still a bunch of things I am deciding on for how things will all work though.


----------



## SirMaster

Tate1023 said:


> Another question for you. I do not stream or use disc in my theater. Everything is digitized and loaded to my server, so if I am happy with how the time stamps work through kodi and I just use kodi for movies with timestamps would there be any benefit to going through the effort of adding the audio sync?
> 
> Also I loaded MPC-HC on my server pc so I can time stamp movies but if I start a movie in it the program does not see a movie playing. The timestamp software is loaded on the same pc. Any ideas? I would really like to contribute to all your hard work. I did not try playing the movie through kodi to do that as that requires me to turn my projector on and I do not want to turn it on every time to code a movie.
> 
> Once again thank you for all your hard work. My wife asked me is it going to rain in here next..haha


If you are just using time stamps through MPC or Kodi then you don't need to do Audio Sync.

The benefit will be when you run into windtracks not coded for disc version or content eventually not on disc.

You need to enable LAN access to MPC-HC. Go to Options -> Player -> Web Interface, and enable "Listen on port" 13579. Then in WindTrackCreator, fill in your IP and port. IP can probably be 127.0.0.1 or localhost.


----------



## brazen1

Tate1023 said:


> I am happy with how the time stamps work through kodi and I just use kodi for movies





Tate1023 said:


> Also I loaded MPC-HC on my server pc so I can time stamp movies but if I start a movie in it the program does not see a movie playing.


Sometimes I use Kodi for playback. Sometimes I use MPC. In the past, you had to choose one or the other. Now you can use either and everything is automated. 
In HTFanControlSettings.txt, the first line should be edited to:
MediaPlayer=KodiMPC

In HTFanControl settings select Kodi.


----------



## SirMaster

brazen1 said:


> Sometimes I use Kodi for playback. Sometimes I use MPC. In the past, you had to choose one or the other. Now you can use either and everything is automated.
> In HTFanControlSettings.txt, the first line should be edited to:
> MediaPlayer=KodiMPC


He's talking about WindTrackCreator though and the media player connection for the hotkey timestamp insertion.


----------



## kdawg2391044

brazen1 said:


> Sometimes I use Kodi for playback. Sometimes I use MPC. In the past, you had to choose one or the other. Now you can use either and everything is automated.
> In HTFanControlSettings.txt, the first line should be edited to:
> MediaPlayer=KodiMPC
> 
> In HTFanControl settings select Kodi.


Is this an undocumented feature? Just curious since I wasnt aware you could do this - not that I would use this in my setup since I use Kodi/Plex.


----------



## SirMaster

kdawg2391044 said:


> Is this an undocumented feature? Just curious since I wasnt aware you could do this - not that I would use this in my setup since I use Kodi/Plex.


Yes lol. 

And it’s only meant for brazen’s setup so I don’t really “support” it. 

If I recall, it gets the title from Kodi, but the timestamp from MPC. 

Because the way he runs, both values are not available from 1 source. 

Kodi has the name of the movie from the mounted ISO, but no timestamps because he’s using an external MPC player in Kodi. 

So MPC has the time position, but not the movie name because it’s playing a filename like A://stream/index.m2ts or something in a virtually mounted disc drive.


----------



## brazen1

I use the official v20 Kodi internal VideoPlayer for 4k HDR titles. I use MPC-BE/HC launched externally from Kodi for all other titles using madVR processing because unlike 4k HDR, they benefit from additional algorithms. This presented a problem for HTFC because I had to select either MPC or Kodi player. It had to be done manually or no wind will blow using one or the other depending which was selected in settings. SirMaster kindly created a release that automated the selection so I don't have to manually make a choice. This is pretty handy considering I'd be half way through a movie before I realized I hadn't selected the correct setting and missed the wind effect. I've had zero problems with any of it and my complete system remains fully automated.


----------



## SirMaster

Oh yeah I forgot that's why. Because sometimes you use different players.


----------



## kdawg2391044

brazen1 said:


> I use the official v20 Kodi internal VideoPlayer for 4k HDR titles. I use MPC-BE/HC launched externally from Kodi for all other titles using madVR processing because unlike 4k HDR, they benefit from additional algorithms. This presented a problem for HTFC because I had to select either MPC or Kodi player. It had to be done manually or no wind will blow using one or the other depending which was selected in settings. SirMaster kindly created a release that automated the selection so I don't have to manually make a choice. This is pretty handy considering I'd be half way through a movie before I realized I hadn't selected the correct setting and missed the wind effect. I've had zero problems with any of it and my complete system remains fully automated.


Makes sense now, I have more recently started to dabble into 3D since my projector supports it but I didnt bother to get glasses until very recently and found your tutorials on the Kodi forums using external players to launch so this makes sense. The more you dig the bigger the rabbit hole in this hobby haha.


----------



## Tate1023

For all movies that do not have a time stamp I use the Plex plugin within Kodi. I would like to use this route for the time stamps but when I play the move through the Plex plugin HTFC doesn't bring up the movie name it just says file. It shows the time and knows a movie is playing just not the name so it can't attached the correct time stamp. If I play the same movie through Kodi and not the Plex plugin it works great. This is with Kodi tagged as the media player in HTFC. If I tag plex as the media player it won't show anything playing through the plex plugin. Is there any work around for this? If not no big deal as I can still play the library through Kodi. The family is just familiar with Plex navigation since its on all our TV's. Thanks again.


----------



## SirMaster

Tate1023 said:


> For all movies that do not have a time stamp I use the Plex plugin within Kodi. I would like to use this route for the time stamps but when I play the move through the Plex plugin HTFC doesn't bring up the movie name it just says file. It shows the time and knows a movie is playing just not the name so it can't attached the correct time stamp. If I play the same movie through Kodi and not the Plex plugin it works great. This is with Kodi tagged as the media player in HTFC. If I tag plex as the media player it won't show anything playing through the plex plugin. Is there any work around for this? If not no big deal as I can still play the library through Kodi. The family is just familiar with Plex navigation since its on all our TV's. Thanks again.


Which Plex plugin for Kodi? There are 2.


----------



## brazen1

*Bird Box (2018)*

Coded by brazen1


----------



## SirMaster

Got the WindTrackCreator update pretty much done.

I can probably release it later tonight.


But now I still need to update HTFanControl to actually use these new .zip windtrack archives and download them from Google Drive (I decided Google Drive will be a suitable windtrack host) rather than Pastebin.

The typical size of these .zip windtrack archives ends up being around 10MB per movie.


----------



## SirMaster

*WindTrackCreator v1.4*

https://github.com/nicko88/WindTrackCreator/releases/download/v1.4/WindTrackCreator.v1.4.zip
Notes:

Added audio fingerprint creation process (see readme for how to use).
This also creates the new Wind Track Package file.

I think I have everything finally decided on for moving forward with the Wind Track Package .zip file format and wanted to get this update out so people can start using it now. We have a lot of movies to get the audio fingerprints scanned in for.

This update to WindTrackCreator should make it super simple and pretty much automatic for creating these audio fingerprints and final wind track package .zip

I will paste an excerpt from the updated readme page for WindTrackCreator from GitHub here:
--------------------------------------------------------------------------------------------------------------------------------------------------
*Audio Fingerprints and final Wind Track Package*
Once you are done creating the commands for your wind track, you then need to create the audio fingerprints and package them up into into a wind track .zip package.

The format for the wind track .zip package is a .zip file with the name of your movie, i.e. *Movie Name (Year)* and inside the .zip will be 3 files:

*commands.txt* (the wind track text file)
*full.fingerprints* (audio fingerprints for the full movie that was used to create the wind track)
*intro.fingerprints* (audio fingerprints for the first 5 minutes of the movie)
You do not need to worry about creating this package yourself as WindTrackCreator will do it for you.

Simply open your wind track file, and click on the "Create Fingerprints" button at the bottom.

First, you need to make sure that you have FFmpeg installed (click the link on the top right of the "Audio Fingerprint Creator" window to do this)

Next, make sure you have a video file opened, a temp folder selected, and a wind track package name entered, i.e. *Movie Name (Year)*

Finally, click the "Create" button and wait for the process to finish.

When the process finishes successfully you will get a message popup, and your Wind Track Package file will be located in the "windtracks" folder located next to WindTrackCreator.exe
--------------------------------------------------------------------------------------------------------------------------------------------------


I have also decided to try using Google Drive to host these wind track packages and this folder can be found here:





HTFanControl Windtracks - Google Drive







drive.google.com





For now keep posting your wind track packages here on this thread and I will get them added to the Google Drive.

I have not programmed the update to HTFanControl yet to use these new .zip packages and new Google Drive folder, but that will be coming in the next few days.

For now I think we can focus on getting all the existing movies ready in the new format anyways.


----------



## aoaaron

SamN said:


> I am in love with this feature!!! I'm just a (pretty) young man from Belgium, but I say this from my heart: You guys are my heroes  I'm going to order the necessary items and start to build my own setup. Hopefully I'll be able to find a right fan. Wish me luck :-D



are u based in US or belgium?> im trying to find these fans in EU


----------



## brazen1

*Those Who Wish Me Dead (2021)*

Coded by brazen1


----------



## SOWK

@brazen1

Just watched Monster Hunter with your wind track! 

Perfection!

You are the gold standard with this stuff!


----------



## brazen1

Thanks for the compliment. I'm glad you liked it.


----------



## kdawg2391044

SOWK said:


> *Raspberry Pi Setup:*
> 
> The instructions for setting up and using HTFanControl on a RasPi should be very simple.
> 
> *Requirements*
> 
> RasPi 2, 3, or 4
> 16GB or greater SD card (with a PC SD card reader)
> For now, all but the RasPi 1 will work and with any amount of RAM. But in the future, if I ever get audio (microphone) syncing to work, you will probably need a RasPi 4 4GB or maybe even 8GB RAM model. So if you are buying one new for this now, please get a RasPi 4.
> 
> 
> *Installation*
> 
> Download the big "HTFanControl_RasPi2-3-4_img.zip" file.
> 
> This is a full SD card image that includes the operating system and everything all pre-installed and set up ready to go.
> 
> Link:
> 
> 
> https://github.com/nicko88/HTFanControl/releases/download/Beta19/HTFanControl_RasPi2-3-4_img.zip
> 
> 
> 
> The small "HTFanControl_RasPi.zip" file is for HTFanControl updates only, but you don't need to worry about this file.
> 
> To install, you need to use the RasPi Imager program from here:
> 
> 
> https://downloads.raspberrypi.org/imager/imager.exe
> 
> 
> 
> Run the imager program and click "Choose OS". Scroll all the way to the bottom and pick "Use custom" and select the zip file you downloaded earlier.
> 
> Then click "Choose SD Card", and pick your SD card, and then finally click "Write"
> 
> When that is all done, simply put the SD card in the RasPi.
> 
> 
> *Set-Up*
> 
> Start by simply powering on the RasPi.
> 
> To setup the first time, you will need to use the wired network connection.
> 
> All you need to do is find your RasPi's IP address and enter that into a browser like so:
> 
> 
> http://IPaddr:5500
> 
> 
> 
> To find your IP you will likely need to look in your router's IP list. Or you can try guessing IPs. Look at the IP format from your computer, it may look like "192.168.1.103" So you could start guessing by trying 192.168.1.100 and incrementing up the last number from 100. Sometimes the second to last number is a 0 instead of a 1 so pay attention to that.
> 
> Once you have connected to your RasPi from a browser you are ready to use it
> 
> Plug in your IguanaWorks IR USB, and set up your HTFanControl settings.
> 
> *Connecting over WiFi*
> 
> If you want to use your RasPi from WiFi instead of a wired network, you will find a "RasPi WiFi" settings page in the HTFanControl browser interface where you can enter in your wireless SSID name and password. After you enter this and save, you will need to reboot your RasPi.
> 
> To reboot the RasPi simply unplug the power and plug it back in.
> 
> Now you will need to find the new WiFi connection IP address like you did for the wired connection before.
> 
> If you want to disable WiFi, just enter random data into the SSID and password boxes, save and reboot.
> 
> 
> *Additional Info*
> 
> If you want to manually manage your windtrack files or settings file you can browse to your RasPi IP as a standard file share from your network.
> 
> On Windows simply click the Start button and enter in \\IPaddr
> 
> You can also access LIRC remote configs from here as well as HTFanControl crash logs for sending to me.
> 
> To update HTFanControl on RasPi, simply click the "Check For Update" link at the bottom of the settings page, and then click the "Update HTFanControl" button on that page. The program should update and automatically restart and the page should automatically refresh when done.


@SirMaster, what is this RaspPi image based off of? I just recently got a Pi v4 to upgrade my v1 which was running ezBEQ (it worked but was kinda slow so figured I upgrade since this audio sync feature was already in the works) and wanted to combine the two. I know that the audio sync isnt ready yet on Pi but figured I get the basis set up. If your image is already based on Rasbian and has SSH enabled, then I can just flash the image and then ssh into it to install ezBEQ/minidsp-r. Also, what is the update mechanism for the HTFanControl app?



SirMaster said:


> *WindTrackCreator v1.4*
> 
> https://github.com/nicko88/WindTrackCreator/releases/download/v1.4/WindTrackCreator.v1.4.zip
> Notes:
> 
> Added audio fingerprint creation process (see readme for how to use).
> This also creates the new Wind Track Package file.
> 
> I think I have everything finally decided on for moving forward with the Wind Track Package .zip file format and wanted to get this update out so people can start using it now. We have a lot of movies to get the audio fingerprints scanned in for.
> 
> This update to WindTrackCreator should make it super simple and pretty much automatic for creating these audio fingerprints and final wind track package .zip
> 
> I will paste an excerpt from the updated readme page for WindTrackCreator from GitHub here:
> --------------------------------------------------------------------------------------------------------------------------------------------------
> *Audio Fingerprints and final Wind Track Package*
> Once you are done creating the commands for your wind track, you then need to create the audio fingerprints and package them up into into a wind track .zip package.
> 
> The format for the wind track .zip package is a .zip file with the name of your movie, i.e. *Movie Name (Year)* and inside the .zip will be 3 files:
> 
> *commands.txt* (the wind track text file)
> *full.fingerprints* (audio fingerprints for the full movie that was used to create the wind track)
> *intro.fingerprints* (audio fingerprints for the first 5 minutes of the movie)
> You do not need to worry about creating this package yourself as WindTrackCreator will do it for you.
> 
> Simply open your wind track file, and click on the "Create Fingerprints" button at the bottom.
> 
> First, you need to make sure that you have FFmpeg installed (click the link on the top right of the "Audio Fingerprint Creator" window to do this)
> 
> Next, make sure you have a video file opened, a temp folder selected, and a wind track package name entered, i.e. *Movie Name (Year)*
> 
> Finally, click the "Create" button and wait for the process to finish.
> 
> When the process finishes successfully you will get a message popup, and your Wind Track Package file will be located in the "windtracks" folder located next to WindTrackCreator.exe
> --------------------------------------------------------------------------------------------------------------------------------------------------
> 
> 
> I have also decided to try using Google Drive to host these wind track packages and this folder can be found here:
> 
> 
> 
> 
> 
> HTFanControl Windtracks - Google Drive
> 
> 
> 
> 
> 
> 
> 
> drive.google.com
> 
> 
> 
> 
> 
> For now keep posting your wind track packages here on this thread and I will get them added to the Google Drive.
> 
> I have not programmed the update to HTFanControl yet to use these new .zip packages and new Google Drive folder, but that will be coming in the next few days.
> 
> For now I think we can focus on getting all the existing movies ready in the new format anyways.


Tested this new version out with the fingerprint creation and didnt have any issues. It took about 10 mins (I think) to go through the fingerprint process but I wasnt looking at it closely. I didnt have FFMpeg installed so using the built in link worked great.


----------



## SirMaster

kdawg2391044 said:


> what is this RaspPi image based off of? I just recently got a Pi v4 to upgrade my v1 which was running ezBEQ (it worked but was kinda slow so figured I upgrade since this audio sync feature was already in the works) and wanted to combine the two. I know that the audio sync isnt ready yet on Pi but figured I get the basis set up. If your image is already based on Rasbian and has SSH enabled, then I can just flash the image and then ssh into it to install ezBEQ/minidsp-r. Also, what is the update mechanism for the HTFanControl app?


The image is based on Ubuntu Server LTS 32-bit, so it will be 20.04.2 from here:


https://ubuntu.com/download/raspberry-pi



This 1 image file works on Pi 2, 3, and 4 and Ubuntu is easy to work with in general.

Though I do not plan on having users modify the image, you should have no problems SSHing in and installing BEQ stuff.

The update mechanism for HTFanControl on RasPi is a built-in button in the WebUI that takes care of everything. IT will stop the program, download the new version, swap it out, and restart the new version.

I am also creating a small management WebUI for the RasPi image which will allow users to easily stop/start HTFanControl, and shut down or reboot the RasPi.

The goal is a complete plug-and-play appliance-like experience with no need to do anythign with the RasPi outside of the WebUI's that are included in the image.

Even setting up WiFi credentials is built into my WebUI.

The main point of my image is that all the necessary things are set up and pre-configured. This includes Ubuntu installation, user initialization / localization, LIRC install and config, HTFanControl install, network folder sharing install and config (i.e. you can access windtracks folder and such simply via \\LANIP on your network to the RasPi)

It will still be a bit before I will get a new RasPi image set up because I still have yet to write the little admin app WebUI that I mentioned and I need to do all this after I get HTFanControl update released.

So all in the coming weeks.




kdawg2391044 said:


> Tested this new version out with the fingerprint creation and didnt have any issues. It took about 10 mins (I think) to go through the fingerprint process but I wasnt looking at it closely. I didnt have FFMpeg installed so using the built in link worked great.


Awesome, thanks for trying it. brazen1 was also able to use it and he made something like 33 wind track .zip packages for movies that he coded that I did not have.


I'm still working on the update to HTFanControl which will support these .zip packages and will let everyone know when that is ready and released. Will probably still need to do more testing with seeking around and such since you were seeing some issues with that. I still don't _think_ there should be issues, but I will definitely do more robust testing after the update is released and iron any of these issues out and improve the overall behavior as much as I can.

I also modified the verify accuracy debug option so that it will read the IP : port (instead of localhost only) from your settings file for MPC player for accessing accurate timestamp comparison.

All the windtrack .zip's are again located in Google Drive:





HTFanControl Windtracks - Google Drive







drive.google.com





Also on my home server:


https://nicko88.com/misc/HTFan/Windtracks/



HTFanControl will use Google Drive as it's repository of windtrack files though (via the WebUI download) as Google servers will be more reliable and faster than my home server.


----------



## SirMaster

*WindTrackCreator v1.4.1*

https://github.com/nicko88/WindTrackCreator/releases/download/v1.4.1/WindTrackCreator.v1.4.1.zip
Notes:

Minor tweaks

Nothing to note here really. Just grab the latest update if you use this app.


----------



## brazen1

*Love and Monsters (2020)*

Coded by brazen1


----------



## brazen1

*Dredd (2012)*

Coded by brazen1
Excellent Dolby Atmos


----------



## brazen1

*Chaos Walking (2021)*

Coded by brazen1


----------



## brazen1

Any update progress for HTFanControl to use the new zip files? No rush... just curious.


----------



## SirMaster

brazen1 said:


> Any update progress for HTFanControl to use the new zip files? No rush... just curious.


I _should_ be rushed so that I get it done haha.

The code is actually "done" since like a week or 2 ago.

I wanted to do more testing though before I release it.

(mainly it's making sure this feature works that I am trying to add that should cut down on false positives in audio matching)

Thanks for the reminder, I will focus on making myself do some testing and then I can release it really soon.

I guess worst case if there is a bug I can just fix it and release more updates pretty quickly, however small.

I don't _like_ to release buggy code, but I guess if people don't mind being a sort of "tester" then it's OK.


----------



## Tate1023

Let's test away. The work you are doing is awesome and much appreciated. I definitely don't mind testing beta versions. Thanks again for all your hard work.


----------



## SirMaster

*HTFanControl Beta21*

https://github.com/nicko88/HTFanControl/releases/download/Beta21/HTFanControl_Win.zip
*Changelog*

Changed app to use wind track .zip files instead of .txt files.
(Still supports .txt files however for those who wish to keep using the app that way)

Added search / filter to WindTrack download page.
Tweaks to audio syncing functionality.
(more tweaks may be needed based on user testing and feedback)


Alright, here is the update to support the new WindTrack .zip files.

All the .zip files have been made and are in the online WindTrack database.

You can always download them manually from these 2 links as well as from the program WebUI:





HTFanControl Windtracks - Google Drive







drive.google.com






https://nicko88.com/misc/HTFan/Windtracks/



Things seem to be working pretty well in my testing but lets find out how it works for you all. Don't forget all the program output in the Console window which will help you understand what is happening during testing.

*Current Limitations:*
When using Audio Sync mode, you need to manually select the movie you are playing from the WebUI. I have some ideas though for how to potentially automate this process in the future.

Currently when pausing a movie when using Audio Sync mode, the WindTrack does not stop. It will continue to run and send fan commands as if the movie was continuing to play. This is not really a big deal because when you resume your movie, the Audio Sync will pick right back up in a couple seconds where it should be, and it will put the fan right back into the correct speed for that moment in the movie.

If you don't want the fan potentially changing speeds while paused, for now you can press the Disable/Enable Fans button in the WebUI when you pause and resume your movie.

I have ideas to incorporate an automatic pause feature in the future, but it will always be tricky to detect a pause vs. a very quiet or silent portion of the movie. So even when I do add an auto pause feature, people may not end up choosing to use it anyways, unless they find it works reliably for them.


*For those who want to dig a little more into testing:*
There is an audio sync accuracy check mode that I built into the code.

To use this feature, you must play your video file with MPC-HC/BE.

To enable the test mode, create a file called "testaccuracy.txt" and put it in the app folder next to HTFanControl.exe

Then in the HTFanControl settings page, set your media player connection info for your MPC-HC/BE player and save that before switching the sync mode to Audio Sync.

Now when you perform audio sync, you should see a reported audio match accuracy in the Console output.

Accuracy is reported in milliseconds. I am hoping for better than +/- 250ms accuracy worst case at this time, but I may find ways to improve this in the future. But 250ms accuracy worst case should be sufficient for wind effects anyways.


----------



## SirMaster

Finally got the index for all the .zip files updated, so all movies are available from the Beta21 WebUI now.

Added new movies (all coded by SOWK)

Donnie Darko (2001) 
Indiana Jones and the Raiders of the Lost Ark (1981)
Indiana Jones and the Temple of Doom (1984)
Jurassic World (2015)
Jurassic World Fallen Kingdom (2018)


----------



## SOWK

Brazen, want to code Black Widow for me tonight… lol

Joking.


----------



## SOWK

I have coded Black Widow for Disney+ Streaming.

Hopefully this might entice people to use the audio mode! 

*Black Widow (2021)*


----------



## SOWK

*Spies in Disguise (2019)*


----------



## brazen1

*Greenland (2020)*

Coded by brazen1


----------



## Tate1023

I am trying to use MPC-HC with wind track creator on the same computer. This is on a windows machine. If I open both and start the movie in MPC-HC wind track creator says it can't connect to MPC. I put in the IP of my windows computer with no luck. What should IP and port settings be if using together on the same computer? Do I need to add the IP and port in my router for it to work? Thanks for the help.

I just tried connecting to Kodi with the same settings HTFanControl uses with no success. Fancontrol has no problem connecting to kodi. Wind track creator will not connect. Any ideas? Thanks for the help.


----------



## SirMaster

Tate1023 said:


> I am trying to use MPC-HC with wind track creator on the same computer. This is on a windows machine. If I open both and start the movie in MPC-HC wind track creator says it can't connect to MPC. I put in the IP of my windows computer with no luck. What should IP and port settings be if using together on the same computer? Do I need to add the IP and port in my router for it to work? Thanks for the help.


Did you actually enable the web interface listen on port?

Try launching in web browser to actually see the connection work and what the IP that will work is.

If so, you should be able to use 127.0.0.1, or whatever the LAN IP of your PC is. Nothing to do with your router.


----------



## Tate1023

The screen shot below is what I get when I open the wind track creator. Where can I access the options screen that you posted.


----------



## SirMaster

Tate1023 said:


> The screen shot below is what I get when I open the wind track creator. Where can I access the options screen that you posted.


It's just the Options screen in MPC-HC. Just press O when you have MPC-HC focused, and then go to the Web Interface tab and enable "Listen on port:"

Hmm, I can't think why Wind Track Creator can't connect to Kodi, but HTFanControl can. They both use basically the same connection code.


----------



## Tate1023

That did the trick. Thank you. What tricks do you use to encode a movie. Do you speed it up in MPC then just tag the wind events as you see them? If it is a new movie that you have not seen yet do you watch it first before encoding it so you don't see what happens? Now that this is working I can finally help and make wind tracks. Thanks again.


----------



## SirMaster

Tate1023 said:


> That did the trick. Thank you. What tricks do you use to encode a movie. Do you speed it up in MPC then just tag the wind events as you see them? If it is a new movie that you have not seen yet do you watch it first before encoding it so you don't see what happens? Now that this is working I can finally help and make wind tracks. Thanks again.


I actually haven't made any wind tracks. All my time has been on the HTFanControl and WindTrackCreator code.

You would have to ask @brazen1 and @SOWK as they have made pretty much all the wind tracks.

I know SOWK does flip through a movie we have not seen yet looking for scenes to add wind to and hopefully not spoiling the movie too much.


Hopefully we can get more users in the future and then more wind tracks are being made for movies others have not seen yet when everyone shares their tracks.


I have no intentions on letting the project die. The Audio Sync mode seems to be working well from my testing so I am pretty exited about that (it's available in the latest version so anyone can already be using it now.)



*I know that there is a problem sourcing compatible fans, but I am working on a potential solution for this so please stand by on that everyone.*


----------



## brazen1

*A Quiet Place Part II (2020)*

Coded by brazen1


----------



## brazen1

Tate1023 said:


> That did the trick. Thank you. What tricks do you use to encode a movie. Do you speed it up in MPC then just tag the wind events as you see them? If it is a new movie that you have not seen yet do you watch it first before encoding it so you don't see what happens? Now that this is working I can finally help and make wind tracks. Thanks again.


I watch a title by myself. When finished, I evaluate if it's windtrack worthy and if it is, I get a general idea when it should blow. Some titles could have wind blows the entire time so as an author I try to only use significant impact events. Other times, wind blows are subtle and less frequent in a title but still worthy of a windtrack and you might have to be creative to insert them. In the past, being new to this, I/we blew as often as possible but sort of learned that approach was less of an impact because the 'surprise' of the wind was more important than the amount of times it could blow. Less is more imo. Of course everyone is their own creator with their own visions, so there is no right or wrong. Some titles simply beg to blow a lot and others not so much so be creative and find a happy medium if you have to. 

So, once I have a general idea about how the title will accept a windtrack after initially watching it, I fire it up again reducing the player screen to one half of my display. The other half for WindTrackCreator. Both screens require concentration. I play the title using 10 sec jumps and these can advance pretty quickly as some scenes are repetitive enough I know there are no code moments in them and memory helps from the first viewing. Set your player up to use the up, down, left and right keyboard arrows. When I arrive at a coding moment, I frame advance forward/back until I land on the exact frame for the blow to start, change, or end and evaluate the intensity of the blow based on any subsequent blows that may or may not come into play. The important thing is to start, change, and end a code on the exact frame. Although this sounds tedious, after you become familiar with the process, things progress rapidly.

When finished, I proof the title by watching it again in its entirety with windtracks active. Usually, this is when I have guest(s) to enjoy it with. I ALWAYS find things to edit. Sometimes those 10sec jumps contained something I missed. Other times things just don't add-up when seeing it in real time. Either I jot down the timestamp or interrupt playback and edit immediately depending on who's viewing with me. I have MPC player timestamp OSD mapped to my remote which displays a very tiny window overlaid I can toggle on/off. Kodi info window works the same but is much more obtrusive fwiw.

Do use the number pad to enter codes. This will become 2nd nature and speed up production the more you use it. Be aware - try not to multitask or you will find your windtrack code filled with errors you didn't know you were entering.

The difference between eco, low, medium, high are very subtle. They have their moments but eco to high and vice versa is the most dramatic. IE: Low to medium probably won't be noticeable. A simple on/off blow using medium for example might be more appropriate than any other speed. You, as the creator, determines this. Yet, for fading wind in or out over an extended time, all the intensities are useful.

Mind the WindTrackCreator yellow and red warnings. They are invaluable.

Do adjust the HTFanControl Global and Spin-up offsets. You will find there is a difference from when a fan speed turns on from an off state vs when a fan speed changes from an on state. You will also notice, using the Seville fan and perhaps others, that from an off state to Eco, it momentarily blows on high and reduces speed down to Eco. Personally, I don't like this at all but it is what it is. I also wish Eco blew less intense but that's the lowest there is. Hopefully other fans will be tested that might perform better - even if they have less speed choices.

Do be certain to set the Seville fan adjustments properly. There is a setting (I don't know what it's called) that auto switches fan speeds from time to time to mimic natural wind no matter what you originally input including fan codes. Turn it off. 

Optionally, you can rename MediaPlayer=Kodi to MediaPlayer=KodiMPC on the first line of HTFanControlSettings.txt. Sometimes you might use Kodi for playback and other times an MPC player launched externally via Kodi. (I use Kodi for 4k and MPC/MadVR for everything else). This allows the fan codes to function using both players and not just one or the other. Select Kodi in HTFanControl. The switching is automated. MPC does not blow unless it's launched via Kodi. If you want it to blow without launching from Kodi, select MPC-HC/BE in HTFanControl. I mention this because I use MPC for creating but I use Kodi for playback and when creating, I don't want the fan to blow. 

I'm sure there's more I can add and perhaps others but this is a basic tut to help newcomers. Anyone's participation is welcomed by all here


----------



## AndreNewman

Has there been any progress in finding available suitable new fan units?

I'm currently using a ceiling fan but it's only useful for the highest gusts and it kind of gives the game away as it's spinning up for a blow! So I'd like to switch to something more discrete, more able to do the smaller shorter puffs.

If someone has taken apart a few different fans trying to find something suitable maybe they would know if these tower fans are generally AC Mains motors or hopefully more probably 12 or 24v DC? If they are DC it should be easy to rip out the controller and put in something that takes an IR signal or a network message and does what we need.

I'm an Electronics Engineer so I'm happy to take a look at something if someone else can give me a hint that it's likely to be worthwhile.


----------



## MinHeadroom

Having lurked this thread for about three years, I am looking into taking the plunge.

A question that I’m not sure how many can answer: if you are using a BOSS riser (will find link), how much does this compare as far as the natural and immersive envelope it creates?

I plan to do it, just trying to figure out my reward:effort ratio


----------



## SirMaster

AndreNewman said:


> Has there been any progress in finding available suitable new fan units?
> 
> I'm currently using a ceiling fan but it's only useful for the highest gusts and it kind of gives the game away as it's spinning up for a blow! So I'd like to switch to something more discrete, more able to do the smaller shorter puffs.
> 
> If someone has taken apart a few different fans trying to find something suitable maybe they would know if these tower fans are generally AC Mains motors or hopefully more probably 12 or 24v DC? If they are DC it should be easy to rip out the controller and put in something that takes an IR signal or a network message and does what we need.
> 
> I'm an Electronics Engineer so I'm happy to take a look at something if someone else can give me a hint that it's likely to be worthwhile.


Since you asked, yes I just recently started working on something.

It's generally too early to share much as I am not sure how it will all pan out, so I didn't want to make any promises yet.

But I will just say for those interested but wondering what fan they can use, just stand by and watch this space for now.

Summer is a season when I have less time for home hobby projects, so this will just take some time, but hopefully not too much time in the grand scheme of things.


----------



## SirMaster

MinHeadroom said:


> Having lurked this thread for about three years, I am looking into taking the plunge.
> 
> A question that I’m not sure how many can answer: if you are using a BOSS riser (will find link), how much does this compare as far as the natural and immersive envelope it creates?
> 
> I plan to do it, just trying to figure out my reward:effort ratio


I think those that are using this would tell you that the effect is quite natural.

Just like anything, the naturalness really works when everything is "calibrated" appropriately, meaning the timings with the global offset and spin-up time.

The wind tracks themselves are also important, but I believe the ones made and being made by a couple dedicated users here are doing a great job at providing a seamless enhancement to the films without feeling distracting or out of place.


----------



## MinHeadroom

Thank you for your response and funny you should say that: I was just looking on Amazon at the recommended fan and I went down a rabbit hole doing Internet searches on “fan spin up time.“

I have never really paid attention to the dynamic range of wind in audio tracks. It seems like something that, once one is used to it, it is hard to go without.

I would love to see this go the direction of BEQ


----------



## SirMaster

MinHeadroom said:


> I would love to see this go the direction of BEQ


Me too, as far as popularity hah. But I think wind tracks at least will always need to be hand coded as they have been (about 130 done so far).

This seems crucial for creating an active, yet accurate and convincing effect that does not distract.


I am excited about the future of my plan for much more available, scalable, and flexible fans that I am in the process of exploring and working on now.


----------



## AndreNewman

SirMaster said:


> Me too, as far as popularity hah. But I think wind tracks at least will always need to be hand coded as they have been (about 130 done so far).
> 
> This seems crucial for creating an active, yet accurate and convincing effect that does not distract.
> 
> 
> I am excited about the future of my plan for much more available, scalable, and flexible fans that I am in the process of exploring and working on now.


 I think a big part of the popularity of BEQ is the minidsp support, makes it easy and it's using some hardware that people might already have or it's an easy decision to get.


----------



## brazen1

AndreNewman said:


> Has there been any progress in finding available suitable new fan units?
> 
> I'm currently using a ceiling fan but it's only useful for the highest gusts and it kind of gives the game away as it's spinning up for a blow! So I'd like to switch to something more discrete, more able to do the smaller shorter puffs.
> 
> If someone has taken apart a few different fans trying to find something suitable maybe they would know if these tower fans are generally AC Mains motors or hopefully more probably 12 or 24v DC? If they are DC it should be easy to rip out the controller and put in something that takes an IR signal or a network message and does what we need.
> 
> I'm an Electronics Engineer so I'm happy to take a look at something if someone else can give me a hint that it's likely to be worthwhile.


I took my fan apart a year ago to lubricate it because it developed a random squeak. There was so much microscopic ash in the environment here from fires, it affected this fan. I'm at ground zero here and it was nearly impossible to avoid. Cleaning and reapplying low temp grease did the trick. I didn't check AC vs DC motor but I did take some pics of the Seville. Maybe they will help you? 

As you've experienced, a ceiling fan has so much mass in the blades, they take forever to spin. These tower fans are pretty much instantaneous - even off to high. Fan spin-up time is irrelevant. The mass is basically nothing and they have a LOT of blades. Torque is incredible thankfully. I've been thinking about removing blades in this Seville attempting to keep balance - perhaps every other blade. My goal is to create less wind at the lowest speed (Eco). I think it's too strong. When the fan blows and there is no audio, I hear it. Maybe it will cut down on the noise too. Of course, removing blades might backfire and more wind and more noise might generate while the high setting might not blow hard enough? I won't know until I pick up a spare and give it a whirl. Adding a rheostat or potentiometer might work too. It'd be worth the experiment even if it only helped slightly imo.

Because there is a delay from when the fan spins-up until the wind reaches your seating position, you hear it before you feel it IF there is no significant audio to mask it. This kind of gives a warning that something significant of a fan blow is about to happen and honestly ruins the surprise. Fortunately, this isn't always the case but worthy of exploring a quieter solution. Common sense tells me any time something mechanical is pushing air, noise is simply part of the equation though. I don't have my fan enclosed nicely like SOWK does. I wonder if he could pipe in about any benefit other than aesthetics? I don't think motor noise is significant which enclosing helps with. I think it's all about the blades. I think the only way to truly get a quiet fan blow is to remote the fan somewhere and duct it in although offsets would be ridiculous but who cares. At that point, an industrial fan could be beneficial.

I'd have to opine, those UNEXPECTED short puffs you mention are a big part of my windtracks. I think they are more contributing to the experience than the obvious long lasting hurricane type blows you EXPECT. The unexpected puffs blend in so nicely, you hardly notice them because they are so natural they can't be ignored as long as it isn't overdone. Not noticing is of importance. Replay without the wind though, you will be quick to notice what you are missing. (I hope that makes sense). 

I try to put myself into the scene as if I was the camera and ask myself... would you feel wind from that car passing by or not? I was at a shooting range once in the booth next to a guy with a Desert Eagle. When that pistol fired, the only thing I noticed was the shear decibels. I had to revaluate a few shots later and realize there was a lot more going on than noise. The concussion alone was dramatic but when I notice my pant legs blowing up with each shot, I realized wind was a large part of the gunshot too - just a short puff.



























MinHeadroom said:


> Having lurked this thread for about three years, I am looking into taking the plunge.
> 
> A question that I’m not sure how many can answer: if you are using a BOSS riser (will find link), how much does this compare as far as the natural and immersive envelope it creates?
> 
> I plan to do it, just trying to figure out my reward:effort ratio


I'd rate the additional immersion of wind right next to tactile transducers. Although wind is much harder to achieve, once you experience it, you want it - just like bass shakers. (I use them too) Imo, your reward to effort is a great payoff - take the plunge. Fwiw, THIS thread is barely a year old but the one it was derived from is the older one and has been inactive for quite some time.

Forgive my ramble. On a side note it's the day after my 2nd Covid shot. 101 F - 103 F temp. Everything hurts. This better be worth it


----------



## AndreNewman

brazen1 said:


> As you've experienced, a ceiling fan has so much mass in the blades, they take forever to spin. These tower fans are pretty much instantaneous - even off to high.


This is what I had suspected, I've messed around with other fans I have lying around and a bathroom ventilation fan gives a much better effect but it's really noisy. Doesn't help that the one I tested with was spare as it was too noisyfor the bathroom!



brazen1 said:


> Of course, removing blades might backfire and more wind and more noise might generate while the high setting might not blow hard enough? I won't know until I pick up a spare and give it a whirl. Adding a rheostat or potentiometer might work too.


I have a similar issue with my ceiling fan, the slowest setting that does anything useful is too fast if I want to use the fan to circulate the air in the room instead of movie effects! I don't have space inside the fan housing for the physical size of capacitor I need to get the slowest speed low enough without compromising the fastest speed.

Please don't try putting a potentiometer in circuit with the motor, that will not be useful or safe. 

Maybe a second fan is needed for more subtle effects, the current fan is like a subwoofer and you need a tweeter.

Looking at the photos it's looks to me like the motor has multiple switched windings, if so it might be a capacitor switched speed controller like a ceiling fan in which case changing the capacitor for the lowest speed would work. HOWEVER, if the value is too far off the fan may well catch fire!! Bizarrely capacitor switched fans are under the most stress and highest voltage when running slowly, too slow and they will overheat or catch fire, which is just a higher value of overheating. The type of capacitor is safety critical too, yes it does need to be a 400v capacitor on a 110/220v line.

It might be directly switched windings, no capacitors, in which case the speeds are fixed by the mains power frequency, no chance to change speed other than by very complex means.

I don't see why a DC motor would have so many wires and complex windings so maybe it's not a DC motor... Surprising.



brazen1 said:


> I think the only way to truly get a quiet fan blow is to remote the fan somewhere and duct it in although offsets would be ridiculous but who cares. At that point, an industrial fan could be beneficial.


Ok, now we are getting into similar issues to installing ceiling speakers.

At least I'm getting some experience while I'm installing the ventilation for our new bathroom  
We have a really quiet fan unit in the roof now there is a two speed version (trickle/vent) but I hadn't though of using one of those. TD-SILENT – S&P – S&P

The longer the venting path the more spin up time you will need, I think you would soon be back at the long spin up I need with my ceiling fan, non starter I think.



brazen1 said:


> View attachment 3161695


Do you have a clearer or sharper version of this shot? I'd like to see what's going on with the motor windings.



brazen1 said:


> Forgive my ramble. On a side note it's the day after my 2nd Covid shot. 101 F - 103 F temp. Everything hurts. This better be worth it


It's definitely worth it, I had mine many months ago, aches are soon forgotten.


----------



## SirMaster

I am actually starting to look at these now.



Amazon.com



Lots of variation for an individual to choose what works best for their room.

These seem to have crazy amounts of CFM. Noise I am sure too, but since they will be speed controlled they can be run in a reasonable speed range.

The tower fans everyone is using are rated at 275 CFM, so I wonder how 8-12" radiator fans with 10 blades sound in the 200-300 CFM range.

Quite low cost too.


----------



## Tate1023

Just curious to what everyone's global offset and spin up offset settings are and how far your fan or fans are away from your seating position.


----------



## SirMaster

Tate1023 said:


> Just curious to what everyone's global offset and spin up offset settings are and how far your fan or fans are away from your seating position.


If you are using the Seville fans which I know you are, the appropriate spin-up should be 1500ms. This shouldn't change per person so I would set it to that.

The global offset should depend on your distance to the fan.

You can use the test videos SOWK made in order to find what your global offset value should be.


----------



## brazen1

*The Day After Tomorrow (2004)*

Coded by brazen1


----------



## rollon1980

Not a bad idea these wind effects, although it did make me giggle when I saw the oscillating tower fan. Hehe.  

Great job getting this to work.  

What would make this extra special if you guys could make something like the Moodo work in tandem to code scents for movies (smell-o-vision style).


----------



## AndreNewman

I have a new quicker, quieter fan running for our cinema room, it only has two speeds and so I have a question for the wind track authors.
@brazen1 @SOWK 

I'm wondering what the intent is behind the four fan speeds as they used in the existing wind tracks. I need to map the four possible speeds down to two and I want to make the right choices, for a test I mapped ECO and LOW to my SLOW and MED and HIGH to my HIGH. 

It seem that depending on the reasons you guys choose each speed maybe I should map ECO to SLOW and all others to HIGH, this is a 45W fan so high isn't as high as your ones.

I'll write up what I did to get the fan working in another post when I've taken some better photos.
I actually have three completely different fan systems running from HTFanControl but two of them aren't really much use so I'll only write up the one that's good.

@SirMaster kindly added a new interface so it's possible to control a lot more IoT devices, this is over and above his plans for a custom system. Between us we should have a lot more options for fans in the future.


----------



## AndreNewman

Now I'm properly up to (fan) speed with this project  

I have a feature request, if that's ok, is it possible to have an "download all wind tracks" button in the webui please?

The idea is it would download any wind tracks not currently in the local folder, I have found on several occasions we've watched a movie and afterwards I've realised, "oh there was a wind track for that", too late, we might watch the movie again in a year or so. 

I realise the name might not match and the current mechanism is good for dealing with that but I find only a couple of movies don't match. You would end up with two copies if you had renamed a file but I don't think that causes any problem and that's better than missing a track completely.

Now there are so many wind tracks it's a few hours to go though with loads of clicks on two separate pages to check if we have them all, might be good for new users starting out too.

Sites like github have a way to download a bunch of files as a zip, which could be a good solution but pastebin isn't really meant for that and they don't.


----------



## brazen1

Imo, Eco is used predominantly for the most gentle blows that shouldn't be ignored and High for when all hell breaks loose. Low and Medium just provide more definition. I think if only Off, Low, and High were available, I would edit existing Eco codes so that all Eco were Low while Low, Med, and High would be edited to High. 

Of course this is a tricky conversion because there could be times an existing code of blow sequences starts with Low and changes to Med/High and the new edits wouldn't define the difference since edited code would be changing from High to High which is no difference at all. The best outcome would be to completely re-author existing titles an/or introduce new titles dependent on fan speeds tbh.

Great to see other fan models being used!


----------



## SirMaster

I feel like I would make eco and low be low and med and high be high.


----------



## SirMaster

AndreNewman said:


> Now I'm properly up to (fan) speed with this project
> 
> I have a feature request, if that's ok, is it possible to have an "download all wind tracks" button in the webui please?
> 
> The idea is it would download any wind tracks not currently in the local folder, I have found on several occasions we've watched a movie and afterwards I've realised, "oh there was a wind track for that", too late, we might watch the movie again in a year or so.
> 
> I realise the name might not match and the current mechanism is good for dealing with that but I find only a couple of movies don't match. You would end up with two copies if you had renamed a file but I don't think that causes any problem and that's better than missing a track completely.
> 
> Now there are so many wind tracks it's a few hours to go though with loads of clicks on two separate pages to check if we have them all, might be good for new users starting out too.
> 
> Sites like github have a way to download a bunch of files as a zip, which could be a good solution but pastebin isn't really meant for that and they don't.


The problem here is we have moved on from Pastebin to Google Drive and from plain .txt windtrack command files to .zip windtrack archive files with audio fingerprints and .txt commands inside.

I could put in a download all button for that, but it wont work in your old version since that is still using pastebin. At the very least, you would have to wait until I put in some MQTT support into the latest version, and then that would have to get a download all option.

But as you mentioned, if the user re-named any, I have no way of matching up the files before download, so it would duplicate files.

Also, I worry that Google Drive will limit the downloads if too many people use a download all option as there are limits for shared files like that on Google Drive.

I couldn't think of a better free file host to use so I just went with Google Drive, at least for now. I could change it again if there was a better option.


If download all is important, I would want to handle it in a way in which duplicates won't happen. But I think that I need a better file host too that wont limit access to the files if too much activity happens too quickly.


----------



## AndreNewman

SirMaster said:


> The problem here is we have moved on from Pastebin to Google Drive and from plain .txt windtrack command files to .zip windtrack archive files with audio fingerprints and .txt commands inside.
> 
> I could put in a download all button for that, but it wont work in your old version since that is still using pastebin. At the very least, you would have to wait until I put in some MQTT support into the latest version, and then that would have to get a download all option.
> 
> But as you mentioned, if the user re-named any, I have no way of matching up the files before download, so it would duplicate files.
> 
> Also, I worry that Google Drive will limit the downloads if too many people use a download all option as there are limits for shared files like that on Google Drive.
> 
> I couldn't think of a better free file host to use so I just went with Google Drive, at least for now. I could change it again if there was a better option.
> 
> 
> If download all is important, I would want to handle it in a way in which duplicates won't happen. But I think that I need a better file host too that wont limit access to the files if too much activity happens too quickly.


I forgot about the hosting move, I thought the new format files were just hosted in a different directory, apologies.

I know I'm running a old special version, happy to wait for any advancements as they come, when and if they come. 

Maybe a better idea is rather than downloading them all at once, would if be possible that when the application detects that a movie is playing, it checks for a file matching the name and downloads it if it exists.

That way there would be no sudden load on the server just a few small downloads here and there. The "search" could even just a http get for the expected filename based on the movie name playing, if it's there you get the file, if it's not you get a 404 or equivalent. This could also be a great source of metrics as to what movies the HTFan users are playing.

I'm just wondering if the download process could be less manual and reduce the possibility of missing out on a wind file.

And finally if you need somewhere to host the files, I have a couple of Linux servers at a facility I help run. They are limited to 100Mbps service (the facility has multiple 100G lines but I don't get those for free) but there's no file limits, quotas etc. I can give the project some free space if that's a help and removes a concern, the files are tiny and even if there's a thousand users in a years time I don't think the traffic will be significant.


----------



## SirMaster

Well, the future is mostly about audio matching as more people are using streaming services or playback systems that are not MPC or Kodi.

So there would be no possibility of automatically downloading from the name of the movie for them. For people using MPC or Kodi, it's possible, but the name would have to match.

The windtrack archives are much larger now, around 7-14mb per. The total size of all 131 movies so far is 1.3GB.


For now I figured this works similar to BEQ where you need to load the movie manually. I know it's not the best, but it's good enough for now and I will work on streamlining that later.

But I also think we are getting a little head of ourselves here. Wouldn't we prefer that work is done on additional fans and additional control protocols rather than messing around with more download all, and more auto-loading, especially when it only really helps barely a handful of people.

Compares to those who want to join the project but cant because there are 0 fans and control schemes available right now.

I have limited time that I work on this project and I would like to prioritize getting more fans and control mechanisms first.

Plus if we can't get other fans and control systems up and running, then any other work is basically all for not.


----------



## smoothtlk

SirMaster said:


> Well, the future is mostly about audio matching as more people are using streaming services or playback systems that are not MPC or Kodi.
> 
> So there would be no possibility of automatically downloading from the name of the movie for them. For people using MPC or Kodi, it's possible, but the name would have to match.
> 
> ......
> 
> Plus if we can't get other fans and control systems up and running, then any other work is basically all for not.


Yeah, that is very doable...been doing that for quite a while (years).
But you are quickly going down a path of becoming a full media management / automation product suite as the Wants keep getting larger.
So, you'll have to decide if you want to do this full time or not and turn it into a commercial undertaking...
Been there, done that 

Or you can integrate with applications like our myServer and let that do the rest.


----------



## Tate1023

Is the issue with finding fans that work is that you need one that has multiple IR codes for the different speeds? Would any brand of fan work as long as it had separate IR codes for the speeds and not multiple pushes on the same IR code to change the speed?


----------



## SOWK

Basically yes.


----------



## AndreNewman

I've been experimenting with getting some fans working with this project, this post will detail the first one that I would say has been completely successful. I'm in the UK so this is a 240v project but I expect it will be possible to the same with a similar US 120v fan with little or no variation.

Note: I'm going to edit this post a few times to get all the info straight, before anyone says "you missed a bit".

I didn't want to buy and send back 20 different IR fans, I don't even like IR, my Cinema room doesn't have a single IR controlled device in it. It's not so easy to buy and return things in the UK as it is in the USA so there's that too.

I've spent some months trying to find a fan that has a wifi connected controller that can be adapted or hacked into working but I've drawn a blank so far. I have quite a few smart devices at home that have been adapted, co-opted or hacked into submission so hopefully as soon as a smart fan gets the treatment I hope I'll know.

I think this will get easier as time goes on but for now I have a solution, it needs a little electrical sense but hopefully nothing too difficult or dangerous. In the UK we assume that people do these sort of things under their own responsibility but I guess as this is primarily a US based project I need to state that if you follow my notes it's on your own responsibility, I don't take any responsibility for your actions in regard to this project or any consequences of them.

I bought one of these:


Amazon.co.uk











I chose the simplest fan with switches instead of buttons, there's no electronics board to disable, no lights or displays or buzzers to disconnect or cover up. I was hoping that I could just disconnect the switches and replace them with a wifi IoT controller and the job would be done.

There are US versions of many similar fans, I'm sure a suitable one could be found.

This is the controller I used:





Shelly 2.5 | Shelly Store UK | Smart Home Automation


Purchase Shelly 2.5 from the only Shelly authorised reseller in the UK. Shop Wi-Fi smart home automation now!




shellystore.co.uk





I have several other Shelly controllers around the house, I'm familiar with them and they can be controlled directly without needing to be re-flashed or hacked in any way. A lot of these sorts of controllers can only be controlled via a cloud server in China and that's a disaster for a real time project like this one. The sonoff ones can be reflashed and used but that's an additional hassle and the shelly ones are good to go out of the box and not expensive.
The shellies also have reasonable Electrical safety approvals, sonoff are starting to do that but most of the existing ones are "China Electrical" approved, logo looks remarkably like the CE mark but it isn't!

The Shelly will work equally well on 120v as on 230v. 

So I took the fan apart, just 5 screws, two in the handle, two at the base and one in the top panel.









Internally it's really simple, exactly as I'd hoped.









The timer is clockwork! The buttons are simple contacts, the motor speed is switched by three wires, perfect.

*Important note

This motor is a switched windings motor, it's important that only one of the three motor wires is connected at one time! I expect that if you connect two at once it will end in smoke or preferably a blown fuse.*

So the Shelly 2.5 I chose has a roller shutter mode and it's important to use this sort of controller as this ensures that only one of the motor wires is connected at a time. Unfortunately the Shelly only has 2 relays so the fan ends up as a two speed fan, I chose fastest and slowest.










A better view of the switch assembly, you can see the green wire provides the live feed and the grey, red and other red are the speeds. The green wire comes from the timer so the timer can shut off the fan.

The middle red wire also feeds the oscillation motor, I suspect this is so they can use the same oscillation motor for 120v and 230v models as this is fed from the middle main motor winding.

This particular unit is assembled with push fit connectors, this makes modifications very easy, no wires to cut or solder, you just need a small implement like a cocktail stick to release the connector block and refit.

The bottom end of the fan is of the same construction, there's just an input suppression capacitor, the oscillation motor and the input power cable.










To be continued shortly, when I have taken the completed pictures.


----------



## AndreNewman

Part 2: modified fan.








I removed the live feed to the push button switches and connected that to one of the shelly live terminals, in fact I used the brown live feed that goes into the clockwork timer so the shelly is always live and the timer doesn't work.

I connected the fast and slow speed wires to the shelly outputs, grey to O1, red to O2.









I need a neutral for the shelly and there isn't one in the top part of this fan, so I disconnected the black wire which comes from the oscillator motor switch and used that.

The bottom part of the fan, I disconnected the black wire feeding the oscillator motor and connected that to the incoming blue neutral wire.

One of the nice things about the push fit blocks is they can be left on the unused wires which insulates the ends and prevents them drifting into the wrong place.









Black wire (LHS) from the oscillation motor doesn't connect, black wire that goes to the top of the fan is now connected to blue Neutral incoming power wire.

Well that's about it for the work on the fan, I expect it sounds a lot more complicated than it was, took me about 30 minutes. I haven't gone into every tiny detail... I think if you can't work out how to open the fan or follow the wires you probably shouldn't attempt this modification!

This is what the finished article looks like, wires all tucked away and ready to put the cover back, the shelly is so small there's no problem for it to tuck away inside the top of the fan.










Next step is to configure the Shelly.


----------



## AndreNewman

Configure the Shelly 2.5:

The basic instructions to connect the shelly to your wifi are in the use guide here:









Shelly 2.5


Device identification Device name: Shelly 2.5 Device model: SHSW-25 Device SSID: shellyswitch25-XXXXXX Short description Shelly 2.5 is a small form...




shelly.cloud





The wiring we will use is the roller shutter one, in our case we have slow and fast instead of open and close but the wiring is the same for the same reasons.

At some point I plan to remove the latch on the fan buttons and connect them to the shelly so I can turn the fan on manually without messing up the remote control but for now I'm just watching movies.










You can access the shelly via a browser once it's configured.

*VERY IMPORTANT: we configure the Shelly as roller mode:*









Need to also set power on parameter to OFF
Open/Close working time to 0, so the fan will always run until it's told to stop.
I also set the buttons as detached, this is for some later plans I have...









I set the device name, this is just for convenience.
I turned off the wifi light, I can't see it through the fan casing but just in case I spot it twinkling in there one day.









Now for the control settings: In the Internet & Security tab, Advanced Developer settings.









The Shelly is controlled using a protocol called MQTT, it's a mature real time control protocol with lots of free tools, it's commonly used by some of the better IoT devices.
The server address is the broker address, I am running a copy of mosquitto a free open source mqtt broker but this may be built in to HTFanControl, TBD. 

I set the custom mqtt prefix to CinemaHTFan so I don't have to type the long string with the mac address that the shelly uses by default. As long as you use the same prefix in HTFanControl settings it can be whatever you prefer.

HTFanControl settings:

You need HTFanControl version Beta22 or later

Select mqtt instead of lirc, the mqtt ip is the broker ip, 127.0.0.1 if it's built in.
I set the fan speeds to map to the two speeds of the shelly, a different fan might need different settings.









There's no need to connect anything, mqtt takes care of that, provided the address and port number is correct, default port is 1833. HTFanControl doesn't need to know the ip address of the shelly, it's all done by the broker.

There are debugging tools for mqtt but I only needed that to find out how to format the mqtt prefix and topic correctly, now that is know it should be automatic.

I don't know if mqtt will be chosen as a future control protocol, it's certainly suitable but has the complexity of requiring a broker. the Shellies can be controlled by mqtt, CoAP and HTTP so there are many options.

HTTP is usually the lowest common denominator for these sort of things but it's not really suitable for real time control. I found that Openhab has switched to using CoAP to control Shellies and a Phillips Air Filter I have switched from HTTP to CoAP in it's latest firmware update.

CoAP is pretty much connectionless http, this and mqtt seem to be popular in locally controlled smart devices.


And finally.

I'm located in South East England, if anyone wants some assistance to do this mod or something similar let me know and we might be able to arrange a meet up.


----------



## AndreNewman

I also found another wifi controller with 4 relays and interlock and another with 3 but I don't know yet if it can interlock.

The sonoff one, would work but has to be reflashed with Tasmota software, don't know if it would fit inside.








SONOFF 4CHR3/PROR3 - 4 gang 433Mhz RF remote WiFi smart switch


SONOFF 4CHR3 4CHPROR3 is a 4 gang 433Mhz RF remote WiFi smart switch that supports to control 4 appliances.




sonoff.tech





This would fit but don't know if it has interlock mode or how it can be controlled, don't think Tasmota works on these yet.








Mini DIY WiFi Smart Light Switch 3 Gang 1/2 Way Module


Mini DIY WiFi Smart Light Switch 3 Gang 1/2 Way Module Smart Life/Tuya App Wireless Remote Control, Compatible with Amazon Alexa and Google Home by Moes Main Features: Smart Wi-Fi module with mini design to suit UK and EU wall switch boxes; compact size allows an easy fit with no changes to your...




www.moeshouse.com





So for now 2 speeds with the Shelly is enough.


----------



## brazen1

*Brimstone (2016)*

Coded by brazen1


----------



## brazen1

*The Shawshank Redemption (1994)*

Coded by brazen1


----------



## brazen1

*Star Trek Into Darkness (2013)*

Coded by brazen1


----------



## SirMaster

Sorry I have been lazy. I will get these added to the DB today.


----------



## brazen1

Another coming. Hold off for a bit.


----------



## brazen1

*Star Trek Beyond (2016)*

Coded by brazen1


----------



## SOWK

WOW, thank you brazen1!


----------



## brazen1

You're welcome : ) My pleasure. When/if you guys watch any of these with windtracks, let me know what I could improve or what you'd do differently.


----------



## brazen1

*Hell or High Water (2016)*

Coded by brazen1


----------



## brazen1

*Hostiles (2017)*

Coded by brazen1


----------



## SirMaster

SOWK and I recently watched Venom (2018) at his place, as we have not seen before and the 2nd one is coming out.

We were very pleased to find you made a wind track for it in the past. So they are getting great use!


----------



## brazen1

Anyone know of a way to copy a list of the wind track titles? Pastebin has the index file but there's a bunch of nonsense after each title name. My personal windtrack folder with zips and .txt are detailed long file names and I'm seeking short without details like they're posted here.

NM. Just figured it out. HTFanControl/Download/Highlight titles/copy/paste.


----------



## SirMaster

You can use this:

https://dotnetfiddle.net/OnQMr4

I just wrote some basic code to pull the list from the Google Drive list.

Eventually I will probably stop updating Pastebin, so best to pull from the Google Drive as that's the current primary source.


----------



## brazen1

I hope you didn't hassle coding that just to get list names! Did you see my post edit ^ to get names from HTFC?


----------



## SirMaster

It took like 30 sec... lol


----------



## brazen1

Ha! Should have anticipated that. THANK YOU. Any requests? If I see 3 or more asks, I'll do it/them if I have it.


----------



## brazen1

Nobody wants anything? Would anyone be interested in The Hobbit movies?


----------



## AndreNewman

Alita would be great, although I've seen it enough times I might have a go myself.


----------



## SirMaster

Nobody at this point perhaps.

I have been really busy lately, but when I finish some other projects I will get back to work on fans and such for this.

I do have a new build to publish probably this weekend that adds in MQTT control which will be a possible control option for some generic smart-home control chips that can potentially control fans as @AndreNewman has written about previously.


My thought on what movies should be coded would be movies with high re-watchability.

I notice for example that 2 Star Wars movies (EP2 and EP3) are not coded.

Hobbits are not a bad idea at all either.


My original thought was high re-watchbility movie series.

Harry Potter, Matrix, John Wick, Marvel MCU, Mission Impossible, James Bond, X-Men, Jurassic Park, Terminator, Pirates of the Caribbean, etc, you get the idea...

Just my thought, at least movies that I would like to see coded in the future at some point if the user base gets big.


----------



## AndreNewman

I just downloaded Black Widow ready for this evening.

I see it says Disney+! Does anyone know if this works ok with the UHD disk version?


----------



## SirMaster

AndreNewman said:


> I just downloaded Black Widow ready for this evening.
> 
> I see it says Disney+! Does anyone know if this works ok with the UHD disk version?


I highly doubt it will line up with the UHD version (which is why I mention the source in the track). There is typically a different amount of time for studio logos and such on a streaming copy vs. a disc copy at the start.

However the future of this project (IMO) is Audio time-sync, which of course is source agnostic.


This might be a good chance for you to help test out the audio time-sync functionality. Only @kdawg2391044 has tested it a little in the past. From my own testing it seems to be working pretty well, but I'd like to hear other people's experiences.

All you need to use the audio time-sync functionality is to plug a USB microphone into your PC and place it in your theater room, perhaps closer to your front speakers if you can. You will also need to install OpenAL if using Windows.



https://www.openal.org/downloads/oalinst.zip



Make sure you turn up your mic input level in Windows to the max most likely.



The other option is that HTFanControl Windtracks support what I call a source or edition Offset. This is a timespan value that you can enter into the header of a Windtrack and activate from the HTFanControl GUI to offset the Windtrack timecodes by that time factor.

In order to come up with this offset though, you need to have both copies of the movie, and then figure out the difference in the time between the copies to when the actual movie starts. You find this by opening each copy in a media player like MPC, and then seeking each copy to the same movie frame (any movie frame really). Then you can look at the time-codes at the bottom left of MPC and subtract them to get the difference. Make sure you right click the time-code display in MPC and select the high-precision option, to see the full, exact time code.

If you want, I can create this Offset for Black Widow UHD for you, but I cannot do it until at least 5pm central time (like 5.5 hours from now).


----------



## AndreNewman

SirMaster said:


> I highly doubt it will line up with the UHD version (which is why I mention the source in the track). There is typically a different amount of time for studio logos and such on a streaming copy vs. a disc copy at the start.
> 
> However the future of this project (IMO) is Audio time-sync, which of course is source agnostic.
> 
> 
> This might be a good chance for you to help test out the audio time-sync functionality. Only @kdawg2391044 has tested it a little in the past. From my own testing it seems to be working pretty well, but I'd like to hear other people's experiences.
> 
> All you need to use the audio time-sync functionality is to plug a USB microphone into your PC and place it in your theater room, perhaps closer to your front speakers if you can. You will also need to install OpenAL if using Windows.
> 
> 
> 
> https://www.openal.org/downloads/oalinst.zip
> 
> 
> 
> Make sure you turn up your mic input level in Windows to the max most likely.
> 
> 
> 
> The other option is that HTFanControl Windtracks support what I call a source or edition Offset. This is a timespan value that you can enter into the header of a Windtrack and activate from the HTFanControl GUI to offset the Windtrack timecodes by that time factor.
> 
> In order to come up with this offset though, you need to have both copies of the movie, and then figure out the difference in the time between the copies to when the actual movie starts. You find this by opening each copy in a media player like MPC, and then seeking each copy to the same movie frame (any movie frame really). Then you can look at the time-codes at the bottom left of MPC and subtract them to get the difference. Make sure you right click the time-code display in MPC and select the high-precision option, to see the full, exact time code.
> 
> If you want, I can create this Offset for Black Widow UHD for you, but I cannot do it until at least 5pm central time (like 5.5 hours from now).


Ah, ok, well everyone arrives in an hour so thanks for offering but never mind.

I could try the offset I guess I could try a free trial of Disney+, probably no time really.

I just removed a mic from the room, I just ran some REW sweeps to make sure I didn't break anything moving subs out and back earlier in the week. It couldn't be anywhere near the front speakers, USB can't do those sort of distances.

Actually it would probably be easier to take a sniff of the L&R signals and feed them back into the PC, that's all within half a meter. I'll see if there's time  

Longer term I'll sort something out properly and happy to do some testing.


----------



## SirMaster

AndreNewman said:


> Ah, ok, well everyone arrives in an hour so thanks for offering but never mind.
> 
> I could try the offset I guess I could try a free trial of Disney+, probably no time really.
> 
> I just removed a mic from the room, I just ran some REW sweeps to make sure I didn't break anything moving subs out and back earlier in the week. It couldn't be anywhere near the front speakers, USB can't do those sort of distances.
> 
> Actually it would probably be easier to take a sniff of the L&R signals and feed them back into the PC, that's all within half a meter. I'll see if there's time
> 
> Longer term I'll sort something out properly and happy to do some testing.


You won't be able to pull the L+R signals from the PC if you are bit-streaming to your AVR though unfortunately.

You can actually do internal audio loopback into virtual sound input device on a PC, but unless you know how, it's not easy to describe how to set that up (need free third party software like Voicemeeter). This also prevents bit-stream too though so is more for testing than actual use.

Also, actual stream from streaming service has to use audio sync. There is no way to use MPC or Kodi Time sync with a streaming service. I don't have any support to pull current time position from streaming box.

Basically what I am saying is that Disney+ Black Widow Windtrack is only compatible with audio sync at the moment, unless an offset value is added to it's header.


Technically USB can go far (82ft with an active cable or farther with USB to ethernet extender)

https://www.monoprice.com/product?p_id=8751

https://www.monoprice.com/product?p_id=6042

Just an FYI, as obviously you do not have these for today.


The full future picture is the average user running HTFanControl from a RasPi, located somewhere they can run a USB mic from it into their theater room.

More advanced setups will be possible with USB sound cards with 3.5mm analog line in as a cleaner more pure audio source. Though the user will need to buy a special box to extract and downmix Bitstream audio into analog stereo.

All of this is exactly how the Commercial product D-BOX home system works. It expects an analog stereo downmix, or a microphone in the theater connected to their control box.


Sorry there is no easy way you can enjoy this Windtrack today


----------



## SirMaster

@AndreNewman 

I just checked, looks like the UHD copy is exactly the same as the stream copy. So the Windtrack should work just fine for you.


----------



## brazen1

*The Hobbit An Unexpected Journey Extended (2012)*

Coded by brazen1


----------



## brazen1

*The Hobbit The Desolation of Smaug Extended (2013)*

Coded by brazen1


----------



## brazen1

*The Hobbit The Battle of the Five Armies Extended (2014)*

Coded by brazen1


----------



## AndreNewman

SirMaster said:


> @AndreNewman
> 
> I just checked, looks like the UHD copy is exactly the same as the stream copy. So the Windtrack should work just fine for you.


Wow excellent, thanks.

And I was just setting up the Umik at the back of the room (and hoping).


----------



## SirMaster

AndreNewman said:


> Wow excellent, thanks.
> 
> And I was just setting up the Umik at the back of the room (and hoping).


Nevermind, I am comparing them now and they are off by ton despite being the same total duration.

I am calculating the offset right now hang tight!


----------



## AndreNewman

SirMaster said:


> You won't be able to pull the L+R signals from the PC if you are bit-streaming to your AVR though unfortunately.


I can pull them from the input to my Dirac processor though.

That would cover audio from any source too, streaming will be from an AppleTV, although we don't often stream movies, usually TV series.



SirMaster said:


> Technically USB can go far (82ft with an active cable or farther with USB to ethernet extender)
> 
> https://www.monoprice.com/product?p_id=8751
> 
> https://www.monoprice.com/product?p_id=6042
> 
> Just an FYI, as obviously you do not have these for today.
> 
> 
> The full future picture is the average user running HTFanControl from a RasPi, located somewhere they can run a USB mic from it into their theater room.
> 
> More advanced setups will be possible with USB sound cards with 3.5mm analog line in as a cleaner more pure audio source. Though the user will need to buy a special box to extract and downmix Bitstream audio into analog stereo.


Any AVR with pre-outs should do the trick, level will go up and down with volume but might be ok.

I think I need to do some testing


----------



## SirMaster

Here is the Windtrack with the UHD offset.

Make sure to actually activate the offset from the HTFanControl WebUI main Status screen.

I also uploaded the updated Windtrack to the Google Drive database, so you can get the new copy from in the HTFanControl Windtrack download page too.


----------



## brazen1

Black Widow is in sync with the stream and the disc. Don't judge from the beginning. It's just how SOWK coded it.


----------



## SirMaster

AndreNewman said:


> I can pull them from the input to my Dirac processor though.
> 
> That would cover audio from any source too, streaming will be from an AppleTV, although we don't often stream movies, usually TV series.
> 
> 
> 
> Any AVR with pre-outs should do the trick, level will go up and down with volume but might be ok.
> 
> I think I need to do some testing



Yeah, technically you can do that if you have access to L+R pre-outs.

However, this is where testing will come in handy. I trained the audio fingerprints from a stereo downmix of the full audio track. Feeding in the L+R only will be missing the center and surrounds and rears, etc.

This may still work due to how audio fingerprint matching works, but it may also not work very well. I think at the very least it will make finding matches less frequent.

To be clear there shouldn't be false matches ever, just it may not lock on very fast or very frequently if you are matching from L+R only compared to a microphone in a room which hears all the speakers like the downmix it was trained with.

HTFanControl only needs 1 good lock though and then as long as you don't pause or seek the movie it will stay perfectly in sync for the whole movie. If you pause or seek, fan commands will be messed up until it gets another lock, but then it will fix itself immediately. In my experience with a good mic audio source, locks happen every few seconds most of the time.


----------



## SirMaster

brazen1 said:


> Black Widow is in sync with the stream and the disc. Don't judge from the beginning. It's just how SOWK coded it.


I just checked the stream file SOWK coded it from vs the UHD disc rip, and they were off by a whole minute for some reason, even though the files are nearly the same length.

I'm actually at work and did this during my lunch break remotely to my PC at home. I double checked everything, but I am pretty sure I got it right, and the offset I added to the file is correct.

I measure by picking random frame from the middle of the movie, and then I find that frame in both copies. When I did this, the UHD disc was just over 1 minute higher in timecode compared to the stream file from which the Windtrack was coded.


----------



## AndreNewman

SirMaster said:


> I just checked the stream file SOWK coded it from vs the UHD disc rip, and they were off by a whole minute for some reason, even though the files are nearly the same length.
> 
> I'm actually at work and did this during my lunch break remotely to my PC at home. I double checked everything, but I am pretty sure I got it right, and the offset I added to the file is correct.


Now that’s dedication.


----------



## SirMaster

AndreNewman said:


> Now that’s dedication.


I try


----------



## brazen1

I just checked a timestamp from the original I've used. It was spot on. Then I removed it from all locations. Next, I replaced it with what you just uploaded. It too is spot on. This makes no sense to me? The timestamp I checked was 00:36:34.693 fwiw.


----------



## SirMaster

brazen1 said:


> I just checked a timestamp from the original I've used. It was spot on. Then I removed it from all locations. Next, I replaced it with what you just uploaded. It too is spot on. This makes no sense to me? The timestamp I checked was 00:36:34.693 fwiw.



I think something maybe messed up through my remote session viewing the 4K files.

I am looking again.

Hopefully you have not started yet @AndreNewman 

I wish this was easier lol.


----------



## SirMaster

OK, 2nd try.

I got 6.1 seconds offset this time.

Top is UHD, Bottom is stream copy used to make the Windtrack.

@AndreNewman


----------



## brazen1

Still making no sense? Just replaced your 2nd attachment and 00:36:34.693 is spot on as is the original and your 1st upload. Again, I removed the original(s) from the two locations I store them - the windtrack folder for the program and in my movie folder next to the iso. You're welcome to teamviewer into me and we can double check together if you'd like and you have the time.


----------



## SirMaster

brazen1 said:


> Still making no sense? Just replaced your 2nd attachment and 00:36:34.693 is spot on as is the original and your 1st upload. Again, I removed the original(s) from the two locations I store them - the windtrack folder for the program and in my movie folder next to the iso.


I don't understand what you are saying.

My attached file includes a +6.1 second offset which must be manually enabled when playing the UHD copy of the film.


----------



## brazen1

Wait... maybe I have to restart HTFanControl in order for the changes to take affect even though I restart the movie???


----------



## SirMaster

No, you don't have to restart HTFanControl, but you need to manually enable the offset...

HTFanControl needs to reload the new Windtrack file from the new .txt file as well to pick up the option to apply the offset as well.

But if you click reload windtrack it will reload the new file which contains the offset, then you can activate the offset.


----------



## brazen1

I must not be understanding too well. Here is the original and your last attachment. What's the difference other than the headers?


----------



## SirMaster

I explained this all...

And I explained this feature back when it was added.

Offsets are a functional feature of HTFanControl.

The offset can be enabled and disabled so the track can be used with differing copies of the movie. It was intended for HD vs UHD disc differences, but can work the same for Stream vs one of the disc copies.

When you enable the offset in this example, all time codes get 6.1 seconds added to them.

I said, you need to enable the offset from the status screen, you need to press the button...


The feature was added in Beta16:

https://www.avsforum.com/threads/4d...theater-project.3152346/page-16#post-60002582


----------



## SirMaster

Offset Disabled:
















Offset Enabled:

















Apparently there is a bug that causes the file to load incorrectly when the Offset is enabled. So I will need to see what is going wrong in this case, and fix it.

But if I think back, It's possible this is already fixed in the version of HTFanControl @AndreNewman has at the moment, and the version I was going to publish this weekend.

That's my fault for not testing offsets after adding in the check for out of order commands. I guess the order in which I am applying the offset vs checking the next time code to make sure it's greater than is wrong.

Either way I will make sure it's fixed before publishing the next version.


@AndreNewman

Add:
# ignoreorder

To the header of the Windtrack file to disable the time code order check that is preventing the file from loading with the offset enabled. This only works in the unpublished build you have so far so it won't work for you @brazen1


----------



## kdawg2391044

Thought the #ignoreorder was for me . I need to get back into that project I was talking about...

Sent from my IN2017 using Tapatalk


----------



## SirMaster

kdawg2391044 said:


> Thought the #ignoreorder was for me . I need to get back into that project I was talking about...
> 
> Sent from my IN2017 using Tapatalk


It is, but it's in the latest code (@AndreNewman has the latest, latest code from me adding MQTT fan control) anyone can use the option of course, and it and it will work around this problem until I can fix it the correct way.


----------



## AndreNewman

Hi all, thanks for all the efforts to get this working.

Unfortunately it didn't work, I got an timecode out of order at line 7 error (something like that it was turned off at the end of the movie and I believe there's no permanent log) and the fan stayed on so I disabled the fans. After two Kodi crashes I disconnected HTFanControl in case it was holding the Kodi control port and blocking, might just be a bad rip, we haven't watched it before.

As I read all the discussion this morning maybe I needed the # ignoreorder parameter, but I didn't check the forums during the movie, I usually get a bit annoyed with visitors who do that sort of thing...

I think I had a similar error with the old mqtt version with Suicide Squad, I had a maxed out spin up offset with that old fan so maybe that was why.

My wife now tells me we need a second fan because when we have visitors one fan isn't enough to cover the whole room width, I think she likes the effect, even though it didn't work for this movie.

Edit: I did enable the offset, also I knew about the offset feature.


----------



## SirMaster

Yes there is a bug with the offset feature when I added code to make sure commands are in order, so I have to fix that.

# ignoreorder in the header should be a workaround at the moment.


----------



## AndreNewman

SirMaster said:


> Yes there is a bug with the offset feature when I added code to make sure commands are in order, so I have to fix that.
> 
> # ignoreorder in the header should be a workaround at the moment.


Ok, thanks.

We have some other friends who also want to watch Black Widow so it will get another go before too long. I'll test it anyway, now I've seen the movie I don't mind shuttling through to test stuff,


----------



## SirMaster

*HTFanControl 0.1.0*

https://github.com/nicko88/HTFanControl/releases/download/0.1.0/HTFanControl_Win.zip

*Changelog*

Added MQTT device control support
Can control fans which have MQTT controllers

Minor bug fixes
For now you will need to supply your own MQTT broker service when using the MQTT control feature.


Decided with some conversation that it is as good a time as any to drop the Beta version names and switch to version numbers going forward.

I opted to use 0.1.0 since in my mind we are nowhere near what a true complete v1.0 version would look like. I will be using the 2nd digit (0.X.0) to designate new feature additions, and use the 3rd digit (0.0.X) to designate bug fixes. So you will be able to tell sort of what level of changes have been made between version releases.


The only real new feature in this version is the addition of MQTT device support. You can read about what MQTT is here: MQTT - The Standard for IoT Messaging

Hopefully this feature helps move us toward supporting some more fans. To put it simply, you will need to buy a more simple fan with a basic internal speed switching circuit, and buy a device that you can wire into the speed switches inside the fan (a device that can then be controlled via MQTT).

@AndreNewman has detailed this process working very well here: 









4D Theater Wind Effect - DIY Home Theater Project


I am actually starting to look at these now. https://www.amazon.com/s?k=12v+radiator+fans Lots of variation for an individual to choose what works best for their room. These seem to have crazy amounts of CFM. Noise I am sure too, but since they will be speed controlled they can be run in a...




www.avsforum.com





Thanks for all your great work on this and all your detailed posts about it!

This is a great addition, but I think there is more work to be done here to make it better understood about how to find these more simple and modifiable fans, how to go about figuring out how to connect in a switch controller, and what possible MQTT supported control switches we can use. Hopefully we can find one with the ability to switch between more speeds too.


----------



## AndreNewman

If anyone wants any assistance setting up mqtt, not that there's much to set up, just let me know.

I have also had a fully variable speed controller working with the mqtt test builds but it had too many problems, too noisy, too slow, not enough current for big enough fans.

Shelly has just launched the first two of their next generation IoT controllers in the last week, nothing suitable for us yet but if they release an ESP32 version of their RGBW2 controller that might be very very interesting.


----------



## AndreNewman

A small development.

I ordered two of these just now:








Athom 4Ch Inching/Self-locking 10A Switch Module (R04) Configuration for Tasmota


Configure your smart switch module to work with Tasmota open source firmware.




templates.blakadder.com





It's a 4 channel wifi relay box that comes already flashed with Tasmota, Althom do a lot of these sort of boxes. I know I can configure all 4 relays with interlock, Tasmota can do up to 8.

So the plan if it all works is to get another fan the same for the other side of the room and wire for one fan on low for the slowest wind, then two on low, two on med, two on full. As there are 4 channels in the unit there won't be any changes needed to HTFanControl.

I also made a feature request with Shelly that if they do make an ESP32 12v unit they support motor speed control (higher PWM frequency), we will see if it actually happens. My other feature requests got done, eventually, a year later.


----------



## brazen1

Hi.
I don't see my latest windtrack contributions in HTFanControl Downloads and I'm certain I uploaded zip packages as usual a couple weeks ago unless something went wrong or just got lost in the shuffle? 

Also, what is the Google Drive URL hosting the files and should it replace the Pastebin URL on the 1st page? Does it show number of downloads like Pastebin so we can gauge popularity of our work? 

Afaik, the only gauge now is 'Likes' on this website indicating very few users (or poor choice of titles which I find hard to believe). Maybe our circle is smaller than I think given the lack of acknowledgement here but there must be lurkers using and taking because according to Pastebin, many titles have close to 100 downloads while others have dozens?

Keep up the great work @AndreNewman. Future users need more fan options including DIY possibilities. Nice quick response with the new build @SirMaster!

I thought for sure all of the recent Hobbit titles would be popular and interesting even though they aren't brand new releases . Each took a very long time to do and why I put them off for so long. Personally, I revisit older titles often.


----------



## SirMaster

brazen1 said:


> Hi.
> I don't see my latest windtrack contributions in HTFanControl Downloads and I'm certain I uploaded zip packages as usual a couple weeks ago unless something went wrong or just got lost in the shuffle?
> 
> Also, what is the Google Drive URL hosting the files and should it replace the Pastebin URL on the 1st page? Does it show number of downloads like Pastebin so we can gauge popularity of our work?
> 
> Afaik, the only gauge now is 'Likes' on this website indicating very few users (or poor choice of titles which I find hard to believe). Maybe our circle is smaller than I think given the lack of acknowledgement here but there must be lurkers using and taking because according to Pastebin, many titles have close to 100 downloads while others have dozens?
> 
> Keep up the great work @AndreNewman. Future users need more fan options including DIY possibilities. Nice quick response with the new build @SirMaster!
> 
> I thought for sure all of the recent Hobbit titles would be popular and interesting even though they aren't brand new releases . Each took a very long time to do and why I put them off for so long. Personally, I revisit older titles often.


Sorry, I just forgot to upload them. Plus I was gone on vacation from the 27th and just got back yesterday, but I know you uploaded them on the 24th, so I had a couple days where I should have added them to the database. I was also busy working on some contracting job and trying to get it done before my trip, so I just forgot.

Yeah SOWK should update the link to Google Drive. The link is on the GitHub main page.






HTFanControl Windtracks - Google Drive







drive.google.com





I wouldn't go off the Pastebin numbers. Probably lots of bots and things scrape public Pastebin posts like that, so the hit counts go up.

I'm sure I will watch the Hobbits again some time with wind track.

140 Windtracks! Thanks again!


----------



## brazen1

Ok. Didn't know if something was wrong on my end. I've made a bunch of new ones. I'll upload them in the next few days. Hope you guys will like them.


----------



## brazen1

*Contact (1997)*

Coded by brazen1


----------



## brazen1

*Hancock (2008)*

Coded by brazen1


----------



## brazen1

*Blade Runner 2049 (2017)*

Coded by brazen1


----------



## brazen1

More coming tomorrow and the next day.


----------



## brazen1

*Aquaman (2018)*

Coded by brazen1


----------



## brazen1

*Free Guy (2021)*

Coded by brazen1


----------



## brazen1

*Unhinged (2020)*

Coded by brazen1


----------



## brazen1

*Warcraft (2016)*

Coded by brazen1


----------



## brazen1

*Captain Marvel (2019)*

Coded by brazen1


----------



## brazen1

I had guests over to watch Crawl last night. The windtrack quit half way through playback. Today I diagnosed why. Line 57 is missing a zero. The package needs updating although the .txt file posted here is good. I'm making a new package for SOWK and I'll upload to SirMaster server. Just an FYI for users to replace.


----------



## SirMaster

brazen1 said:


> I had guests over to watch Crawl last night. The windtrack quit half way through playback. Today I diagnosed why. Line 57 is missing a zero. The package needs updating although the .txt file posted here is good.


Hmm, it can't be a 0 as that would put the time completely out of order.

It's broken on pastebin too. I don't know what the code is supposed to be 


Looks like I need to work on error detection when loading wind tracks in too, so that you can get an error message on the status screen at least when this happens.


----------



## brazen1

The code reads 00:4:59,ECO and it should be 00:40:59,ECO and if you look at it in the package, it's missing a zero. I already uploaded the fix and the new package to you after double checking it now works correctly.


----------



## SirMaster

Where did you get that version of Crawl?

Both the version in pastebin (Crawl (2019) - Pastebin.com) and the version in the .zip in Google Drive do not even have milliseconds, and contain a malformed time code on line 57 that looks like this:










Where are you getting 00:40:10.952,OFF from?


----------



## brazen1

Wait. You're right. Something is wrong. Give me some time. The timecodes are different between what I originally downloaded from here a year ago as a .txt file, and the package I got about 2 months ago from you directly. Let me see which one is the correct one. (maybe you guys fooled around with it for the new mic sync thing you were/are doing) I do know line 57 is missing a zero in the package for sure. YOu can see it in your screenshot. It needs the zero after the four and without it, there are no fan blows after it because HTFanControl no longer syncs.


----------



## SirMaster

Wouldn't have anything to do with the microphone.

SOWK originally did Crawl without milliseconds because way back then we didn't support milliseconds.

Maybe he made a new version with milliseconds, but I never got it added to pastebin (and thus Google Drive) because those all originally came from pastebin.


----------



## SirMaster

brazen1 said:


> YOu can see it in your screenshot. It needs the zero after the four and without it, there are no fan blows after it because HTFanControl no longer syncs.


Adding a 0 after the 4 doesn't make sense, then the time is completely out of order which also breaks HTFanControl (it doesn't allow out of order commands like that)

Not that it would make sense anyways since there is 40:52,ECO, then you are suggesting it's 40:59,ECO which would be a redundant speed command.


----------



## brazen1

The package has no milliseconds. It is not correct. I don't know why it doesn't? I do know the new package I just uploaded to your server does have milliseconds and it appears to sync somewhat. Understanding this was made very early on, perhaps attention to detail was not important at that time. For example; The first blow is at 00:06:01.360,MED. Personally, I would have started that first blow at 00:06:02.362,MED which aligns exactly with the video frame imo. My first attempts at windtracks didn't pay exact attention to frames either but both SOWK and I do now and have been spot on since those first couple attempts. The original package should be deleted and the corrected one I uploaded to you today should replace it - whether it's spot on or not.


----------



## SirMaster

brazen1 said:


> I don't know why it doesn't?


Becasue the .zip packages came from the data on pastebin, and the file on pastebin is also has the bad command and missing milliseconds.

Pastebin was never updated to a new version with milliseconds. I guess I never saw the posted file. Though back then SOWK was in charge of updating the pastebin, so he never uploaded his new version with milliseconds. So it wasn't there for me to get when making the .zip packages.

I will get them both updated tonight.


----------



## brazen1

I see. Well, anyways, users can just replace the old package with the new one. Problem solved. I looked at a couple of the oldest windtracks and they have milliseconds so I assume Crawl was a one off problem child. Nobody liked Warcraft (2016) eh?


----------



## SirMaster

It was the first several movies that were coded that didn't have milliseconds because the software back then didn't support it.

Crawl was one of the first coded movies but I guess SOWK re-did it after millisecond support was added.


----------



## brazen1

I wasn't involved that early on. I guess that was a blessing and didn't require I redo my windtracks with milliseconds. I assume, back then, even if you created a blow on the exact frame, the best HTFanControl did was to round the timeframe up or down and it never would be exact. Brilliant you updated your software to use milliseconds as well as all the updates you've given us for all the software used. I can't thank you enough cuz I don't even like revisiting movies without windtracks now. Yes, I'm addicted and it's because of you pimps. Thank you again, and again, and again...


----------



## brazen1

*Skyscraper (2018)*

Coded by brazen1


----------



## SOWK

*Dune - Part 1 (2021)*


----------



## SOWK

There could be a ton more wind commands for Dune (2021) but I'm trying to make sure it only brings you into the movie and doesn't over stay its welcome.


----------



## CineSnack

Hey everybody!

I would like to join and will also install the setup in my cinema. Unfortunately I don't get the recommended Seville fan here in Germany. Are there any alternatives that I can buy? Or does it have to be exactly this one ? 

The other question would be: Unfortunately I can only order one Socket Receive USB Transmitter, I can't find the Dual Socket on the website. Do you know why ?


Thanks !


----------



## SirMaster

The Seville fan is discontinued worldwide so nobody knows a fan to use right now.

As for IR transmitter, the socket receive is fine. The Iguanna IR stuff is also for the most part discontinued. They just have listed what they have left in stock to sell. I talked to the owners and they said they are probably not going to order another batch of them when they are gone since there just isn't any interest in them anymore from consumers, but they don't know 100% yet. It's a decision they need to make when the stock they have runs out.

But there are other perfectly fine IR transmitters and such, so that's not really a problem.

But don't buy an IR transmitter unless you know you are using an IR fan. Most likely fans people will start to be using will not be IR and instead will be network controlled.

You should talk to @AndreNewman about a fan. He uses a different one that he modified and added a network controller to. I think for now it's only 2 speeds (OFF, LOW, HIGH), but hopefully eventually we can find a suitable controller to support more speeds. There is information on this fan and how to modify it simply a couple pages back here.


----------



## AndreNewman

SirMaster said:


> You should talk to @AndreNewman about a fan. He uses a different one that he modified and added a network controller to. I think for now it's only 2 speeds (OFF, LOW, HIGH), but hopefully eventually we can find a suitable controller to support more speeds. There is information on this fan and how to modify it simply a couple pages back here.


Well funny you should mention that today, the 4 channel controllers were handed to me an hour ago, along with a few other fun items. My priority today is getting the kitchen counter lights to turn on at sunset, 6pm isn't so useful at this time of year, but the fan controller will be the very next item.


----------



## AndreNewman

I just got the 4 channel controller working on the bench with HTFanControl mqtt  I needed a bit of help from the Tasmota guys but it should be a very simple out of the box, load my config, setup for anyone to do, now I've worked out how to do it.

I'll swap out the Shelly controller, take some pictures and give it a run tomorrow.


----------



## AndreNewman

Fan works with the new controller, now I have all three speeds and a plan for four, It's a bit of a tighter installation due to the size of the new controller.










Mains power need to be connected to L&N on the bottom side. The relays are all dry contact so the COM connections need to be commoned together and fed with Live side mains power as well as the L on the bottom.
I used the switch on this fan to take the L from the input to the COM connections, this is so I can turn off the fans without messing with software if I want to any time.

So I had to take it out of it's box to get it to fit, it looks like this:










Close up on the common connections and the fan windings:

Grey is slow,Orange med, Red high. The blue jumper wire connects speed relays 1 & 2 together so this fan runs low at both those speeds. The plan is there will be a second one and that will only run for speeds 2,3&4, so it won't have the blue jumper wire.









Testing:









Final assembly, I had to cut off the corners of the board to get it to fit. The bottom of the board is stuck to the timer mechanism with double sided foam tape, extra foam tape on the screw heads so the board can never be shorted out. The tape was attached to the DC side of the controller board to maintain mains voltage creepage distances for power safety.









A bit of a jiggle to get the case back on but it fits.

I'm not sure yet if I will buy another identical fan or try to find one that's a big bigger. I'm also a bit concerned that two fans will be too windy, Free Guy last weekend was a bit draughty! I may just find some small weedy mains fan and wire it to the relay1 contact, use the main fan as sub, woofer and midrange extra little fan as tweeter  


Incidentally this does mean this controller could be used to connect 4 different strength fans and it will switch between them, they would all need to be similar spin up speeds for that to work but it's an option.


----------



## AndreNewman

I suggest that the controller is set up and tested before wiring up to the fan. With this type of fan if two relays are switched on at once it's likely to damage the fan, so the controller should be configured to prevent this BEFORE connecting it to the fan.

In case someone deep links to this post, this is the controller I'm configuring:









I chose this one because it can be purchased with the Tasmota software we want already installed, the Sonoff 4CH could be used but that needs to have the software re-flashed and that's not always simple for everybody.
This is the model








Athom 4Ch Inching/Self-locking 10A Switch Module (R04) Configuration for Tasmota


Configure your smart switch module to work with Tasmota open source firmware.




templates.blakadder.com




I bought from Aliexpress, it turned up in about a week, there's a discount code on the Blakadder page linked above.
Aliexpress.com

The way Tasmota works means that any 3 or 4 channel relay box could be used with the exact same configuration.






Tasmota Documentation - Tasmota


Open source firmware for ESP devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, serial or KNX.




tasmota.github.io





Because I have a controller with Tasmota already installed I can ignore most of the getting started stuff and go straight to wifi setup. It's the same sort of thing you get with most IoT things these days.

Initial Configuration

Arghh, Tasmota don't like deep linking, scroll down to initial configuration with web ui!

I set a fixed lease in my Internet router so the unit gets the same IP address every time but this is not essential for this project as mqtt handles the communications, it does make setup a bit easier though.








Mine arrived with an older firmware version but anything newer than 8.1, you can just bash the firmware update button and up date to the latest, currently 10.0.0.

Configuration page looks like this, we only need to configure MQTT.
















Only need to configure host, which is your mqtt broker, most likely the same IP as your HTPC or RasPi, User and Topic.

I chose HTFan as this is short but descriptive, the longer the Topic the more traffic mqtt sends so short and sweet is good. The topic has to be configured to match in HTFanControl, like this: the Topic is the middle bit of cmnd/HTFan/EVENT









Your media player settings may be different.

The most important part has to be done from the command line, sorry. It should just be a case of copy pasting the commands from here and seeing that they worked.

TEST BEFORE ASSEMBLING INTO THE FAN.

Console looks like this:









You copy paste the commands into the "Enter command" box and press return.

We have to tell the controller to interlock, so only one relay is ever on at once.
To reset relays on power cycle or reset, we don't want it to remember that a relay was on before a power cycle or unexpected reset.
A rule to switch the relays from a command sent by MQTT.

I suggest each line is copy pasted one at a time and make sure there were no errors before moving on. Make sure the Rule1 line is entered as one long line. The last line will save the config and reboot.



Code:


Interlock 1,2,3,4
Interlock on
PowerOnState off
SetOption63 1
SetOption0 0
Rule1 on event#s1 do power1 1 endon on event#s2 do power2 1 endon on event#s3 do power3 1 endon on event#s4 do power4 1 endon on event#s0 do power0 0  endon
Rule1 on

Restart 1

I hope to find a way to attach this config here so it can be installed a backup restore, then no command line stuff will be required. I have to find out how to _not_ include my wifi settings for that to be usable to everyone...

When it's rebooted, takes about 30 seconds, you can open the web page again and check it all works.









If the interlock config is working, you can press the toggle buttons for each relay and only one will ever be on. You will hear the double click if you go from 1 to 4 for example, click the one that's currently on to turn them all off.









If that much works you can go to HTFanControl and test with the fan tester buttons.










Any questions, feel free to ask me.

Hopefully we can get some more people on board and enjoying the project.

Some edits as I discovered a problem, now fixed.


----------



## SirMaster

Awesome.

I hope that these 4-channel relay chips are not too hard for people to get. What do we search for?

The main focus now should probably be on what simple 4 speed fans we can find that are capable of being speed switched with these relays.

I guess we need to find tower fans with a physical speed switch and that use a 12v or 24v DC motor.


----------



## AndreNewman

SirMaster said:


> Awesome.
> 
> I hope that these 4-channel relay chips are not too hard for people to get. What do we search for?
> 
> The main focus now should probably be on what simple 4 speed fans we can find that are capable of being speed switched with these relays.
> 
> I guess we need to find tower fans with a physical speed switch and that use a 12v or 24v DC motor.


Tasmota 4 channel relay should do it, or just use the one I linked. Most of the Tasmota supported stuff has to be re-flashed, the Athom ones come with Tasmota already, much easier.

I don't think a DC fan will be strong enough and the DC ones will have a different control system, this works for switched winding AC motors. For capacitor switched AC motors the Sonof ifan03 and ifan04 US version is already the right thing but would need reflashing. I have one of these if anyone want a hand to get it working.

If anyone is unsure, post a link to what you are thinking of buying and I'll try to check it out.


----------



## AndreNewman

This one looks like a US version of what I have:









Amazon.com: PELONIS 30 Inch Oscillating Tower Fan with 3 Speed Settings and Auto-off Timer, Standing Fan PFT28A2BBB, Black : Everything Else


Buy PELONIS 30 Inch Oscillating Tower Fan with 3 Speed Settings and Auto-off Timer, Standing Fan PFT28A2BBB, Black: Everything Else - Amazon.com ✓ FREE DELIVERY possible on eligible purchases



www.amazon.com





or this:








Amazon.com: Holmes HTF3110A-BTM 31inch Oscillating Tower Fan : Home & Kitchen


Buy Holmes HTF3110A-BTM 31inch Oscillating Tower Fan: Tower Fans - Amazon.com ✓ FREE DELIVERY possible on eligible purchases



www.amazon.com





Main thing is NOT to have a remote and separate buttons for the speeds, the relays replace the buttons.

And a reminder for EU and UK peoples, I have this one:









Igenix DF0030BL Oscillating Tower Fan, 30 Inch, 3 Speed Settings, 2 Hour Timer with Auto Shut Off, Black : Amazon.co.uk: Home & Kitchen


Shop Igenix DF0030BL Oscillating Tower Fan, 30 Inch, 3 Speed Settings, 2 Hour Timer with Auto Shut Off, Black. Free delivery on eligible orders of £20 or more.



www.amazon.co.uk





But these ones might be ok too.








Tower Fan Electric Fans Quiet Cooling 32-inch 3 Speed 90° Oscillating Cooler Tower Fans Bladeless Floor Fan Freestanding for Bedroom Living Rooms Kitchen Home Office - Black : Amazon.co.uk: Home & Kitchen


Free delivery and returns on eligible orders. Buy Tower Fan Electric Fans Quiet Cooling 32-inch 3 Speed 90° Oscillating Cooler Tower Fans Bladeless Floor Fan Freestanding for Bedroom Living Rooms Kitchen Home Office - Black at Amazon UK.



www.amazon.co.uk












Amazon Basics 3 Speed Oscillating Portable Tower Fan with Timer and Remote Control, 45 Watts, White : Amazon.co.uk: Home & Kitchen


Free delivery and returns on all eligible orders. Shop Amazon Basics 3 Speed Oscillating Portable Tower Fan with Timer and Remote Control, 45 Watts, White.



www.amazon.co.uk












PELONIS Tower Fan 29-inch, 3-Speed 2-Hour Timer, Auto Shut Off, 60 °Oscillation, Space-Saving Bladeless Floor Fan for Home and Office : Amazon.co.uk: Home & Kitchen


Free delivery and returns on eligible orders. Buy PELONIS Tower Fan 29-inch, 3-Speed 2-Hour Timer, Auto Shut Off, 60 °Oscillation, Space-Saving Bladeless Floor Fan for Home and Office at Amazon UK.



www.amazon.co.uk


----------



## AndreNewman

This page is a handy resource:






Devices with Factory Flashed Tasmota


Configure your smart to work with Tasmota open source firmware.




templates.blakadder.com





Not preflashed don't know how many speed but this looks interesting.








Sichler Haushaltsgeräte Column Fan (NX4538-944) Configuration for Tasmota


Configure your smart fan to work with Tasmota open source firmware.




templates.blakadder.com












Arlec Smart 45cm Smart DC Wall Fan (AWDC001HA) Configuration for Tasmota


Configure your smart fan to work with Tasmota open source firmware.




templates.blakadder.com












QuietCool Gable Mount Attic Fan (AFG_SMT_PRO-2.0) Configuration for Tasmota


Configure your smart fan to work with Tasmota open source firmware.




templates.blakadder.com





All of these have appeared in the last two months.


----------



## brazen1

*Star Wars, Rogue One - A Star Wars Story (2016)*

Coded by brazen1


----------



## SirMaster

*HTFanControl 0.1.1*

https://github.com/nicko88/HTFanControl/releases/download/0.1.1/HTFanControl_Win.zip

*Changelog*

Changed the format of the program settings file
You will need to re-enter all your program settings in after upgrading to this version
(You can refer to the old HTFanControlSettings.txt file left in your program folder to view your old settings)

Added option for unique MQTT topic per fan speed payload.

Nothing to note in this version. I just decided to make a change to the way program settings are saved and loaded which overall will just make my life much easier going forward and allows (for instance) any characters in the MQTT fields which will come in handy for using MQTT with various relay controllers.

In the next version I will be upgrading the Audio Sync feature which should make it more precise and accurate and just overall work better. This should come in handy when we get new users with the new fan control method when they don't use MPC or Kodi. We welcome users who use Disc players, streaming services, or other methods for playing their movies. While it works already in my testing, it should be quite nice in the next version.


----------



## CineSnack

@SirMaster and @AndreNewman First of all thank you for your feedback and this great Topic! 


Since the alternatives for IR transmitters and fans are very rare in Germany, I had to come up with something else.

I wanted a solution with which I could easily use fans from different manufacturers. So I found out about an Auvision Box. With a little skill you can flash this to the Tasmota firmware and then use it as an Mqtt device. The code of EACH REMOTE CONTROL can then be read out in the console menu and then sent to the device via Mqtt.

I've bought such a box and already successfully flashed it. I now have to deal with the device a little and see which Mqtt server I am using. Here I became aware of "mosquitto", which serves as a broker. I will report.


----------



## CineSnack

Here are some Pics of the Web-Interface:


----------



## AndreNewman

CineSnack said:


> @SirMaster and @AndreNewman First of all thank you for your feedback and this great Topic!
> 
> 
> Since the alternatives for IR transmitters and fans are very rare in Germany, I had to come up with something else.
> 
> I wanted a solution with which I could easily use fans from different manufacturers. So I found out about an Auvision Box. With a little skill you can flash this to the Tasmota firmware and then use it as an Mqtt device. The code of EACH REMOTE CONTROL can then be read out in the console menu and then sent to the device via Mqtt.
> 
> I've bought such a box and already successfully flashed it. I now have to deal with the device a little and see which Mqtt server I am using. Here I became aware of "mosquitto", which serves as a broker. I will report.


Interesting box, I've seen that Tasmota supports IR devices but it didn't occur to me to use it in this way.
I don't see any reason why this wouldn't work with HTFanControl, especially the latest version.

There is still one problem to resolve that has been an issue with all the IR fans that people have tried. The fan must have discrete codes to directly set the speed, many have an IR code that steps through the speeds but not one for each speed. There are a lot of IR fans out there so hopefully there are some with discrete codes. I have had some experience code hunting with AV equipment so I can try to help when you get to that stage.

As to a mqtt broker, it's true I didn't write up anything on that part (I'll add some links) it's a pretty easy standard thing and we don't use any of the fancy features.
I use Mosquitto https://mosquitto.org/download/
Which was a very simple install on Ubuntu, I just looked and I didn't change anything from the default config, just allowed port 1833 through the firewall. 
There are instructions for Windows on the page I linked.


----------



## CineSnack

Hi !

Thanks for your help, i will come back to you if i need help! Thnx 

I've just installed mosquitto, but it starts only in local mode. Firewall is deactivated for test. i start moquitto with "mosquitto -v" but as i said, only for local device, i have no access from my ir transmitter, do i need to do anything else ? Any hints ? Thanks!


----------



## CineSnack

Ok, now with the creation of a config file it seems to be ok.
But the ir transmitter console says : unknown command.

i send the command in payload:
cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0xFB38C7","DataLSB":"0xDF1CE3","Repeat":0}

and use topic:
cmnd/tasmota_1Axxxx/

any idea what i do wrong ?


----------



## CineSnack

Got it! 

xxx_Topic:
cmnd/tasmota_1Axxx/IRSend

Payload:
{"Protocol":"NEC","Bits":32,"Data":"0xFB38C7","DataLSB":"0xDF1CE3","Repeat":0}

Now it works and i will order some fans to test ;-)


----------



## AndreNewman

Sorry I wasn't watching your posts as I could have helped. Looks like you found the answers anyway.

Good luck


----------



## CineSnack

Thanks! No Problem 

Btw: i use a zappiti media player, would that be possible to communicate with the htf fan control software ? A i see there is also an option for Audio Sync. does it work ?


----------



## SirMaster

CineSnack said:


> Thanks! No Problem
> 
> Btw: i use a zappiti media player, would that be possible to communicate with the htf fan control software ? A i see there is also an option for Audio Sync. does it work ?


I don't see a way to communicate with the Zappiti media player to read the playback time position.

Audio Sync works. It works well enough to be usable IMO in the limited testing that I have done. I am going to be working on trying to improve it in the next update as well since the library I use has had some very recent upgrades.


A question, but how do you plan to get the IR commands to send for the fans that you buy?


----------



## CineSnack

Ok, i understand. I will Test my setup when the fans have been arrived. Sounds good so far ! Thnx.

Regarding your Question:
You can read out any remote control with the console in Tasmota. You can then send the received code again via mqtt. I think this is a very useful function.


----------



## SirMaster

CineSnack said:


> You can read out any remote control with the console in Tasmota. You can then send the received code again via mqtt. I think this is a very useful function.


So it has an IR reciever?

And you can record/capture IR commands and view them from the console?

That's cool. I should have recommended something like this initially.


----------



## CineSnack

Yes, it is. When you Log in to the console you can capture the IR Code as you see in the picture:


----------



## AndreNewman

I looked at ESP8266's and Tasmota for my remote control project some years ago. The hardware seems especially suited to IR transmission and is fully supported by Tasmota.

If some code hunting is needed to find discrete fan speed codes Tasmota can accept raw IR codes as well as learning.


----------



## CineSnack

Hi !
I think i need your help. The Fan has arrived, but there is a Problem with the Fan Speeds. I Only have one Button on the remote, so i cant switch directly for ex. from LOW to HIGH.
What i need is a Remote for the three Fan Speeds for each Button right ? Any idea how we can fix that ?


----------



## CineSnack

This is what i get when i press the Buttons from down to the top


----------



## CineSnack

_There is still one problem to resolve that has been an issue with all the IR fans that people have tried. The fan must have discrete codes to directly set the speed, many have an IR code that steps through the speeds but not one for each speed. There are a lot of IR fans out there so hopefully there are some with discrete codes. I have had some experience code hunting with AV equipment so I can try to help when you get to that stage._

---------------------------------
Now i have this problem  could you help please ?


----------



## SirMaster

CineSnack said:


> _There is still one problem to resolve that has been an issue with all the IR fans that people have tried. The fan must have discrete codes to directly set the speed, many have an IR code that steps through the speeds but not one for each speed. There are a lot of IR fans out there so hopefully there are some with discrete codes. I have had some experience code hunting with AV equipment so I can try to help when you get to that stage._
> 
> ---------------------------------
> Now i have this problem  could you help please ?


I am not sure what you want me to help with.

If your fan doesn't have separate IR codes for each speed then it wont work.

The other IR fan that people were using (that is long discontinued now) only had 1 speed button on the remote control as well. But when you pressed the button repeatedly, it sent out a different IR code for each speed, so it was able to be used.


That's why people are now looking at manual speed switch fans and wiring up a wireless relay controller to it to control the manual speed switch remotely.


----------



## CineSnack

Ok, yes this is what i mean. :-( Ok, then i have to look for another fan with a remote with 3 Speed Buttons. But that would be not easy as i see.


----------



## SirMaster

Yeah, It will be quite hard to find an IR fan with separate speed commands.

I think the future for now will be modifying fans with manual speed control switches, but even those are not so easy to find.

There is info a page back about all this, but there are some new people interested in the project who will be continuing to explore and refine this fan modification process.

I'm getting SOWK to start updating the main post at the beginning of the thread to try to keep the information updated with what people have got working.


----------



## AndreNewman

CineSnack said:


> _There is still one problem to resolve that has been an issue with all the IR fans that people have tried. The fan must have discrete codes to directly set the speed, many have an IR code that steps through the speeds but not one for each speed. There are a lot of IR fans out there so hopefully there are some with discrete codes. I have had some experience code hunting with AV equipment so I can try to help when you get to that stage._
> 
> ---------------------------------
> Now i have this problem  could you help please ?


I'll post some links on the technique later today, the basic idea is you work out the codes of the IR codes you know (learned from the remote) and then look for other codes in the same code set and try those, see if they do what you want.

It's very common with people trying to find discrete on & off codes for TV's that only have one power toggle button. Or trying to find codes to directly select HDMI inputs when there is only a menu or sequence button.

You need a way to transmit a calculated code instead of a learned one but Tasmota can do that. I have a one4all remote that I can program but the box you have will be easier.


----------



## giomania

I have been speaking with @SirMaster recently about fan options for use with the Athom Tasmota 4CH 10A WiFi Relay Module, and decided to try the Honeywell HT-900 11" round fan, available for $16 via this Amazon link. The 3 fans (for three front seats) arrived today, and first I tested the noise level and CFM output. The noise I was able to measure, but not the CFM, lol.

Here are the decibel levels measured from the MLP (about 11' from the fan) using the NIOSH app on my iPhone; REW measurements can be taken, if needed:

Room noise floor, without projector running: 28.2 dB
High speed 40.9 dB
Medium speed 37.1 dB
Low speed 33.5 dB

For air movement, they seem like a sufficient amount of air on all speeds at my seated listening position, based upon my memory from visiting the @SOWK theater. We all know that auditory memory can be fleeting, but what about wind memory?  

With those tests out of the way, I proceeded to the teardown. All screws are removable with a standard #2 Phillips head screwdriver. There are six screws holding on the front half of the outer cover, 2 screws for the fan blade / armature assembly, 4 screws for the motor, 1 screw for the switch bracket / cover, and 1 screw for the capacitor bracket / cover.

Based upon what I found inside, it looks like this will work with the Athom relay module, but please let me know if I am missing something obvious. The switch has Neutral and three wires for speeds. There is not enough room for the relay to fit inside, so it would need to be mounted externally with this fan option.










Thanks for looking and let me know if there are any questions.


----------



## AndreNewman

giomania said:


> I have been speaking with @SirMaster recently about fan options for use with the Athom Tasmota 4CH 10A WiFi Relay Module, and decided to try the Honeywell HT-900 11" round fan, available for $16 via this Amazon link. The 3 fans (for three front seats) arrived today, and first I tested the noise level and CFM output. The noise I was able to measure, but not the CFM, lol.


I looked at those ones as they would fit nicely on top of my main speakers but I wanted to install the controller internally.

Maybe we need to agree some way to calibrate these fans, although at the moment it will be enough just to get a few extra people up and running.

This maybe?









Weatherflow Windmeter Smartphone Weather Device : Amazon.co.uk: Sports & Outdoors


Shop Weatherflow Windmeter Smartphone Weather Device. Free delivery and returns on all eligible orders.



www.amazon.co.uk








giomania said:


> For air movement, they seem like a sufficient amount of air on all speeds at my seated listening position, based upon my memory from visiting the @SOWK theater. We all know that auditory memory can be fleeting, but what about wind memory?


I'm a sailor, I have plenty of wind memories...

We need a calibration chart, fan speeds to Beaufort scale.



giomania said:


> Based upon what I found inside, it looks like this will work with the Athom relay module, but please let me know if I am missing something obvious. The switch has Neutral and three wires for speeds. There is not enough room for the relay to fit inside, so it would need to be mounted externally with this fan option.
> 
> View attachment 3196356
> 
> 
> Thanks for looking and let me know if there are any questions.


I think the main thing is to look closely at the speed switch and wire the relays to mimic what the switch is doing. Don't try to do anything different unless you have a good Electrical knowledge.

Do you have a pic of the speed control switch?


----------



## AndreNewman

CineSnack said:


> _There is still one problem to resolve that has been an issue with all the IR fans that people have tried. The fan must have discrete codes to directly set the speed, many have an IR code that steps through the speeds but not one for each speed. There are a lot of IR fans out there so hopefully there are some with discrete codes. I have had some experience code hunting with AV equipment so I can try to help when you get to that stage._
> 
> ---------------------------------
> Now i have this problem  could you help please ?


These people may be able to help, I used this a few times for a remote control project. The forums have a lot of info about how to hunt for codes.



RC: Discrete Code Hunter Forum Index



I hope this technique isn't required...



RC: Is there a pedestal fan with discrete IR codes? (Post...



There are a few codes collected here, not useful for you other than it shows some examples of sending IR codes directly without learning first.






Codes for IR Remotes - Tasmota


Documentation (Wiki) for Tasmota




tasmota.github.io





First we need to identify the protocol and code set that the fan uses for the buttons you do have. Then we can work out how to send those known good codes directly and then we can try some other adjacent or related codes and see if the fan responds.


----------



## giomania

AndreNewman said:


> I looked at those ones as they would fit nicely on top of my main speakers but I wanted to install the controller internally.
> 
> Maybe we need to agree some way to calibrate these fans, although at the moment it will be enough just to get a few extra people up and running.
> 
> This maybe?
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Weatherflow Windmeter Smartphone Weather Device : Amazon.co.uk: Sports & Outdoors
> 
> 
> Shop Weatherflow Windmeter Smartphone Weather Device. Free delivery and returns on all eligible orders.
> 
> 
> 
> www.amazon.co.uk
> 
> 
> 
> 
> 
> 
> 
> 
> I'm a sailor, I have plenty of wind memories...
> 
> We need a calibration chart, fan speeds to Beaufort scale.
> 
> 
> 
> I think the main thing is to look closely at the speed switch and wire the relays to mimic what the switch is doing. Don't try to do anything different unless you have a good Electrical knowledge.
> 
> Do you have a pic of the speed control switch?


Thanks Andre.

Here is the picture of the speed control switch; the pink clip is there to hold it in that position for the photo. I also inserted it back in to position so you can see the various speeds; it is currently in the off position.




















Sent from my iPhone using Tapatalk Pro


----------



## AndreNewman

giomania said:


> Thanks Andre.
> 
> Here is the picture of the speed control switch; the pink clip is there to hold it in that position for the photo. I also inserted it back in to position so you can see the various speeds; it is currently in the off position.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Sent from my iPhone using Tapatalk Pro


Doh! Sorry, of course that's the switch!

So looks good to go for a test at least, do you have the controller yet or were you waiting to see what was inside the fan before ordering?


----------



## SirMaster

AndreNewman said:


> Doh! Sorry, of course that's the switch!
> 
> So looks good to go for a test at least, do you have the controller yet or were you waiting to see what was inside the fan before ordering?


He ordered 3 relays, but they wont come till net week probably.

I ordered 1 relay box to play with and try connecting to some fans I have around the house that have 3 speed manual switches on them.

Or at least to have one so that I can test the code better and better understand/learn the Tasmota config to assist others.


I think soon I will also add HTTP control to the app as an option for those who don't want to run an MQTT broker. Just another option. I assume I just need to allow them to enter in a list of IPs, so they can specify any number of fans. And the commands will be the same for each fan, so the commands only need to be entered once? I will also make sure to send the commands simultaneously to all fans.

At some point I will experiment with adding an embedded MQTT broker into my app itself too to try to make everything as simple as possible.

But I am not sure how the fan controllers will react to potentially the broker going offline whenever they close HTFanControl. Not sure if they reconnect automatically and at what sort of time interval.

Do you know if Tasmota devices normally reconnect to the broker automatically?


----------



## AndreNewman

SirMaster said:


> He ordered 3 relays, but they wont come till net week probably.
> 
> I ordered 1 relay box to play with and try connecting to some fans I have around the house that have 3 speed manual switches on them.
> 
> Or at least to have one so that I can test the code better and better understand/learn the Tasmota config to assist others.
> 
> 
> I think soon I will also add HTTP control to the app as an option for those who don't want to run an MQTT broker. Just another option. I assume I just need to allow them to enter in a list of IPs, so they can specify any number of fans. And the commands will be the same for each fan, so the commands only need to be entered once? I will also make sure to send the commands simultaneously to all fans.
> 
> At some point I will experiment with adding an embedded MQTT broker into my app itself too to try to make everything as simple as possible.
> 
> But I am not sure how the fan controllers will react to potentially the broker going offline whenever they close HTFanControl. Not sure if they reconnect automatically and at what sort of time interval.
> 
> Do you know if Tasmota devices normally reconnect to the broker automatically?


I don’t think you need to worry about the broker, mqtt is a pretty mature technology.

I’ll run some tests with mine this weekend, there’s never been any issues when I’ve shut the server down for maintenance or applying updates.

Http would be great option, as you know I don’t think it’s really suitable for real-time control but it’s easy and familiar for users and a lot of hardware supports it.

I’ll post some http examples for Tasmota and the Shellies so you can see what’s needed. If we work with multi relay controllers often there are different URI’s needed for each relay, the Athom works like that and the Shelly 4 way. I got around that on the Shelly 2.5 by using shutter mode.

My rule for the Athom would work over http as well but without it you have to address each relay with a different http string.


----------



## SirMaster

AndreNewman said:


> I don’t think you need to worry about the broker, mqtt is a pretty mature technology.
> 
> I’ll run some tests with mine this weekend, there’s never been any issues when I’ve shut the server down for maintenance or applying updates.
> 
> Http would be great option, as you know I don’t think it’s really suitable for real-time control but it’s easy and familiar for users and a lot of hardware supports it.
> 
> I’ll post some http examples for Tasmota and the Shellies so you can see what’s needed. If we work with multi relay controllers often there are different URI’s needed for each relay, the Athom works like that and the Shelly 4 way. I got around that on the Shelly 2.5 by using shutter mode.
> 
> My rule for the Athom would work over http as well but without it you have to address each relay with a different http string.


I meant that separate relay boards would be set up so the same command is for each speed right?

The full command is simply made up of HTTP://IP and then everything after the IP. Everything after the IP is what you would enter into each speed command box setting in my app. 

And it would send that command to each IP you listed for the corresponding speed. 

HTTP is really fine for real-time. I mean HTTP is what’s used to get the time sync from MPC and KODI anyways so that had better be accurate and fast and in all my testing it is. It’s never more than a couple milliseconds to not only send the request but to get the time response back too. 

An HTTP server on a LAN that is simply waiting to serve a single client with such tiny payloads really has no reason to ever be late or slow.


----------



## CineSnack

Hey , thank you so much, but this is all to complicated, Sorry 
i play around with all the codes last night, but nothing works, the hint with the hidden codes was my first opinion.

I returned the four fans now and buy a manual Switch Fan and follow your instructions. I think you are right and that will be the best way!
I just buy this one, it will arrived on Monday, so i will report:


----------



## SirMaster

CineSnack said:


> Hey , thank you so much, but this is all to complicated, Sorry  I returned the four fans now and buy a manual Switch Fan and follow your instructions. I think you are right and that will be the best way!
> I just buy this one, it will arrived on Monday, so i will report:
> 
> View attachment 3196683


Yeah, I think you made the right choice.


----------



## AndreNewman

SirMaster said:


> I meant that separate relay boards would be set up so the same command is for each speed right?


If they all use the same software and similar enough hardware, yes.

relay1 is ECO, relay2 is LOW, relay3 is MED, relay4 is HI

If one is running Tasmota and another is Shelly then the http commands will be different, even if the relay numbers are the same. If both are controlled over mqtt, they could be configured to respond to the same commands, the Tasmota could be configured to be the same as the Shelly.




SirMaster said:


> The full command is simply made up of HTTP://IP and then everything after the IP. Everything after the IP is what you would enter into each speed command box setting in my app.


Ok, that's an interesting way to do it, I was thinking, URI in one box and payload in the other, just like mqtt. It doesn't have to be that though, your approach would be much more flexible, well assuming the equipment didn't need any specific payload.

Maybe some examples will clarify things:

Shelly 4 in relay interlock mode



http://192.168.1.2/relay/0?turn=on




http://192.168.1.2/relay/1?turn=on




http://192.168.1.2/relay/2?turn=on




http://192.168.1.2/relay/3?turn=on



I don't have one of these and I can't see how to turn all the relays off in one command... I know with Shelly firmware you can't send a command to multiple relays in one http connect, I spent some time trying to do something like that for my Cinema room led strip lights. Shelly ignored my feature requests, telling me to install their app to do what I wanted :-(

Shelly 2.5 in shutter mode, like I used to have in my fan, this gets around the above limitation and is their way of doing interlock.



http://192.168.1.6/roller/0?go=open




http://192.168.1.6/roller/0?go=close




http://192.168.1.6/roller/0?go=stop



Tasmota will be the same if you have two relays in interlock or four or the full 16, it's nice like that.



http://192.168.1.3/cm?cmnd=Power1%20On




http://192.168.1.3/cm?cmnd=Power2%20On




http://192.168.1.3/cm?cmnd=Power3%20On




http://192.168.1.3/cm?cmnd=Power4%20On




http://192.168.1.3/cm?cmnd=Power0%20Off



Power0 is an alias for all and the thing I wanted Shelly to add to their firmware.

Or if you used my event rule to control, it would work the same in http as in mqtt.



http://192.168.1.3/cm?cmnd=Event%20s1




http://192.168.1.3/cm?cmnd=Event%20s2




http://192.168.1.3/cm?cmnd=Event%20s3




http://192.168.1.3/cm?cmnd=Event%20s4




http://192.168.1.3/cm?cmnd=Event%20s0




One disadvantage with http is if you want to control multiple fans with multiple controllers, HTFanControl must make a http connection to each fan in turn to make the command, the software must do this in a multi threaded way such that the second or third fan is not waiting for the connection to break down before it gets sent the command. Probably a http library will take care of this but there will be the issue that there will be a difference in start time for the fans, possibly very small, hopefully imperceptible.

With mqtt if you want a thousand fans, you just tell them all to subscribe to the same topic and the broker will multicast the message to all of them simultaneously.

With CoAP a message can be sent to a multicast address or to broadcast for the whole network.



SirMaster said:


> HTTP is really fine for real-time.


Well as you know, I strongly disagree with you on this topic, as does every real time software engineer I ever worked with and every Internet game programmer.



SirMaster said:


> I mean HTTP is what’s used to get the time sync from MPC and KODI anyways


That is running over loopback, so it has a totally perfect network, with no possibility of contention or congestion or interference. So it's perfect by brute force, not by design, you get away with it for that reason, loopback is like a >100Gbps network.

The fan controller is almost certainly running over wifi, usually 2.5Ghz too. My wifi is fairly quiet and I only have IoT stuff on 2.5Ghz, the busy traffic is 5Ghz only. I suspect in time we will have people with bad wifi due to neighbours broken gear, interference from all kinds of sources. At the flat I used to live in 2.5Ghz wifi was totally unusable, far too many badly behaved APs in the building.

Infra Red is actually designed with a lot of mechanisms to combat all this, they have FEC, forward error correction and commands are sent multiple times with a end marker when the button is raised, all to combat interference from heating, sunlight and other IR controls. It's actually a really good real time protocol, developed over many years.



SirMaster said:


> An HTTP server on a LAN that is simply waiting to serve a single client with such tiny payloads really has no reason to ever be late or slow.


Yes it does, network contention, congestion, interference, the classical real time networking bugbears. You can brute force it by sending tiny messages over an empty fast network but as soon as any of those nasties rear up your real-time has gone.

I'm running some training for a customer on trouble shooting this sort of stuff on Tuesday and Thursday evening, this is my day job.


----------



## SirMaster

Thanks for the command examples.

I will start with how I was going to do it with an IP list box and then the rest of the URL command portion.

People probably shouldnt be mixing controllers in the same setup. If they have 3 fans they should probably have 3 of the same controller boards, so they can be set up the same.

If someone runs into a legitimate use case where that doesn't work, I can always add more fields.



AndreNewman said:


> HTFanControl must make a http connection to each fan in turn to make the command, the software must do this in a multi threaded way such that the second or third fan is not waiting for the connection to break down before it gets sent the command.


Yep, of course I would do this in a multi-threaded way so it would send off all the connections simultaneously to each IP in the list.



AndreNewman said:


> That is running over loopback, so it has a totally perfect network, with no possibility of contention or congestion or interference.


Well, in my experience people are running Kodi on an Nvidia Shield, and sometimes over WiFi, but most people are probably using ethernet.

Or like SOWK runs HTFanControl on an old screen-less Microsoft surface tablet, and his MPC player providing time sync is coming from it's internal HTTP server over the network.

I don't think bandwidth should ever be a concern about being contended for over sending just a few KB at most here and here.

I guess I just don't understand why TCP/IP packets for MQTT are any less subject to possible network contention than TCP/IP HTTP packets, especially since the MQTT packets need to first go to the broker, and then to the client which is an extra hop. When I was looking at making my own listening server on an Arduino I was going to just use a raw TCP or UDP socket connection to send no more than a byte of data across the network from the controller directly to the listener.

I've been developing software for over 10 years and just have not run into issues with more than single digit millisecond response times even for HTTP on a LAN even over WiFi. I guess my home WiFi is just really good heh, but of course I designed it to be as good as I could and use dedicated prosumer or small-business grade APs rather than the usually poor ones built into routers.


----------



## AndreNewman

Something occurred to me over the weekend.

My wife wants me to add a second fan so we have better wind coverage across the room but I feel it's already windy enough and I'd like the lower speeds to be more gentle. I think this was already discussed a long way back in the thread.

When I was looking for a donor fan, my biggest problem was finding one large enough to be comparable to the original IR fan this was all built around. So I'm going to take this the other way and instead of buying another the same I'll buy a much smaller version of the one I have and use that for the two lowest speeds. It will need to be a mains powered cylindrical blower so the spin up time is the same but there seems to be lots about.

Since the latest update to HTFanControl I can now use a second controller for the smaller fan and not have to wire the fans together or try to squeeze a 4 channel controller into a smaller desk fan.

I'm looking at something like this:









BLACK+DECKER BXFT50003GB Low Noise Mini Tower Fan with 2 Speeds, 12 Inch, 18W, Black : Amazon.co.uk: Home & Kitchen


Shop BLACK+DECKER BXFT50003GB Low Noise Mini Tower Fan with 2 Speeds, 12 Inch, 18W, Black. Free delivery on eligible orders of £20 or more.



www.amazon.co.uk













Pro Breeze 13" Desktop Mini Tower Fan with 3 Fan Speeds, Portable Desk Fan, Automatic Oscillation, & Quiet Cooling Technology for Home Office Kitchen & Garden - Black : Amazon.co.uk: Home & Kitchen


Free delivery and returns on eligible orders. Buy Pro Breeze 13" Desktop Mini Tower Fan with 3 Fan Speeds, Portable Desk Fan, Automatic Oscillation, & Quiet Cooling Technology for Home Office Kitchen & Garden - Black at Amazon UK.



www.amazon.co.uk





Less than half the size of my main fan, so hopefully less than half the windspeed.


----------



## SirMaster

I noticed a massive bug in the latest HTFanControl release.

The settings file doesn't load at all.

Not sure if anyone else noticed this or maybe there is more to it. Hope it is not causing anyone grief.

I fixed it easily, but I have not put out a new build as I was working on some other changes and was waiting till that was done to release an update.


----------



## AndreNewman

Thanks for the warning, I haven't upgraded yet but was planning to when my new fan arrives.


----------



## SirMaster

If someone needs a fixed build sooner, I can provide one.

I plan on working on the code over this Thanksgiving weekend so I figured I'd get a fix out soon enough.


----------



## giomania

AndreNewman said:


> I suggest that the controller is set up and tested before wiring up to the fan. With this type of fan if two relays are switched on at once it's likely to damage the fan, so the controller should be configured to prevent this BEFORE connecting it to the fan.
> 
> In case someone deep links to this post, this is the controller I'm configuring:
> View attachment 3192877
> 
> 
> I chose this one because it can be purchased with the Tasmota software we want already installed, the Sonoff 4CH could be used but that needs to have the software re-flashed and that's not always simple for everybody.
> This is the model
> 
> 
> 
> 
> 
> 
> 
> 
> Athom 4Ch Inching/Self-locking 10A Switch Module (R04) Configuration for Tasmota
> 
> 
> Configure your smart switch module to work with Tasmota open source firmware.
> 
> 
> 
> 
> templates.blakadder.com
> 
> 
> 
> 
> I bought from Aliexpress, it turned up in about a week, there's a discount code on the Blakadder page linked above.
> Aliexpress.com
> 
> The way Tasmota works means that any 3 or 4 channel relay box could be used with the exact same configuration.
> 
> 
> 
> 
> 
> 
> Tasmota Documentation - Tasmota
> 
> 
> Open source firmware for ESP devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, serial or KNX.
> 
> 
> 
> 
> tasmota.github.io
> 
> 
> 
> 
> 
> Because I have a controller with Tasmota already installed I can ignore most of the getting started stuff and go straight to wifi setup. It's the same sort of thing you get with most IoT things these days.
> 
> Initial Configuration
> 
> Arghh, Tasmota don't like deep linking, scroll down to initial configuration with web ui!
> 
> I set a fixed lease in my Internet router so the unit gets the same IP address every time but this is not essential for this project as mqtt handles the communications, it does make setup a bit easier though.
> View attachment 3192885
> 
> Mine arrived with an older firmware version but anything newer than 8.1, you can just bash the firmware update button and up date to the latest, currently 10.0.0.
> 
> Configuration page looks like this, we only need to configure MQTT.
> View attachment 3192886
> 
> View attachment 3192887
> 
> Only need to configure host, which is your mqtt broker, most likely the same IP as your HTPC or RasPi, User and Topic.
> 
> I chose HTFan as this is short but descriptive, the longer the Topic the more traffic mqtt sends so short and sweet is good. The topic has to be configured to match in HTFanControl, like this: the Topic is the middle bit of cmnd/HTFan/EVENT
> View attachment 3192945
> 
> 
> Your media player settings may be different.
> 
> The most important part has to be done from the command line, sorry. It should just be a case of copy pasting the commands from here and seeing that they worked.
> 
> TEST BEFORE ASSEMBLING INTO THE FAN.
> 
> Console looks like this:
> View attachment 3192889
> 
> 
> You copy paste the commands into the "Enter command" box and press return.
> 
> We have to tell the controller to interlock, so only one relay is ever on at once.
> To reset relays on power cycle or reset, we don't want it to remember that a relay was on before a power cycle or unexpected reset.
> A rule to switch the relays from a command sent by MQTT.
> 
> I suggest each line is copy pasted one at a time and make sure there were no errors before moving on. Make sure the Rule1 line is entered as one long line. The last line will save the config and reboot.
> 
> 
> 
> Code:
> 
> 
> Interlock 1,2,3,4
> Interlock on
> PowerOnState off
> SetOption63 1
> SetOption0 0
> Rule1 on event#s1 do power1 1 endon on event#s2 do power2 1 endon on event#s3 do power3 1 endon on event#s4 do power4 1 endon on event#s0 do power0 0  endon
> Rule1 on
> 
> Restart 1
> 
> I hope to find a way to attach this config here so it can be installed a backup restore, then no command line stuff will be required. I have to find out how to _not_ include my wifi settings for that to be usable to everyone...
> 
> When it's rebooted, takes about 30 seconds, you can open the web page again and check it all works.
> 
> View attachment 3192891
> 
> If the interlock config is working, you can press the toggle buttons for each relay and only one will ever be on. You will hear the double click if you go from 1 to 4 for example, click the one that's currently on to turn them all off.
> View attachment 3192894
> 
> 
> If that much works you can go to HTFanControl and test with the fan tester buttons.
> 
> View attachment 3192895
> 
> 
> Any questions, feel free to ask me.
> 
> Hopefully we can get some more people on board and enjoying the project.
> 
> Some edits as I discovered a problem, now fixed.


Hi Andre,

I received my Tasmota relays, and I started out with setting up and testing one, but I am stuck at operation with the HTFanControl software.

I successfully configured the Tasmota relay per your instructions, and the relays work as expected when pressing the Toggle buttons in the Tasmota web interface.

I also installed the Mosguitto MQTT broker, have it running, and configured the HTFanControl software. Assuming my settings are correct, I don't know what could be wrong. Thanks for any input; below are the settings, in case I have something set incorrectly.

Here are the relevant HTFanControl MQTT settings:










Here are the relevant Tasmota relay MQTT settings:


----------



## AndreNewman

giomania said:


> Hi Andre,
> 
> I received my Tasmota relays, and I started out with setting up and testing one, but I am stuck at operation with the HTFanControl software.
> 
> I successfully configured the Tasmota relay per your instructions, and the relays work as expected when pressing the Toggle buttons in the Tasmota web interface.
> 
> I also installed the Mosguitto MQTT broker, have it running, and configured the HTFanControl software. Assuming my settings are correct, I don't know what could be wrong. Thanks for any input; below are the settings, in case I have something set incorrectly.


That all looks correct to me, maybe you need the mqtt broker port 1883 but that should be the default if it's not filled in.

How did you get on with the command line sections, I'm curious if the instructions are good enough?

A bigger issue may be I think that's the version that Sirmaster said there is a problem with the config file management. This is the version I'm using and that my screen shots are from, maybe try that known good version.



https://github.com/nicko88/HTFanControl/releases/download/0.1.0/HTFanControl_Win.zip



Andre


----------



## giomania

AndreNewman said:


> That all looks correct to me, maybe you need the mqtt broker port 1833 but that should be the default if it's not filled in.
> 
> How did you get on with the command line sections, I'm curious if the instructions are good enough?
> 
> A bigger issue may be I think that's the version that Sirmaster said there is a problem with the config file management. This is the version I'm using and that my screen shots are from, maybe try that known good version.
> 
> 
> 
> https://github.com/nicko88/HTFanControl/releases/download/0.1.0/HTFanControl_Win.zip
> 
> 
> 
> Andre


The instructions were sufficient for entering the CLI items. I decided to go back and check those, and in the console for the Tasmota relay, it shows it is not connecting:
MQT: Connect failed to 10.10.2.90:1883, rc -2. Retry in 70 sec
I also attempted entering port 1883, and the result is the same.
I checked Windows firewall on the HTFanControl computer, and did not notice any restrictions, but I should probably look closer. I may also have to create a rule in the router firewall, as the Tasmota is on Wi-Fi, but the HTFanControl computer is on wired Ethernet. Both are on the same subnet, so I don't see that as an issue in the router, but you never know.

So there are no other settings in the Tasmota relay other than what you had posted?

Thanks.

Mark


----------



## SirMaster

AndreNewman said:


> A bigger issue may be I think that's the version that Sirmaster said there is a problem with the config file management. This is the version I'm using and that my screen shots are from, maybe try that known good version.
> 
> https://github.com/nicko88/HTFanControl/releases/download/0.1.0/HTFanControl_Win.zip


I gave him an updated fixed build already so he's been using that.


----------



## giomania

giomania said:


> The instructions were sufficient for entering the CLI items. I decided to go back and check those, and in the console for the Tasmota relay, it shows it is not connecting:
> MQT: Connect failed to 10.10.2.90:1883, rc -2. Retry in 70 sec
> I also attempted entering port 1883, and the result is the same.
> I checked Windows firewall on the HTFanControl computer, and did not notice any restrictions, but I should probably look closer. I may also have to create a rule in the router firewall, as the Tasmota is on Wi-Fi, but the HTFanControl computer is on wired Ethernet. Both are on the same subnet, so I don't see that as an issue in the router, but you never know.
> 
> So there are no other settings in the Tasmota relay other than what you had posted?
> 
> Thanks.
> 
> Mark


I figured it out. Mosquitto 2.0 and higher requires modification of the configuration file to allow it to listen on the Port.

I am documenting as I go along for publishing a guide because while I’m not the most tech savvy person in the world with computers, I’m a pretty good writer.

Mark


Sent from my iPad using Tapatalk Pro


----------



## AndreNewman

giomania said:


> I figured it out. Mosquitto 2.0 and higher requires modification of the configuration file to allow it to listen on the Port.
> 
> I am documenting as I go along for publishing a guide because while I’m not the most tech savvy person in the world with computers, I’m a pretty good writer.
> 
> Mark
> 
> 
> Sent from my iPad using Tapatalk Pro


Glad you found the problem.

I think that step is covered in the broker setup instructions I linked but we need to make it clearer, I’ll update my post and add some troubleshooting tips. Maybe it’s time for some more comprehensive instructions linked from the first post.

So it’s working now?


----------



## giomania

AndreNewman said:


> Glad you found the problem.
> 
> I think that step is covered in the broker setup instructions I linked but we need to make it clearer, I’ll update my post and add some troubleshooting tips. Maybe it’s time for some more comprehensive instructions linked from the first post.
> 
> So it’s working now?


Yes, it is working just fine. I am working on a setup guide that I will provide to @SOWK once it is finished. Once you update your post, I will look to see if I can incorporate your wisdom into the section on MQTT broker setup, lol.


----------



## SirMaster

I think that I would like to use the Wiki pages section of GitHub to contain all the instructional info for this:









Home · nicko88/HTFanControl Wiki


4D Theater Wind Effect - DIY Home Theater Project. Contribute to nicko88/HTFanControl development by creating an account on GitHub.




github.com





This will be a way that anyone who wants to, can contribute pages explaining something, or can contribute tweaks to the info on the pages as things change.

It of course also keeps a history of all changes made to the wiki pages.

See this link as just a rough example of how these Wiki pages can look and be organized: 

https://github.com/chkr1011/MQTTnet/wiki/Client

As you can see, you can have rich formatting in a Wiki page, add images, etc. Then the pages are categorized on the right side menu with shortcuts into headings within a wiki page.


----------



## SirMaster

Feel free to start trying to creating a wiki page for your area of expertise. It should be open for public access.

We can always change format or re-organize content as more is added.

The formatting is called markdown. You can learn about that and see examples here:








Basic writing and formatting syntax - GitHub Docs


Create sophisticated formatting for your prose and code on GitHub with simple syntax.




docs.github.com





There are some nice free websites that help you to write markdown format as well:

https://stackedit.io/app#

https://dillinger.io/


As for attaching images, you will either need to upload them to an image hosting service first, or I found a trick where you can use GitHub to host your image.

Trick:








Host images for FREE on GitHub


Hosting images have always been a tricky part for me. Recently I got the opportunity to write a lot...




dev.to





Basically you create a new "Issue" in my GitHub repository, then drag or paste your image in, and GitHub will upload and host it.

Then simply copy the image URL it generates, and then just cancel or close the "Issue" screen without actually submitting it. The image you uploaded will remain hosted by GitHub and you can paste the link into your Wiki article.


----------



## CineSnack

Hi everyone,

after a lot of experimenting and rebuilding, by chance I came across a fan with 3 direct buttons for fan control.

I will test the 4-channel relay soon, but now it should be quick and I have now bought a Woozoo TWF-C82T. For all German members here as a tip!





















I have now unsoldered the beeper and finished the setup so far. Now I noticed that I always have to switch on the fan first before I can choose High, Med or Low :-(
Is it possible to implement this in the software? Or do I have to adjust all the wind tracks manually as in the example here?


*00:00:50.446,Off ---Turn On FAN*
00:00:50.446,HIGH
00:00:51.401,ECO
00:00:54.989,HIGH
00:00:56.379,ECO
00:01:02.924,HIGH
00:01:03.995,ECO
00:01:08.725,HIGH
00:01:09.389,ECO
00:01:11.349,HIGH
*00:01:12.313,Off ---Turn Off Fan
00:01:15.100,Off---Turn On FAN*
00:01:15.100,HIGH

Thanks in Advance!


----------



## AndreNewman

CineSnack said:


> Hi everyone,
> 
> after a lot of experimenting and rebuilding, by chance I came across a fan with 3 direct buttons for fan control.
> 
> I will test the 4-channel relay soon, but now it should be quick and I have now bought a Woozoo TWF-C82T. For all German members here as a tip!
> 
> View attachment 3201717
> 
> 
> 
> 
> View attachment 3201718
> 
> 
> I have now unsoldered the beeper and finished the setup so far. Now I noticed that I always have to switch on the fan first before I can choose High, Med or Low :-(
> Is it possible to implement this in the software? Or do I have to adjust all the wind tracks manually as in the example here?
> 
> 
> *00:00:50.446,Off ---Turn On FAN*
> 00:00:50.446,HIGH
> 00:00:51.401,ECO
> 00:00:54.989,HIGH
> 00:00:56.379,ECO
> 00:01:02.924,HIGH
> 00:01:03.995,ECO
> 00:01:08.725,HIGH
> 00:01:09.389,ECO
> 00:01:11.349,HIGH
> *00:01:12.313,Off ---Turn Off Fan
> 00:01:15.100,Off---Turn On FAN*
> 00:01:15.100,HIGH
> 
> Thanks in Advance!


Have you tried learning the on and speed IR commands together?

On followed by low
on followed by med

etc etc.


----------



## CineSnack

AndreNewman said:


> Have you tried learning the on and speed IR commands together?
> 
> On followed by low
> on followed by med
> 
> etc etc.



Yes, but i get only these codes in the console from my remote:
cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B10..","DataLSB":"0x80DE08..","Repeat":0} - Ventilator Stufe 3
cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B30..","DataLSB":"0x80DE0..","Repeat":0} - Ventilator Stufe 2
cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B08..","DataLSB":"0x80DE10.","Repeat":0} - Ventilator Stufe 1
cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B00..","DataLSB":"0x80DE00..","Repeat":0} - Ventilator off

When i press first on and then low i get something like this:
{"Protocol":"UNKNOWN","Bits":15,"Hash":"0x2570573B","Repeat":0}

but that dont work. any other ideas ?

Thank you!


----------



## AndreNewman

CineSnack said:


> Yes, but i get only these codes in the console from my remote:
> cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B10..","DataLSB":"0x80DE08..","Repeat":0} - Ventilator Stufe 3
> cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B30..","DataLSB":"0x80DE0..","Repeat":0} - Ventilator Stufe 2
> cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B08..","DataLSB":"0x80DE10.","Repeat":0} - Ventilator Stufe 1
> cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B00..","DataLSB":"0x80DE00..","Repeat":0} - Ventilator off
> 
> When i press first on and then low i get something like this:
> {"Protocol":"UNKNOWN","Bits":15,"Hash":"0x2570573B","Repeat":0}
> 
> but that dont work. any other ideas ?
> 
> Thank you!


Ah ok, so the IR box sees they are separate commands (IR usually has lead in and stop sequences) and refuses to learn them as one. Actually in a way that's good, because it isn't blindly learning the commands, it's recognising what they are and reproducing them from scratch, much more reliable in the long run.

Is it possible to just put both commands in the mqtt payload, one after the other?

Otherwise it should be possible to make a Tasmota rule to send the correct commands and use the Event topic to control from HTFanControl.

Maybe this:



Code:


Rule1 on event#s1 do Backlog cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B08..","DataLSB":"0x80DE10.","Repeat":0}; cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B30..","DataLSB":"0x80DE0.","Repeat":0} endon on event#s2 do Backlog cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B08..","DataLSB":"0x80DE10.","Repeat":0}; cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B10..","DataLSB":"0x80DE08.","Repeat":0} endon on event#s3 do Backlog cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B08..","DataLSB":"0x80DE10.","Repeat":0}; cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B10..","DataLSB":"0x80DE08.","Repeat":0}  endon on event#s4 do cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B00..","DataLSB":"0x80DE00..","Repeat":0} endon on event#s0 do power0 0  endon
Rule1 on

Totally off the cuff, totally not tested and I know I don't have all the right IR commands but hopefully it gives you an idea. Probably putting two IR commands in the payload works, you might need Backlog to get that to work...


----------



## CineSnack

AndreNewman said:


> Ah ok, so the IR box sees they are separate commands (IR usually has lead in and stop sequences) and refuses to learn them as one. Actually in a way that's good, because it isn't blindly learning the commands, it's recognising what they are and reproducing them from scratch, much more reliable in the long run.
> 
> Is it possible to just put both commands in the mqtt payload, one after the other?
> 
> Otherwise it should be possible to make a Tasmota rule to send the correct commands and use the Event topic to control from HTFanControl.
> 
> Maybe this:
> 
> 
> 
> Code:
> 
> 
> Rule1 on event#s1 do Backlog cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B08..","DataLSB":"0x80DE10.","Repeat":0}; cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B30..","DataLSB":"0x80DE0.","Repeat":0} endon on event#s2 do Backlog cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B08..","DataLSB":"0x80DE10.","Repeat":0}; cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B10..","DataLSB":"0x80DE08.","Repeat":0} endon on event#s3 do Backlog cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B08..","DataLSB":"0x80DE10.","Repeat":0}; cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B10..","DataLSB":"0x80DE08.","Repeat":0}  endon on event#s4 do cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B00..","DataLSB":"0x80DE00..","Repeat":0} endon on event#s0 do power0 0  endon
> Rule1 on
> 
> Totally off the cuff, totally not tested and I know I don't have all the right IR commands but hopefully it gives you an idea. Probably putting two IR commands in the payload works, you might need Backlog to get that to work...


Ok, thanks for your help! I will try when i am Home again. Sounds good.

but i guess i would be hard to Send Two commands, because on/off ist the same Button. So sometimes the Fan will be turned off, and Then the coding is incorrect.

is it Not possible to implement an on command in htf Controll?

thanks!


----------



## AndreNewman

CineSnack said:


> Ok, thanks for your help! I will try when i am Home again. Sounds good.
> 
> but i guess i would be hard to Send Two commands, because on/off ist the same Button. So sometimes the Fan will be turned off, and Then the coding is incorrect.
> 
> is it Not possible to implement an on command in htf Controll?
> 
> thanks!


Probably it is possible isn HTFanControl, I was just trying to give you something to try right now.

I'm not really clear yet how the fan responds to commands, I see the off command and the speed commands but what is the exact sequence you have to send to get each speed?

Or is the off command actually an on/off toggle and you need to send this before the speed command? If so my rule is wrong.


----------



## AndreNewman

We now have Little and Large, for those in UK of a certain age...










I may make some sort of stand as the big one is a bit low and the little one is a bit high.

I adjusted the Tasmota rule so the little one does the lowest speeds with it's low and high and the big one does the two highest speeds with it's lowest and highest. The spin up times seem much the same, the fan inside is identical, just shorter.

I felt there wasn't much difference between the speeds so using lowest and highest seems the right thing to do.

We will see (or feel) after a few movies but I'm thinking if I was to start again, I'd get two little ones and have them running together for the higher speeds.


----------



## AndreNewman

I bought this fan:









Pro Breeze 13" Desktop Mini Tower Fan with 3 Fan Speeds, Portable Desk Fan, Automatic Oscillation, & Quiet Cooling Technology for Home Office Kitchen & Garden - Black : Amazon.co.uk: Home & Kitchen


Free delivery and returns on eligible orders. Buy Pro Breeze 13" Desktop Mini Tower Fan with 3 Fan Speeds, Portable Desk Fan, Automatic Oscillation, & Quiet Cooling Technology for Home Office Kitchen & Garden - Black at Amazon UK.



www.amazon.co.uk





Nice and black, simple controls, low wattage 20w.










Looks much the same inside as the bigger one, same sort of motor.










Different switch but the principle is the same, three speed wires labelled 1,2,3 Live L and Y is the oscillation motor.










Again no Neutral, maybe I could have crammed the controller into the base but I decided to reuse the grey wire as a Neutral for the controller.


















So I Moved the grey wire so it's commoned with the Neutral in and Neutral to the main motor (black wire) and the Neutral to the oscillator motor. The red oscillator motor wire is terminated for electrical safety but nothing else is connected to it.










Now I can remove the switch and wire the controller.










White wire is medium speed, unused and insulated for safety. It will have some percentage of mains voltage on it (50% or 60% maybe) while the fan is running so don't connect it to anything else.








Reassemble:










Make sure the wires or the controller can't get stuck in the fan or the bearing.









You could use the Shelly 2.5 controller as is for a two speed fan, I don't think I could fit the 4 channel one in here.

Use these instruction to set it up:








4D Theater Wind Effect - DIY Home Theater Project


I am actually starting to look at these now. https://www.amazon.com/s?k=12v+radiator+fans Lots of variation for an individual to choose what works best for their room. These seem to have crazy amounts of CFM. Noise I am sure too, but since they will be speed controlled they can be run in a...




www.avsforum.com





For this one I chose to reflash the Shelly with Tasmota and set it up like that, much more flexible but a bit more technical.

I used this guide to install Tasmota, you can do it over the network, no USB, no wires, no soldering.








Shelly 2.5: Flash ESPHome Over The Air!


It's no secret that I'm a fan of Shelly products to automate various devices in my house. They're well built, tiny and rock solid, and best of all: compatible with ESPHome.I flashed ESPHome onto all my Shelly 1's, but for some reason, I have issues with my Shelly 2.5 devices... Here's how I...




savjee.be




I stopped when I had Tasmota installed, didn't want to do the extra stuff this guy needed.
TBH this really boils down to use this URL to reflash, you need to put your Shellies IP address in.


Code:


http://SHELLY_IP_ADDRESS/ota?url=http://dl.dasker.eu/firmware/mg2tasmota-Shelly25.zip

The Shelly needs to be setup, it's not directly recognised, so copy paste this:


Code:


{"NAME":"Shelly 2.5","GPIO":[56,0,17,0,21,83,0,0,6,82,5,22,156],"FLAG":2,"BASE":18}

here:














Templates - Tasmota


Template is a definition of a device and how its GPIOs are assigned




tasmota.github.io





The rest is as in the 4 channel controller but interlock is only 1,2 and the Rules changes to match.

#746

This bodes well for modifying manually switched fans, provided you are comfortable and safe with basic electrical wiring this is an easy mod. No soldering, fairly basic modifications.


----------



## SirMaster

I hacked together a 3-speed fan I had lying around just to try things out.

Thanks to @AndreNewman everything was super simple to set up and get working!


----------



## SirMaster

CineSnack said:


> Now I noticed that I always have to switch on the fan first before I can choose High, Med or Low :-(
> Is it possible to implement this in the software? Or do I have to adjust all the wind tracks manually as in the example here?
> 
> 
> *00:00:50.446,Off ---Turn On FAN*
> 00:00:50.446,HIGH
> 00:00:51.401,ECO
> 00:00:54.989,HIGH
> 00:00:56.379,ECO
> 00:01:02.924,HIGH
> 00:01:03.995,ECO
> 00:01:08.725,HIGH
> 00:01:09.389,ECO
> 00:01:11.349,HIGH
> *00:01:12.313,Off ---Turn Off Fan
> 00:01:15.100,Off---Turn On FAN*
> 00:01:15.100,HIGH
> 
> Thanks in Advance!



Well, I don't normally want to add in special 1-off cases.

But I also don't like to say no, and I know you have been struggling with all this.


I will see what I can do, maybe have something for you to try out soon.


----------



## SirMaster

@CineSnack 

Try this:



https://nicko88.com/misc/HTFanControl_0.2.0pre3.zip



You will need to config some settings by manually editing the config file and adding these 3 MQTT_ON commands. Set the topic and payload to whatever you need. 

The MQTT_ON_Delay (no quotes around the number) is the delay time (in ms) between the software sending the ON command and then sending the speed command that it is supposed to send at that time. So you will also need to add some time to your Spinup Offset to account for this delay since that's the offset that is used when the fan is going from OFF to some speed, so it works out perfect that you can factor this into the existing spinup offset feature. You will just have to play with number here to see what works best for your fan. The lower the better I would say.


----------



## CineSnack

Hi,

wow, thanks for your help and the new version. I really appreciate that. 

I've tried a lot with it the last few nights, but haven't come up with the right solution. :-(

As you described, I copied the three MQTT ON commands into the config, but unfortunately I don't really know how to adjust them in the WINDTRACK. He now takes the ON command, but can't I combine the two directly?
e.g.
00: 09: 53.133, ON, HIGH ?
_
The Config look like this:

{
"MediaPlayerType": "Kodi",
"MediaPlayerIP": "127.0.0.1",
"MediaPlayerPort": 8080,
"ControllerType": "MQTT",
"LIRC_IP": "127.0.0.1",
"LIRC_Port": 8765,
"LIRC_Remote": "EHF10127B",
"MQTT_IP": "127.0.0.1",
"MQTT_Port": 1883,
"MQTT_OFF_Topic": "cmnd/tasmota_1A7531/IRSend",
"MQTT_OFF_Payload": "{\u0022Protocol\u0022:\u0022NEC\u0022,\u0022Bits\u0022:32,\u0022Data\u0022:\u00220x17B00FF\u0022,\u0022DataLSB\u0022:\u00220x80DE00FF\u0022,\u0022Repeat\u0022:0}",
"MQTT_ECO_Topic": "cmnd/tasmota_1A7531/IRSend",
"MQTT_ECO_Payload": "{\u0022Protocol\u0022:\u0022NEC\u0022,\u0022Bits\u0022:32,\u0022Data\u0022:\u00220x17B08F7\u0022,\u0022DataLSB\u0022:\u00220x80DE10EF\u0022,\u0022Repeat\u0022:0}",
"MQTT_LOW_Topic": "cmnd/tasmota_1A7531/IRSend",
"MQTT_LOW_Payload": "{\u0022Protocol\u0022:\u0022NEC\u0022,\u0022Bits\u0022:32,\u0022Data\u0022:\u00220x17B08F7\u0022,\u0022DataLSB\u0022:\u00220x80DE10EF\u0022,\u0022Repeat\u0022:0}",
"MQTT_MED_Topic": "cmnd/tasmota_1A7531/IRSend",
"MQTT_MED_Payload": "{\u0022Protocol\u0022:\u0022NEC\u0022,\u0022Bits\u0022:32,\u0022Data\u0022:\u00220x17B30CF\u0022,\u0022DataLSB\u0022:\u00220x80DE0CF3\u0022,\u0022Repeat\u0022:0}",
"MQTT_HIGH_Topic": "cmnd/tasmota_1A7531/IRSend",
"MQTT_HIGH_Payload": "{\u0022Protocol\u0022:\u0022NEC\u0022,\u0022Bits\u0022:32,\u0022Data\u0022:\u00220x17B10EF\u0022,\u0022DataLSB\u0022:\u00220x80DE08F7\u0022,\u0022Repeat\u0022:0}",
"MQTT_ON_Topic": "cmnd/tasmota_1A7531/IRSend",
"MQTT_ON_Payload": "{\u0022Protocol\u0022:\u0022NEC\u0022,\u0022Bits\u0022:32,\u0022Data\u0022:\u00220x17B00FF\u0022,\u0022DataLSB\u0022:\u00220x80DE00FF\u0022,\u0022Repeat\u0022:0}",
"MQTT_ON_Delay": 250,
"PlexToken": "",
"GlobalOffsetMS": 2500,
"SpinupOffsetMS": 1500
}_



With this command he switch the fan on, but does not switch directly to HIGH. Here the Fan always takes the last Speed setting.

By the way: The ON / Off button is a toggle and there is no extra button for ON / OFF

I have now tried this, with an time offset of 2 seconds, but that is a lot of work and i have to edit all the windtrack codes :-( :
00:09:38.915,ON
00:09:40.915,LOW

When i just copied the Time Step like this:
00:09:40.915,ON
00:09:40.915,LOW

The HTF FAN Controll Software give me an Error: "Windtrack error: Timecode on Line 7 is out of order"

I really just need an *on *Function if the FAN is turned off.
Like this, that would be perfect! *00: 09: 53.133, ON, HIGH (First Turn On, then go High) *
or like This:* 
00:09:40.915,OFF
ON,
00:09:43.374,HIGH
00:09:46.335,MED*

Which I also noticed. As soon as I start or stop a movie in Kodi, the fan goes on. So at the beginning I always have to send an off command in the wind track. Can you change that ?

Thanks so much!


BTW: Here are my Codes from my FAN Remote:
cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B10EF","DataLSB":"0x80DE08F7","Repeat":0} - Ventilator Stufe 3
cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B30CF","DataLSB":"0x80DE0CF3","Repeat":0} - Ventilator Stufe 2
cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B08F7","DataLSB":"0x80DE10EF","Repeat":0} - Ventilator Stufe 1
cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B00FF","DataLSB":"0x80DE00FF","Repeat":0} - Ventilator off


----------



## SirMaster

CineSnack said:


> Hi,
> 
> wow, thanks for your help and the new version. I really appreciate that.
> 
> I've tried a lot with it the last few nights, but haven't come up with the right solution. :-(
> 
> As you described, I copied the three MQTT ON commands into the config, but unfortunately I don't really know how to adjust them in the WINDTRACK. He now takes the ON command, but can't I combine the two directly?
> e.g.
> 00: 09: 53.133, ON, HIGH ?
> 
> _The Config look like this:
> 
> {
> "MediaPlayerType": "Kodi",
> "MediaPlayerIP": "127.0.0.1",
> "MediaPlayerPort": 8080,
> "ControllerType": "MQTT",
> "LIRC_IP": "127.0.0.1",
> "LIRC_Port": 8765,
> "LIRC_Remote": "EHF10127B",
> "MQTT_IP": "127.0.0.1",
> "MQTT_Port": 1883,
> "MQTT_OFF_Topic": "cmnd/tasmota_1A7531/IRSend",
> "MQTT_OFF_Payload": "{\u0022Protocol\u0022:\u0022NEC\u0022,\u0022Bits\u0022:32,\u0022Data\u0022:\u00220x17B00FF\u0022,\u0022DataLSB\u0022:\u00220x80DE00FF\u0022,\u0022Repeat\u0022:0}",
> "MQTT_ECO_Topic": "cmnd/tasmota_1A7531/IRSend",
> "MQTT_ECO_Payload": "{\u0022Protocol\u0022:\u0022NEC\u0022,\u0022Bits\u0022:32,\u0022Data\u0022:\u00220x17B08F7\u0022,\u0022DataLSB\u0022:\u00220x80DE10EF\u0022,\u0022Repeat\u0022:0}",
> "MQTT_LOW_Topic": "cmnd/tasmota_1A7531/IRSend",
> "MQTT_LOW_Payload": "{\u0022Protocol\u0022:\u0022NEC\u0022,\u0022Bits\u0022:32,\u0022Data\u0022:\u00220x17B08F7\u0022,\u0022DataLSB\u0022:\u00220x80DE10EF\u0022,\u0022Repeat\u0022:0}",
> "MQTT_MED_Topic": "cmnd/tasmota_1A7531/IRSend",
> "MQTT_MED_Payload": "{\u0022Protocol\u0022:\u0022NEC\u0022,\u0022Bits\u0022:32,\u0022Data\u0022:\u00220x17B30CF\u0022,\u0022DataLSB\u0022:\u00220x80DE0CF3\u0022,\u0022Repeat\u0022:0}",
> "MQTT_HIGH_Topic": "cmnd/tasmota_1A7531/IRSend",
> "MQTT_HIGH_Payload": "{\u0022Protocol\u0022:\u0022NEC\u0022,\u0022Bits\u0022:32,\u0022Data\u0022:\u00220x17B10EF\u0022,\u0022DataLSB\u0022:\u00220x80DE08F7\u0022,\u0022Repeat\u0022:0}",
> "MQTT_ON_Topic": "cmnd/tasmota_1A7531/IRSend",
> "MQTT_ON_Payload": "{\u0022Protocol\u0022:\u0022NEC\u0022,\u0022Bits\u0022:32,\u0022Data\u0022:\u00220x17B00FF\u0022,\u0022DataLSB\u0022:\u00220x80DE00FF\u0022,\u0022Repeat\u0022:0}",
> "MQTT_ON_Delay": 250,
> "PlexToken": "",
> "GlobalOffsetMS": 2500,
> "SpinupOffsetMS": 1500
> }_
> 
> 
> 
> With this command he switch the fan on, but does not switch directly to HIGH. Here the Fan always takes the last Speed setting.
> 
> By the way: The ON / Off button is a toggle and there is no extra button for ON / OFF
> 
> I have now tried this, with an time offset of 2 seconds, but that is a lot of work and i have to edit all the windtrack codes :-( :
> 00:09:38.915,ON
> 00:09:40.915,LOW
> 
> When i just copied the Time Step like this:
> 00:09:40.915,ON
> 00:09:40.915,LOW
> 
> The HTF FAN Controll Software give me an Error: "Windtrack error: Timecode on Line 7 is out of order"
> 
> I really just need an *on *Function if the FAN is turned off.
> Like this, that would be perfect! *00: 09: 53.133, ON, HIGH (First Turn On, then go High) *
> or like This:*
> 00:09:40.915,OFF
> ON,
> 00:09:43.374,HIGH
> 00:09:46.335,MED*
> 
> Which I also noticed. As soon as I start or stop a movie in Kodi, the fan goes on. So at the beginning I always have to send an off command in the wind track. Can you change that ?
> 
> Thanks so much!
> 
> 
> BTW: Here are my Codes from my FAN Remote:
> cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B10EF","DataLSB":"0x80DE08F7","Repeat":0} - Ventilator Stufe 3
> cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B30CF","DataLSB":"0x80DE0CF3","Repeat":0} - Ventilator Stufe 2
> cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B08F7","DataLSB":"0x80DE10EF","Repeat":0} - Ventilator Stufe 1
> cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B00FF","DataLSB":"0x80DE00FF","Repeat":0} - Ventilator off



Sorry, I didn't describe it well enough.

The ON command is automatic. You do not edit any windtrack file. Do not put ON in the windtrack, it will not understand it at all.

If the fan is currently OFF, and needs to go to some speed, it sends the MQTT ON command first, then waits the specified MQTT ON Delay, then sends the intended speed.

(this is all that I added, send ON before sending a speed (if the previous command was an OFF))


I see now that it may be simpler if I just send an ON command right after an OFF command? If that is preferred I can do that instead. If I send ON after an OFF, the fan turns on but it doesn't spin? I don't really understand how you fan works so I am not totally sure how to handle it. And it's hard to handle something like this as the software is built from the ground up without this behavior in mind.


The fan should go OFF when you stop a movie. When you start a movie it should go into whatever speed is coded at that time in the movie wherever you are starting from.


----------



## SirMaster

CineSnack said:


> By the way: The ON / Off button is a toggle and there is no extra button for ON / OFF


Based on what you say here, I am not sure this is going to work for your fan very well.

My software does not keep track of the current state of the fan at all, and it is not built to do so. So it will not understand a toggle because it wont know what state the fan is currently in.

The software sends the OFF command multiple times sometimes, but it is expected that sending OFF will do nothing when the fan is already OFF.


----------



## CineSnack

That was the solution! I thought that I had to add the ON command to the wind track  Now it works perfectly! Thanks very much!

However, there is still the problem that the fan always comes on when I start a film. I guess that's because of the "OFF" status at the beginning? I could change that with the help of an adjustment in the wind track, but it would be great if it could still be implemented  THANK YOU !!


----------



## CineSnack

Ok, i understand. I will test some movies with the setup an will give you an Feedback. For the OFF Command at Film beginning, i can eddit someting like this for now:
*00:00:02.000,OFF -- This will turn off the FAN at the beginning
00:09:43.374,HIGH
00:09:46.335,MED* 

At the End (If the FAN is on) i can turn off manually .


----------



## SirMaster

CineSnack said:


> That was the solution! I thought that I had to add the ON command to the wind track  Now it works perfectly! Thanks very much!
> 
> However, there is still the problem that the fan always comes on when I start a film. I guess that's because of the "OFF" status at the beginning? I could change that with the help of an adjustment in the wind track, but it would be great if it could still be implemented  THANK YOU !!


I'm glad to hear that it is mostly working.

I am not 100% sure about your beginning film issue. Let me think.

Is it because your fan starts physically OFF, and the software sends an OFF command when starting the movie (which turns your fan ON?).


Open up the Console Window from the tray icon and keep an eye on when its sending OFF command and see if you can figure out what I need to change.


To be honest I am not 100% sure in my head when my program sends OFF commands. It does so sometimes, but I was never worried about sending extra OFF commands because normally it is not a program to send repeated OFF commands.

Next time I have some time to try to test this case I will see if I can make sense of what is happening when you are starting a movie in Kodi and see if there is something that I can do for you to help the situation.

(I may just need to put something in to assume the fan is OFF at program start, and never allow sending an OFF command if the previous command was an OFF command)

I will see what can be done tonight in the evening USA time after I am home from work.


----------



## SirMaster

@CineSnack 

Try this version. It should now ignore the OFF command when starting a movie.









Release 0.2.0pre4 · nicko88/HTFanControl


Changelog Fixed settings loading bug. Upgraded Audio Sync library and tweaked the sync code. This is still a work in progress. Added a special case command handling for a user's specific fan.




github.com






To anyone else, you can use this version for now as it includes the fix to the broken settings loading that was in 0.1.1.

I deleted 0.1.1 for now because it was not usable, and posted this pre-release version that people can use until I am ready to release the next main version.


----------



## CineSnack

SirMaster said:


> @CineSnack
> 
> Try this version. It should now ignore the OFF command when starting a movie.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Release 0.2.0pre4 · nicko88/HTFanControl
> 
> 
> Changelog Fixed settings loading bug. Upgraded Audio Sync library and tweaked the sync code. This is still a work in progress. Added a special case command handling for a user's specific fan.
> 
> 
> 
> 
> github.com
> 
> 
> 
> 
> 
> 
> To anyone else, you can use this version for now as it includes the fix to the broken settings loading that was in 0.1.1.
> 
> I deleted 0.1.1 for now because it was not usable, and posted this pre-release version that people can use until I am ready to release the next main version.


@SirMaster Wow! That was quick!  Thanks for the Update, it works now perfect!! Thank yo so much.

One more question from my side:

How exactly can I adjust the fan a little later? I use the Spin Offset for this, right? How are your attitudes here? I looked at Jurassic Park yesterday and found that the fan had turned on a little early. What exactly have you set here so that I have a guideline? 

My Setup:
Globel Offset: 2500
SpinUp Offset: 1500
SpinDown Offset: 0

Thank you very much!


----------



## SirMaster

See this for calibrating the timings.









4D Theater Wind Effect - DIY Home Theater Project


4D Theater Wind Effect - SirMaster & SOWK Edition Required Components: Source Device - HTPC or any devices that can run KODI *HTFanControl software will currently require a PC with Microsoft Windows OS, Raspberry Pi support coming soon. Media Player - MPC-BE / MPC-HC / KODI / PLEX...




www.avsforum.com


----------



## CineSnack

SirMaster said:


> See this for calibrating the timings.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 4D Theater Wind Effect - DIY Home Theater Project
> 
> 
> 4D Theater Wind Effect - SirMaster & SOWK Edition Required Components: Source Device - HTPC or any devices that can run KODI *HTFanControl software will currently require a PC with Microsoft Windows OS, Raspberry Pi support coming soon. Media Player - MPC-BE / MPC-HC / KODI / PLEX...
> 
> 
> 
> 
> www.avsforum.com


I am sorry, i didnt find that Post or i have overread it! Thanks for the good Work! Now everything is perfect!

Anywhay, i will order a wind machine as a fan again and test a little with the 4-channel switch here, maybe I can then also contribute something. Thank you so far for the great support! Stay healthy!

My Settings for the Woozzoo :
Global Offset: 0
SpinUp Offset 1500
Spin Down Offset 0

Maybe this is interesting for all Users with an Woozzoo FAN.


----------



## SirMaster

CineSnack said:


> I am sorry, i didnt find that Post or i have overread it! Thanks for the good Work! Now everything is perfect!
> 
> Anywhay, i will order a wind machine as a fan again and test a little with the 4-channel switch here, maybe I can then also contribute something. Thank you so far for the great support! Stay healthy!
> 
> My Settings for the Woozzoo :
> Global Offset: 0
> SpinUp Offset 1500
> Spin Down Offset 0
> 
> Maybe this is interesting for all Users with an Woozzoo FAN.


Hmm, you shouldn’t be using 0 global offset. 

That global offset is the time it takes the air to move from the fan to your seat. 

In a 12ft typical home theater distance 1000-1500 is a pretty good time. It takes about 1-1.5 seconds to move the air from the fan to the seat.

Movies are coded with the fan commands at exactly the right moment, so if the fans are on HIGH, and need to turn OFF at a moment, there needs to be an offset to cause the fans to turn off a bit early so that the air finally stops hitting you at the proper moment. 

Spinup offset is used only for when the fan goes from OFF to some speed, and usually around 1 second is a good starting point. 

You should be able to use those test files to dial it in perfectly.


----------



## brazen1

*The Island (2005)*

Coded by brazen1


----------



## brazen1

*Gravity (2013) *
got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## kdawg2391044

@brazen1 and @SirMaster my setup stopped working all of a sudden and started troubleshooting. I think my iguana dongle is not working for transmit (receive seems to work confirmed with the IRGraph utility that comes with WinIRC). I tried reinstalling, different USB port, different computer, windows compatibility modes, different transmit cable and when using a phone camera I don't see the transmit led light up. Any thoughts on what else I can test? Otherwise seems like I'll need to switch to the tasmota/mqtt route since the iguana dongle is not easy to get.

Sent from my IN2017 using Tapatalk


----------



## brazen1

Imo, I doubt the dongle just went bad. I'd put everything back exactly how it was and concentrate on the IR transmitter placement. I installed mine inside the fan behind the plastic window so the signal would always be strong since IR is touchy and has never failed once. However, when I use my Harmony remote to manually control the fan, it can be challenging if I don't aim at it just right. I think because the little IR emitter in front of the fan IR receiver is slightly obstructed due to putting it in there. Anyone know what would happen if I cut the IR emitter off and soldered the wires directly to the fan IR receiver? Does it actually need the infrared light flash if it isn't sending from a distance and is instead connected direct? 

Did you test manually via HTFanControl and/or the Winlirc GUI?


----------



## brazen1

I chose to hide WinLirc from the system tray when I set this up using W10. In order to bring up the GUI, I ran winlirc.exe. Now that I'm using W11, winlirc.exe doesn't show the GUI in the system tray anymore. Everything is working well but I'd like to access it. Anyone know how short of uninstalling/reinstalling?

NM. Unplugged dongle, rebooted, error appeared allowing GUI to open, reset to show in tray.


----------



## kdawg2391044

I am blasting the ir led right in front of the fan and doing it straight in winlirc to eliminate variables and it doesn't work. I've confirmed that the fan works with the original remote so there's nothing wrong with the fan itself. Like I said before it was all working fine before and the other day went to watch Dune and wind wasn't working. I troubleshot for about 5mins and gave up since I didn't want to take up more time. I didn't do more comprehensive testing until earlier today and am not even using HTFanControl at all to ensure I'm just testing the dongle. The only other thing I can think of is the ir led going bad for some reason but I have two and they both don't work now when they def did before or It's either some sort of windows update that came on both my laptops but dunno what it could be since it's been a few months since I've used the windtrack to watch a movie.

Sent from my IN2017 using Tapatalk


----------



## brazen1

I assume all the info is entered correctly for WinLIRC (ehf10127b) and driver didn't corrupt or something? I doubt an update caused something. I'm using up to date W11. Port didn't lock down or something? I had this happen to me once and couldn't figure out what the problem was. Finally sorted it. My VPN didn't allow LAN traffic until I enabled it. Have you installed or adjusted a VPN lately?


----------



## SirMaster

kdawg2391044 said:


> @brazen1 and @SirMaster my setup stopped working all of a sudden and started troubleshooting. I think my iguana dongle is not working for transmit (receive seems to work confirmed with the IRGraph utility that comes with WinIRC). I tried reinstalling, different USB port, different computer, windows compatibility modes, different transmit cable and when using a phone camera I don't see the transmit led light up. Any thoughts on what else I can test? Otherwise seems like I'll need to switch to the tasmota/mqtt route since the iguana dongle is not easy to get.
> 
> Sent from my IN2017 using Tapatalk


I’m not sure if your usb dongle is broken. 

If so the best option would be to build a tasmota IR blaster. 

You can seriously do this for no more than like $25. 

You only need an esp8266 arduino and 3 pieces. An IR led, transistor, and IR reciever. 

All the info is here. 






IR Remote - Tasmota


Documentation (Wiki) for Tasmota




tasmota.github.io





My friend threw one together one night in just a few minutes to try.


----------



## brazen1

*The Last Duel (2021)*

Coded by brazen1


----------



## brazen1

*No Time to Die (2021)*

Coded by brazen1


----------



## brazen1

*World War Z (2013)*

Coded by brazen1


----------



## brazen1

*I, Robot (2004)*

Coded by brazen1


----------



## brazen1

*Cowboys And Aliens (2011) Extended*

Coded by brazen1 - Happy New Year!


----------



## Gates

Wow, cool thread, nice work boys and girls!


----------



## kdawg2391044

SirMaster said:


> I’m not sure if your usb dongle is broken.
> 
> If so the best option would be to build a tasmota IR blaster.
> 
> You can seriously do this for no more than like $25.
> 
> You only need an esp8266 arduino and 3 pieces. An IR led, transistor, and IR reciever.
> 
> All the info is here.
> 
> 
> 
> 
> 
> 
> IR Remote - Tasmota
> 
> 
> Documentation (Wiki) for Tasmota
> 
> 
> 
> 
> tasmota.github.io
> 
> 
> 
> 
> 
> My friend threw one together one night in just a few minutes to try.


I bought the stuff last week to give this a try. Hopefully can find some time in the next few weeks to set this up.

Sent from my IN2017 using Tapatalk


----------



## brazen1

*Pirates of the Caribbean, The Curse of the Black Pearl (2003)*

Coded by brazen1


----------



## brazen1

*Pirates of the Caribbean, Dead Men Tell No Tales (2017)*

Coded by brazen1


----------



## kdawg2391044

@SirMaster @AndreNewman, I got a few ESP8266 arduinos and started playing around with them and setting them up. I have Tasmota firmware flashed and am trying to figure out how to configure them to replace the Iguanaworks dongle. I am running HTFanControl 0.2.0pre4. Do I need to change the module type to something else? Does anyone have the proper payload commands for the ehf10127b fan or how I can translate it from the existing WinLIRC config? It looks like MQTT is expecting a different format from the RAW output that seems to be in that file created. On a separate note, how do I use the tasmota console to read new codes from a remote? I havent figured out how to do that yet.


----------



## SirMaster

kdawg2391044 said:


> @SirMaster @AndreNewman, I got a few ESP8266 arduinos and started playing around with them and setting them up. I have Tasmota firmware flashed and am trying to figure out how to configure them to replace the Iguanaworks dongle. I am running HTFanControl 0.2.0pre4. Do I need to change the module type to something else? Does anyone have the proper payload commands for the ehf10127b fan or how I can translate it from the existing WinLIRC config? It looks like MQTT is expecting a different format from the RAW output that seems to be in that file created. On a separate note, how do I use the tasmota console to read new codes from a remote? I havent figured out how to do that yet.
> 
> View attachment 3223020
> 
> View attachment 3223153


I know it's possible to send RAW IR commands, but RAW shouldn't be needed.

Though here is the info for RAW:





IRSend RAW Encoding - Tasmota


Documentation (Wiki) for Tasmota




tasmota.github.io





You should just scan in the IR codes from your fan remote and get the proper commands for your payloads.

All you should need to do is open the Tasmota console, and you should see the incoming IR commands that the reciever sees.


Did you use the tasmota-ir.bin firmware version?

According to this page:





IR Communication - Tasmota


Documentation (Wiki) for Tasmota




tasmota.github.io





"In order to send IR data, _*you must configure one of the free device GPIO as IRsend (8). Neither GPIO01 nor GPIO03 can be used.*_ "

You can't use GPIO1 for IRsend, so re-wire that to another and change that. I could have sworn it should say "IRsend (8)" but I don't see "(8)" in your screenshot.


Another page says this:

Avoid using the following pins on an ESP8266 unless you really know what you are doing:
Pin 0/D3: Can interfere with the boot/program mode & support circuits.
Pin 1/TX/TXD0: Any serial transmissions from the ESP8266 will interfere.
Pin 3/RX/RXD0: Any serial transmissions to the ESP8266 will interfere.
Pin 16/D0: Has no interrupts on the ESP8266, so can't be used for IR receiving with this library.
Avoid I2C pins for IR sending or receiving if you are using I2C.

So use GPIO pins other than 0,1,3,16


----------



## kdawg2391044

SirMaster said:


> I know it's possible to send RAW IR commands, but RAW shouldn't be needed.
> 
> Though here is the info for RAW:
> 
> 
> 
> 
> 
> IRSend RAW Encoding - Tasmota
> 
> 
> Documentation (Wiki) for Tasmota
> 
> 
> 
> 
> tasmota.github.io
> 
> 
> 
> 
> 
> You should just scan in the IR codes from your fan remote and get the proper commands for your payloads.
> 
> All you should need to do is open the Tasmota console, and you should see the incoming IR commands that the reciever sees.
> 
> 
> Did you use the tasmota-ir.bin firmware version?
> 
> I think you don't want to use GPIO pin2 for your transmitter or reciever so if you can easily change that?


Ok Ill try to scan the codes when I have time tonight. I flashed using the web installer from Tasmota and selected the IR version: Install Tasmota








Why shouldnt I use GPIO2? It looks like I can set to any of the ones listed in the module config so 1/2/3/4/14 (dont see a pin 14 though so maybe this is because I have the wrong module set.


----------



## SirMaster

kdawg2391044 said:


> Ok Ill try to scan the codes when I have time tonight. I flashed using the web installer from Tasmota and selected the IR version: Install Tasmota
> View attachment 3223162
> 
> Why shouldnt I use GPIO2? It looks like I can set to any of the ones listed in the module config so 1/2/3/4/14 (dont see a pin 14 though so maybe this is because I have the wrong module set.


Sorry yeah I updated my post. Pin 2 should be fine, but in your original pic you have IRsend on pin 1 which wont work.


----------



## kdawg2391044

@SirMaster so some fumbling around my way through the Tasmota documentation, setting up a Mosquitto server since I dont have one, brushing up on my small electronics knowledge (I ended up using D5/D6 based on the electrical diagram from the Tasmota documentation), I have something somewhat working. However now while trying to learn the fan codes, I am getting some interesting responses. I am getting an HVAC protocol when learning the codes and am not able to successfully send a working command. I referenced this page: Tasmota IR Documentation It seems like there are different OFF commands as well depending on the state the fan was in previously (like if fan is in Med speed and I press power, I get a different OFF command vs if fan is in HIGH and I press Power on the remote). I have tried various combinations and the fan wont turn on or off:

IRSend including full HVAC values, IRSend with only the beginning protocol/data part and with HVAC parameters stripped out, IRhvac with full response, IRhvac with only the hvac response. All of these yield corresponding sent response so I know the command is being sent. I also tested by learning another remote for my Edifier speakers and that DOES work so I know my hardware is working since I am able to control that device. Ive tried putting the IR LED right in front of the fan to eliminate strength issues as well. Could it be the remote I have?



JSON:


ECO
17:37:09.741 MQT: tele/HTFan_A3D5C1/RESULT = {"IrReceived":{"Protocol":"KELON","Bits":48,"Data":"0x4E06000AC20C0488","DataLSB":"0x7260005043302011","Repeat":0,"IRHVAC":{"Vendor":"KELON","Model":-1,"Mode":"Cool","Power":"Off","Celsius":"On","Temp":30,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"On","Filter":"Off","Clean":"Off","Beep":"On","Sleep":0}}}
Low
17:37:46.327 MQT: tele/HTFan_A3D5C1/RESULT = {"IrReceived":{"Protocol":"KELON","Bits":48,"Data":"0x8E06000A020C0488","DataLSB":"0x7160005040302011","Repeat":0,"IRHVAC":{"Vendor":"KELON","Model":-1,"Mode":"Cool","Power":"Off","Celsius":"On","Temp":18,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"On","Filter":"Off","Clean":"Off","Beep":"On","Sleep":0}}}
Med
17:38:07.213 MQT: tele/HTFan_A3D5C1/RESULT = {"IrReceived":{"Protocol":"KELON","Bits":48,"Data":"0xE06000A820C0488","DataLSB":"0x7060005041302011","Repeat":0,"IRHVAC":{"Vendor":"KELON","Model":-1,"Mode":"Cool","Power":"Off","Celsius":"On","Temp":26,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"On","Filter":"Off","Clean":"Off","Beep":"On","Sleep":0}}}
HIGH
{"IrReceived":{"Protocol":"KELON","Bits":48,"Data":"0xCE06000A420C0488","DataLSB":"0x7360005042302011","Repeat":0,"IRHVAC":{"Vendor":"KELON","Model":-1,"Mode":"Cool","Power":"Off","Celsius":"On","Temp":22,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"On","Filter":"Off","Clean":"Off","Beep":"On","Sleep":0}}}

ECOOFF
17:40:43.738 MQT: tele/HTFan_A3D5C1/RESULT = {"IrReceived":{"Protocol":"KELON","Bits":48,"Data":"0xCE06000AC20C0408","DataLSB":"0x7360005043302010","Repeat":0,"IRHVAC":{"Vendor":"KELON","Model":-1,"Mode":"Cool","Power":"Off","Celsius":"On","Temp":30,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"On","Filter":"Off","Clean":"Off","Beep":"On","Sleep":0}}}
LOWOFF:
17:41:53.968 MQT: tele/HTFan_A3D5C1/RESULT = {"IrReceived":{"Protocol":"KELON","Bits":48,"Data":"0xE06000A020C0408","DataLSB":"0x7060005040302010","Repeat":0,"IRHVAC":{"Vendor":"KELON","Model":-1,"Mode":"Cool","Power":"Off","Celsius":"On","Temp":18,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"On","Filter":"Off","Clean":"Off","Beep":"On","Sleep":0}}}
MEDOFF:
17:38:32.275 MQT: tele/HTFan_A3D5C1/RESULT = {"IrReceived":{"Protocol":"KELON","Bits":48,"Data":"0x8E06000A820C0408","DataLSB":"0x7160005041302010","Repeat":0,"IRHVAC":{"Vendor":"KELON","Model":-1,"Mode":"Cool","Power":"Off","Celsius":"On","Temp":26,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"On","Filter":"Off","Clean":"Off","Beep":"On","Sleep":0}}}
HighOFF:
17:39:47.575 MQT: tele/HTFan_A3D5C1/RESULT = {"IrReceived":{"Protocol":"KELON","Bits":48,"Data":"0x4E06000A420C0408","DataLSB":"0x7260005042302010","Repeat":0,"IRHVAC":{"Vendor":"KELON","Model":-1,"Mode":"Cool","Power":"Off","Celsius":"On","Temp":22,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"On","Filter":"Off","Clean":"Off","Beep":"On","Sleep":0}}}

Sample Commands:
HIGH

cmnd/HTFan_A3D5C1/IRsend {"Protocol":"KELON","Bits":48,"Data":"0xCE06000A420C0488","DataLSB":"0x7360005042302011","Repeat":0,"IRHVAC":{"Vendor":"KELON","Model":-1,"Mode":"Cool","Power":"Off","Celsius":"On","Temp":22,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"On","Filter":"Off","Clean":"Off","Beep":"On","Sleep":0}}
cmnd/HTFan_A3D5C1/IRsend {"Protocol":"KELON","Bits":48,"Data":"0xCE06000A420C0488","DataLSB":"0x7360005042302011","Repeat":0}
cmnd/HTFan_A3D5C1/IRhvac {"Protocol":"KELON","Bits":48,"Data":"0xCE06000A420C0488","DataLSB":"0x7360005042302011","Repeat":0,"IRHVAC":{"Vendor":"KELON","Model":-1,"Mode":"Cool","Power":"Off","Celsius":"On","Temp":22,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"On","Filter":"Off","Clean":"Off","Beep":"On","Sleep":0}}
cmnd/HTFan_A3D5C1/IRhvac {"Vendor":"KELON","Model":-1,"Mode":"Cool","Power":"Off","Celsius":"On","Temp":22,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"On","Filter":"Off","Clean":"Off","Beep":"On","Sleep":0}



















On a separate note, I tried mapping the Eco and Low buttons in FanTester in HTFanControl to my Edifier Vol Up/Down just to check that HTFanControl is able to work. It was not working and decided to look at the Mosquitto logs and see that its not an authorized client since I have anonymous auth set to false. is it possible to customize the HTFanController MQTT client/username/password? I will allow anonymous auth for now since I dont have any other devices, but figured this is marginally more secure to have basic auth lol. It does work successfully when I turn on anonymous auth and restart Mosquitto.

*Anonymous auth = false (seems like client id rotates when its not authorized)*
1642179612: New connection from 127.0.0.1:15751 on port 1883.
1642179612: Sending CONNACK to 72133a514e8342d59e913f031b4bc4bc (0, 5)
1642179612: Client 72133a514e8342d59e913f031b4bc4bc disconnected, not authorised.
1642179612: New connection from 127.0.0.1:15752 on port 1883.
1642179612: Sending CONNACK to c928c519a5ea4101ad64e47619da66b8 (0, 5)
1642179612: Client c928c519a5ea4101ad64e47619da66b8 disconnected, not authorised.
1642179612: New connection from 127.0.0.1:15753 on port 1883.
1642179612: Sending CONNACK to eb2c0214252b42a6a80c2cd0eacbd9dc (0, 5)
1642179612: Client eb2c0214252b42a6a80c2cd0eacbd9dc disconnected, not authorised.

*Anonymous auth = true (seems like client stays fixed after its connected successfully)*
1642180887: Received PUBLISH from 471b2659a50e409997d6b3f57e94d79c (d0, q0, r0, m0, 'cmnd/HTFan_A3D5C1/IRsend', ... (81 bytes))
1642180887: Sending PUBLISH to HTFan (d0, q0, r0, m0, 'cmnd/HTFan_A3D5C1/IRsend', ... (81 bytes))
1642180887: Received PUBLISH from HTFan (d0, q0, r0, m0, 'stat/HTFan_A3D5C1/RESULT', ... (17 bytes))
1642180887: Received PUBLISH from 471b2659a50e409997d6b3f57e94d79c (d0, q0, r0, m0, 'cmnd/HTFan_A3D5C1/IRsend', ... (81 bytes))
1642180887: Sending PUBLISH to HTFan (d0, q0, r0, m0, 'cmnd/HTFan_A3D5C1/IRsend', ... (81 bytes))
1642180887: Received PUBLISH from HTFan (d0, q0, r0, m0, 'stat/HTFan_A3D5C1/RESULT', ... (17 bytes))
1642180888: Received PUBLISH from HTFan (d0, q0, r0, m0, 'stat/HTFan_A3D5C1/LOGGING', ... (22 bytes))
1642180888: Received PUBLISH from HTFan (d0, q0, r0, m0, 'stat/HTFan_A3D5C1/LOGGING', ... (143 bytes))
1642180888: Received PUBLISH from HTFan (d0, q0, r0, m0, 'stat/HTFan_A3D5C1/LOGGING', ... (62 bytes))


----------



## SirMaster

kdawg2391044 said:


> is it possible to customize the HTFanController MQTT client/username/password?


Sure, I can add basic MQTT auth.

I don't think we ever checked for multiple OFF IR commands. It's possible there are multiple, but clearly only 1 is needed since it works with LIRC with just 1.

I have not used Tasmota IR personally, but I have to imagine that it should be able to work one way or another.



I thought that simply sending the commands that is read by the reciever and printed in the console should work. It recognizing it as the HVAC protocol sounds reasonable to me since it is a fan.

That data part that looks like "0xCE06000A420C0488" definitely looks right. When I was first reading in the remote with LIRC, those are the how the command data looked at first before switching to RAW data commands.

I like the look of format #2.

Try only sending Data or DataLSB, not both, and try incrementing the repeat bit to 1?


Or for now perhaps going with RAW commands might end up being the best option.

Looks like for RAW you have to SetOption58 to 1, to receive raw commands.


Otherwise maybe there is something helpful here:








Troubleshooting Guide · crankyoldgit/IRremoteESP8266 Wiki


Infrared remote library for ESP8266/ESP32: send and receive infrared signals with multiple protocols. Based on: https://github.com/shirriff/Arduino-IRremote/ - Troubleshooting Guide · crankyoldgit/...




github.com





And beyond that, you can perhaps ask somewhere tied to that project for some help for your specific remote codes and why they are giving so much trouble.


----------



## kdawg2391044

I tried some of the troubleshooting in the page you provided and no luck. I set up another esp8226 and put the receiver there and read the code that is being sent and interestingly enough the code received is different than the expected code that's sent. There must be something wrong with the receiver maybe decode process. I even tried removing the resistor on the emitter circuit to overdrive it to increase strength. I didn't bother trying to read the raw data yet and it seems that the raw code in the winlic config is not in Pronto format so I didn't know how to convert it to something IRsend can use.

However for the heck of it, I tried the iguana dongle again to see if it would work and what do you know, it works when I put the led right in the window of the fan but not much further away. I ran a few different tests in my room and found out that while the iguana blaster sends a signal that the tasmota receiver picks up on the other side of the room (indirect signal blast and it's picking it up from reflected blast so that tells me it should be a strong enough signal and the code response matches the remote), the fan wasn't working at all. I moved the emitter around and found that it only worked with direct line of sight and from no more that 3ish ft. This leads me to think there's something wrong with the fan itself or the receiver led on the fan since this worked fine in the past and I didn't need to have the emitter nearby or even have exact line of sight. Anyways for now, I've reverted back to using the iguana and am taping the emitter right in the window of the ir receiver of the fan. Everything is working like it did previously with this setup.

Sent from my IN2017 using Tapatalk


----------



## brazen1

Mmmm Hmmmm 4D Theater Wind Effect - DIY Home Theater Project

I'd still like to know if we can hardwire the emitter to the receiver without damaging the circuitry? When you tape the emitter inside the plastic window, don't block the receiver or it will be even harder for it to get the signal from the remote. Also, try to fashion it so that tape isn't the only thing holding it because it will move over time. Position it away from the window amap but still able to respond. As lame at is, we might have to extend the receiver closer to the Window. Fwiw, the IR signal from the remote carries about 12' line of sight for me when the emitter isn't partially blocking the receiver which it is at the moment because of placement shift. Now I too have to point my remote inches away for it to respond.


----------



## SirMaster

kdawg2391044 said:


> There must be something wrong with the receiver maybe decode process.


It's weird because I feel like that is super unlikely since it's actually receiving a known protocol. That means the signal it is receiving matches something in Tasmota-ir database.

If it was receiving garbage it would be Protocol: Unknown.


----------



## AndreNewman

brazen1 said:


> Mmmm Hmmmm 4D Theater Wind Effect - DIY Home Theater Project
> 
> I'd still like to know if we can hardwire the emitter to the receiver without damaging the circuitry?


That might be a bit dangerous...

It all depends if the fan controller is isolated from the mains power, often in domestic electronics like this it isn't, saves a few pennies/cents. This is why there is a dire warning on the Shelly devices about connecting anything to the serial bus while it's plugged in!

If it isn't isolated you will be wiring mains power into the PC transmitter circuit, possible escaping of magic smoke and damage to any people in the vicinity!!

The standard way to deal with this is electronics design is an opto isolator, this consists of an led and an optical receiver next to each other or inside a chip package together. So really we are making an opto isolator by putting the transmit led next to the receiver.


----------



## SirMaster

In case it matters to anyone, IguanaWorks is selling the IR Transceivers again.









USB IR Transceiver - Iguanaworks


USB device to send and receive IR: have your computer send IR signals to your DVR; receive IR signals from a remote control. Works under Linux and Windows.Our standard USB IR Transceiver can send and receive infra-red (IR) signals.




www.iguanaworks.net





They have a few of the different models available, but they plan to continue to make and sell the socket receive version going forward.

This is definitely a legacy thing though for this project as it will always be hard to find IR fans that work (unless someone ever ends up finding one that is widely available)

The focus going forward is definitely on modifying fans with relays.


----------



## MikeD66

Good day gentlemen, 

I just recently sifted through the 43 pages of discussions on this topic and I am really excited to get onboard with this project. 

I am neither an engineer nor a programmer by background but I can follow instructions and am resourceful enough to figure things out on my own. Going through the discussions I noticed that the project started off initially relatively simple. Get a particular fan, an IR transceiver and control it with a program that SirMaster not only made for this project but is actively updating based on feedback from other members. I was excited to whip out my credit card, get the necessary items and start contributing to the movie database. 

As I continued reading, I noticed things started to get more complicated with the introduction of network controlled relays on fans that had to have manual push buttons for speed controls. I can see this starting to turn more people off now. Before it was, buy this fan, this IR device and download this program. Now it's, buy any fan with manual speed controls, open it up and install a relay, program the relay, then get it working with the program. 

At this point I started thinking if it was worth pursuing. I knew I could figure it out eventually and with assistance from you guys I'm sure it wouldn't be a problem. At the same time, ironically, with the increased complexity I started to think about another problem you guys were having with the spinup of the fan and working out different delays to ensure the effects were being felt at the appropriate time. 

I was wondering if it is possible to go beyond fans and use compressed air. The release of air at 90 psi can definitely be felt across a room almost instantaneously. It can also be throttled for different intensities and the nozzle(s) do not have to be big. Obviously the big drawbacks are having to have a compressor that can maintain the pressure for the heavy hitting sequences and remotely locating it for obvious reasons, but the piping can be plumbed so that it is not in the theatre. Like I said, I am not an engineer, but it's 330am where I am right now and I can't sleep because I am buzzing with excitement to get involved with this project. 

Let me know if I am out to lunch or if my idea has merit. 

Cheers, 
Mike


----------



## Archaea

MikeD66 said:


> Good day gentlemen,
> 
> I just recently sifted through the 43 pages of discussions on this topic and I am really excited to get onboard with this project.
> 
> I am neither an engineer nor a programmer by background but I can follow instructions and am resourceful enough to figure things out on my own. Going through the discussions I noticed that the project started off initially relatively simple. Get a particular fan, an IR transceiver and control it with a program that SirMaster not only made for this project but is actively updating based on feedback from other members. I was excited to whip out my credit card, get the necessary items and start contributing to the movie database.
> 
> As I continued reading, I noticed things started to get more complicated with the introduction of network controlled relays on fans that had to have manual push buttons for speed controls. I can see this starting to turn more people off now. Before it was, buy this fan, this IR device and download this program. Now it's, buy any fan with manual speed controls, open it up and install a relay, program the relay, then get it working with the program.
> 
> At this point I started thinking if it was worth pursuing. I knew I could figure it out eventually and with assistance from you guys I'm sure it wouldn't be a problem. At the same time, ironically, with the increased complexity I started to think about another problem you guys were having with the spinup of the fan and working out different delays to ensure the effects were being felt at the appropriate time.
> 
> I was wondering if it is possible to go beyond fans and use compressed air. The release of air at 90 psi can definitely be felt across a room almost instantaneously. It can also be throttled for different intensities and the nozzle(s) do not have to be big. Obviously the big drawbacks are having to have a compressor that can maintain the pressure for the heavy hitting sequences and remotely locating it for obvious reasons, but the piping can be plumbed so that it is not in the theatre. Like I said, I am not an engineer, but it's 330am where I am right now and I can't sleep because I am buzzing with excitement to get involved with this project.
> 
> Let me know if I am out to lunch or if my idea has merit.
> 
> Cheers,
> Mike


How would you keep the compressed air quiet? I can only imagine the sound of an 18 wheeler pulling up next to me at a stop light with the air brake release sound.


----------



## AndreNewman

MikeD66 said:


> Good day gentlemen,
> 
> I just recently sifted through the 43 pages of discussions on this topic and I am really excited to get onboard with this project.
> 
> I am neither an engineer nor a programmer by background but I can follow instructions and am resourceful enough to figure things out on my own. Going through the discussions I noticed that the project started off initially relatively simple. Get a particular fan, an IR transceiver and control it with a program that SirMaster not only made for this project but is actively updating based on feedback from other members. I was excited to whip out my credit card, get the necessary items and start contributing to the movie database.
> 
> As I continued reading, I noticed things started to get more complicated with the introduction of network controlled relays on fans that had to have manual push buttons for speed controls. I can see this starting to turn more people off now. Before it was, buy this fan, this IR device and download this program. Now it's, buy any fan with manual speed controls, open it up and install a relay, program the relay, then get it working with the program.
> 
> At this point I started thinking if it was worth pursuing. I knew I could figure it out eventually and with assistance from you guys I'm sure it wouldn't be a problem. At the same time, ironically, with the increased complexity I started to think about another problem you guys were having with the spinup of the fan and working out different delays to ensure the effects were being felt at the appropriate time.
> 
> I was wondering if it is possible to go beyond fans and use compressed air. The release of air at 90 psi can definitely be felt across a room almost instantaneously. It can also be throttled for different intensities and the nozzle(s) do not have to be big. Obviously the big drawbacks are having to have a compressor that can maintain the pressure for the heavy hitting sequences and remotely locating it for obvious reasons, but the piping can be plumbed so that it is not in the theatre. Like I said, I am not an engineer, but it's 330am where I am right now and I can't sleep because I am buzzing with excitement to get involved with this project.
> 
> Let me know if I am out to lunch or if my idea has merit.
> 
> Cheers,
> Mike


The only reason the project got “more complicated” is the IR fan was discontinued and no one managed to find a replacement that works in the required way.

My work with the fan relays was just to try to get things going again.


----------



## MikeD66

Archaea said:


> How would you keep the compressed air quiet? I can only imagine the sound of an 18 wheeler pulling up next to me at a stop light with the air brake release sound.


I was thinking if enough nozzles are used then it would get rid of the sound. Kind of like the difference between whistling with your mouth and breathing out with your mouth.


----------



## MikeD66

AndreNewman said:


> The only reason the project got “more complicated” is the IR fan was discontinued and no one managed to find a replacement that works in the required way.
> 
> My work with the fan relays was just to try to get things going again.


And I appreciate what you have done. Definitely helped the project along and I will probably end up going that way myself. I can't imagine myself running a compressed air line from my garage through the house into the home theatre, but then on the other hand for me that would be the easy part. It would be the electronics and controller that would be the tricky part. 

Once again, I appreciate everything everyone has put into this project and I would like to see greater adoption as well.


----------



## giomania

MikeD66 said:


> And I appreciate what you have done. Definitely helped the project along and I will probably end up going that way myself. I can't imagine myself running a compressed air line from my garage through the house into the home theatre, but then on the other hand for me that would be the easy part. It would be the electronics and controller that would be the tricky part.
> 
> Once again, I appreciate everything everyone has put into this project and I would like to see greater adoption as well.


Since you read the whole thread then you must’ve seen the step-by-step guide that I posted, until we can get the wiki updated?


Sent from my iPad using Tapatalk Pro


----------



## MikeD66

giomania said:


> Since you read the whole thread then you must’ve seen the step-by-step guide that I posted, until we can get the wiki updated?
> 
> 
> Sent from my iPad using Tapatalk Pro


I must have missed that. I did do a search just now and got it. This is definitely what I was looking for. Once again, awesome work guys! Thanks!


----------



## SirMaster

MikeD66 said:


> I must have missed that. I did do a search just now and got it. This is definitely what I was looking for. Once again, awesome work guys! Thanks!


Yeah for now it’s here: 









 4D Wind Project Guide 2021 · nicko88/HTFanControl Wiki


4D Theater Wind Effect - DIY Home Theater Project. Contribute to nicko88/HTFanControl development by creating an account on GitHub.




github.com





I think you will find it’s not difficult to modify a fan.


----------



## brazen1

MikeD66 said:


> it's 330am where I am right now and I can't sleep because I am buzzing with excitement to get involved with this project.


LoL! Welcome. Prepare to have your mind blown.


----------



## SirMaster

*HTFanControl 0.3.0*

https://github.com/nicko88/HTFanControl/releases/download/0.3.0/HTFanControl_Win.zip

*Changelog*

Various minor bug fixes
Added user/pass authentication support to MQTT connection
Added ability to force a disc version offset ON per Windtrack file
More tweaks to the microphone audio sync code
Lots of changes to make a working RasPi / Linux version
Added a console / log viewer to WebUI
Added a crashlog viewer to WebUI
Created easy to use install / update / uninstall scripts for RasPi / Linux


Hey everyone, here is a new update. There are actually a lot of changes behind the scenes that went into this one which is why it's been so long since last update.

This update mainly focuses on making the program as friendly as possible for RasPi / Linux.

There is now an easy to use install and uninstall script that can be run from a single command. I added a console / log viewer to the WebUI, so people using RasPi can see what's going on in the app. Also I added a crashlog viewer so it's easy to get crashlogs from the RasPi to send to me.

Instructions for installing to RasPi are on the GitHub main project page as well as the post here:









GitHub - nicko88/HTFanControl: 4D Theater Wind Effect - DIY Home Theater Project


4D Theater Wind Effect - DIY Home Theater Project. Contribute to nicko88/HTFanControl development by creating an account on GitHub.




github.com





_(will update to add forum post link later for more detailed RasPi instructions)_

Simple instructions for now:

Install Raspberry Pi OS with Raspberry Pi Imager tool
https://downloads.raspberrypi.org/imager/imager_latest.exe

After install, connect RasPi to mouse / keyboard / monitor and boot up to finish basic setup and connect to network
Run HTFanControl install script
Choose whether or not you want to additionally install the mosquitto MQTT broker
Open http://ipaddress:5500 in your browser




Bash:


sudo wget https://raw.githubusercontent.com/nicko88/HTFanControl/master/install/install.sh && sudo bash install.sh


Just to note, the RasPi / Linux version does not support IR fans. It's a long story, but it's just not worth the hassle to get that working when probably nobody will use IR on RasPi / Linux. All current users are already using Windows, and any new users will not be using IR fans since it's been shown that we won't find any working IR fan anymore.

If someone can make a compelling case to support IR on RasPi Linux, then I can always re-enable it there in the future.


----------



## AndreNewman

SirMaster said:


> Just to note, the RasPi / Linux version does not support IR fans. It's a long story, but it's just not worth the hassle to get that working when probably nobody will use IR on RasPi / Linux. All current users are already using Windows, and any new users will not be using IR fans since it's been shown that we won't find any working IR fan anymore.
> 
> If someone can make a compelling case to support IR on RasPi Linux, then I can always re-enable it there in the future.


Well that's interesting, I specifically bought a Pi (hate the things) because it was a lot easier to get IR working with the Pi pwm hardware than a generic Linux PC.

I'm not proposing a "compelling case" as I don't use IR for HTFans and I try to keep IR useage to an absolute minimum. I'm just a bit surprised you had a bad experience getting IR to work, lirc, that you use on windows started life on Linux and has been a painful port to Windows as I understand but that was a very long time ago.

I'll switch to this version as I'd really like to remove everything non-essential from my HTPC, if I can run this on my Linux server that would be a big improvement for me.

I'm working away again so it will be a couple of weeks before I get chance to try it but thanks for a very interesting development.


----------



## SirMaster

AndreNewman said:


> with the Pi pwm hardware


But everyone uses IguanaIR USB dongles with LIRC.

When last I tried, USB dongles were not working properly with LIRC packages on Raspberry Pi OS repo because the Raspberry Pi repos came with a modified version more tailored for RasPi IR hat / GPIO (which probably works great)

I tried Ubuntu Pi and the LIRC in the repos there worked straight away but I don't want to limit to only Ubuntu Pi.

Plus I was last trying back on Stretch (9) or Buster (10), and maybe it's better now on Bulseye (11)? Also I don't even have one to test anymore.

I really, really don't want to hold peoples hands getting USB dongles to work in LIRC on Raspberry Pi OS so that's why I decided not to support it right now. Believe me, it would be a nightmare to get it to "just work" for everyone. Because if I include IR support it must be simply "plug and play". So either it needs to just work, or my scripts need to be able to make it work, and it's just too different on different setups. And last time I tried there were different kernels for RasPi 3 and RasPi 4 and one needed a kernel patch etc, etc. It was just a giant mess.

Besides:

All current users who use IR are using Windows just fine.
All new users will be using MQTT because there are no IR fans out there.
I doubt anyone who is using the software with IR for a year+ is that anxious to move their install to RasPi.
But if someone really is, I will re-enable LIRC support on RasPi/Linux builds.



AndreNewman said:


> I'll switch to this version as I'd really like to remove everything non-essential from my HTPC, if I can run this on my Linux server that would be a big improvement for me.


You should have no trouble at all running this on RasPi or regular Linux server.

Beautiful thing about .NET 5/6 self-contained apps, they will work on basically any Linux x86_64 or linux-arm / linux-arm64 without any dependencies or anything. My install script sets up a systemd service, so if you don't use systemd, then you will have to make your own autostart method.

And it installs mosquitto with apt-get, so if your repo is not Debian based, you will have to set up your own mosquitto.


----------



## AndreNewman

SirMaster said:


> But everyone uses IguanaIR USB dongles with LIRC.


And you don't need that, the IguanaIR is basically a cpu and IR in a USB module. The Pi built in IR is as capable, probably much better.



SirMaster said:


> When last I tried, USB dongles were not working properly with LIRC packages on Raspberry Pi OS repo because the Raspberry Pi repos came with a modified version more tailored for RasPi IR hat / GPIO.


I didn't know that, that would be a headache for people already invested in the Iguana stuff. Part of the reason I didn't get into this project at the start was the Iguana stuff, I don't like their stuff, they like to change things and break the canonical drivers for their own purposes.



SirMaster said:


> I tried Ubuntu Pi and the LIRC in the repos there worked straight away but I don't want to limit to only Ubuntu Pi.
> 
> I really, really don't want to hold peoples hands getting USB dongles to work in LIRC on Raspberry Pi OS so that;s why I decided not to support it right now.


Fair enough 



SirMaster said:


> Besides:
> 
> All current users who use IR are using Windows just fine.
> All new users will be using MQTT because there are no IR fans out there.
> I doubt anyone who is using the software with IR for a year+ is that anxious to move their install to RasPi.
> But if someone really is, I will re-enable LIRC support on RasPi/Linux builds.


Makes perfect sense, I was just surprised at your experience with IR on Pi. I think that is more down to Iguana than Pi or lirc but you have core users with the Iguana so that's kind of important.



SirMaster said:


> You should have no trouble at all running this on RasPi or regular Linux server.


I'm sure it will run well. 

I'll try it on the server first, Pi's are a bit weedy, especially the IO and trying to do real time stuff on underpowered kit can be interesting at the least. I had to boot ezbeq and minidsp-rs off the Pi because it was pegging for a few seconds every now and then due to minidsp-rs usb load. A remote control system that occasionally has a 2 second delay isn't very useful.

If you have someone running ezbeq on the same Pi as HTFanControl watch out for that one. I have a HTP-1 now so I don't need ezbeq on the Pi any more.

If HTFanControl was IO blocked for seconds at a time it wouldn't work very well either!


----------



## SirMaster

That's what I'm saying.

Every single person using IR for this project is using an IguanaIR dongle and I am not going to make them buy something new.

I went with that option because I could not find anything else that was still being sold that worked with LIRC on Windows. I tried IRToy, but that locked up all the time plus stopped being sold shortly after.

Plus no new users will be using IR. So is it really worth fighting to get the IguanaIR working on RasPi for the (~5?) users who use it which will never grow in number?


I am more than happy to re-enable the LIRC option, but at that point I would just say it's up to you to get whatever your IR blaster is working with your particular RasPi or Linux setup.


I would almost say it's easier to just build a cheap tasmota IR transceiver. But a user here already tried that and was completely unsuccessful at getting it to work with their IR fan codes. It worked with other IR devices they had, but not the Seville tower fan that everyone uses.


----------



## AndreNewman

SirMaster said:


> That's what I'm saying.
> 
> Every single person using IR for this project is using an IguanaIR dongle and I am not going to make them buy something new.
> 
> I went with that option because I could not find anything else that was still being sold that worked with LIRC on Windows. I tried IRToy, but that locked up all the time plus stopped being sold shortly after.
> 
> Plus no new users will be using IR. So is it really worth fighting to get the IguanaIR working on RasPi for the (~5?) users who use it which will never grow in number?
> 
> 
> I am more than happy to re-enable the LIRC option, but at that point I would just say it's up to you to get whatever your IR blaster is working with your particular RasPi or Linux setup.
> 
> 
> I would almost say it's easier to just build a cheap tasmota IR transceiver. But a user here already tried that and was completely unsuccessful at getting it to work with their IR fan codes. It worked with other IR devices they had, but not the Seville tower fan that everyone uses.


I already agreed with all of that.


----------



## giomania

AndreNewman said:


> I'm sure it will run well.
> 
> I'll try it on the server first, Pi's are a bit weedy, especially the IO and trying to do real time stuff on underpowered kit can be interesting at the least. I had to boot ezbeq and minidsp-rs off the Pi because it was pegging for a few seconds every now and then due to minidsp-rs usb load. A remote control system that occasionally has a 2 second delay isn't very useful.
> 
> If you have someone running ezbeq on the same Pi as HTFanControl watch out for that one. I have a HTP-1 now so I don't need ezbeq on the Pi any more.
> 
> If HTFanControl was IO blocked for seconds at a time it wouldn't work very well either!


I recently acquired a Raspberry Pi 4 Model B 4 Gb, and installed the RPi version of HTFanControl. I am not using it yet, as the Pi is replacing an old laptop that I am currently using to host: HTFanControl, HTWebRemote, and the miniDSP plugin. 

I have also installed on the Raspberry Pi the HTP-1 Custom User Interface Background Service Console. While I am waiting for the RPi version of HTWebRemote, I was planning to install minidsp-rs and EZBEQ on the Pi (for my second system with a miniDSP 88A) until I saw your post.

Given your experience with minidsp-rs taxing the Pi, I am wondering what model you have, and if we can make any performance assumptions base on a particular model and amount of RAM?

Thanks.

Mark


----------



## kdawg2391044

Why would minidsp-rs tax the PI? It's only used to load a set of filters for BEQ once and then it's idle. It doesn't use a ton of resources at all. I think I have 4gb model and it runs fine. In fact I was using ezbeq on a Pi v1 and that was super slow and after I upgraded to a v4, it was a night a day difference. 

Sent from my IN2017 using Tapatalk


----------



## AndreNewman

giomania said:


> I recently acquired a Raspberry Pi 4 Model B 4 Gb, and installed the RPi version of HTFanControl. I am not using it yet, as the Pi is replacing an old laptop that I am currently using to host: HTFanControl, HTWebRemote, and the miniDSP plugin.
> 
> I have also installed on the Raspberry Pi the HTP-1 Custom User Interface Background Service Console. While I am waiting for the RPi version of HTWebRemote, I was planning to install minidsp-rs and EZBEQ on the Pi (for my second system with a miniDSP 88A) until I saw your post.
> 
> Given your experience with minidsp-rs taxing the Pi, I am wondering what model you have, and if we can make any performance assumptions base on a particular model and amount of RAM?
> 
> Thanks.
> 
> Mark


Looks like it's a 2GB Pi 4


----------



## AndreNewman

kdawg2391044 said:


> Why would minidsp-rs tax the PI? It's only used to load a set of filters for BEQ once and then it's idle. It doesn't use a ton of resources at all. I think I have 4gb model and it runs fine. In fact I was using ezbeq on a Pi v1 and that was super slow and after I upgraded to a v4, it was a night a day difference.
> 
> Sent from my IN2017 using Tapatalk


I believe it was USB bus loading that was causing the problem, the minidsp does continuously output level meter data while it's connected. I never got as far as proving that but it seemed the most likely candidate, as you say ezbeq should be doing nothing other than filter loads. 

I ran with minidsp-rs on a proper server and the problem went away.

Also I am running an IR control system on the same Pi, the IR pwm is quite time critical, I am using the pwm hardware rather than just bit banging the IR port.

If you aren't running anything time critical on the same Pi, you might not notice a problem.


----------



## smoothtlk

I haven't kept up with this whole thread...seems like the challenge is adding more devices to control and all the code it takes to do that? Thought: I am reading SirMaster has added MQTT...by chance does that have in it's contents that a "Fan" should turn on "Now" in it? Anything other than a Fan? ie: a Light, a media player, etc that is timed to the movie content?
An automation system like myServer 6 could subscribe to that MQTT feed and then do all the "work" that is needed to trigger that device / media (via IP, IR, Serial, Powerline, Z-Wave, Zigbee, UPB, Lutron, Vantage, etc). This sounds (to me) as something pretty simple to implement and then SirMaster doesn't have to build a complete automation system to do "all of that".

HomeAssistant, HomeSeer, and others could implement the same.

Anyway, just a thought.


----------



## AndreNewman

smoothtlk said:


> I haven't kept up with this whole thread...seems like the challenge is adding more devices to control and all the code it takes to do that? Thought: I am reading SirMaster has added MQTT...by chance does that have in it's contents that a "Fan" should turn on "Now" in it? Anything other than a Fan? ie: a Light, a media player, etc that is timed to the movie content?
> An automation system like myServer 6 could subscribe to that MQTT feed and then do all the "work" that is needed to trigger that device / media (via IP, IR, Serial, Powerline, Z-Wave, Zigbee, UPB, Lutron, Vantage, etc). This sounds (to me) as something pretty simple to implement and then SirMaster doesn't have to build a complete automation system to do "all of that".
> 
> HomeAssistant, HomeSeer, and others could implement the same.
> 
> Anyway, just a thought.


Well yes, you could… but then you add a whole load of complexity and latency (delay & variability) to the system. Much better to keep it as simple as possible, it’s already quite complex.

Yes you can trigger anything from htfancontrol with mqtt. When I wanted to test a variable controller I had, I hooked it up the the lights in the cinema room and watched the lights fade up and down in time with the wind track. 

I noticed there’s a fragrance dispenser that can run tasmota, so we could make that work too.


----------



## smoothtlk

AndreNewman said:


> Well yes, you could… but then you add a whole load of complexity and latency (delay & variability) to the system. Much better to keep it as simple as possible, it’s already quite complex.
> 
> Yes you can trigger anything from htfancontrol with mqtt. When I wanted to test a variable controller I had, I hooked it up the the lights in the cinema room and watched the lights fade up and down in time with the wind track.
> 
> I noticed there’s a fragrance dispenser that can run tasmota, so we could make that work too.


Could you send me an example MQTT packet with an event?
[email protected]


----------



## SirMaster

Well, you can't use commands other than the fan speed commands with the current code. So you are limited to OFF, ECO, LOW, MED, HIGH (as keywords in the windtrack file) right now, each with their own customizable MQTT payload and MQTT topic though. If you aren't using a fan and instead wanted to control something else, you could use these command words to trigger whatever.

But if you wanted to control a fan normally AND also other devices at the same time, the code would need to be changed to add a custom command option.

Probably the way this would be set up is I would have you specify a custom MQTT topic in settings, and then it would be up to you to insert the custom MQTT payload into the wind track file at the proper timestamp.


----------



## AndreNewman

smoothtlk said:


> Could you send me an example MQTT packet with an event?
> [email protected]


Over the Internet or something? I don’t understand.

You can download the software, set it up and generate your own example packets, that would be the easiest way.


----------



## smoothtlk

SirMaster said:


> Well, you can't use other commands than the fan speed commands with the current code. So you are limited to OFF, ECO, LOW, MED, HIGH right now, each with their own customizable MQTT payload and MQTT topic. If you aren't using a fan and instead wanted to control something else, you could use these command words to trigger whatever.
> 
> But if you wanted to control a fan normally AND also other devices at the same time, the code would need to be changed to add a custom command option.
> 
> Probably the way this would be set up is I would have you specify a custom MQTT topic in settings, and then it would be up to you to insert the custom MQTT payload into the wind track file at the proper timestamp.


I haven't tried WindEffect so may be off base...
instead of having to edit all of the existing wind tracks...
I assumed what I was reading is that when WindEffect app "sees" it's time to trigger a fan event, then WindEffect app just sends an MQTT to do so. The JSON payload would define a "Tasmota Button" was pushed. myServer then subscribes to that MQTT Tasmota topic and processes the command. That way any system that supports Tasmota (like myServer) can then trigger the action.
The MQTT topic should be definable in the WindEffect app by the end user (like setting up MQTT publication definitions within the Tasmota firmware).











this should take only a few minutes to setup. Then the world opens up the end user to integrate the WindEffects capability into the rest of system (that might be managing the rest of the Theater Experience (or home, or business...). 192.168.1.39 would be the myServer instance (or HomeAssistant etc).

I am not worried about latency at all. All of this would process in milliseconds. Getting the fan blade inertia to move is the much longer time.
Within myServer (one example), there would be an Automation Event defined that "When a Tasmota Button On command is received, turn on that Z-Wave relay that the fan is connected to". Timing: I am more worried about Z-Wave response time than anything else...but that would be the case for all Z-Wave implementations...that's why we use DMX for our commercial installs of similar as it is extremely fast processing of messages...But if the end user doesn't have DMX setup, then a Raspberry Pi Relay, or a Caseta relay, or a Vantage relay, etc could be triggered instead (or in addition).

Of course if Allonis thought a large group of users were interested, we would import the Wind files into a myServer database and do all of it since we have bi-directional Kodi status and control et al. And put that into a cloud database for content sharing...but we don't want to take SirMaster's idea. We do some of this today to orchestrate media presentations for our Trade Show Media system. Synchs video matrix, media players, etc. dependent on scripting (the "Wind files") and Kodi status messages et al. But just some thoughts.


----------



## SirMaster

smoothtlk said:


> instead of having to edit all of the existing wind tracks...


Well like I said, the wind tracks are all programmed with 5 commands (OFF, LOW, ECO, MED , HIGH).

But of course you can use those existing commands to send any MQTT payload and MQTT topic that you want, because the topic and payload is configurable for each command word.


I just meant that if you wanted to control a fan normally with those 5 commands AND wanted to control some other device at different time code, the program would need to be modified to recognize more commands than those 5. And you would need to insert those new commands into the windtrack when you wanted them to happen.



smoothtlk said:


> Getting the fan blade inertia to move is the much longer time.


That's why the app sends the command to the fan way before the air needs to be felt. In average cases a fan would be triggered a couple seconds early if need be. This is all configurable in the app by the user (room/fan calibration timing). If you were instead using the existing commands to control lights, you would want to set all these calibration timings to 0ms, or at least something very low if there is maybe a few milliseconds of lag to turn on a light for some reason.


----------



## smoothtlk

SirMaster said:


> Well like I said, the wind tracks are all programmed with 5 commands (OFF, LOW, ECO, MED , HIGH).
> 
> But of course you can use those existing commands to send any MQTT payload and MQTT topic that you want, because the topic and payload is configurable for each command word.
> 
> 
> I just meant that if you wanted to control a fan normally with those 5 commands AND wanted to control some other device at different time code, the program would need to be modified to recognize more commands than those 5. And you would need to insert those new commands into the windtrack when you wanted them to happen.
> 
> 
> 
> That's why the app sends the command to the fan way before the air needs to be felt. In average cases a fan would be triggered a couple seconds early if need be. This is all configurable in the app by the user (room/fan calibration timing). If you were instead using the existing commands to control lights, you would want to set all these calibration timings to 0ms, or at least something very low if there is maybe a few milliseconds of lag to turn on a light for some reason.


Not quite following...does your app send out MQTT messages today with Off, Low, eco, med, high as parameters? And can one setup your app on the MQTT destination today?

Cool that you thought about latency in your software. So then there should not be any issue on the control system side (HomeAssistant, myServer etc). Of course we hope the control system processes the incoming MQTT events with consistency (ie: in it's own processing thread).


----------



## SirMaster

smoothtlk said:


> Not quite following...does your app send out MQTT messages today with Off, Low, eco, med, high as parameters? And can one setup your app on the MQTT destination today?
> 
> Cool that you thought about latency in your software. So then there should not be any issue on the control system side (HomeAssistant, myServer etc). Of course we hope the control system processes the incoming MQTT events with consistency (ie: in it's own processing thread).


Well I tried to explain, you can configure the topic and payload for each of the 5 commands.


----------



## smoothtlk

SirMaster said:


> Well I tried to explain, you can configure the topic and payload for each of the 5 commands.
> 
> View attachment 3241975


Perfect.
Looks like it would work today.
Is anyone using it that way now? I assume you added MQTT for some purpose...


----------



## SirMaster

smoothtlk said:


> Perfect.
> Looks like it would work today.
> Is anyone using it that way now? I assume you added MQTT for some purpose...


Nobody is doing anything else that I know of.

I added options to configure payload and topic for each command because @AndreNewman said it could be useful for some more complex fan setups with multiple fans and future flexibility etc.


----------



## smoothtlk

SirMaster said:


> Nobody is doing anything else that I know of.
> 
> I added options to configure payload and topic for each command because @AndreNewman said it could be useful for some more complex fan setups with multiple fans and future flexibility etc.


I think AndreNewman was right - myServer (and others as I mentioned) can do pretty much anything one wants to do with the events.
Nice.
Maybe one of these days I will get it all running to see it first hand.

Thinking aloud...lets say the user has one super fast relay on "DMX". And a second fan on "Z-Wave"....one could tell WindEffect app to fire MQTT event "1 second" in advance of the movie timing....then myServer would receive that and put a .75 second Pause in the DMX command and no pause on the Z-Wave fan to get those to synch...


----------



## SirMaster

The timing settings are designed pretty specific for fans, but you should be able to do something with it.

[Global offset] sends ALL commands early by [Global offset] milliseconds.

[Spin-up offset] sends ECO, LOW, MED, HIGH commands early by [Global offset]+[Spin-up offset] ONLY when they are preceded by an OFF command (fan is currently OFF).

[Spin-down offset] sends OFF command early by [Global offset]+[Spin-down offset] ONLY when it is preceded by an ECO, LOW, MED, or HIGH command (fan is currently ON).


----------



## AndreNewman

smoothtlk said:


> I think AndreNewman was right - myServer (and others as I mentioned) can do pretty much anything one wants to do with the events.
> Nice.
> Maybe one of these days I will get it all running to see it first hand.
> 
> Thinking aloud...lets say the user has one super fast relay on "DMX". And a second fan on "Z-Wave"....one could tell WindEffect app to fire MQTT event "1 second" in advance of the movie timing....then myServer would receive that and put a .75 second Pause in the DMX command and no pause on the Z-Wave fan to get those to synch...


All of this is possible of course.

However, the point of mqtt is to be simple and lightweight, talk to the simple hardware without multiple layers of applications getting involved.

In reality for this application even mqtt is a big hammer for the nut. The IR is a simpler one but that has been difficult to find compatible fans.

If you want to do all the complicated stuff, with layers and layers of software, enjoy. Please don’t ask me to help troubleshoot, IMO you will make it too complicated for a simple task.


----------



## smoothtlk

AndreNewman said:


> All of this is possible of course.
> 
> However, the point of mqtt is to be simple and lightweight, talk to the simple hardware without multiple layers of applications getting involved.
> 
> In reality for this application even mqtt is a big hammer for the nut. The IR is a simpler one but that has been difficult to find compatible fans.
> 
> If you want to do all the complicated stuff, with layers and layers of software, enjoy. Please don’t ask me to help troubleshoot, IMO you will make it too complicated for a simple task.


If your only objective is to turn on a fan on beat, then yes, that's pretty simple.
But if your objective is to manage a complete Home Theater experience, then it's no longer simple so solutions that make it simple are needed. That is exactly what Allonis does day in and day out. In commercial installations that need to run 24x7x365 or people loose money. So, that exists.
Anyway, sounds like SirMaster has added all the needed hooks if someone wanted to get this integrated as today, it's a disparate capability from the rest of the Theater Experience. But of course, like I have mentioned, I have no hands on understanding of SirMaster's solution and am just guessing based upon reading some forum posts here and there.

The "point" of MQTT was to connect computer systems together. Has got nothing to do with "simple" or "small scale"...after all it was originally engineered by IBM. Not exactly known for simple or small scale 

Someone could add SirMaster's system to an already well equipped theater under a single control system if they wanted to.
In looking at your list of hardware, you have a good investment into the hobby already.

Hope I am not stomping on your toes. I have no idea that was your toe.

Again, it's just an idea. There are many more HomeAssistant users (or Homeseer, or myServer etc) than people using SirMaster's app. The idea might just get more people to take notice and want to implement yet another cool feature for their theater.


----------



## giomania

@SirMaster has another app called HTWebRemote, that I use to control Tasmota power plugs via MQTT, but I need to utilize an MQTT broker. 

Mark


Sent from my iPad using Tapatalk Pro


----------



## brazen1

*Pirates of the Caribbean, Dead Man's Chest (2006)*

Coded by brazen1


----------



## brazen1

*Pirates of the Caribbean, At World's End (2007)*

Coded by brazen1


----------



## brazen1

*Pirates Of The Caribbean, On Stranger Tides (2011)*

Coded by brazen1


----------



## brazen1

*Rise Of The Planet Of The Apes (2011)*

Coded by brazen1


----------



## brazen1

*Dawn of the Planet of the Apes (2014)*

Coded by brazen1


----------



## brazen1

*War for the Planet of the Apes (2017)*

Coded by brazen1


----------



## brazen1

*King Kong (2005)*

Coded by brazen1


----------



## brazen1

*Kingdom of Heaven (2005)*

Coded by brazen1


----------



## brazen1

*Star Wars, Solo A Star Wars Story (2018)*

Coded by brazen1


----------



## brazen1

*The Hurt Locker (2008)*

Coded by brazen1


----------



## brazen1

*The Magnificent Seven (2016)*

Coded by brazen1


----------



## brazen1

*The Thin Red Line (1998)*

Coded by brazen1


----------



## SirMaster

Wow so many more movies, awesome!

I’ll get these added to the database tonight.


----------



## giomania

@brazen1 it is really great of you to make wind tracks.


----------



## brazen1

That's nice of you to take the time to let it be known you appreciate them and makes it all worthwhile to me. More will come 

My continued thanks to @SirMaster for making all of this possible. Btw, where's @SOWK?


----------



## giomania

brazen1 said:


> That's nice of you to take the time to let it be known you appreciate them and makes it all worthwhile to me. More will come
> 
> My continued thanks to @SirMaster for making all of this possible. Btw, where's @SOWK?


You are most welcome! The whole family loves movies with wind! @SOWK is a little bit busier these days, but he is fine.

Mark


----------



## brazen1

*Ghost in the Shell (2017)*

Coded by brazen1


----------



## kdawg2391044

@SirMaster for the Plex integration, are you using SSL or does it require insecure connections to be enabled on the Plex side? I am thinking that maybe why I cannot get any clients to list. Is there anyway to pass the Plex server direct address? How to Use Secure Server Connections | Plex Support


----------



## SirMaster

kdawg2391044 said:


> @SirMaster for the Plex integration, are you using SSL or does it require insecure connections to be enabled on the Plex side? I am thinking that maybe why I cannot get any clients to list. Is there anyway to pass the Plex server direct address? How to Use Secure Server Connections | Plex Support


It probably requires insecure connections at the moment. I could probably update that in the code.

The URL it goes to get the client list is:



http://PlexServerIP:32400/clients?X-Plex-Token=PlexToken



Where the PlexToken is the token you get noted in the settings page that you can get by doing this:

Finding an authentication token X Plex Token · SpaceK33z/web-to-plex Wiki 

So if you go that plex server IP you should see a list of your online clients in XML format.

I don't really know how reliable plex is as a sync source. For sure it's at least 500ms off and that's a limitation of the time reporting precision of their clients.

You would probably be better off with microphone sync over Plex honestly, but that hasn't been put through its paces by anyone that I know of yet. It works well in my somewhat controlled testing is about all I know about it at this point.

I know you tested it briefly in the past so you are somewhat familiar with it. I have worked on it a few times since then so it should be better than it was back then even.


----------



## brazen1

*Edge of Tomorrow (2014)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## Tate1023

I just picked up a Nvidia Shield Pro. I can select it in the settings under select plex player but it says cannot connect to Shield. If I select my roku player no problems. Any ideas? Thanks


----------



## SirMaster

Tate1023 said:


> I just picked up a Nvidia Shield Pro. I can select it in the settings under select plex player but it says cannot connect to Shield. If I select my roku player no problems. Any ideas? Thanks


Not that I know of.

Plex is really random in how it responds from my point of view. I don't know how to make it work any differently. And even when it works, it's pretty inaccurate with the time data.

You may just have to use Kodi on the Shield for wind movies, or use microphone Sync method.


----------



## Tate1023

I am going to try the audio sync feature tonight. Just to confirm you have to manually load each track before starting the movie when using audio sync? Which might be more trouble than it's worth just to use Plex over Kodi. I could just have a tablet with the fan control webui on it in the theater. Another option is to only add wind movies to Kodi so it makes it easy to see what has wind.


----------



## SirMaster

Tate1023 said:


> I am going to try the audio sync feature tonight. Just to confirm you have to manually load each track before starting the movie when using audio sync? Which might be more trouble than it's worth just to use Plex over Kodi. I could just have a tablet with the fan control webui on it in the theater. Another option is to only add wind movies to Kodi so it makes it easy to see what has wind.


Cool, let me know how the audio works out for you.

Yeah, you have to load the movie manually. Keep an eye on the low viewer and you should be able to see how often and if matches are happening etc.

Yeah adding movies to your Kodi library which have wind is maybe the best way for you.


----------



## kdawg2391044

Tate1023 said:


> I am going to try the audio sync feature tonight. Just to confirm you have to manually load each track before starting the movie when using audio sync? Which might be more trouble than it's worth just to use Plex over Kodi. I could just have a tablet with the fan control webui on it in the theater. Another option is to only add wind movies to Kodi so it makes it easy to see what has wind.


Let me know what kind of process you come up with - I think for me I dont know how I would put the movies with windtracks into a specific collection in Kodi since I have it set up to just pull in specific folders from my server that tie to my plex libraries (like Movies, UHD Movies, 3D Movies, etc) and it doesnt map cleanly to those libraries/folders. If there is a way in Kodi to create a collection using like an index file which would be based on what has a windtrack available then that could work. Otherwise for me the issue is that when I use Kodi, I just have all my media there and I have a hard time finding the specific movie that has a windtrack (I have a pretty vanilla install of Kodi so if there are specific skins or plugins that help with this, I am all ears) which makes me not like using Kodi that much. I know Kodi is super customizable and this is something that probably has been solved by someone but I just havent bothered to look into it since I like the Plex UI.

For me using the audio sync is great if I am watching the full movie and then I can stick to Plex. However, if I am demoing a few movies that have windtracks, then I find that I prefer the Kodi integration since that is precise and will sync to the timestamp immediately and does not require loading any windtracks manually vs requiring loading a specific windtrack and waiting for it to sync to the timestamp in the movie when using audio sync. So then I have to switch the configuration of HTFanControl back and forth so it requires a bit of work but isnt difficult. This sort of keeps me from using the windtrack feature all the time because sometimes I am lazy and just want to throw something on. 

@SirMaster You mentioned a long time ago that you were planning to enhance the audio sync feature to allow it to search for the correct windtrack based on what you have downloaded already by comparing the first 5 mins of the fingerprints/windtracks. Did you implement that or was it too buggy to really be worth the effort?


----------



## SirMaster

kdawg2391044 said:


> @SirMaster You mentioned a long time ago that you were planning to enhance the audio sync feature to allow it to search for the correct windtrack based on what you have downloaded already by comparing the first 5 mins of the fingerprints/windtracks. Did you implement that or was it too buggy to really be worth the effort?


It could probably work, but doesn't seem like it would solve your use-case.

I haven't even tried to do it yet because I am not sure how well the audio matching even works in the first place because nobody is using it lol.


----------



## brazen1

kdawg2391044 said:


> If there is a way in Kodi to create a collection using like an index file which would be based on what has a windtrack available then that could work.


Create a TAG in Kodi. Video library tags - Official Kodi Wiki

Here is how I navigate to Windtracks specifically:




























Here is how I navigate to manage Windtracks:


----------



## brazen1

*Oblivion (2013)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Life Of Pi (2012)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*1917 (2019)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

You may have notice I'm redoing some of my Windtracks. One would think after doing a few I'd have it down pat. Truth is, I learn something new every time I create one. Reviewing some of my past contributions, I'm so displeased, I feel redoing them with my new gained knowledge is in order. Some of the changes are subtle... others major. I highly suggest replacing the old with the new. Fwiw, I will be posting a Tips for Making Windtracks sharing some of what I've learned.


----------



## brazen1

*The Revenant (2015)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

Feel free to comment etc. I am definitely guilty of not practicing what I preach but striving to.


*TIPS FOR MAKING WINDTRACKS*

*General setup:*

Open WindTrackCreator (WTC) on one half of your display. Open an MPC-HC/BE player on the other half. You will be reviewing codes entered in real time using WTC and frame advancing/rewinding/skipping using MPC. Although WTC provides fan speed selections, a better alternative is using your keyboard numbers 0,5,1,4, and 7. Muscle memory will kick-in for adding commands quickly and easily. 

Get comfortable. You are going to be at-the-ready constantly with your tools as the movie progresses. Those tools are a matter of preference and you will be using the right arrow key the most. When creating a WindTrack for the first time, I use a keyboard and mouse. The keyboard for numbers and directional keys - the mouse to focus WTC or MPC depending which I need to interact with. With MPC in focus, entering a numbered fan speed via the keyboard enters the command to WTC without focusing it. MPC and WTC interact in unison but once MPC has been manually taken out of focus, you will need to manually put it back in focus to proceed.

Typically, I watch a title I've never viewed before normally so as not to spoil it for myself. If I determine it Windtrack worthy, I get busy with WTC. Then I watch it again to proof it. I always find something to change - A wind event occurred during one of those 4 second skips I wasn't aware of or a command(s) just doesn't flow with the movie, or I made a mistake, etc. I edit as I re-watch which requires pausing, seeking, etc. Sometimes I restart HTFanControl and the movie to playback what I changed but not often. There are times I edit with the audio off. Marvell stuff for example. There's usually so much going on at fast pace. It keeps me focused without allowing the audio to influence wrong decisions.

When I proof a title, I'm at my main seating position with my cordless mouse and remote control. The mouse to edit WTC commands and the remote for MPC movie navigation. My remote mimics most keyboard commands. Because I am now proofing and not creating, interaction will be minimal so I am watching normally in fullscreen for any changes I want to make. When I notice an edit, I press pause and framestep backward to the exact frame where the edit begins. Next, I have this keyboard key mapped to my remote "\". This windows the full screen movie to half my display. The other half already has WTC open waiting for an edit. I do the edit and return to fullscreen by pressing "\" again. You can also double click the MPC field. Then play and the proof resumes.

WTC will display a red code if a blow timing conflicts with another. For example, creating a command too soon after the previous command be it a new blow or a fan speed change. A red error will fail to do anything but continue what it was doing in the previous command. WTC will display a yellow code for a conflict that is not as blatent as a red code but will still attempt to honor it - you will not notice it though. Time spacing between blows are relative to your fan calibration settings. WTC provides Spinup and Spindown Offset settings in its GUI to match your calibration. Changes affect red and yellow conflicts.

*MPC Player Setup:*

During playback, right click the MPC player Frame Time in the lower right hand corner and select 'Show milliseconds'. This allows you to analyze frames mathematically very accurately if desired. I find about 1000ms is required for a blow to be noticeable and/or a speed change. Regardless, timeframe codes will enter to the nearest 1000th of a millisecond although typically frames are only 100ths apart depending on the movie frame rate. 

In MPC set 'Jump distance medium' to 4000. This will seek video 4 seconds while searching for blows. Any more, you might miss a blow opportunity. Any less, seeking will become cumbersome and time consuming. You will get a feel for the 4 second skips during scenes for any potential blows you might have missed during that 4 second jump. Some scenes are a lot of dialog and/or lull in the action with no potential wind blows. You can quickly advance past these. Should a subtle wind blow be missed during those advances, you'll notice when you proof. Some scenes have a multitude of potential fan commands so you don't want to skip those. Play them in real-time so nothing is missed. You'll also get a better 'feel' for the scene allowing you to digest the best course of action for wind commands.

Using keyboard direction arrows is the best way to navigate MPC. Like the number keys, muscle memory will kick-in as you use them to navigate the title.

In MPC/Keys, map 'Jump Forward Med' to your keyboard Right Arrow by double clicking that value and pressing your keyboard Right Arrow key, then save. Same with 'Jump Backward Med' using the Left Arrow key. Now you can advance or rewind 4 seconds per press.

Map 'Framestep' to your Up Arrow key and 'Framestep back' to your Down Arrow key. Now you can advance or rewind one frame at a time seeking the exact frame you desire. Pressing either during playback pauses the video. Holding down either key displays the frames in real-time for faster seeking.

You may find mapping 'Fullscreen' to your backslash keyboard key useful described above.

You may want to enable the 'Global Media Keys' setting at the bottom of the Keys menu depending if you use one remote to harmoniously control all devices using the same command from the same remote.

Enable 'Process priority above normal' and 'Show Seek Time' in MPC settings. Also, 'Fast seek (on keyframe)'.

*Do's and Don'ts:*

Now that you are setup and have some understanding of settings and usage it's time to create a Windtrack. Here's a few tips I'm still learning to apply. Of course they are debatable and part of each individuals interpretation. These are my preferences but not rules although I consider some a standard.

Imo, the single most important thing to absorb is the CAMERA filming the scene is YOU. YOU are in the movie. YOU are there. YOU are either involved or not involved in some type of wind - NOT WHAT YOU ARE LOOKING AT! So, you have to constantly imagine yourself from the CAMERA vantage point - first person point of view. Isn't this the intention of filmmakers to begin with? Imo, this is a huge part of creating a well done Windtrack.

Although you may be witnessing a tremendous wind blowing event you have to ask yourself a couple simple questions: From where I am placed in the scene (being the camera filming the action) DO I FEEL WIND? If so, how intense and for how long? If I feel wind at all, how long did it take to arrive and leave MY location - not the location I'm looking at? This difference might only be a few frames but our senses are smart and know when timing is off. 

Take into consideration: Are YOU really in the wind or did you ZOOM into the wind event without actually leaving your position where there is no wind? Are YOU really in the wind or are you just panning giving the illusion YOU are feeling windy when really you're just moving your head from one side to the other watching something go by that's windy? 

Less is more - The element of surprise is more immersive than how often the fan blows. However, my preference is to have the fan blowing when it should obviously be blowing no matter if it's repetitious or long winded (pardon the pun). If I see or hear wind blowing and clues suggest I'm in it, I send a command(s) until I'm not. I can't immerse myself when I'm in a wind event but want to ignore it because I don't like the wind anymore. Any clue that reminds me I'm not feeling wind when I should, takes me out of the immersion. Perhaps it's a side affect from creating Windtracks others don't experience? At any rate, perhaps the directors intent was to put the viewer in an uncomfortable windy environment to elaborate the experience of what is taking place. We experience it one step further by supplying the actual wind they suggest even when uncomfortable because that's what we're supposed to feel. 

If I hear wind but don't see it, I don't apply it unless camera movement eventually reveals I (the camera) have been in wind but hiding the fact. Many movies have wind blowing in audio but unfortunately not on set. I don't honor 'audio only' wind without a visual confirmation. 

Apply wind on the first frame of a blow. End a blow on the last frame. For example, don't end a blow at the beginning of a scene that isn't windy.

A fan speed change is most noticeable from ECO to High or vice versa. This isn't to say Low to Medium isn't noticeable... just not as dramatic. Sometimes you have a choice... sometimes you don't.

Increasing and/or fading wind speeds by using all the fan speeds available in a sequence have a nice effect provided the sequence allots enough time to notice the taper. At times, fading is more realistic than simply ON and OFF.

Very quick movements captured with a wind command are desirable. A car wizzes by fairly close to you (the camera) and you feel the wind as it goes by briefly. A quickly opened or closed door moves a lot of wind given its size and your position.

Quick WindTrack commands - When you start a blow with ECO and end it with OFF, and the duration is only a second or two, there will be a significant longer delay reaching you than if you started the blow with subsequent higher speeds using Low, Medium or High. Start these quick puffs using HIGH. The same occurs for longer durations but because they are longer they are not as noticeable. We could use a higher offset so these slow ECO commands would reach us sooner but then HIGH would reach us too soon. 

Slow motion scenes - I avoid using wind during those scenes because it isn't real-time but wind is.

Outer space - there is no wind in space (including solar wind) any human being is ever going to feel including Star Wars or Star Trek explosions for example. When wind is present in an atmosphere, it's windy even if you have on a space suit, hazmat gear, etc. YOU are the camera, not the person wearing protective gear that can't feel a thing. Don't assume YOU, the camera, has protection from feeling wind unless it's revealed you do. Use your best judgement. This is an open area for interpretation. Generally speaking, there is no wind if there is no atmosphere.

Rainfall, snowfall, ashfall, smoke, fumes, steam, fire, etc. - They are a feeling but not wind unless you determine it's falling, rising, or spewing enough to be windy because of the pressure driving them. A punch, slap, kick, body movement, etc. has wind in front of it. If you (the camera) is close enough to these types of actions, you feel the wind associated with the movement. Too far away... you feel nothing.

Temperatures - Hot nor cold are windy unless wind is blowing them. For example, there is no wind sitting around a calm campfire but there is when you're up close battling a raging forest fire sucking oxygen swirling everything to obtain it. 

Underwater - there is no wind when senses of touch are submerged with a water barrier. That said, a building wave creates a lot of wind.

Use common sense. Was the gunshot blast aimed near enough to you (the camera) where you'd feel the blast of wind for a short 1000ms puff... or are you positioned somewhere you wouldn't feel a thing? Sometimes the drama of it all screams to blow... when really it shouldn't. That said, I think the concussion from a blast should count as wind. Concussion creates wind as it travels pushing the atmosphere out of its way until it dissipates. 

Good presentations of wind realism add more immersion for our enjoyment. I hope some of these tips I share exert some guidance and inspiration.


----------



## brazen1

*Gemini Man (2019)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

This was added to the Tips for Making WindTracks:

Quick WindTrack commands - When you start a blow with ECO and end it with OFF, and the duration is only a second or two, there will be a significant longer delay reaching you than if you started the blow with subsequent higher speeds using Low, Medium or High. Start these quick puffs using HIGH. The same occurs for longer durations but because they are longer they are not as noticeable. We could use a higher offset so these slow ECO commands would reach us sooner but then HIGH would reach us too soon.

More than likely, I will be adding more tips from time to time.

This latest tip, I put into practice on exactly one title so far, shared above - Gemini Man (2019). It also got a complete redo and not just changing a few ECO blows to HIGH. I have reviewed several other titles comparing brief ECO to OFF commands (2 seconds or less) vs High to OFF for these short puffs. So far, the latter is impressing me and will most likely be applied to all the WindTracks I've done in the past (including the recent redo updates I've posted). Yes, they too will get redone AGAIN! I'm sorry for the inconvenience and confusion this is causing but I strive for perfection of all my contributions as I discover them. Forgive me.

If there was a possibility to have a different offset applied for each different fan speed, this would be the ultimate solution.
For example: HIGH 250ms. MEDIUM 500ms. LOW 750ms. ECO 1000ms.

At my seating distance of about 12', I open HTFanControl Fan Tester. I press ECO and begin Stopwatch - 4 seconds until I feel wind. I do this again on HIGH - 3 seconds.
So, when I start an ECO command to match what I see on screen, by the time the wind hits me, the movie has already switched to a different scene and the wind does not correspond with what I'm seeing any longer. 

Changing ECO to HIGH corrects this. If I increase my OFFSET so that ECO reaches me earlier, then HIGH reaches me too soon. I hope you understand?


----------



## SirMaster

brazen1 said:


> This was added to the Tips for Making WindTracks:
> 
> Quick WindTrack commands - When you start a blow with ECO and end it with OFF, and the duration is only a second or two, there will be a significant longer delay reaching you than if you started the blow with subsequent higher speeds using Low, Medium or High. Start these quick puffs using HIGH. The same occurs for longer durations but because they are longer they are not as noticeable. We could use a higher offset so these slow ECO commands would reach us sooner but then HIGH would reach us too soon.
> 
> More than likely, I will be adding more tips from time to time.
> 
> This latest tip, I put into practice on exactly one title so far, shared above - Gemini Man (2019). It also got a complete redo and not just changing a few ECO blows to HIGH. I have reviewed several other titles comparing brief ECO to OFF commands (2 seconds or less) vs High to OFF for these short puffs. So far, the latter is impressing me and will most likely be applied to all the WindTracks I've done in the past (including the recent redo updates I've posted). Yes, they too will get redone AGAIN! I'm sorry for the inconvenience and confusion this is causing but I strive for perfection of all my contributions as I discover them. Forgive me.
> 
> If there was a possibility to have a different offset applied for each different fan speed, this would be the ultimate solution.
> For example: HIGH 250ms. MEDIUM 500ms. LOW 750ms. ECO 1000ms.
> 
> At my seating distance of about 12', I open HTFanControl Fan Tester. I press ECO and begin Stopwatch - 4 seconds until I feel wind. I do this again on HIGH - 3 seconds.
> So, when I start an ECO command to match what I see on screen, by the time the wind hits me, the movie has already switched to a different scene and the wind does not correspond with what I'm seeing any longer.
> 
> Changing ECO to HIGH corrects this. If I increase my OFFSET so that ECO reaches me earlier, then HIGH reaches me too soon. I hope you understand?


You are correct that these are factors.

At the start I tried to keep it as simple as possible, so I only came up with a couple variables that I thought would do the most work to keep things reasonably in time.

But we can improve upon this and now seems like a fine time as there is nothing else really pressing and I think the program is running pretty well at the moment.


It's easy to overthink or overdo this. Technically every different speed-to-speed transition could use a different offset, but that would be too complicated to calibrate and dial in.

I think the best thing we can try for now is to have a separate spin-up offset for each speed, because the OFF-to-speed transitions are by far the most noticeable, compared to speed-to-speed transitions.


I will incorporate this into the next version. However I want to stress the importance of making sure the global offset is set correctly before trying to dial in the spin-up offsets. This should be possible to set with the global offset calibration video where the fan alternates between LOW and HIGH with the black and white screens. This should give a good average number that should work well for most or all speed-to-speed transitions.

After that is set right you can dial in the individual spin-up offsets. Based on my testing, I really think that about 2000ms is about right for a 10 foot distance.


I also want to stress that you should always code commands at the real time in the video. Never attempt to build in offsets into the windtrack as that will just make a mess of things. I can always improving the app to better handle offsets as needed, but that will only work if the wind commands are coded at the actual movie time. I am not saying you have ever done this wrong, just a simple reminder to all.

The final thing is that I really hope that spin-up times can be kept to a minimum. Hopefully we find that we don't need more than about a 1000ms spin-up time at most. A long spin-up time just creates timing limitations in what the wind track can accurately do if you expect to be able to go ON to OFF to ON again in a somewhat quick succession. That OFF gap cannot be shorter than the following spin-up offset for obvious reasons.


----------



## Tate1023

Thank you for the Kodi tip with adding a Tag. I was adding all my wind track movies to my favorites. I go through my movies and right click on the ones with wind and add to favorites. When I click the favorites tab on the home screen it displays all my wind track movies. Makes it easy to find. I have not gotten this far yet but I'm sure I can change the name of the favorites tab in Kodi to Wind Track Movies or 4D movies. Just another suggestion for Kodi users. I started creating a wind track for the Adam Project but keep redoing it because I doubt my decisions on wind. Thank you for the tips above. When I get it done I will post it. Thanks again for the advice.


----------



## brazen1

*The Hunger Games (2012)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Lucy (2014)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Three Billboards Outside Ebbing Missouri (2017)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*There Will Be Blood (2007)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Roma (2018)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## SirMaster

*HTFanControl 0.3.1*

https://github.com/nicko88/HTFanControl/releases/download/0.3.1/HTFanControl_Win.zip

*Changelog*

Added separate SpinUp offset for each fan speed
Each slower fan speed should have a longer SpinUp offset
(around ~200ms longer for each slower speed should be in the ballpark)

Windows TrayIcon tweaks

The purpose of this change is in response to fixing the issue detailed here:









4D Theater Wind Effect - DIY Home Theater Project


@SirMaster for the Plex integration, are you using SSL or does it require insecure connections to be enabled on the Plex side? I am thinking that maybe why I cannot get any clients to list. Is there anyway to pass the Plex server direct address? How to Use Secure Server Connections | Plex...




www.avsforum.com


----------



## SirMaster

*WindTrackCreator v1.5*

https://github.com/nicko88/WindTrackCreator/releases/download/v1.5/WindTrackCreator.v1.5.zip
*Changelog*

Added separate SpinUp offset for each speed
Minor bug fixes to prevent errors
Added new version notification


----------



## kdawg2391044

SirMaster said:


> *HTFanControl 0.3.1*
> 
> https://github.com/nicko88/HTFanControl/releases/download/0.3.1/HTFanControl_Win.zip
> 
> *Changelog*
> 
> Added separate SpinUp offset for each fan speed
> Each slower fan speed should have a longer SpinUp offset
> (around ~200ms longer for each slower speed should be in the ballpark)
> 
> Windows TrayIcon tweaks
> 
> The purpose of this change is in response to fixing the issue detailed here:
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 4D Theater Wind Effect - DIY Home Theater Project
> 
> 
> @SirMaster for the Plex integration, are you using SSL or does it require insecure connections to be enabled on the Plex side? I am thinking that maybe why I cannot get any clients to list. Is there anyway to pass the Plex server direct address? How to Use Secure Server Connections | Plex...
> 
> 
> 
> 
> www.avsforum.com


So with the addition of individual spin up offset, does this mean @brazen1's new windtracks should be used or stick with old ones?

Sent from my IN2017 using Tapatalk


----------



## SirMaster

kdawg2391044 said:


> So with the addition of individual spin up offset, does this mean @brazen1's new windtracks should be used or stick with old ones?
> 
> Sent from my IN2017 using Tapatalk


You should use the updated ones either way.

They are all in the database already anyways.

His changes are not strictly related to this. He has just been making general improvements to some of his windtracks.


----------



## brazen1

*Guardians of the Galaxy (2014) IMAX*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

kdawg2391044 said:


> So with the addition of individual spin up offset, does this mean @brazen1's new windtracks should be used or stick with old ones?


As I've gained experience, I've learned new things I want applied to my contributions so I'm redoing them. Some WindTracks were created using an older version of a title. When I upgraded to a newer version of a title, the lead time before the main movie began was different. So, I used:

# Offset: 4K Ultra HD Blu-ray IMAX (-00:00:01.792)
# enableoffset

so that the timings, old vs new, were compensated. Now that I'm completely redoing titles, including those that used # enableoffset, the redone WindTracks will no longer use # enableoffset for me. This means if you too used # enableoffset, it will need a new value or more than likely not be used at all if your title matches mine. If memory serves me right, the only titles changing are those upgraded to IMAX versions such as the one I just posted above. I am including the word IMAX to the links I provide in my 'redo's' making it easy to reference. Also in the windtrack.txt and .zip files. So, check your title version runtime vs the new redone file(s).

That said, I am also redoing titles that have nothing to do with #enableoffset just because I want to improve them.


----------



## brazen1

Calibrating using the new individual offsets:

I made 3 more copies of the Spinup Offset video SOWK made. I renamed them to:

Wind Track Spinup Eco Offset Calibration
Wind Track Spinup Low Offset Calibration
Wind Track Spinup Medium Offset Calibration
Wind Track Spinup High Offset Calibration

I also made 3 more corresponding copies of the Spinup Offset.txt file SOWK made naming each to match the video for it. I edited the fan speed part of the code in them to match each new offset video using ECO, LOW, MED, and HIGH. Now I have 4 Spinup videos and 4 matching .txt files for easy calibrating.
Alternatively, you could just use the 1 original video and .txt file and edit the .txt file to match the 4 speeds as you finish calibrating one and move on to the next. I found myself going back and forth between speeds as I calibrated and having each on hand was easiest for me.

In my main seating position, I hold a piece of paper a couple inches from my face and start a video. For some reason it's just more accurate for me than feeling the wind. YMMV. I determine if the paper blows and touches my face before or after I see the white portion in the video and calibrate until they are simultaneous. The paper touch is ok if it's slightly late given the distance you might feel wind on your feet, legs, etc. before reaching your face. This is also a good way to check your Spindown setting. When the paper is no longer bent and returns to normal, the video should turn black.

At about 10', these are my calibration settings:

"ECOSpinupOffsetMS": 1400,
"LOWSpinupOffsetMS": 1300,
"MEDSpinupOffsetMS": 1200,
"HIGHSpinupOffsetMS": 800,
"SpindownOffsetMS": 250

Again, YMMV.
Many, many thanks to @SirMaster for providing the individual offsets and other improvements to WTC and HTFC. After reviewing quite a few titles, these changes are a very noticeable improvement.


----------



## SirMaster

brazen1 said:


> As I've gained experience, I've learned new things I want applied to my contributions so I'm redoing them. Some WindTracks were created using an older version of a title. When I upgraded to a newer version of a title, the lead time before the main movie began was different. So, I used:
> 
> # Offset: 4K Ultra HD Blu-ray IMAX (-00:00:01.792)
> # enableoffset
> 
> so that the timings, old vs new, were compensated. Now that I'm completely redoing titles, including those that used # enableoffset, the redone WindTracks will no longer use # enableoffset for me. This means if you too used # enableoffset, it will need a new value or more than likely not be used at all if your title matches mine. If memory serves me right, the only titles changing are those upgraded to IMAX versions such as the one I just posted above. I am including the word IMAX to the links I provide in my 'redo's' making it easy to reference. Also in the windtrack.txt and .zip files. So, check your title version runtime vs the new redone file(s).
> 
> That said, I am also redoing titles that have nothing to do with #enableoffset just because I want to improve them.


Please don't do this. I do not want native streaming copies of movies in the windtrack database since nobody can get these outside of piracy.

If you want the times to align to a streaming copy, use the offset function for that or make your own copy of the windtrack for that using the apply offset option in WTC.


----------



## brazen1

I understand what you're asking and will do but Guardians of the Galaxy (2014) IMAX is a native 3D Blu-ray. Perhaps you can't buy it anymore? If you want to apply that WindTrack to some other version like the 4k Blu-ray, then use an offset.


----------



## SirMaster

brazen1 said:


> I understand what you're asking and will do but Guardians of the Galaxy (2014) IMAX is a native 3D Blu-ray. Perhaps you can't buy it anymore? If you want to apply that WindTrack to some other version like the 4k Blu-ray, then use an offset.


That's fine, just this is confusing because it doesn't exist:

Offset: 4K Ultra HD Blu-ray IMAX

There is no such thing as a 4K UHD BluRay IMAX of this movie.


----------



## brazen1

Forgot to change the header I guess? Oh well.


----------



## brazen1

*Guardians Of The Galaxy Vol 2 (2017)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*The Hunger Games Catching Fire (2013)* 

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Star Trek (2009)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*The Hunger Games Mockingjay Part 1 (2014)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Elysium (2013)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Avengers Infinity War (2018)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Avengers Endgame (2019)*


got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Captain Marvel (2019)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*A Quiet Place (2018)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Ad Astra (2019)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*The Hunger Games Mockingjay Part 2 (2015)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## mercury79

Hi! first of all! thank you! to all people and community whom made possible this project!, i get a Honeywell Fan HT900 after a failed attempt with an incompatible black fan model from seville, now im following the 4d wind DIY guide using the HT900, but my model also seems be a variant called HPF820 with only 3 speeds and no capacitor (CBB61). My question is do i need to put a capacitor? i attached a photo, of how is wired the fan, please help me to understand how do i need to wire my 2 extra cables from the fan (The marked in red arrows with the label To Power Cord), in the guide seems to only wire the four cables since my 2 extra cables are attached to the capacitor.








my fan without the capacitor







The Fan of the Guide with Capacitor (Grey little box)










i tried my best with the relay cables 🤪 please dont judge me Im a noob in this!, thank you for helping me!


----------



## giomania

mercury79 said:


> Hi! first of all! thank you! to all people and community whom made possible this project!, i get a Honeywell Fan HT900 after a failed attempt with an incompatible black fan model from seville, now im following the 4d wind DIY guide using the HT900, but my model also seems be a variant called HPF820 with only 3 speeds and no capacitor (CBB61). My question is do i need to put a capacitor? i attached a photo, of how is wired the fan, please help me to understand how do i need to wire my 2 extra cables from the fan (The marked in red arrows with the label To Power Cord), in the guide seems to only wire the four cables since my 2 extra cables are attached to the capacitor.
> 
> View attachment 3268342
> my fan without the capacitor
> View attachment 3268344
> The Fan of the Guide with Capacitor (Grey little box)
> 
> 
> View attachment 3268504
> 
> i tried my best with the relay cables  please dont judge me Im a noob in this!, thank you for helping me!


I think you can just put wire nuts or electrical tape on the two power conductors, as the power is only connected to the 4-channel Athom relay. I took me some time to understand this part of the project.

Mark


Sent from my iPhone using Tapatalk Pro


----------



## Archaea

@SirMaster

How goes the automated version of the project? With the mic and automated selection of appropriate movie files and time stamps?

also, @SOWK, do you have any plans to show this at mwave? It could be a way to get more enthusiasts behind the tech, and participating.


----------



## mercury79

giomania said:


> I think you can just put wire nuts or electrical tape on the two power conductors, as the power is only connected to the 4-channel Athom relay. I took me some time to understand this part of the project.
> 
> Mark
> 
> 
> Sent from my iPhone using Tapatalk Pro


I’ll try!, than you Mark!


----------



## SirMaster

Archaea said:


> @SirMaster
> 
> How goes the automated version of the project? With the mic and automated selection of appropriate movie files and time stamps?


Well that's been working for a long time now. Since before we had this at your place.

I have not tried automatically loading the movie via mic as that would take significant effort and I'm not sure it would pan out. Not sure it's worth the effort involved.


----------



## AndreNewman

mercury79 said:


> Hi! first of all! thank you! to all people and community whom made possible this project!, i get a Honeywell Fan HT900 after a failed attempt with an incompatible black fan model from seville, now im following the 4d wind DIY guide using the HT900, but my model also seems be a variant called HPF820 with only 3 speeds and no capacitor (CBB61). My question is do i need to put a capacitor? i attached a photo, of how is wired the fan, please help me to understand how do i need to wire my 2 extra cables from the fan (The marked in red arrows with the label To Power Cord), in the guide seems to only wire the four cables since my 2 extra cables are attached to the capacitor.
> 
> View attachment 3268342
> my fan without the capacitor
> View attachment 3268344
> The Fan of the Guide with Capacitor (Grey little box)
> 
> 
> View attachment 3268504
> 
> i tried my best with the relay cables 🤪 please dont judge me Im a noob in this!, thank you for helping me!


Did you get this going? 

Or do you need some help?

Andre


----------



## mercury79

AndreNewman said:


> Did you get this going?
> 
> Or do you need some help?
> 
> Andre



Hi Andre!, thanks for asking, finally it works, here is the final wire configuration, i don't used the blue wire from the fan, only the black for Neutral heres is the images if it helps to anyone, i need to put the orange jumper (COM1 to COM2)again since i dont have eco mode in the fan. i bought a second fan that arrived and its the same model of the guide so will be simplier, thanks! I'll keep in touch.















This blue cable is useless


----------



## mercury79

Following the 4d wind project guide I bought a raspberry pi 4b successfully install HT-Fan Control (access the web interface) mosquitto (verified running) now in the next section of the guide (MQTT Broker Program Install $ Setup - windows) also ask to install on windows Eclipse Mosquitto and configure it, next section the same now for HT Fan control on windows, so now I’m confused, I need the raspberry? Or I could use only windows? What could be the benefit of use raspberry? I’m closer to finish the setup, I really appreciate all the work of you guys! Hope to contribute soon with windtracks


----------



## SirMaster

mercury79 said:


> Following the 4d wind project guide I bought a raspberry pi 4b successfully install HT-Fan Control (access the web interface) mosquitto (verified running) now in the next section of the guide (MQTT Broker Program Install $ Setup - windows) also ask to install on windows Eclipse Mosquitto and configure it, next section the same now for HT Fan control on windows, so now I’m confused, I need the raspberry? Or I could use only windows? What could be the benefit of use raspberry? I’m closer to finish the setup, I really appreciate all the work of you guys! Hope to contribute soon with windtracks


This software can be run from Windows or RasPi.

You are reading a guide that was made by and for a person who runs (or did when they wrote the guide) both HTFanControl and Mosquitto on Windows.

You are running both on RasPi which is all you need.

Proceed to the next section(s), configuring the tasmota settings on the relay box and then configuring HTFanControl settings.


----------



## brazen1

*The Martian (2015) Extended*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Life (2017)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## giomania

SirMaster said:


> This software can be run from Windows or RasPi.
> 
> You are reading a guide that was made by and for a person who runs (or did when they wrote the guide) both HTFanControl and Mosquitto on Windows.
> 
> You are running both on RasPi which is all you need.
> 
> Proceed to the next section(s), configuring the tasmota settings on the relay box and then configuring HTFanControl settings.


Well I wanted to include all possible use cases, and since I had already written those instructions for Windows, I left them in there. I will make some edits to clarify the document.

One day we will get this into the Wiki, lol

Mark


Sent from my iPhone using Tapatalk Pro


----------



## mercury79

giomania said:


> Well I wanted to include all possible use cases, and since I had already written those instructions for Windows, I left them in there. I will make some edits to clarify the document.
> 
> One day we will get this into the Wiki, lol
> 
> Mark
> 
> 
> Sent from my iPhone using Tapatalk Pro


The guide is very helpful! my mistake was: i read all the document one time, so i order the items for the project, succesfully connect the fan and relay; the guide says: "Purchase and assemble a Raspberry Pi; any model will work..." So i run into the store the same day, and bought a raspberry  in the next section of the guide i realize i could be done everything on windows 🙃anyway i wished to have a raspberry long time ago, so i have another toy to play with it!, i have seen that many projects here use it!, now i will test to play the test calibration files from Macbook air with kodi and link it to the raspberry, hope don't get me stucked; i will keep in touch!


----------



## mercury79

It works!!!! MacAir (Kodi) ->RasPi->Athom4ChRelay->FanHT900

Now my question is: How to... for 2 Fans? i Have a second Fan and a Second Relay, in the Guide there is a photo with 3 Relays, Thank you! even the test files for calibration make me very excited! Thank you Guys! for make this possible!


----------



## giomania

The MQTT commands are sent out, and any relay set up to receive them will react accordingly. So the second relay is set up the same except with a different IP address.

Mark


Sent from my iPad using Tapatalk Pro


----------



## SirMaster

mercury79 said:


> It works!!!! MacAir (Kodi) ->RasPi->Athom4ChRelay->FanHT900
> 
> Now my question is: How to... for 2 Fans? i Have a second Fan and a Second Relay, in the Guide there is a photo with 3 Relays, Thank you! even the test files for calibration make me very excited! Thank you Guys! for make this possible!


Whoops I had this reply typed out and forgot to hit submit.

There's nothing special to do for multiple fans.

It's inherently how MQTT is designed. You can subscribe any number of tasmota relays to the same MQTT topic, and they will all get the command that is sent to that topic.


----------



## brazen1

*Forrest Gump (1994)*


got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Gladiator (2000)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## kdawg2391044

brazen1 said:


> Calibrating using the new individual offsets:
> 
> I made 3 more copies of the Spinup Offset video SOWK made. I renamed them to:
> 
> Wind Track Spinup Eco Offset Calibration
> Wind Track Spinup Low Offset Calibration
> Wind Track Spinup Medium Offset Calibration
> Wind Track Spinup High Offset Calibration
> 
> I also made 3 more corresponding copies of the Spinup Offset.txt file SOWK made naming each to match the video for it. I edited the fan speed part of the code in them to match each new offset video using ECO, LOW, MED, and HIGH. Now I have 4 Spinup videos and 4 matching .txt files for easy calibrating.
> Alternatively, you could just use the 1 original video and .txt file and edit the .txt file to match the 4 speeds as you finish calibrating one and move on to the next. I found myself going back and forth between speeds as I calibrated and having each on hand was easiest for me.
> 
> In my main seating position, I hold a piece of paper a couple inches from my face and start a video. For some reason it's just more accurate for me than feeling the wind. YMMV. I determine if the paper blows and touches my face before or after I see the white portion in the video and calibrate until they are simultaneous. The paper touch is ok if it's slightly late given the distance you might feel wind on your feet, legs, etc. before reaching your face. This is also a good way to check your Spindown setting. When the paper is no longer bent and returns to normal, the video should turn black.
> 
> At about 10', these are my calibration settings:
> 
> "ECOSpinupOffsetMS": 1400,
> "LOWSpinupOffsetMS": 1300,
> "MEDSpinupOffsetMS": 1200,
> "HIGHSpinupOffsetMS": 800,
> "SpindownOffsetMS": 250
> 
> Again, YMMV.
> Many, many thanks to @SirMaster for providing the individual offsets and other improvements to WTC and HTFC. After reviewing quite a few titles, these changes are a very noticeable improvement.


where are the new calibration files and videos?


----------



## brazen1

You make them yourself as explained in my post. I can share the files if that helps you. The videos are all the same - you just create copies and name them to match the file names. The original video by SOWK is on page one.


----------



## brazen1

*Mad Max Fury Road (2015)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*District 9 (2009)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Lion (2016)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Incendies (2010)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Fargo (1996)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Mission Impossible Fallout (2018)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Everest (2015)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*I Am Legend (2007)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Prometheus (2012)*

got a redo and the windtrack.txt file and zipped folder updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## SirMaster

I haven't been updating the online database for these windtrack updates in awhile.

I will try to get them all updated tonight.

Best practice for existing users would still be to pull down a fresh copy of the windtrack to ensure you have the latest one.


----------



## brazen1

*Alien Covenant (2017)*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## mercury79

Hi!, recently installed Homeassistant in the raspberryPi4, there are services for mosquitto and mqtt, my question is if its possible to install HTFan control?, thanks!


----------



## SirMaster

mercury79 said:


> Hi!, recently installed Homeassistant in the raspberryPi4, there are services for mosquitto and mqtt, my question is if its possible to install HTFan control?, thanks!


I'm not quite sure what you are asking.

I thought you already installed HTFanControl on the RasPi.


----------



## mercury79

SirMaster said:


> I'm not quite sure what you are asking.
> 
> I thought you already installed HTFanControl on the RasPi.


I already installed the HTFancontrol, mosquitto and MQTT project in a 32gb sdcard and works great!, since I’m new on Raspi I wish to learn Homeassistant OS to start with automation of my home theater, since home assistant requires a fresh install I use another sdcard, I saw that is possible to start Mosquitto server and discover new Tasmota devices, so I’m guessing if it’s possible to integrate the Fan project into Homeassistant, since I’m a Mac user I wish to run HTFan control from raspi running home assistant


----------



## SirMaster

mercury79 said:


> I already installed the HTFancontrol, mosquitto and MQTT project in a 32gb sdcard and works great!, since I’m new on Raspi I wish to learn Homeassistant OS to start with automation of my home theater, since home assistant requires a fresh install I use another sdcard, I saw that is possible to start Mosquitto server and discover new Tasmota devices, so I’m guessing if it’s possible to integrate the Fan project into Homeassistant, since I’m a Mac user I wish to run HTFan control from raspi running home assistant


I don't know anything about the Home Assistant OS version so I don't know if you can install and run HTFanControl on it or not.

I would guess that you probably can as HTFanControl should run on basically any version of Linux. But whether or not you can is not really under my control. It all depends on what that OS allows. Does it allow third party linux software to be run?

Other than the HTFanControl app itself, of course you can use any MQTT broker (like mosquitto) that is running anywhere on your network on any machine.


If you really can't for some reason run HTFanControl on the HomeAssistant OS, you will probably have to install HomeAssistant on Rasbian which is another way to install it.


----------



## SirMaster

mercury79 said:


> I already installed the HTFancontrol, mosquitto and MQTT project in a 32gb sdcard and works great!, since I’m new on Raspi I wish to learn Homeassistant OS to start with automation of my home theater, since home assistant requires a fresh install I use another sdcard, I saw that is possible to start Mosquitto server and discover new Tasmota devices, so I’m guessing if it’s possible to integrate the Fan project into Homeassistant, since I’m a Mac user I wish to run HTFan control from raspi running home assistant


Looks like you should be able to set up HTFanControl as as addon in hass.io









Tutorial: Making your first add-on | Home Assistant Developer Docs


So you've got Home Assistant going and you've been enjoying the built-in add-ons but you're missing this one application. Time to make your own add-on!




developers.home-assistant.io





Just make sure you use the right version of HTFanControl, the 32bit or 64bit build (to match the version of HomeAssistant OS you installed). Download the appropriate .zip from my GitHub page and extract out the program file and copy it into the addon folder you are making as part of that tutorial.

The run.sh file that you have to create can probably just look like this:



Code:


#!/usr/bin/with-contenv bashio

chmod +x HTFanControl
./HTFanControl

And you will need to do the steps where they show how to add a server port, they show port 8000 in their example, but you will need to configure the addon to allow port 5500 for my app.

To update your addon, you should just have to do it manually when I release a new version on GitHub. Just download the new .zip, extract and replace the program file in your addons folder that you created, and then start the addon again.

I could be missing a step or 2, but at first glance that seems like the majority of it.


----------



## mercury79

SirMaster said:


> I don't know anything about the Home Assistant OS version so I don't know if you can install and run HTFanControl on it or not.
> 
> I would guess that you probably can as HTFanControl should run on basically any version of Linux. But whether or not you can is not really under my control. It all depends on what that OS allows. Does it allow third party linux software to be run?
> 
> Other than the HTFanControl app itself, of course you can use any MQTT broker (like mosquitto) that is running anywhere on your network on any machine.
> 
> 
> If you really can't for some reason run HTFanControl on the HomeAssistant OS, you will probably have to install HomeAssistant on Rasbian which is another way to install it.


Thank you SirMaster! I’ll do my research is only to optimize my home theater automation, I have to much to learn.


----------



## SirMaster

mercury79 said:


> Thank you SirMaster! I’ll do my research is only to optimize my home theater automation, I have to much to learn.


Yeah, once you get into trying to add my app as an addon to hass.io, if you run into problems I can try to help. But I really have no experience with hass.io addons so I just have to see what I can understand from that tutorial page I linked above.


----------



## mercury79

SirMaster said:


> Yeah, once you get into trying to add my app as an addon to hass.io, if you run into problems I can try to help. But I really have no experience with hass.io addons so I just have to see waht I can understand from that tutorial page I linked above.


Wow!! Even if you don’t have experience your orientation help me a lot! thanks for the guidance ! I will try and keep informed, Homeassistant seems to be a good integration to create HT scenes.


----------



## brazen1

*Valerian and the City of a Thousand Planets (2017)*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*San Andreas (2015)*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## mercury79

SirMaster said:


> Looks like you should be able to set up HTFanControl as as addon in hass.io
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Tutorial: Making your first add-on | Home Assistant Developer Docs
> 
> 
> So you've got Home Assistant going and you've been enjoying the built-in add-ons but you're missing this one application. Time to make your own add-on!
> 
> 
> 
> 
> developers.home-assistant.io
> 
> 
> 
> 
> 
> Just make sure you use the right version of HTFanControl, the 32bit or 64bit build (to match the version of HomeAssistant OS you installed). Download the appropriate .zip from my GitHub page and extract out the program file and copy it into the addon folder you are making as part of that tutorial.
> 
> The run.sh file that you have to create can probably just look like this:
> 
> 
> 
> Code:
> 
> 
> #!/usr/bin/with-contenv bashio
> 
> chmod +x HTFanControl
> ./HTFanControl
> 
> And you will need to do the steps where they show how to add a server port, they show port 8000 in their example, but you will need to configure the addon to allow port 5500 for my app.
> 
> To update your addon, you should just have to do it manually when I release a new version on GitHub. Just download the new .zip, extract and replace the program file in your addons folder that you created, and then start the addon again.
> 
> I could be missing a step or 2, but at first glance that seems like the majority of it.


Hi SirMaster, !

I tried the solution like this, i put all the files and the .64bit buid on HTFanControl folder:
--------------------------------
dockerfile:
ARG BUILD_FROM
FROM $BUILD_FROM

# Copy data for add-on
COPY run.sh /
RUN chmod a+x /run.sh

CMD [ "/run.sh" ]
---------------------------------
config.yaml:
name: "HTFanControl"
description: "HTFan Control Program"
version: "1.0.0"
slug: "HTFanControl"
arch:
- aarch64
- amd64
- armhf
- armv7
- i386
ports:
5500/tcp: 5500
-----------------------------------
run.sh
#!/usr/bin/with-contenv bashio

chmod +x HTFanControl
./HTFanControl
-----------------------------------

I get this error when excecute

*Failed to install add-on*
('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer')
I ping in the terminal for the ip:5500 and seems to be ok, i'm lost how can i rid off the error

Thank you!


----------



## SirMaster

mercury79 said:


> Hi SirMaster, !
> 
> I tried the solution like this, i put all the files and the .64bit buid on HTFanControl folder:
> --------------------------------
> dockerfile:
> ARG BUILD_FROM
> FROM $BUILD_FROM
> 
> # Copy data for add-on
> COPY run.sh /
> RUN chmod a+x /run.sh
> 
> CMD [ "/run.sh" ]
> ---------------------------------
> config.yaml:
> name: "HTFanControl"
> description: "HTFan Control Program"
> version: "1.0.0"
> slug: "HTFanControl"
> arch:
> - aarch64
> - amd64
> - armhf
> - armv7
> - i386
> ports:
> 5500/tcp: 5500
> -----------------------------------
> run.sh
> #!/usr/bin/with-contenv bashio
> 
> chmod +x HTFanControl
> ./HTFanControl
> -----------------------------------
> 
> I get this error when excecute
> 
> *Failed to install add-on*
> ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer')
> I ping in the terminal for the ip:5500 and seems to be ok, i'm lost how can i rid off the error
> 
> Thank you!



OK, I spent a few hours in HaOS in a virtual machine learning how this all works.

I made this, so try this:



https://nicko88.com/misc/HTFanControl_HaOS_addon_RasPi64.zip



It works in my 64bit desktop CPU HaOS VM, so I am not 100% sure it will work on your RasPi64 yet, but I think it should.

Please let me know.


----------



## brazen1

*Cast Away (2000)*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Dunkirk (2017)*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## mercury79

SirMaster said:


> OK, I spent a few hours in HaOS in a virtual machine learning how this all works.
> 
> I made this, so try this:
> 
> 
> 
> https://nicko88.com/misc/HTFanControl_HaOS_addon_RasPi64.zip
> 
> 
> 
> It works in my 64bit desktop CPU HaOS VM, so I am not 100% sure it will work on your RasPi64 yet, but I think it should.
> 
> Please let me know.



Hi Sir Master!, i copied the folder, then restart HA (Homeassistant) and i was be able to install after the reboot, the addon seems to be running, but i can't connect tto the adress, i just use my ip:5500 to invoque the frontend, i get some errors:










I tried to rebuild but wasn't sucess...
Supevisor:
*Full logs*

22-05-09 19:13:34 WARNING (MainThread) [supervisor.misc.tasks] Watchdog found a problem with local_debian-base!
22-05-09 19:13:35 INFO (SyncWorker_2) [supervisor.docker.interface] Cleaning addon_local_debian-base application
22-05-09 19:14:17 INFO (SyncWorker_2) [supervisor.docker.addon] Starting Docker add-on local/aarch64-addon-debian-base with version 0.3.1
22-05-09 19:14:49 WARNING (MainThread) [supervisor.misc.tasks] Watchdog found a problem with local_debian-base!
22-05-09 19:14:49 INFO (SyncWorker_6) [supervisor.docker.interface] Cleaning addon_local_debian-base application
22-05-09 19:15:36 ERROR (SyncWorker_0) [supervisor.docker.interface] Container addon_local_debian-base is not running

The HTFanControl won't show any logs:
Loading error log…

The Homeassistantlog shows:
Logger: homeassistant.components.hassio
Source: components/hassio/*init*.py:963
Integration: Home Assistant Supervisor (documentation, issues)
First occurred: 3:21:14 PM (61 occurrences)
Last logged: 8:16:51 PM

Could not fetch stats for core_ssh: 
Could not fetch stats for a0d7b954_nodered: 
Could not fetch stats for local_debian-base: 
Could not fetch stats for local_debian-base: 404 Client Error for http+docker://localhost/v1.41/containers/addon_local_debian-base/json: Not Found ("No such container: addon_local_debian-base")
Could not fetch stats for local_debian-base: Container addon_local_debian-base is not running
Thank you as always


----------



## SirMaster

mercury79 said:


> Hi Sir Master!, i copied the folder, then restart HA (Homeassistant) and i was be able to install after the reboot, the addon seems to be running, but i can't connect tto the adress, i just use my ip:5500 to invoque the frontend, i get some errors:
> 
> View attachment 3278620
> 
> 
> I tried to rebuild but wasn't sucess...
> Supevisor:
> *Full logs*
> 
> 22-05-09 19:13:34 WARNING (MainThread) [supervisor.misc.tasks] Watchdog found a problem with local_debian-base!
> 22-05-09 19:13:35 INFO (SyncWorker_2) [supervisor.docker.interface] Cleaning addon_local_debian-base application
> 22-05-09 19:14:17 INFO (SyncWorker_2) [supervisor.docker.addon] Starting Docker add-on local/aarch64-addon-debian-base with version 0.3.1
> 22-05-09 19:14:49 WARNING (MainThread) [supervisor.misc.tasks] Watchdog found a problem with local_debian-base!
> 22-05-09 19:14:49 INFO (SyncWorker_6) [supervisor.docker.interface] Cleaning addon_local_debian-base application
> 22-05-09 19:15:36 ERROR (SyncWorker_0) [supervisor.docker.interface] Container addon_local_debian-base is not running
> 
> The HTFanControl won't show any logs:
> Loading error log…
> 
> The Homeassistantlog shows:
> Logger: homeassistant.components.hassio
> Source: components/hassio/*init*.py:963
> Integration: Home Assistant Supervisor (documentation, issues)
> First occurred: 3:21:14 PM (61 occurrences)
> Last logged: 8:16:51 PM
> 
> Could not fetch stats for core_ssh:
> Could not fetch stats for a0d7b954_nodered:
> Could not fetch stats for local_debian-base:
> Could not fetch stats for local_debian-base: 404 Client Error for http+docker://localhost/v1.41/containers/addon_local_debian-base/json: Not Found ("No such container: addon_local_debian-base")
> Could not fetch stats for local_debian-base: Container addon_local_debian-base is not running
> Thank you as always


After spending another few hours tonight and learning more about Docker, I realize that HTFanControl isn't going to work in Docker at all (which is the only way to run other software in a supervised install of HA).

Since my app is not designed for Docker it can't do the stuff that it normally needs to do, and would require me to make substantial changes to the entire core program's design and code in order to make it function in a way that can be run from Docker.

I don't have the desire, motivation, or time to learn Docker to convert my app to support it and to maintain it in Docker as well.

Just use 1 RasPi for HA and another RasPi for other apps.

Or install HA on the RasPi on top of a normal Linux OS like RasPi OS (or install HA itself inside a Docker on RasPi OS), then you can install other apps on the RasPi OS like normal.









How to Set Up Home Assistant on a Raspberry Pi in 2022


This tutorial will show how to set up Home Assistant on a Raspberry Pi using Docker. Full setup instructions for the whole process!




www.wundertech.net


----------



## mercury79

SirMaster said:


> After spending another few hours tonight and learning more about Docker, I realize that HTFanControl isn't going to work in Docker at all (which is the only way to run other software in a supervised install of HA).
> 
> Since my app is not designed for Docker it can't do the stuff that it normally needs to do, and would require me to make substantial changes to the entire core program's design and code in order to make it function in a way that can be run from Docker.
> 
> I don't have the desire, motivation, or time to learn Docker to convert my app to support it and to maintain it in Docker as well.
> 
> Just use 1 RasPi for HA and another RasPi for other apps.
> 
> Or install HA on the RasPi on top of a normal Linux OS like RasPi OS (or install HA itself inside a Docker on RasPi OS), then you can install other apps on the RasPi OS like normal.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> How to Set Up Home Assistant on a Raspberry Pi in 2022
> 
> 
> This tutorial will show how to set up Home Assistant on a Raspberry Pi using Docker. Full setup instructions for the whole process!
> 
> 
> 
> 
> www.wundertech.net


Thank you SirMaster!, I really appreciate your time and help, I learn a lot from this, It seems that HTFanControl be on windows with Kodi and leave MQTT and Mosquitto in HA with the raspi, the idea for me was to use the raspi the most but also I see RasPi is very limited and slow, sorry if I have one more question: I saw in any post that is possible to use more than on command to use anothe device maybe like a smoke machine or strobe light can you point me the right direction? It’s possible? I will do my homework I only need the push, thank you, have a great day!


----------



## SirMaster

mercury79 said:


> Thank you SirMaster!, I really appreciate your time and help, I learn a lot from this, It seems that HTFanControl be on windows with Kodi and leave MQTT and Mosquitto in HA with the raspi, the idea for me was to use the raspi the most but also I see RasPi is very limited and slow, sorry if I have one more question: I saw in any post that is possible to use more than on command to use anothe device maybe like a smoke machine or strobe light can you point me the right direction? It’s possible? I will do my homework I only need the push, thank you, have a great day!


Yeah, I mean if you have a Windows PC you should just run the HTFanControl app from there.

You can put mosquitto on the RasPi, though I don't know what you mean by "MQTT being in HA". Mosquitto is the MQTT broker, there isn't anything else. The MQTT protocol has 3 parts. The broker (mosquitto), the client (the tasmota relay), and the publisher (HTFanControl).

It's not really possible to control other things as the only commands the app is programmed for that you can configure the MQTT topic and payload for are the 5 fan commands.

Maybe in a future version I could come up with a way to allow people to define as many custom command words, and corresponding MQTT topics and payloads as they want.


----------



## mercury79

SirMaster said:


> Yeah, I mean if you have a Windows PC you should just run the HTFanControl app from there.
> 
> You can put mosquitto on the RasPi, though I don't know what you mean by "MQTT being in HA". Mosquitto is the MQTT broker, there isn't anything else. The MQTT protocol has 3 parts. The broker (mosquitto), the client (the tasmota relay), and the publisher (HTFanControl).
> 
> It's not really possible to control other things as the only commands the app is programmed for that you can configure the MQTT topic and payload for are the 5 fan commands.
> 
> Maybe in a future version I could come up with a way to allow people to define as many custom command words, and corresponding MQTT topics and payloads as they want.



sorry my mistake, i mean MQTT as addon since i need to install in HA as it and the broker also as addon but your explanation of the 3 parts is very clear, since the strobe lights are a switch i will try to use one of the 5 commands to turn on and off at the timestamp, my fan has only 3 speeds hope it serves, need to try


----------



## brazen1

*Uncharted (2022)*

Coded by brazen1


----------



## brazen1

FYI. Todays Windows Update for W11 users prevents WindTrackCreator.exe from starting. (Perhaps other applications as well?) You are presented with a Windows error pop-up. I did some investigating to confirm the update is the culprit because personally no update has ever affected my workstation before - this is a first. Reading the known issues regarding the KB, I followed the workaround suggested. After allowing Windows to auto download additional files in order to enable .NET Framework 3.5, WindTrackCreator.exe once again opens.






May 10, 2022—KB5013943 (OS Build 22000.675) - Microsoft Support







support.microsoft.com


----------



## SirMaster

brazen1 said:


> FYI. Todays Windows Update for W11 users prevents WindTrackCreator.exe from starting. (Perhaps other applications as well?) You are presented with a Windows error pop-up. I did some investigating to confirm the update is the culprit because personally no update has ever affected my workstation before - this is a first. Reading the known issues regarding the KB, I followed the workaround suggested. After allowing Windows to auto download additional files in order to enable .NET Framework 3.5, WindTrackCreator.exe once again opens.
> 
> 
> 
> 
> 
> 
> May 10, 2022—KB5013943 (OS Build 22000.675) - Microsoft Support
> 
> 
> 
> 
> 
> 
> 
> support.microsoft.com


That's weird.

WTC is built with .NET Framework 4.7.2.


----------



## brazen1

Read the KB. GPU's are affected too... as well as system images which I use a lot.


----------



## brazen1

*Dances with Wolves (1990) Extended*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Avatar (2009) Extended*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## AndreNewman

brazen1 said:


> *Uncharted (2022)*
> 
> Coded by brazen1


We watched this at the weekend, the wind file wasn't available in the web interface downloads tab.

Fortunately I went looking for the wind file at the start of the movie rather than my usual 20 mins in so was able to download it and add manually.


----------



## SirMaster

AndreNewman said:


> We watched this at the weekend, the wind file wasn't available in the web interface downloads tab.
> 
> Fortunately I went looking for the wind file at the start of the movie rather than my usual 20 mins in so was able to download it and add manually.


That's my fault.

I need to get on adding the files to the database more quickly.

Just been too busy lately with other things.


----------



## AndreNewman

SirMaster said:


> That's my fault.
> 
> I need to get on adding the files to the database more quickly.
> 
> Just been too busy lately with other things.


Ah, I wasn't sure if you were a part of the contribution process, I wasn't moaning, just wanted to point out that something wasn't happening in case no-one realised.

Well it's good that we can just drop the file posted here in the directory and it works.


----------



## SirMaster

AndreNewman said:


> Ah, I wasn't sure if you were a part of the contribution process, I wasn't moaning, just wanted to point out that something wasn't happening in case no-one realised.
> 
> Well it's good that we can just drop the file posted here in the directory and it works.


Yeah, you can always drop the text file in from here manually.

For now I have been curating the files on the web host.

It would be nice if I didn't have to, but I am not really sure how I could make that work.


There would be so many questions and considerations.


Where do I store them?
Got to be somewhere free.

How do I provide access?
Ability for people to delete or update wind-tracks that they have contributed?

Allow multiple copies of a movie from different people?
How do people decide which to download?

Overall consistency of file naming and wind-track naming, etc.

It would be a lot of work, and right now the only contributor is @brazen1, so it seems like a lot of work to set something up for all that.


----------



## brazen1

Just want to make sure users aren't making an unknown potential mistake due to any lag updating the database...

As it stands, when I finish a new windtrack and/or a redone windtrack, I upload the new or redone windtrack.txt file here at this forum. When it's a redo, I delete the old one I originally uploaded here and replace it with the new one. I inform the forum of this redo, as you've probably noticed, and provide a link to where the original windtrack was posted which now contains the replacement. At the same time, I also upload the new or revised windtrack.zip file to the database where it awaits curating. It may await curating for an hour or a month... depends. (zip files cannot be uploaded here at this forum).

I've noticed there are no downloads of any of my redone windtrack.txt files uploaded here on this forum. I find this really strange. I fear users see one of my 'redo' posts here, and assume they can grab the updated file using the HTFC GUI download feature. Problem is, if the updated file hasn't been curated yet, users will be downloading the original file again and not actually updating anything unbeknownst to them.


----------



## SirMaster

Well, I will for sure reserve some time tonight to get the database updated.


----------



## brazen1

I don't want you to think I'm trying to hurry you along. Do it at your pace, whatever it ends up being. We're all grateful you're even hosting them. My post is for users who are most likely under the impression they downloaded updated windtracks when in fact (proven by zero download count at the posts containing the real time updates) they simply downloaded the old original file again via the HTFC download feature instead of directly from this forum.

I should add, it's very simple for users to update their personal local databases. This insures you have the updated file(s).

When you notice a 'redo' post, click on the link and download the text file.
Rename the windtrack.txt file "commands".
Double click your original windtrack.zip file and delete the commands.txt file.
Replace it with your new commands.txt file you just downloaded and renamed.
Done.


----------



## kdawg2391044

brazen1 said:


> I don't want you to think I'm trying to hurry you along. Do it at your pace, whatever it ends up being. We're all grateful you're even hosting them. My post is for users who are most likely under the impression they downloaded updated windtracks when in fact (proven by zero download count at the posts containing the real time updates) they simply downloaded the old original file again via the HTFC download feature instead of directly from this forum.
> 
> I should add, it's very simple for users to update their personal local databases. This insures you have the updated file(s).
> 
> When you notice a 'redo' post, click on the link and download the text file.
> Rename the windtrack.txt file "commands".
> Double click your original windtrack.zip file and delete the commands.txt file.
> Replace it with your new commands.txt file you just downloaded and renamed.
> Done.


@SirMaster since you host the files on Google Drive, can you just give Brazen contributor access to the folder itself and he can just upload directly? Since he's the main contributor, you could leave edit access to just him. I assume HTFanControl is pulling from there now instead of your personal server and Google Drive already has permission controls. I dont know if you need to answer the other questions because the situation really hasnt come up.


----------



## SirMaster

kdawg2391044 said:


> @SirMaster since you host the files on Google Drive, can you just give Brazen contributor access to the folder itself and he can just upload directly? Since he's the main contributor, you could leave edit access to just him. I assume HTFanControl is pulling from there now instead of your personal server and Google Drive already has permission controls. I dont know if you need to answer the other questions because the situation really hasnt come up.


He doesn't use Google services or have or want an account.


----------



## kdawg2391044

SirMaster said:


> He doesn't use Google services or have or want an account.


I guess we will just have to wait then or do it ourselves 😆


----------



## brazen1

*Baby Driver (2017)*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Birds of Prey (2020)*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Midsommar (2019) Extended*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Hacksaw Ridge (2016)*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*The Postman (1997)*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*War Horse (2011)*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Venom (2018)*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Cliffhanger (1993)*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Sicario (2015)*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Contagion (2011)*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## AndreNewman

brazen1 said:


> *Contagion (2011)*
> 
> got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


When you update a wind track do you go back to the original post (the one you linked) and replace the attachment?


----------



## SirMaster

AndreNewman said:


> When you update a wind track do you go back to the original post (the one you linked) and replace the attachment?


Yeah he does.

I was gone on vacation for a week but now I am back.

I really, really need to update the Google Drive database with his updated windtracks, then they will all be there, available from inside the app windtrack download page as intended.


----------



## brazen1

AndreNewman said:


> When you update a wind track do you go back to the original post (the one you linked) and replace the attachment?


Yes, that is exactly what I do. Eventually, updated windtracks and new windtracks will be added to the database so they can be downloaded via HTFC too. Understand that will not happen immediately so if you see a new or redone windtrack and you want to use it right away (or just update your personal local database) grab the windtrack.txt file from here at this forum. It will always be the most recent. 

If you use the zip packages from HTFC downloads vs the attachments provided in this forum, you simply replace the "commands" file in the zip with the .txt file you can download from this forum. Be sure to rename the .txt file you download from here to "commands" before dragging and dropping it into your existing windtrack.zip folder.


----------



## AndreNewman

brazen1 said:


> Yes, that is exactly what I do. Eventually, updated windtracks and new windtracks will be added to the database so they can be downloaded via HTFC too. Understand that will not happen immediately so if you see a new or redone windtrack and you want to use it right away (or just update your personal local database) grab the windtrack.txt file from here at this forum. It will always be the most recent.
> 
> If you use the zip packages from HTFC downloads vs the attachments provided in this forum, you simply replace the "commands" file in the zip with the .txt file you can download from this forum. Be sure to rename the .txt file you download from here to "commands" before dragging and dropping it into your existing windtrack.zip folder.


Ah yes, thanks.

I hadn't thought about it but the audio recognition stuff is just there to find the location in the movie so it doesn't matter if the wind track changes, that bit doesn't need to be re-generated.

Ah ha.

Thanks.


----------



## brazen1

*Outbreak (1995)*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Allied (2016)*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*The Fifth Element (1997)*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*The Great Wall (2016)*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*War of the Worlds (2005)*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## Archaea

Would this fan be a good match for this project. It has three speeds individually selectable by the remote, it pivots left, right, up and down to make for a less uniform directional wind source, and it comes in black.

Let me know what you think?

@SirMaster
@SOWK 









Amazon.com: IRIS USA WOOZOO Oscillating Fan, Vortex Fan, Remote Equipped 7-in-1 Fan w/ Timer/ Multi Oscillation/ Air Circulator/ 3 Speed Settings, 46ft Max Air Distance, Medium, Black : Home & Kitchen


Buy IRIS USA WOOZOO Oscillating Fan, Vortex Fan, Remote Equipped 7-in-1 Fan w/ Timer/ Multi Oscillation/ Air Circulator/ 3 Speed Settings, 46ft Max Air Distance, Medium, Black: Table Fans - Amazon.com ✓ FREE DELIVERY possible on eligible purchases



www.amazon.com


----------



## SirMaster

Archaea said:


> Would this fan be a good match for this project. It has three speeds individually selectable by the remote, it pivots left, right, up and down to make for a less uniform directional wind source, and it comes in black.
> 
> Let me know what you think?
> 
> @SirMaster
> @SOWK
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Amazon.com: IRIS USA WOOZOO Oscillating Fan, Vortex Fan, Remote Equipped 7-in-1 Fan w/ Timer/ Multi Oscillation/ Air Circulator/ 3 Speed Settings, 46ft Max Air Distance, Medium, Black : Home & Kitchen
> 
> 
> Buy IRIS USA WOOZOO Oscillating Fan, Vortex Fan, Remote Equipped 7-in-1 Fan w/ Timer/ Multi Oscillation/ Air Circulator/ 3 Speed Settings, 46ft Max Air Distance, Medium, Black: Table Fans - Amazon.com ✓ FREE DELIVERY possible on eligible purchases
> 
> 
> 
> www.amazon.com


That certainly looks like it will work.

The only question (and this is not a dealbreaker) is if it needs to receive an "ON" signal before it can receive a speed signal.

If so, well 1 other person operates their fan like that and there is a undocumented feature in HTFanControl that I programmed for them for just that purpose. If this fan needs that, I can tell you how you can handle this "ON" command, or I can make tweaks to the software if need be to get it to work a different way.


----------



## brazen1

*Tenet (2020)*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Battleship (2012)*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*CODA (2021)*

Coded by brazen1


----------



## brazen1

*G.I. Joe- The Rise of Cobra (2009)*

got a redo and the windtrack.txt file updated. 4D Theater Wind Effect - DIY Home Theater Project


----------



## brazen1

*Moonfall (2022)*

Coded by brazen1


----------



## brazen1

*Nightmare Alley (2021)*

Coded by brazen1


----------



## brazen1

*Spider-Man No Way Home (2021)*

Coded by brazen1


----------



## brazen1

*The Contractor (2022)*

Coded by brazen1


----------



## brazen1

*The Game (1997)*

Coded by brazen1


----------



## brazen1

*Total Recall (2012)*

Coded by brazen1


----------



## brazen1

*Wind River (2017)*

Coded by brazen1


----------



## brazen1

*Wrath of Man (2021)*

Coded by brazen1


----------



## brazen1

*The Batman (2022)*

Coded by brazen1


----------



## SirMaster

I started getting all the windtrack redos and new windtracks updated in the database.

I should have the database all caught up within the next few days.

And I plan to keep up with the changes much quicker going forward so I don't get so far behind again.


----------



## JoseTheBae

Archaea said:


> Would this fan be a good match for this project. It has three speeds individually selectable by the remote, it pivots left, right, up and down to make for a less uniform directional wind source, and it comes in black.
> 
> Let me know what you think?
> 
> @SirMaster
> @SOWK
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Amazon.com: IRIS USA WOOZOO Oscillating Fan, Vortex Fan, Remote Equipped 7-in-1 Fan w/ Timer/ Multi Oscillation/ Air Circulator/ 3 Speed Settings, 46ft Max Air Distance, Medium, Black : Home & Kitchen
> 
> 
> Buy IRIS USA WOOZOO Oscillating Fan, Vortex Fan, Remote Equipped 7-in-1 Fan w/ Timer/ Multi Oscillation/ Air Circulator/ 3 Speed Settings, 46ft Max Air Distance, Medium, Black: Table Fans - Amazon.com ✓ FREE DELIVERY possible on eligible purchases
> 
> 
> 
> www.amazon.com


Did you ever order this fan to see if it works for this project?


----------



## Archaea

JoseTheBae said:


> Did you ever order this fan to see if it works for this project?


I didn’t, not yet anyway. Too many other irons in the fire right now.


----------



## JoseTheBae

Archaea said:


> I didn’t, not yet anyway. Too many other irons in the fire right now.


I just ordered the large version, which ironically is slightly cheaper and arrives earlier. It should be delivered tomorrow, so I hope to provide updates soon. Hopefully we will have another remote-controlled fan that works and is currently in stock.


----------



## JoseTheBae

Ok, so I am ready to try to set up the fan. I have a Raspberry Pi 4 that I installed HTFanControl to, with the first script on the Github page. (I didn't download the full SD card image because I don't have a microSD card reader.) I have the IguanaWorks IR transceiver and emitter. I have a Mac, so I am using Parallels Desktop to run Windows on my device. Can I just download the IguanaWorks Driver and fan configuration file with winLIRC on my computer and then transfer them to my Raspberry Pi?


----------



## SirMaster

IR control in HTFanControl isn't currently supported from RasPi. WinLIRC also has nothing to do with Linux and the Windows drivers will not help anything on Linux.

If you can get the IguanaWorks to work on the RasPi with LIRC then I could re-enable IR for the RasPi, but when I tried to get it working before it was giving me trouble. But there is a newer version of RasPiOS now (which is what i assume you are using) and so maybe it works better now.


----------



## JoseTheBae

SirMaster said:


> IR control in HTFanControl isn't currently supported from RasPi. WinLIRC also has nothing to do with Linux and the Windows drivers will not help anything on Linux.
> 
> If you can get the IguanaWorks to work on the RasPi with LIRC then I could re-enable IR for the RasPi, but when I tried to get it working before it was giving me trouble. But there is a newer version of RasPiOS now (which is what i assume you are using) and so maybe it works better now.


The instructions for the Raspberry Pi Setup mention plugged in the IguanaWorks IR USB after connecting to the RPi. What is the purpose of that, if IR control isn't supported? Or is this problem solved by downloading that SD card image before setting up the RPi? What devices can we use to set up IguanaWorks?


----------



## SirMaster

No, the SD card image is a really old failed experiment.

I guess there was a post I should update.

People tried to find IR fans for well over a year and nobody was successful in finding one, so we moved on with the relay switches. Back then HTFanControl didn't even run on a RasPi yet and when I finally got it working on a RasPi the relay switch option was there and anyone using IR at that time was already using Windows, so that continued to support IR.

Last time I tried using the iguanaIR on RasPi I couldn't get it working, and it seemed like all new users were using the relay switches, so I never enabled the IR for RasPi.

So that's where it's at at the moment. I don't even have an iguanaIR device to try on RasPi at the moment so I don't have any information about how to get it set up and working on a RasPi.


You just need to get LIRC working on the RasPI and that's all that would be needed. I can easily turn IR support back on for RasPi, but actual functionality depends on an IR control software (LIRC) and HTFanControl really doesn't have anything to do with that. It just sends commands to LIRC.


----------



## JoseTheBae

SirMaster said:


> No, the SD card image is a really old failed experiment.
> 
> I guess there was a post I should update.
> 
> People tried to find IR fans for well over a year and nobody was successful in finding one, so we moved on with the relay switches. Back then HTFanControl didn't even run on a RasPi yet and when I finally got it working on a RasPi the relay switch option was there and anyone using IR at that time was already using Windows, so that continued to support IR.
> 
> Last time I tried using the iguanaIR on RasPi I couldn't get it working, and it seemed like all new users were using the relay switches, so I never enabled the IR for RasPi.
> 
> So that's where it's at at the moment. I don't even have an iguanaIR device to try on RasPi at the moment so I don't have any information about how to get it set up and working on a RasPi.
> 
> 
> You just need to get LIRC working on the RasPI and that's all that would be needed. I can easily turn IR support back on for RasPi, but actual functionality depends on an IR control software (LIRC) and HTFanControl really doesn't have anything to do with that. It just sends commands to LIRC.


That makes so much sense! I was kind of confused by the instructions, because recent discussions on this thread seemed to be contradictory. I will try to get LIRC working on the RPi. If I succeed, I will let you know.


----------



## SirMaster

For now play with it on parallels if you can.

We can work on getting IR working on RasPi soon enough. I'm sure we can get it running.

I am sort of on vacation for a bit now so I can't really help much besides writing.


When I am back I can remote into your Pi and i'm sure we can get things working.


The other thing is that at one point the iguanaIR went out of stock and I contacted the company and they weren't sure they were ever ordering more. They were ready to shut down the product. So I really thought IR support was pretty much ending, so I never pursued it anymore.

Also, I know for about $20 or so you can actually build an IR transciever that is controlled through MQTT over WiFi the same way the relay switches work.

So worse case scenario, you have to make one of those. I am sorry the early posts on the thread are not super updated to explain all this. SOWK is pretty much away and I don't have easy access to those posts, but at some point I should try to get things cleaned up and made clearer.

Just rest easy knowing we will get your stuff working soon enough.

Thanks!


----------



## JoseTheBae

SirMaster said:


> For now play with it on parallels if you can.
> 
> We can work on getting IR working on RasPi soon enough. I'm sure we can get it running.
> 
> I am sort of on vacation for a bit now so I can't really help much besides writing.
> 
> 
> When I am back I can remote into your Pi and i'm sure we can get things working.
> 
> 
> The other thing is that at one point the iguanaIR went out of stock and I contacted the company and they weren't sure they were ever ordering more. They were ready to shut down the product. So I really thought IR support was pretty much ending, so I never pursued it anymore.
> 
> Also, I know for about $20 or so you can actually build an IR transciever that is controlled through MQTT over WiFi the same way the relay switches work.
> 
> So worse case scenario, you have to make one of those. I am sorry the early posts on the thread are not super updated to explain all this. SOWK is pretty much away and I don't have easy access to those posts, but at some point I should try to get things cleaned up and made clearer.
> 
> Just rest easy knowing we will get your stuff working soon enough.
> 
> Thanks!


No worries at all! I am so grateful to you and all the others who make this project possible. Have a wonderful vacation! I hope we can get this working when you get back.


----------



## JoseTheBae

For those curious, this fan does not automatically power on when pressing one of the 3 speed options on the remote. It also makes an audible beep whenever receiving an IR command. Hopefully that can be disabled somehow.


----------



## Archaea

JoseTheBae said:


> For those curious, this fan does not automatically power on when pressing one of the 3 speed options on the remote. It also makes an audible beep whenever receiving an IR command. Hopefully that can be disabled somehow.


You can open it up, find the little speaker and disconnect it, I’d expect.

Hows the wind feel, function, for the fan?


----------



## SirMaster

JoseTheBae said:


> For those curious, this fan does not automatically power on when pressing one of the 3 speed options on the remote. It also makes an audible beep whenever receiving an IR command. Hopefully that can be disabled somehow.


Alright, I’ll add in the proper functionality to support sending ON before sending a speed (if previous command was OFF)

You will be able to set a delay between ON and speed so you can make it as quick as your fan can support.

As for speed command timing, you will just need to add this extra delay to the spinup offsets, easy.

As for the beep, I’m sure you can find and kill the speaker.


----------



## JoseTheBae

Archaea said:


> You can open it up, find the little speaker and disconnect it, I’d expect.
> 
> Hows the wind feel, function, for the fan?


Yeah, I assumed so. I just didn’t want to make any permanent changes until I know I can use it for this project. The fan is very quiet. From only a few feet away, really only the maximum speed is audible, but I imagine it will easily be masked by actual audio. I actually have 2 Honeywell HT-900 11-inch fans. (Unfortunately, I’m waiting for the Tasmoto relay to arrive, so I can’t wire them up yet.) Later, I’ll actually compare the two right side by side and report the results, so you get a better sense of the power of both fans.


----------



## JoseTheBae

SirMaster said:


> Alright, I’ll add in the proper functionality to support sending ON before sending a speed (if previous command was OFF)
> 
> you will be able to set a delay between ON and speed so you can make it as quick as your fan can support.
> 
> As for speed command timing, you will just need to add this extra delay to the spinup offsets, easy.
> 
> As for the beep, I’m sure you can find and kill the speaker.


Thank you. Also, I installed LIRC on my Raspberry Pi 4. If you add the IR control back to HTFanControl, I can test it.


----------



## AndreNewman

JoseTheBae said:


> From only a few feet away, really only the maximum speed is audible, but I imagine it will easily be masked by actual audio.


The fan tracks are pretty good at hiding the fan noises in noisy parts of the movie, I've never noticed fan noise even when full speed is requested and our room has a really low noise floor, projector and electronics are not in the room, well except for the fan.  

Usually the desire is to get a lower slowest speed so don't worry much about getting enough wind unless you have a really large room.

I'm thinking about moving my bigger fan along, try to get someone else started in this project and just use two small ones, works better for our room.


----------



## AndreNewman

JoseTheBae said:


> Thank you. Also, I installed LIRC on my Raspberry Pi 4. If you add the IR control back to HTFanControl, I can test it.


I might be able to help here, I use the LIRC out on my Pi for general remote control. You don't need any fancy hardware like the Iguana I just have one of these connected to a PWM pin.








Gravity: Digital IR Transmitter Module


An infrared transmitter is simply a Light Emitting Diode which generates IR light (invisible IR light)--light with a wavelength of between 1 mm and 750 nanometers, and some associated circuitry. In an infrared remote control, for example, pushing a button sends an electric signal to the LED...




thepihut.com





I just enabled the correct pin as a PWM IR output, installed lirc and away it went.


----------



## brazen1

*Ambulance (2022)*

Coded by brazen1


----------



## brazen1

Looking at the numerous 'Redone' WindTrack links I've shared here on this forum, I notice no one is downloading these updates. I want to be certain everyone understands the original releases (which are removed from this forum) vs the update replacements are completely different codes for fan blows and by all means should be replaced for your best enjoyment. Very few of the new Windtracks I've shared are being downloaded either. Perhaps I pick unpopular titles and/or users are simply absent.

Understanding curating these files takes time, downloading them from the HTFanControl GUI is not going to reflect any of these updates or new releases. It still contains the older WindTracks of mine I want to wipe from the face of the earth tbh. If you want new releases as well as updates for old releases, they are only available here until the database is updated. It is months behind at the moment understanding all of this is freely donated so lags should be expected.

Keep in mind... @ SirMaster does not even use this creation of his so once again I thank him for continuing to make all of this possible and appreciate any pace he contributes  This is a FYI for those of us interested in WindTracks. Happy 4th of July folks💥


----------



## SirMaster

I started updating a few but I have a ways to go.

I’ll get them updated on the database soon enough. Once I catch up then it shouldn’t be hard to stay caught up.


----------



## JoseTheBae

JoseTheBae said:


> Yeah, I assumed so. I just didn’t want to make any permanent changes until I know I can use it for this project. The fan is very quiet. From only a few feet away, really only the maximum speed is audible, but I imagine it will easily be masked by actual audio. I actually have 2 Honeywell HT-900 11-inch fans. (Unfortunately, I’m waiting for the Tasmoto relay to arrive, so I can’t wire them up yet.) Later, I’ll actually compare the two right side by side and report the results, so you get a better sense of the power of both fans.


I compared the new (WOOZOO) fan to the Honeywell HT-900 11-inch fan. The WOOZOO is modestly quieter and more powerful at its max speed, but it’s definitely not a huge difference. The Honeywell fan currently costs $16.99 on Amazon, versus $94.48 for the other fan. Again, the difference in power (and overall quality) is modest, and definitely not enough to justify the $80 price difference. You could buy 4 of the Honeywell fans for the price of one WOOZOO fan. I would definitely recommend Honeywell over WOOZOO, given the price difference. You can just buy more Honeywell fans to offset the WOOZOO’s wind advantage. I will returning the WOOZOO fan. I’ll just have to wait for the 4-channel relay to arrive.


----------



## SOWK

Brazen, just watch Uncharted with your wind track! Awesome. Really added to the experience. Thanks you so much!


----------



## giomania

brazen1 said:


> Looking at the numerous 'Redone' WindTrack links I've shared here on this forum, I notice no one is downloading these updates. I want to be certain everyone understands the original releases (which are removed from this forum) vs the update replacements are completely different codes for fan blows and by all means should be replaced for your best enjoyment. Very few of the new Windtracks I've shared are being downloaded either. Perhaps I pick unpopular titles and/or users are simply absent.
> 
> Understanding curating these files takes time, downloading them from the HTFanControl GUI is not going to reflect any of these updates or new releases. It still contains the older WindTracks of mine I want to wipe from the face of the earth tbh. If you want new releases as well as updates for old releases, they are only available here until the database is updated. It is months behind at the moment understanding all of this is freely donated so lags should be expected.
> 
> Keep in mind... @ SirMaster does not even use this creation of his so once again I thank him for continuing to make all of this possible and appreciate any pace he contributes  This is a FYI for those of us interested in WindTracks. Happy 4th of July folks💥


I definitely appreciate it! I don’t usually download until I watch a movie. I use My Movies to catalog, and have a category for wind tracks, so when I watch something I know to download then. I did miss the post about uncharted so watched it without wind, unfortunately. I watched Ambulance the other day, before you coded it.

Mark


----------



## Archaea

JoseTheBae said:


> I compared the new (WOOZOO) fan to the Honeywell HT-900 11-inch fan. The WOOZOO is modestly quieter and more powerful at its max speed, but it’s definitely not a huge difference. The Honeywell fan currently costs $16.99 on Amazon, versus $94.48 for the other fan. Again, the difference in power (and overall quality) is modest, and definitely not enough to justify the $80 price difference. You could buy 4 of the Honeywell fans for the price of one WOOZOO fan. I would definitely recommend Honeywell over WOOZOO, given the price difference. You can just buy more Honeywell fans to offset the WOOZOO’s wind advantage. I will returning the WOOZOO fan. I’ll just have to wait for the 4-channel relay to arrive.


Does the changing angle advantage of the WOOZOO have any bearing on replicating a real wind experience in that it isn't just a steady singular flow from exactly one direction for every scene?
Or can you tell the angle is changing from your seat for instance?


----------



## JoseTheBae

You raise a good point. I have it fixed to one angle, but when I first played with it out of the box, you could definitely tell that it was changing angles. I didn't think about how that might make the wind effect feel more realistic.


----------



## Archaea

JoseTheBae said:


> You raise a good point. I have it fixed to one angle, but when I first played with it out of the box, you could definitely tell that it was changing angles. I didn't think about how that might make the wind effect feel more realistic.


I suspect like that could be a very helpful attribute. Especially if you had more than one WOOZOO. If nothing else it could help vary the intensity of the air you feel making it feel like more than just three fan speeds. (Low, medium, high). That said, my experience is limited with this. I’m using a light organ controller that just activates the my fan with bass frequencies, and not with the scripted timing discussed here. And I only have a single squirrel cage fan, so this aspect is one of my ‘cool, but needs improvement’ areas — in that the wind definitely always feels like it’s directional and always from just one angle. (Because it is!)

Counterpoint being that it might make it more difficult (impossible) to perfectly time? Experimentation needed.


----------



## kdawg2391044

brazen1 said:


> Looking at the numerous 'Redone' WindTrack links I've shared here on this forum, I notice no one is downloading these updates. I want to be certain everyone understands the original releases (which are removed from this forum) vs the update replacements are completely different codes for fan blows and by all means should be replaced for your best enjoyment. Very few of the new Windtracks I've shared are being downloaded either. Perhaps I pick unpopular titles and/or users are simply absent.
> 
> Understanding curating these files takes time, downloading them from the HTFanControl GUI is not going to reflect any of these updates or new releases. It still contains the older WindTracks of mine I want to wipe from the face of the earth tbh. If you want new releases as well as updates for old releases, they are only available here until the database is updated. It is months behind at the moment understanding all of this is freely donated so lags should be expected.
> 
> Keep in mind... @ SirMaster does not even use this creation of his so once again I thank him for continuing to make all of this possible and appreciate any pace he contributes  This is a FYI for those of us interested in WindTracks. Happy 4th of July folks💥





giomania said:


> I definitely appreciate it! I don’t usually download until I watch a movie. I use My Movies to catalog, and have a category for wind tracks, so when I watch something I know to download then. I did miss the post about uncharted so watched it without wind, unfortunately. I watched Ambulance the other day, before you coded it.
> 
> Mark


@brazen1 I definitely appreciate you continuing to author these WindTracks. Similar to giomania, I dont download the tracks until I am ready to watch a movie and simple fact is that I have been busy with work/family for the last month+ so I havent even used my theatre room.

On another note, I have been implementing a new effect to the 4D experience using water which is now working but I havent had time to share my results with the group, but @SirMaster is aware of the latest results. Since I am here anyways, Ill share the high level of what I did. I took on this project to learn more about electronics and do some more coding so its more of a proof of concept at this point. The few people I demoed the effect for (wife and brother) said they dont like getting sprayed and that its really annoying lol. At the very least, its a cool party trick.

Took an electric sprayer that I found on Amazon thats used for watering plants: https://www.amazon.com/TOVIA-Automatic-Rechargeable-Adjustable-Fertilizing/dp/B087TSDMJQ. The spray pattern is fixed based on how tight the nozzle is screwed on but in theory, you could add a servo to turn and adjust the nozzle to get a spray vs mist, but to keep it simple, I have chosen to set it statically at a strong mist setting (like somewhere in between).
Modified the sprayer to be controlled using a WiFi ESP8266 module and relay to simulate pressing the on/off button electronically. I put it into a project box and have it "hidden" in a basket for now
Originally I implemented methods to activate the sprayer using IR and HTTP GET, but was getting performance issues using IR so am now just using HTTP GET. Could be modified to use MQTT but it was easier to just use simple HTTP GET. I can control via simple webserver that is running on the ESP8266.
I have a few main modes that allow some customization - Spray On, Spray Off and Spray for a duration (ms) so I have some canned spray durations such as 30ms, 300ms and 500 ms
This sprayer outputs a lot of water - I have to use a towel to cover the seat to keep it from getting everything wet. Since I am hacking into the sprayer itself, I cannot control the duty cycle of the DC motor (I didnt want to bypass the onboard chip and use a DC motor controller - you could def do that and have 100% control over the spray output.) I am basically controlling this via the spray duration.
I forked @SirMasters HTFanControl to customize the code to work with my sprayer since there is some custom logic that is needed to control the sprayer since it has a sleep mode and an awake mode that means the sprayer activation requires two different delay offsets. Code is here: GitHub - kchaing/HTFanControl: 4D Theater Wind Effect - DIY Home Theater Project. I still need to get my ESP8266 code up here though.
I coded two demo clips - Jurassic World when the big water dinosaur jumps out of the pool all the way to when the Indominous Rex escapes and in Jurassic Park when Ned is trying to escape the park with the pouring rain and gets acid spit from the dilophosauras.
This works in conjunction with wind tracks already created for those two movies which I am using IR to control. The code to handle IR and HTTP Get is really ugly because I had to modify it in the LIRC controller so in its current state, its not really shareable for others to recreate. If there is enough interest, I can work to clean it up or make it more presentable.
Photos of the sprayer in various states of the build and some demo clips. NOTE - the demo clips show that the sprayer is VERY delayed and timing is way off. This is when I had it controlled via IR and couldnt figure out why it wasnt working correctly. After switching to using HTTP GET, it works instantly now but I havent re-recorded new demo clips since I havent had time. You get the idea though. 4D water spray effect
HoverBOSS + Wind + Water = fun times 
Right now I only have water scenes coded but in theory, you could use it for blood splatter type scenes. If anyone has suggestions, Ill see how well the effect works on something else.


----------



## brazen1

I think everyone would agree water and electronics do not mix as well as being uncomfortable to the point you get wet. That said, if you could deliver a spray that evaporated immediately but lingered long enough to let your senses know 'I just got wet', you might be on to something. So instead of spraying as long as the sequence is showing, ignore and only spray long enough to get that quick 30ms moisture blast. Brief contemplation tells me you'd never want a stream... always a spray to keep water droplets as small as possible so they can dissipate as fast as possible. 

Use at a minimum so humidity isn't created even if it's exhausted out of the room unless you have an outdoor theatre and it's a hot summer evening. Very short duration volume depending where the sprayer is located - the closer the shorter - the further the longer. Water is heavy... even a mist. A good sprayer location might be overhead where it could be discreet. Close enough in front of the MSP to let the spray fall into the fan blast without blowing the mist over your head and not so far away it falls to the floor. Not only delivering it but starting the evaporation from the fan blow durations. 

Time your spray(s) so that ample fan blows are going to dry things up in a hurry. That means using scenes with an initial spray followed by long duration fan blows like Crawl (2019). Although the scene(s) shows wind driven storm spray for quite a while (and the fan is blowing throughout) a brief spray at the beginning would linger on you as it evaporated while accomplishing the effect imo. You will become an evaporative cooler while the mist remains on you and the fan is blowing on it/you. I think the most important aspects are minimal volume deliveries and minimal overall usage so the number one task of evaporation could be accomplished before ever contemplating another spray.


----------



## kdawg2391044

brazen1 said:


> I think everyone would agree water and electronics do not mix as well as being uncomfortable to the point you get wet. That said, if you could deliver a spray that evaporated immediately but lingered long enough to let your senses know 'I just got wet', you might be on to something. So instead of spraying as long as the sequence is showing, ignore and only spray long enough to get that quick 30ms moisture blast. Brief contemplation tells me you'd never want a stream... always a spray to keep water droplets as small as possible so they can dissipate as fast as possible.
> 
> Use at a minimum so humidity isn't created even if it's exhausted out of the room unless you have an outdoor theatre and it's a hot summer evening. Very short duration volume depending where the sprayer is located - the closer the shorter - the further the longer. Water is heavy... even a mist. A good sprayer location might be overhead where it could be discreet. Close enough in front of the MSP to let the spray fall into the fan blast without blowing the mist over your head and not so far away it falls to the floor. Not only delivering it but starting the evaporation from the fan blow durations.
> 
> Time your spray(s) so that ample fan blows are going to dry things up in a hurry. That means using scenes with an initial spray followed by long duration fan blows like Crawl (2019). Although the scene(s) shows wind driven storm spray for quite a while (and the fan is blowing throughout) a brief spray at the beginning would linger on you as it evaporated while accomplishing the effect imo. You will become an evaporative cooler while the mist remains on you and the fan is blowing on it/you. I think the most important aspects are minimal volume deliveries and minimal overall usage so the number one task of evaporation could be accomplished before ever contemplating another spray.


Definitely in this case, less is more in the sense that judicious use of the water spray is better. The idea is not to soak people or have it running continuously like in rain storms because that just wouldnt be fun. They way I have coded it for the two demos, its for quick splashes or burst of water, not meant to really be a long spray. The longest I think I have the spray is in Jurassic World where Chris Pratt cuts the brake line and I have it spraying for the whole duration the fluid is being poured on him and i think its somewhere around 650-700ms so a pretty long time. Ill have to experiment to see if it makes sense to cut that short as you suggest. Like you said, water is pretty heavy so the sprayer needs to be pretty close by. I considered mounting it somewhere overhead but not sure where to put it so that its not visually distracting. In the 4D rides that spray water/air, they always put it in the seat back of the chair in front but I dont have that in my setup. For the wind driven storm spray, that could work out with the initial blast to create an evaporative cooling effect, right now I have the fan offset to the left and the sprayer directly in front so sometimes it feels like the spray is being carried to the right of me since the wind is blowing it away. I would have to put the sprayer in line with the fan but I cant think of a way to do that without it being in the way.


----------



## brazen1

I was thinking that if the sprayer was mounted overhead, it would more or less drop the mist not only from the blast but gravity too. Hopefully the mist would spread out about 1' in a straight line ray (think 2D). Not like a round shower nozzle spraying. You wouldn't need or want all that extra water if you can accomplish the same thing with a thimble full of H2O spread out and delivered efficiently. And again, less to evaporate. 

Just as the mist droplets fall in front of your face, the blow from the fan would arrive and blow the air and the mist in perfect sync. In other words, make the mist delivery via the fan blow and not the sprayer itself. So, the water spray on/off would more than likely need an independent different code time than the fan because the fan blow duration would be longer than the mist spray and the calibrations would be different too. Also consider a viewer wearing glasses. This may be more of a T-shirt, shorts, and bare feet requirement for the optically challenged and/or those that prefer it isn't in the face... so aim lower.


----------



## Technology3456

This project is awesome. Would just like to say to the thread, I am looking for ways to do it with a fan that works by IR, so if anyone makes any headway on which fans do this well, please keep us posted. The most up to date info I know of was that @JoseTheBae tried this fan, https://www.amazon.com/IRIS-USA-Controlled-Oscillating-Circulating/dp/B07GZSDF6X, which I may try as well, but if there are any more recently tested options that either perform better or are cheaper, please let me know.


----------



## brazen1

This is a long shot but ya' never know until you try. You might plead with them to open the box and tell you if the fan is all black unless you go there and confirm yourself. If it is, it won't work. If it's black or grey and most importantly... with a silver inlet screen, I'm pretty sure it will work out of the box. Just like the screenshot is what you're looking for. Problem is, it shows the correct part number one place and a different one in another. Other than that, you can modify a fan using the guide provided. 4D Wind Project Guide 2022-02.docx


----------



## brazen1

I looked on craigslist for fans just for the heck of it this morning. I put "Seville Classics" in the search engine. I found some listed - including the ones with silver steel intake grills - from a warehouse that deals with estate clean-ups and they resell the stuff online. The listings were 2 months old fwiw. They weren't too far from me so I bought 2 for $61 used with no remotes and no boxes. I figured I could use them for spares, parts, or one day to use more fans in a bigger theatre and I should grab them while the gettin's good. 

Both are in decent shape and show little use. I plugged them in, hooked up a spare IR transmitter to the 2nd port on the Iguana and both worked in conjunction with my original one immediately with no hiccups. Kinda strange seeing 3 responding simultaneously being used to only one. 

One is the same model as my original - 10127. The other is different. It has a lip around the top power button area - Model #10111. I thought this number might be useful for anyone digging around for old Seville's with silver steel intake grills although that grill is probably all that matters. Perhaps @SirMaster can muster up some time to add that model # to the front page and maybe it'll help someone. To those looking for a fan, it might be worthwhile to get email alerts from craigslist, eBay, etc. using "Seville Classics" as the alert term. They are out there...


----------



## Tate1023

@brazen1 I was waiting till the new tracks got loaded into HTFanControl to replace the old ones. The previous tracks were great so I'm sure the new ones are fantastic. I am excited to watch Ambulance with the windtrack. Uncharted was fantastic. Thanks again for all the coding.


----------



## JoseTheBae

Archaea said:


> I suspect like that could be a very helpful attribute. Especially if you had more than one WOOZOO. If nothing else it could help vary the intensity of the air you feel making it feel like more than just three fan speeds. (Low, medium, high). That said, my experience is limited with this. I’m using a light organ controller that just activates the my fan with bass frequencies, and not with the scripted timing discussed here. And I only have a single squirrel cage fan, so this aspect is one of my ‘cool, but needs improvement’ areas — in that the wind definitely always feels like it’s directional and always from just one angle. (Because it is!)
> 
> Counterpoint being that it might make it more difficult (impossible) to perfectly time? Experimentation needed.


I am sorry for not stating this earlier, but the fan can move vertically and/or horizontally. When I enabled this, the fan moved so much that it would no longer be felt by someone fully reclined on a recliner. I don't think the rotation will be conducive to this 4D Wind Effect project.


----------



## JoseTheBae

Technology3456 said:


> This project is awesome. Would just like to say to the thread, I am looking for ways to do it with a fan that works by IR, so if anyone makes any headway on which fans do this well, please keep us posted. The most up to date info I know of was that @JoseTheBae tried this fan, https://www.amazon.com/IRIS-USA-Controlled-Oscillating-Circulating/dp/B07GZSDF6X, which I may try as well, but if there are any more recently tested options that either perform better or are cheaper, please let me know.


Sorry for the very late response, but this Honeywell fan, which is mentioned in this guide, is so much cheaper ($16.99) than the WOOZOO fan that I would imagine using several of these would be better than paying for one WOOZOO fan.


----------



## Technology3456

JoseTheBae said:


> Sorry for the very late response, but this Honeywell fan is so much cheaper ($16.99 on Amazon), which is mentioned in this guide, is so much cheaper than the WOOZOO fan that I would imagine using several of these would be better than paying for one WOOZOO fan.


Is the Honeywall fan IR controlled or wifi controlled?


----------



## SirMaster

Neither, it’s a fan with a physical switch.


----------



## Technology3456

SirMaster said:


> Neither, it’s a fan with a physical switch.


How does the 4K wind app communicate with it to change the fan speed for different scenes? With USB into a physical connection or something?


----------



## giomania

Technology3456 said:


> How does the 4K wind app communicate with it to change the fan speed for different scenes? With USB into a physical connection or something?


Read the guide, lol
That is why I took the time to write it.

Basically it is a four channel electrical relay that is control via MQTT signals over Wi-Fi.

Mark


Sent from my iPhone using Tapatalk Pro


----------



## Technology3456

giomania said:


> Read the guide, lol
> That is why I took the time to write it.
> 
> Basically it is a four channel electrical relay that is control via MQTT signals over Wi-Fi.
> 
> Mark
> 
> 
> Sent from my iPhone using Tapatalk Pro


I read the section on the Honeywall fan and the DIY after it but I didnt get it. It's talking about all this DIY and modding of the fan. I thought these fans "just worked" with the 4K wind project either via wifi or IR control. Is this a third option? 

Great job on the guide though. Maybe I misunderstood about the other fans and they require the same type of modding also, but Im confused. I need the full context here.


----------



## Technology3456

giomania said:


> Read the guide, lol
> That is why I took the time to write it.
> 
> Basically it is a four channel electrical relay that is control via MQTT signals over Wi-Fi.
> 
> Mark
> 
> 
> Sent from my iPhone using Tapatalk Pro


I finished the full guide, I see a wifi option, I see wire relay options, but what is connecting the HTPC to the relay? And does the other more expensive fan also require all this DIY or just this fan? Im not near setting this up, just trying to determine if there are non-wifi fans that will work with this after Sirmaster told me six months ago or so that the one IR fan was no longer produced, and now recently he told me that someone had tested one new model. Now you mentioned maybe a third option the Honeywall but I can't tell from the guide whether it's 100% wired from PC to relay and then from relay to the Honeywall, or if it uses wifi to connect from PC to relay and then wired from relay to the fan, or if IR is involved.


----------



## giomania

Technology3456 said:


> I finished the full guide, I see a wifi option, I see wire relay options, but what is connecting the HTPC to the relay? And does the other more expensive fan also require all this DIY or just this fan? Im not near setting this up, just trying to determine if there are non-wifi fans that will work with this after Sirmaster told me six months ago or so that the one IR fan was no longer produced, and now recently he told me that someone had tested one new model. Now you mentioned maybe a third option the Honeywall but I can't tell from the guide whether it's 100% wired from PC to relay and then from relay to the Honeywall, or if it uses wifi to connect from PC to relay and then wired from relay to the fan, or if IR is involved.


Sorry for the confusion. It uses wifi to connect from PC to the Tasmota relay and then wired from the relay to the Honeywell fan. Perhaps a diagram would help if I could add one. I believe the only modifications IR fans required is to disassemble them to put them in an enclosure for stealth, but I never used them.

Mark


----------



## Technology3456

giomania said:


> Sorry for the confusion. It uses wifi to connect from PC to the Tasmota relay and then wired from the relay to the Honeywell fan. Perhaps a diagram would help if I could add one. I believe the only modifications IR fans required is to disassemble them to put them in an enclosure for stealth, but I never used them.
> 
> Mark


Thanks Mark. Your guide is great and I appreciate the time that went into it for the sake of the community. I could have been clearer in my original post when I said I was looking for a fan that worked with IR, and that Sirmaster told me the one known one working now is the woozoo, but that I am wondering if any other options have been discovered. What I meant was, are there any other options that work 100% by either IR, or wire/cable? In other words, any options that do not require any wifi connection in the area at all? A fan that would work if you lived so far out in the middle of nowhere that 5G didnt reach you, and you had to do everything by wire or infrared. 

It is my understanding that the woozoo can do this. Please correct me if I am wrong about that, and then if you know any other ones that can besides the woozoo, please let me know.


----------



## giomania

Sorry, I don't know anything about the Woozoo fan.


----------



## stef2

I have just discovered this thread and I am ready to jump in. I am now trying, as others, to find an IR controlled fan that will be compatible.


----------



## stef2

I will try this one:

Seville Classics UltraSlimline 40 in. Oscillating Tower Fan, Black

As it looks very similar to the only one that originally worked. Hopefully, every speed will have a discrete IR code. I can easily return it.


----------



## SirMaster

stef2 said:


> I will try this one:
> 
> Seville Classics UltraSlimline 40 in. Oscillating Tower Fan, Black
> 
> As it looks very similar to the only one that originally worked. Hopefully, every speed will have a discrete IR code. I can easily return it.


Someone tried this one already awhile back and they found that it only has 1 IR code that just cycles speeds.


----------



## stef2

SirMaster said:


> Someone tried this one already awhile back and they found that it only has 1 IR code that just cycles speeds.


Oh, thanks. Order cancelled.


----------



## stef2

Would your fan work using the older IR method? Is the remote IR? if so, it must have discrete IR codes for each of the three speed buttons?


CineSnack said:


> Hi everyone,
> 
> after a lot of experimenting and rebuilding, by chance I came across a fan with 3 direct buttons for fan control.
> 
> I will test the 4-channel relay soon, but now it should be quick and I have now bought a Woozoo TWF-C82T. For all German members here as a tip!
> 
> View attachment 3201717
> 
> 
> 
> I have now unsoldered the beeper and finished the setup so far. Now I noticed that I always have to switch on the fan first before I can choose High, Med or Low :-(


----------



## stef2

I have found this:

WOOZOO FAN

I have received it yesterday, unfortunately it does not work and I am exchanging it...

BUT...

It has a remote control with four discrete buttons for the three speeds speeds and off! According to the instructions, the remote is IR!

I will be able to try it when I receive a working one. I might need some help with the IR codes generated by the remote. I will report back.

EDIT: I really want a fan that works with IR control, as the other method used by members here is way over my head...)


----------



## Shawn9999

Hello, Ever since the video from Youthman on Youtube featuring this project I have had this page bookmarked. I have been looking every so often but unfortunately the required fan has never been in stock. Is it even possible to buy this fan? Is there an alternative? I think it's been two years since that video and boy I've been wanting to upgrade my theater with this awesome project.
Bye


----------



## brazen1

Imo, look harder.









4D Theater Wind Effect - DIY Home Theater Project


You can open it up, find the little speaker and disconnect it, I’d expect. Hows the wind feel, function, for the fan? Yeah, I assumed so. I just didn’t want to make any permanent changes until I know I can use it for this project. The fan is very quiet. From only a few feet away, really only...




www.avsforum.com












Kijiji - Buy, Sell & Save with Canada's #1 Local Classifieds


Visit Kijiji Classifieds to buy, sell, or trade almost anything! New and used items, cars, real estate, jobs, services, vacation rentals and more virtually anywhere.




www.kijiji.ca












Kijiji - Buy, Sell & Save with Canada's #1 Local Classifieds


Visit Kijiji Classifieds to buy, sell, or trade almost anything! New and used items, cars, real estate, jobs, services, vacation rentals and more virtually anywhere.




www.kijiji.ca












Kijiji - Buy, Sell & Save with Canada's #1 Local Classifieds


Visit Kijiji Classifieds to buy, sell, or trade almost anything! New and used items, cars, real estate, jobs, services, vacation rentals and more virtually anywhere.




www.kijiji.ca












Kijiji - Buy, Sell & Save with Canada's #1 Local Classifieds


Visit Kijiji Classifieds to buy, sell, or trade almost anything! New and used items, cars, real estate, jobs, services, vacation rentals and more virtually anywhere.




www.kijiji.ca












Oscillating Tower Floor Fan | Indoor Lighting & Fans | Oshawa / Durham Region | Kijiji


Seville Classics UltraSlimline 40 in. Oscillating Tower Fan - Black. Has 4 ultra-quiet speed settings High, Medium, Low, energy-saving "Eco". Smooth air intake grill is designed to minimize noise and maximize airflow for a quiet breeze at all speeds. Oscillates 75 degrees side-to-side for...




www.kijiji.ca












Kijiji - Buy, Sell & Save with Canada's #1 Local Classifieds


Visit Kijiji Classifieds to buy, sell, or trade almost anything! New and used items, cars, real estate, jobs, services, vacation rentals and more virtually anywhere.




www.kijiji.ca












Kijiji - Buy, Sell & Save with Canada's #1 Local Classifieds


Visit Kijiji Classifieds to buy, sell, or trade almost anything! New and used items, cars, real estate, jobs, services, vacation rentals and more virtually anywhere.




www.kijiji.ca












Kijiji - Buy, Sell & Save with Canada's #1 Local Classifieds


Visit Kijiji Classifieds to buy, sell, or trade almost anything! New and used items, cars, real estate, jobs, services, vacation rentals and more virtually anywhere.




www.kijiji.ca












SEVILLE CLASSICS OSCILLATING 40" FLOOR FAN | Indoor Lighting & Fans | London | Kijiji


Gray Premium ultraslimline tower fan with steel intake grill. Powerful air circulation, space saving design(less than 1 sq. ft), and solid ABS construction w/metal housing. Has a built-in handle & remote caddy, 120 volt, modern design, and power surge protector with triple insulated housing...




www.kijiji.ca












seville tower fan


PHP 2,000 | Condition: Well used | 110v with transformer




www.carousell.ph












Seville tower fan 110 Volts USA
 

PHP 2,900 | Condition: Like new | Very Slightly Used Tower Fan Seville Tower Fan 110 VOLTS Rfs Decluttering Need space




www.carousell.ph












buy 1 take 1 tower fan


PHP 2,750 | Condition: New | buy 1 take 1 seville tower fan




www.carousell.ph












Seville 40" Silver Tower Fan


Seville 40" Silver Tower Fan Product description: https://www.walmart.ca/en/ip/seville-classics-40-ultraslimline-black-tower-fan/6000196619510 Used last summer and haven't used it since. Works perfectly. Pick up only.




www.usedvictoria.com












Seville Classics Personal Tower Fans - appliances - by owner - sale


Comes in a set of 2 fans LCD remote control included with a 6.25 ft. power cord Dimensions: 11” x 17” x 40” Lightweight, timer also included Contains four quiet settings: Low, Medium, High, Eco...



losangeles.craigslist.org












House Fan - appliances - by owner - sale


Seville Classic house fan with remote



losangeles.craigslist.org



















Often asked: How to clean seville classics tower fan? - Apple Visa Services, Koh Phangan & Koh Samui, ThailandApple Visa Services


Seville Classics advises owners to clean the unit regularly using compressed air or a vacuum. How do you clean a tower fan? Every two to three weeks,




applevisaservices.com





__
https://www.reddit.com/r/homeautomation/comments/dchpco


----------



## Shawn9999

brazen1 said:


> Imo, look harder.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 4D Theater Wind Effect - DIY Home Theater Project
> 
> 
> You can open it up, find the little speaker and disconnect it, I’d expect. Hows the wind feel, function, for the fan? Yeah, I assumed so. I just didn’t want to make any permanent changes until I know I can use it for this project. The fan is very quiet. From only a few feet away, really only...
> 
> 
> 
> 
> www.avsforum.com
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Kijiji - Buy, Sell & Save with Canada's #1 Local Classifieds
> 
> 
> Visit Kijiji Classifieds to buy, sell, or trade almost anything! New and used items, cars, real estate, jobs, services, vacation rentals and more virtually anywhere.
> 
> 
> 
> 
> www.kijiji.ca
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Kijiji - Buy, Sell & Save with Canada's #1 Local Classifieds
> 
> 
> Visit Kijiji Classifieds to buy, sell, or trade almost anything! New and used items, cars, real estate, jobs, services, vacation rentals and more virtually anywhere.
> 
> 
> 
> 
> www.kijiji.ca
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Kijiji - Buy, Sell & Save with Canada's #1 Local Classifieds
> 
> 
> Visit Kijiji Classifieds to buy, sell, or trade almost anything! New and used items, cars, real estate, jobs, services, vacation rentals and more virtually anywhere.
> 
> 
> 
> 
> www.kijiji.ca
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Kijiji - Buy, Sell & Save with Canada's #1 Local Classifieds
> 
> 
> Visit Kijiji Classifieds to buy, sell, or trade almost anything! New and used items, cars, real estate, jobs, services, vacation rentals and more virtually anywhere.
> 
> 
> 
> 
> www.kijiji.ca
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Oscillating Tower Floor Fan | Indoor Lighting & Fans | Oshawa / Durham Region | Kijiji
> 
> 
> Seville Classics UltraSlimline 40 in. Oscillating Tower Fan - Black. Has 4 ultra-quiet speed settings High, Medium, Low, energy-saving "Eco". Smooth air intake grill is designed to minimize noise and maximize airflow for a quiet breeze at all speeds. Oscillates 75 degrees side-to-side for...
> 
> 
> 
> 
> www.kijiji.ca
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Kijiji - Buy, Sell & Save with Canada's #1 Local Classifieds
> 
> 
> Visit Kijiji Classifieds to buy, sell, or trade almost anything! New and used items, cars, real estate, jobs, services, vacation rentals and more virtually anywhere.
> 
> 
> 
> 
> www.kijiji.ca
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Kijiji - Buy, Sell & Save with Canada's #1 Local Classifieds
> 
> 
> Visit Kijiji Classifieds to buy, sell, or trade almost anything! New and used items, cars, real estate, jobs, services, vacation rentals and more virtually anywhere.
> 
> 
> 
> 
> www.kijiji.ca
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Kijiji - Buy, Sell & Save with Canada's #1 Local Classifieds
> 
> 
> Visit Kijiji Classifieds to buy, sell, or trade almost anything! New and used items, cars, real estate, jobs, services, vacation rentals and more virtually anywhere.
> 
> 
> 
> 
> www.kijiji.ca
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> SEVILLE CLASSICS OSCILLATING 40" FLOOR FAN | Indoor Lighting & Fans | London | Kijiji
> 
> 
> Gray Premium ultraslimline tower fan with steel intake grill. Powerful air circulation, space saving design(less than 1 sq. ft), and solid ABS construction w/metal housing. Has a built-in handle & remote caddy, 120 volt, modern design, and power surge protector with triple insulated housing...
> 
> 
> 
> 
> www.kijiji.ca
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> seville tower fan
> 
> 
> PHP 2,000 | Condition: Well used | 110v with transformer
> 
> 
> 
> 
> www.carousell.ph
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Seville tower fan 110 Volts USA
> 
> 
> PHP 2,900 | Condition: Like new | Very Slightly Used Tower Fan Seville Tower Fan 110 VOLTS Rfs Decluttering Need space
> 
> 
> 
> 
> www.carousell.ph
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> buy 1 take 1 tower fan
> 
> 
> PHP 2,750 | Condition: New | buy 1 take 1 seville tower fan
> 
> 
> 
> 
> www.carousell.ph
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Seville 40" Silver Tower Fan
> 
> 
> Seville 40" Silver Tower Fan Product description: https://www.walmart.ca/en/ip/seville-classics-40-ultraslimline-black-tower-fan/6000196619510 Used last summer and haven't used it since. Works perfectly. Pick up only.
> 
> 
> 
> 
> www.usedvictoria.com
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Seville Classics Personal Tower Fans - appliances - by owner - sale
> 
> 
> Comes in a set of 2 fans LCD remote control included with a 6.25 ft. power cord Dimensions: 11” x 17” x 40” Lightweight, timer also included Contains four quiet settings: Low, Medium, High, Eco...
> 
> 
> 
> losangeles.craigslist.org
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> House Fan - appliances - by owner - sale
> 
> 
> Seville Classic house fan with remote
> 
> 
> 
> losangeles.craigslist.org
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Often asked: How to clean seville classics tower fan? - Apple Visa Services, Koh Phangan & Koh Samui, ThailandApple Visa Services
> 
> 
> Seville Classics advises owners to clean the unit regularly using compressed air or a vacuum. How do you clean a tower fan? Every two to three weeks,
> 
> 
> 
> 
> applevisaservices.com
> 
> 
> 
> 
> 
> __
> https://www.reddit.com/r/homeautomation/comments/dchpco


Okay, yeah. But I live in Europe. Netherlands. Shipping will probably be a 100 bucks from second hand seller.


----------



## brazen1

I wonder if you mailed the seller a prepaid label with your purchase and maybe a box to put it in if one of those average priced $50 fans would make it more economical for you? Seville changed the fans they manufacture just after this project started. I did contact Seville about parts to interchange and old stock but never got a reply. You did ask if any were for sale and alternatives. I googled a while and found all the links I just posted. I wish there was an easy answer. If you don't mind putting in the effort, there is a guide to retrofitting other fans that is cost effective. Paying for a used fan that we know works seems just as logical imo. Depends what it's worth to you. I hope eventually you can outfit yourself. Good luck.


----------



## Shawn9999

brazen1 said:


> I wonder if you mailed the seller a prepaid label with your purchase and maybe a box to put it in if one of those average priced $50 fans would make it more economical for you? Seville changed the fans they manufacture just after this project started. I did contact Seville about parts to interchange and old stock but never got a reply. You did ask if any were for sale and alternatives. I googled a while and found all the links I just posted. I wish there was an easy answer. If you don't mind putting in the effort, there is a guide to retrofitting other fans that is cost effective. Paying for a used fan that we know works seems just as logical imo. Depends what it's worth to you. I hope eventually you can outfit yourself. Good luck.


Thank you for the information. I will take a look at all those pages and contact the sellers. Where can I find the guide to retrofit other fans?


----------



## brazen1

You're welcome. 








4D Wind Project Guide 2022-02.docx


Contents Introduction	3 Project Overview	4 3-Speed Manual Fan Options	5 Honeywell HT-900 11 Inch Round Fan	5 PELONIS 30 Inch Oscillating Tower Fan	6 Holmes HTF3110A-BTM 31inch Oscillating Tower Fan	6 4-channel Wi-Fi Relay Module Setup	7 Introduction	7 Overview	7 Configuration	9 Troubleshooting	1...




docs.google.com


----------



## Shawn9999

Thank you. So let's say I buy one of the three 3 speed fans listed in the doc file. Do I need the same components as with the seville 4 speed? Also, how does it work with 3 speed fans? Because in the movie tracks the eco mode is used. What if the eco mode doesn't exist? What then?


----------



## brazen1

I've never done any of the fan mods in the guide but obviously others have - I can't comment. I have no idea how a 3 speed fan handles a 4 speed WindTrack but others should? Perhaps they will chime in if they are still participating here. 

I've only used the original 4 speed Seville fans. They don't require any modification other than disconnecting the beeper which is very simple. Still, this USB IR Transceiver - Iguanaworks and one of these, if you don't already have one collecting dust Wired IR Emitter - Iguanaworks are required to complete the hardware. 

Software and drivers as well as instructions are linked on page one of this thread as well as various posts in this thread. Each are very simple to install and setup. They are set and forget as is calibration. Lastly, collect the WindTracks desired (I suggest from this thread rather than HTFanControl software since many have not been added or updated for quite a while) and everything will be automated to just happen when you start a title provided you completed the setup correctly.

I wanted to thank you for showing interest in this project and I really hope you get the setup going despite challenging fan availability. That said, I know they are available. I wouldn't hesitate purchasing another used one, cleaning it up, and lubricating it provided it wasn't physically abused. All 3 of mine are used and at least 10 years old. These fans are bullet proof imo and will last a very long time unlike many electronics especially those with moving parts. 

Keep in mind, only models with the silver steel air intake will work. I think many are apprehensive to dive-in to this immersion technique because it isn't mainstream... yet. That and ease of obtaining the original fan which can be done with some extra effort and perhaps funds. Lastly, I'm not promoting Seville. It's simply the only fan I'm familiar with. 

The fan mod using porch delivery items and additional free software while following the guide is still an option for those willing to go that route. The 3 speed fan used in that guide doesn't mean a different 3 speed fan or even 4 speed fan couldn't be substituted. 

The final option at this time, is to purchase an available 2022 model fan to see if it has discrete codes similar to the earlier models by Seville. We already know, Seville fans without silver steel intake grills do not work. The electronic controller was changed when the grills were. Given all the new available fans I see for sale by different manufactures will not be modded and have no hassle returns, more interested users will need to experiment with these various IR controlled fans and provide their results. I assume something out there will work but it needs to be discovered by potential user(s).

There is a 'how to' section in this thread dedicated to substituting Seville IR codes with different manufacturer IR codes discovered via software linked in this thread. (sorry. I'd have to hunt for it same as you) Afaik, only one fan was tried and it failed because all the IR codes were not discreet. That is the key to finding another working fan that doesn't need to be modified other than maybe removing a beeper - individual IR codes for each button, retrieving these codes, and substituting them for the existing Seville codes @SirMaster has already provided in his software. Be aware, I am not familiar nor an expert by any means and all of this is only my understanding and could be wrong. Others have a much, much better grasp on things than do I but I hope this long-winded rant helps you and possibly others.


----------



## giomania

For the manual three speed fans to work with an Eco command, I just used a jumper wire between the two channels (speeds) on the relay so an Eco or low speed command turns on the low fan speed. You can also just set the eco and low fan speeds to the same MQTT topic to execute the low fan speed. I hope that makes sense.

Mark


----------



## Shawn9999

Okay. Thanks for all the information. I tried contacting various sellers but they wouldn't ship to Europe. I'll look into the diy guide.
I have bass shakers in my couch since last year which is super awesome. Combined with this project would make it absolutely crazy. And to think I'm building all this in my bedroom at 20 years old. I started building at 16.


----------



## Shawn9999

I think I'm going to give it a shot. Since I'm in Europe I have 240 volts instead of 110 volts. I found the EU version of the HT900 with 240v named HT900E. Can I still follow the wiring in the docs?


----------



## AndreNewman

Shawn9999 said:


> I think I'm going to give it a shot. Since I'm in Europe I have 240 volts instead of 110 volts. I found the EU version of the HT900 with 240v named HT900E. Can I still follow the wiring in the docs?


It will probably be very similar, if you aren't confident to identify the wiring, post some pictures and I (or others) will try to help.

I've modified two different 240v fans, (pics and step by step earlier in this thread) the idea is simple, just replace whatever the speed switch is doing with the wifi controlled relay box.


----------



## Shawn9999

AndreNewman said:


> It will probably be very similar, if you aren't confident to identify the wiring, post some pictures and I (or others) will try to help.
> 
> I've modified two different 240v fans, (pics and step by step earlier in this thread) the idea is simple, just replace whatever the speed switch is doing with the wifi controlled relay box.


Would you recommend the HT900?


----------



## AndreNewman

Shawn9999 said:


> Would you recommend the HT900?


Others are using them happily, personally I think that type of fan spins up too slowly for this project, I have used cylinder fans that spin up extremely quickly, same type of fan as the original IR ones. 

I think a lot of the original US based people on this project have very large rooms so they want a lot of air moved to get enough effect. I'm in the UK where we generally have much smaller rooms, I find the big fan I modified is really a bit too much for our 4.3m x 5.4m room, well I just got Twister, maybe it's good for that movie!

I'm currently using this one









4D Theater Wind Effect - DIY Home Theater Project


Yes, but i get only these codes in the console from my remote: cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B10..","DataLSB":"0x80DE08..","Repeat":0} - Ventilator Stufe 3 cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B30..","DataLSB":"0x80DE0..","Repeat":0} -...




www.avsforum.com





In fact I use my old large fan for the 2 fastest speeds and the little one for the slowest 2 speeds, it's easy to do that with the Tasmota controllers.

If I was going from scratch I'd just get two of the little ones and run both of them for the 2 fastest speeds.

You won't get the 4 relay box inside the small fan unit but then you won't get it inside the HT900 either.


----------



## Shawn9999

AndreNewman said:


> Others are using them happily, personally I think that type of fan spins up too slowly for this project, I have used cylinder fans that spin up extremely quickly, same type of fan as the original IR ones.
> 
> I think a lot of the original US based people on this project have very large rooms so they want a lot of air moved to get enough effect. I'm in the UK where we generally have much smaller rooms, I find the big fan I modified is really a bit too much for our 4.3m x 5.4m room, well I just got Twister, maybe it's good for that movie!
> 
> I'm currently using this one
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 4D Theater Wind Effect - DIY Home Theater Project
> 
> 
> Yes, but i get only these codes in the console from my remote: cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B10..","DataLSB":"0x80DE08..","Repeat":0} - Ventilator Stufe 3 cmnd/sonoff/IRSend: {"Protocol":"NEC","Bits":32,"Data":"0x17B30..","DataLSB":"0x80DE0..","Repeat":0} -...
> 
> 
> 
> 
> www.avsforum.com
> 
> 
> 
> 
> 
> In fact I use my old large fan for the 2 fastest speeds and the little one for the slowest 2 speeds, it's easy to do that with the Tasmota controllers.
> 
> If I was going from scratch I'd just get two of the little ones and run both of them for the 2 fastest speeds.
> 
> You won't get the 4 relay box inside the small fan unit but then you won't get it inside the HT900 either.


You don't have to put the relay box inside the fan, do you? It's not how they do it in the docs I think.


----------



## AndreNewman

Shawn9999 said:


> You don't have to put the relay box inside the fan, do you? It's not how they do it in the docs I think.


Entirely up to you, depends if you are happy with external mains wiring in your cinema room and how and where you install the fan.


----------



## Shawn9999

AndreNewman said:


> Entirely up to you, depends if you are happy with external mains wiring in your cinema room and how and where you install the fan.


I think I prefer running wires to the fans. I can mount them on the ceiling. It's in the attic so they would be just above ear height. Is that good? Or is lower better?


----------



## giomania

I mounted my Honeywell HT 900 fans below my screen, and they work fine. When rotating them, there are not many adjustment “stop” points where they won’t move, so you just have to figure out how to get them aimed where you want. I had to use something to prop up the rear of the fan.

Andre is right about the tower fans ability to spin up fast, and provide a better overall experience due to focusing the air stream. And they can be more easily disguised in a velvet-lined box for the “surprise” experience when doing demos, but the round fans work well enough.

Mark


----------



## Shawn9999

giomania said:


> I mounted my Honeywell HT 900 fans below my screen, and they work fine. When rotating them, there are not many adjustment “stop” points where they won’t move, so you just have to figure out how to get them aimed where you want. I had to use something to prop up the rear of the fan.
> 
> Andre is right about the tower fans ability to spin up fast, and provide a better overall experience due to focusing the air stream. And they can be more easily disguised in a velvet-lined box for the “surprise” experience when doing demos, but the round fans work well enough.
> 
> Mark


Okay clear. Tower fan is probably better then. Do I need a relay box for every fan? So with 2 fans I need 2 relay boxes?


----------



## AndreNewman

Shawn9999 said:


> Okay clear. Tower fan is probably better then. Do I need a relay box for every fan? So with 2 fans I need 2 relay boxes?


You could just wire two in parallel from one relay box. Most of the fans I found were three speed so you could just have the slowest speed only run one fan and get four speeds that way.


----------



## giomania

I have three fans and three relays. The power to each relay is connected to a smart plug, so I can control which fans are on or off. I didn’t think of wiring them in parallel but that is also an option.

Mark


----------



## SirMaster

You should be able to wire all the fans up to 1 relay, the relays are strong enough for that much current (10A), especially at your higher 240V.


----------



## brazen1

*Das Boot (1981)*

Coded by brazen1


----------



## brazen1

*In Time (2011)*

Coded by brazen1


----------



## brazen1

*Law Abiding Citizen (2009)*

Coded by brazen1


----------



## brazen1

*Megan Leavey (2017)*

Coded by brazen1


----------



## brazen1

*The Girl With The Dragon Tattoo (2011)*

Coded by brazen1


----------



## brazen1

*The Impossible (2012)*

Coded by brazen1


----------



## brazen1

*Underwater (2020)*

Coded by brazen1


----------



## brazen1

*Vertical Limit (2000)*

Coded by brazen1


----------



## SirMaster

Movie database is all updated, 191 titles.

Thanks @brazen1 !


----------



## Shawn9999

SirMaster said:


> You should be able to wire all the fans up to 1 relay, the relays are strong enough for that much current (10A), especially at your higher 240V.


Well I ordered 2 relays anyway. How do I power the relays? Is it just 5 volt and then connect a normal plug to it and that plug goes into a smart plug?


----------



## SirMaster

Shawn9999 said:


> Well I ordered 2 relays anyway. How do I power the relays? Is it just 5 volt and then connect a normal plug to it and that plug goes into a smart plug?


The relays can be powered by all sorts of power. You can use 5V DC or 7-30V DC, or 90-250V AC.


----------



## Shawn9999

SirMaster said:


> The relays can be powered by all sorts of power. You can use 5V DC or 7-30V DC, or 90-250V AC.
> View attachment 3321665


Okay. Good to know. Buddy of mine is studying electricity stuff so I'll ask him for help when wiring everything together. I'd like to keep my hair if you know what I mean.


----------



## AndreNewman

Shawn9999 said:


> Well I ordered 2 relays anyway. How do I power the relays? Is it just 5 volt and then connect a normal plug to it and that plug goes into a smart plug?


I don't know why you need a smart plug, the relay box is a smart plug.

Easiest is mains power as you need that for the fans anyway, it's all one feed.


----------



## AndreNewman

I added our fans to our Openhab Home Automation system and remote control as well as HT Fan Control, we have been using them on extra low to cool down the Cinema room during movies without wind tracks. I had noticed that a movie with a wind track is extra nice when it's really hot.


----------



## Shawn9999

AndreNewman said:


> I don't know why you need a smart plug, the relay box is a smart plug.
> 
> Easiest is mains power as you need that for the fans anyway, it's all one feed.


Ah. I heard people talking about smart plugs but that's not necessary then.


----------



## Shawn9999

Can someone post the spreadsheet link for the wiring? The one from the docs doesn't work for me.


----------



## kdawg2391044

Shawn9999 said:


> Ah. I heard people talking about smart plugs but that's not necessary then.


seems like the use case for smart plugs is moreso if you have multiple fans controlled by multiple relays. If you want to be able to have 3 vs 1 fan then you can use the smart plug to turn off two of them as an example. That is because they would all be receiving the same MQTT command so you wouldnt be able to control which one turns on/off for the "Low" command as an example. But if you dont care about that type of control, you dont need the smart plug at all.


----------



## AndreNewman

kdawg2391044 said:


> seems like the use case for smart plugs is moreso if you have multiple fans controlled by multiple relays. If you want to be able to have 3 vs 1 fan then you can use the smart plug to turn off two of them as an example. That is because they would all be receiving the same MQTT command so you wouldnt be able to control which one turns on/off for the "Low" command as an example. But if you dont care about that type of control, you dont need the smart plug at all.


Well these relay boxes are literally the same innards and same or similar software as smart plugs. So they can do everything a smartplug can do and they are already wired to the fans.

It would be fairly easy to turn the mqtt on and off as required for each different fan, either send some inhibitor mqtt message from a generic mqtt client or just have a shortcut on your phone that sends a message to enable or disable the HTFan control messages. Or even just a shortcut to the "Configure Other" page in the smart relay web page, tick or untick the enable mqtt box.










It's all in there already


----------



## Shawn9999

kdawg2391044 said:


> seems like the use case for smart plugs is moreso if you have multiple fans controlled by multiple relays. If you want to be able to have 3 vs 1 fan then you can use the smart plug to turn off two of them as an example. That is because they would all be receiving the same MQTT command so you wouldnt be able to control which one turns on/off for the "Low" command as an example. But if you dont care about that type of control, you dont need the smart plug at all.


I see. When you have multiple seats and when watching alone maybe ALL the fans would be too much.


----------



## kdawg2391044

AndreNewman said:


> Well these relay boxes are literally the same innards and same or similar software as smart plugs. So they can do everything a smartplug can do and they are already wired to the fans.
> 
> It would be fairly easy to turn the mqtt on and off as required for each different fan, either send some inhibitor mqtt message from a generic mqtt client or just have a shortcut on your phone that sends a message to enable or disable the HTFan control messages. Or even just a shortcut to the "Configure Other" page in the smart relay web page, tick or untick the enable mqtt box.
> 
> View attachment 3321730
> 
> 
> It's all in there already


Would it be possible to disable and re-enable the MQTT checkbox via API or remote command? I can see that you could send an MQTT command to disable, but then how can you re-enable it without going to the config page and then checking the box manually since it wont respond to MQTT? It would require more button pushes and whatnot vs using a smart plug that you could toggle on/off using an app/voice command right? Or I guess there is probably a way to enable the state of the device using a virtual switch to say its on or off instead of using MQTT enable flag? I dont really know too much about the MQTT stuff which is why I am asking for curiosity sake.


----------



## Shawn9999

I can't read the wiring picture in the spreadsheet. Is there a clearer image?


----------



## AndreNewman

kdawg2391044 said:


> Would it be possible to disable and re-enable the MQTT checkbox via API or remote command? I can see that you could send an MQTT command to disable, but then how can you re-enable it without going to the config page and then checking the box manually since it wont respond to MQTT? It would require more button pushes and whatnot vs using a smart plug that you could toggle on/off using an app/voice command right? Or I guess there is probably a way to enable the state of the device using a virtual switch to say its on or off instead of using MQTT enable flag? I dont really know too much about the MQTT stuff which is why I am asking for curiosity sake.


I expect so, doesn't have to be a mqtt message these things will respond to http requests, CoAP and can be managed through most of the Home Automation systems, I use Openhab but there is direct support for Domoticz, Hue and probably many others, there's a lot of chatter on the Homeseer forums about it.

So simplest is probably http api, I use that from my remote to manually toggle the fans for boring cooling purposes 
Like this, I use curl to toggle the small fan on and off when I press the 8 key.



Code:


# Toggle small fan
KEY_8                   1       curl -s "http://192.168.214.220/cm?cmnd=Power1%20Toggle"

http is a bit slow with Tasmota, so be patient.

I guess you could turn mqtt on and off by a http command but you need to save after the change and that will cause a reboot. I tried to work out how to do this, I got far enough to think it can be done but haven't worked out the exact syntax.

Another easier way might be to disable and enable the Rule that operates the relays from the mqtt messages,

Something along the lines of


Code:


Turn Rule 1 off
curl -s "http://192.168.214.220/cm?cmnd=Rule1 0"
Turn Rule1 on
curl -s "http://192.168.214.220/cm?cmnd=Rule1 1"

Looks like it might work on my fan looking in the console but I haven't tested it, might get you in the right direction, give you a starting point.


----------



## SirMaster

Shawn9999 said:


> I can't read the wiring picture in the spreadsheet. Is there a clearer image?


You are having trouble reading the content in here?









4D Wind Project Guide 2022-02.docx


Contents Introduction	3 Project Overview	4 3-Speed Manual Fan Options	5 Honeywell HT-900 11 Inch Round Fan	5 PELONIS 30 Inch Oscillating Tower Fan	6 Holmes HTF3110A-BTM 31inch Oscillating Tower Fan	6 4-channel Wi-Fi Relay Module Setup	7 Introduction	7 Overview	7 Configuration	9 Troubleshooting	1...




docs.google.com


----------



## Shawn9999

SirMaster said:


> You are having trouble reading the content in here?
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 4D Wind Project Guide 2022-02.docx
> 
> 
> Contents Introduction	3 Project Overview	4 3-Speed Manual Fan Options	5 Honeywell HT-900 11 Inch Round Fan	5 PELONIS 30 Inch Oscillating Tower Fan	6 Holmes HTF3110A-BTM 31inch Oscillating Tower Fan	6 4-channel Wi-Fi Relay Module Setup	7 Introduction	7 Overview	7 Configuration	9 Troubleshooting	1...
> 
> 
> 
> 
> docs.google.com


Yes


----------



## giomania

Shawn9999 said:


> Yes


I uploaded the spreadsheet to Google Drive. Loading Google Sheets


----------



## Shawn9999

I can see it clearly on PC. Have been on mobile last couple of days.


----------



## SirMaster

Shawn9999 said:


> I can see it clearly on PC. Have been on mobile last couple of days.


Ah, a limitation of Google Docs on mobile I guess.


----------



## SirMaster

giomania said:


> I uploaded the spreadsheet to Google Drive. Loading Google Sheets


That looks like the wrong spreadsheet?


----------



## Shawn9999

SirMaster said:


> That looks like the wrong spreadsheet?


yea xD


----------



## stef2

brazen1 said:


> *Das Boot (1981)*
> 
> Coded by brazen1


Thank you for this one! and all the others of course.

I am hoping to get my Wind Surround setup up and running as soon as I receive my fan (a WOOZOO model currently available on amazon.ca and amazon.com)

And, if this fan works, this could allow some more users to benefit from this incredible advance in HT: the WOOZOO fan is IR controlled and maybe there are a other lurkers who, , just like me, find non IR way(s) to control the fan(s) too complicated.

Keep on the good Work!
Might I dare suggest a few Disney or Pixar (any recent) animation movies as good material for wind effects? that would be awesome!


----------



## brazen1

stef2 said:


> Thank you for this one! and all the others of course.


You're quite welcome. I hope your fan choice works and you can put them to good use.



stef2 said:


> And, if this fan works, this could allow some more users to benefit from this incredible advance in HT: the WOOZOO fan is IR controlled and maybe there are a other lurkers who, , just like me, find non IR way(s) to control the fan(s) too complicated.


"incredible advance in HT" I like how you wrote that because yes it is.
Imo, IR is probably the easiest way to control the fan commands. Even in an IR saturated environment such as mine. Just about all my equipment is IR and many, many commands are sent rapidly back-to-back because of all the automation I have going on. Nothing ever gets confused. Everything just continues to work, day in... day out... knock-on-wood.

The only complication at this time is finding another fan with discreet codes for its speeds. For a fan that needs ON to be engaged before a speed is selected, @SirMaster is providing special code. This means that having to turn a fan on before a speed can be selected will NOT be a limitation anymore. Kind of him to provide this in order to widen the horizon so to speak. So, because of folks like you willing to test the IR functions of available fans, perhaps one or more will come into play. 

I'm crossing my fingers that WOOZOO is compatible. If not, perhaps you can return it and try another. Sooner or later, somebody is going to try 'THE' fan. I highly suggest tower fans be tested vs blade fans simply because of the instant spin-up tower fans offer that a lot of WindTrack coding demands.

Once it is confirmed a tested fan works, others won't need to test that same model fan. The codes will have been retrieved and applied to the software just as they are for the fans us early adopters use. Such a bummer Seville Classics changed the design! 



stef2 said:


> Might I dare suggest a few Disney or Pixar (any recent) animation movies as good material for wind effects? that would be awesome!


I am always open to suggestions. I have to be brutally honest though. I am not a fan of animations understanding others are. Hopefully as you and others become enthusiasts, you too can contribute WindTracks and the database will not only grow but become more diverse. Thank you for your continued interest here. Crossing my fingers for you


----------



## CineSnack

brazen1 said:


> You're quite welcome. I hope your fan choice works and you can put them to good use.
> 
> 
> 
> "incredible advance in HT" I like how you wrote that because yes it is.
> Imo, IR is probably the easiest way to control the fan commands. Even in an IR saturated environment such as mine. Just about all my equipment is IR and many, many commands are sent rapidly back-to-back because of all the automation I have going on. Nothing ever gets confused. Everything just continues to work, day in... day out... knock-on-wood.
> 
> The only complication at this time is finding another fan with discreet codes for its speeds. For a fan that needs ON to be engaged before a speed is selected, @SirMaster is providing special code. This means that having to turn a fan on before a speed can be selected will NOT be a limitation anymore. Kind of him to provide this in order to widen the horizon so to speak. So, because of folks like you willing to test the IR functions of available fans, perhaps one or more will come into play.
> 
> I'm crossing my fingers that WOOZOO is compatible. If not, perhaps you can return it and try another. Sooner or later, somebody is going to try 'THE' fan. I highly suggest tower fans be tested vs blade fans simply because of the instant spin-up tower fans offer that a lot of WindTrack coding demands.
> 
> Once it is confirmed a tested fan works, others won't need to test that same model fan. The codes will have been retrieved and applied to the software just as they are for the fans us early adopters use. Such a bummer Seville Classics changed the design!
> 
> 
> 
> I am always open to suggestions. I have to be brutally honest though. I am not a fan of animations understanding others are. Hopefully as you and others become enthusiasts, you too can contribute WindTracks and the database will not only grow but become more diverse. Thank you for your continued interest here. Crossing my fingers for you


I have the woozoo Running and it is still Perfect ;-) Thanks again for This !


----------



## SirMaster

CineSnack said:


> I have the woozoo Running and it is still Perfect ;-) Thanks again for This !


I forget, you are controlling your woozoo via IR right?

But you are controlling it via an MQTT IR transmitter?


And when it sends the ON command (before the speed command) does the fan turn on but not spin up? Or does it turn on into whatever speed it was in last when it was turned off?


----------



## CineSnack

SirMaster said:


> I forget, you are controlling your woozoo via IR right?
> 
> But you are controlling it via an MQTT IR transmitter?
> 
> 
> And when it sends the ON command (before the speed command) does the fan turn on but not spin up? Or does it turn on into whatever speed it was in last when it was turned off?


Exactly, I operate it with a modified IR transmitter. You had modified the software for me ,so that it always sends an on command before sending a speed command. The led of the fan lights up briefly and then goes into operating mode. Works perfectly!


----------



## SirMaster

CineSnack said:


> Exactly, I operate it with a modified IR transmitter. You had modified the software for me ,so that it always sends an on command before sending a speed command. The led of the fan lights up briefly and then goes into operating mode. Works perfectly!


But does the ON make it go to the previous speed, and then a moment later it goes to the correct speed?

Or does the ON make it just turn the unit itself on without spinning yet until it receives the actual speed?

I just want to understand that behavior for future people using this fan.


Also, what are you using for the MQTT_ON_Delay value? This is the time the software waits between sending the ON command and sending the real speed.


----------



## SirMaster

*HTFanControl 0.3.2*

https://github.com/nicko88/HTFanControl/releases/download/0.3.2/HTFanControl_Win.zip

*Changelog*

Add ON IR cmd support for fans that need it
Fans that need to be turned ON before they can be issued a speed command

Enable IR support for RasPi / Linux
You will need to get your IR transmitter working on your own for now (Install and configure LIRC)

Allow multiple instances of HTFanControl to run (for advanced use cases)
This could be useful for people who want to try controlling things other than fans with this software at the same time as controlling their fans


*Explanation / Help on these changes:*

*Add ON IR cmd support for fans that need it*
For this, the idea here is to support more IR fans. Some fans need to be turned on before they can be set to a speed. With this feature, you can specify an ON delay time, which is the amount of time your fan needs between receiving a power ON command and receiving a new speed command. You will have to determine this delay time for your particular fan model (The lower time you can use the better).

There are 2 possible scenarios I see here.

1. The fan turns on with a power command into the speed that it was when it was last shut off.

In this case, there is no real issue since the fan will turn on and start spinning at the exact moment it should. It just may not start out in the right speed, but hopefully you don't need a very long delay before sending the correct speed and this momentary wrong speed will not be noticed and will only be during the spin-up of the fan blades.

2. The fan turns on with a power command into an idle state and needs to receive a speed command before it starts spinning.

I assume this scenario is unlikely. However, for now, if your fan works this way, you will need to first find your ON delay time. Now this means your fan would not start spinning until too late (by the ON delay time). To fix this simply add your ON delay time to each of your spin-up offset times.

If this scenario turns out to actually be common enough, I may try and make a change to the program to put the fan into this powered on (yet idle) state right after an OFF command is sent, so that it is ready to receive the next speed command.


*Enable IR support for RasPi / Linux*
Since we are looking to use new IR fans, I have enabled IR control support from Linux and RasPi versions of HTFanControl. Since I don't have an IguanaIR transceiver, I can't easily build the whole installation and configuration setup of this device into the Linux and RasPi install scripts yet. So for now you will need to get your IR transceiver working on your Linux / RasPi on your own. This should mainly consist of installing LIRC (apt-get install lirc) and then placing your remote config file into the correct directory (usually in the "/etc/lirc/lircd.conf.d" directory). Finally you may have to modify the lirc config file (nano /etc/lirc/lircd.conf) and set the driver name for your transceiver. I _think_ for IguanaIR you want to set:
driver = default
device = auto


*Allow multiple instances of HTFanControl to run (for advanced use cases)*
For this last one, this is for people who really want to tinker. I added this option so that you can run multiple instances of HTFanControl at the same time. I figured this would be the simplest and best solution for trying to control other devices. Trying to make 1 copy of the program support devices other than fans leads to all sorts of problems. First is the offsets are all designed for fans spinning up and air travel time across a room etc. These offsets just make it a pain to accurately control the timing of other devices that probably don't need any offsets at all, like lights or water or something. Second is you would have to modify the windtracks to accommodate these new control commands, but that would get messy too. It's simpler to have you create a new windtrack specially for your new device and load that in the new copy of HTFanControl.

To create another instance, simply launch the program with a command line parameter of a different port number (something other than the default 5500). You can also specify an alias name as a second command line parameter so that you can more easily identify which copy of HTFanControl you are using.

Ex: HTFanControl.exe "5501" "WaterControl"


----------



## AndreNewman

Minor public service announcement. 

I just bought a Shelly plus 2pm (newer version of the Shelly 2.5 I used in my HT fan) and it's not possible to configure it for HTFanControl the way my instructions say. There's a bug in that you can't disable the motor run timer, if you try to set to 0 it resets to 60 mins.

Edit: after discussion with Shelly it's 60 seconds, not minutes! Not sure now if they intend to ever fix this, stick to Tasmota or the older Shelly 2.5 for now.

Shelly has acknowledged the bug but the last couple of bugs I reported took a couple of years for the fixes to get released. I guess I could set the timer to 300mins and as far as a movie is concerned that's as good as run forever.

I'm using this one for a bathroom Fan but it happens that the fan has two speeds that must never be powered at the same time so the configuration is the same. Probably I'll have to flash Tasmota on it to get the job done.


----------



## giomania

Shawn9999 said:


> yea xD


I missed this, but see that you are correct. Ignore my OCD HTWR spreadsheet, lol.

I am heading to the office today, and upload the correct spreadsheet later today.

Mark


----------



## CineSnack

SirMaster said:


> But does the ON make it go to the previous speed, and then a moment later it goes to the correct speed?
> 
> Or does the ON make it just turn the unit itself on without spinning yet until it receives the actual speed?
> 
> I just want to understand that behavior for future people using this fan.
> 
> 
> Also, what are you using for the MQTT_ON_Delay value? This is the time the software waits between sending the ON command and sending the real speed.


But does the ON make it go to the previous speed, and then a moment later it goes to the correct speed?
- Yes! It goes to the previous Speed and Then at the same time to the correct Speed. You dont notice that.

for the Delay i will Check ob the Weekend when i am back at Home. I will give you an Update asap.


----------



## SirMaster

CineSnack said:


> But does the ON make it go to the previous speed, and then a moment later it goes to the correct speed?
> - Yes! It goes to the previous Speed and Then at the same time to the correct Speed. You dont notice that.
> 
> for the Delay i will Check ob the Weekend when i am back at Home. I will give you an Update asap.


Thanks, that's what I thought.

There is no rush on the number. It will just be helpful to future people using the fan that you are using.


----------



## giomania

SirMaster said:


> That looks like the wrong spreadsheet?





Shawn9999 said:


> yea xD


I fixed it: Loading Google Sheets


----------



## Shawn9999

Is there a way to auto download all the windtracks?


----------



## SirMaster

Shawn9999 said:


> Is there a way to auto download all the windtracks?


Built into the program no. And I don't think it would really do much good to download them all like that.

Consider how you are using them. If you use a media player like MPC-BE/HC or Kodi, then the windtrack will automatically load when the movie plays, but in order for this to work, the file name of the windtrack must match the filename of the movie, or else how would it know which windtrack to load?

The way this happens is if you load the movie in the media player first, then download the windtrack through the app, it will save the windtrack with the matching filename so that it always loads automatically in the future.

If you download them all ahead of time, you will still have to go in and select the windtrack manually (which will also automatically rename it to match the loaded media player movie).


So you are not saving any time or effort, since downloading a windtrack happens in a few seconds anyways. You would see the whole list in your local folder instead of simply seeing the whole list from the online database.


The other way you might use the program is with a different media player source (streaming box, disc player, etc) in which case you would have to use a microphone connected to the HTFanControl PC to listen to the audio and keep sync with the movie. For this you also still have to select the movie you want to audio match with so that the software can load the audio fingerprints into memory. It's too big to load all the fingerprints into memory for all movies, so I have opted to just load the fingerprints for the movie you select into memory.


The ultimate answer is yes, you can download them all by going to the database where they are all stored here:





HTFanControl Windtracks - Google Drive







drive.google.com





But as per above, I don't think it will really benefit you to do so.


I'm open to suggestions for changes to how this all works, but some things may be more trouble than it's worth in the end.


----------



## Shawn9999

SirMaster said:


> Built into the program no. And I don't think it would really do much good to download them all like that.
> 
> Consider how you are using them. If you use a media player like MPC-BE/HC or Kodi, then the windtrack will automatically load when the movie plays, but in order for this to work, the file name of the windtrack must match the filename of the movie, or else how would it know which windtrack to load?
> 
> The way this happens is if you load the movie in the media player first, then download the windtrack through the app, it will save the windtrack with the matching filename so that it always loads automatically in the future.
> 
> If you download them all ahead of time, you will still have to go in and select the windtrack manually (which will also automatically rename it to match the loaded media player movie).
> 
> 
> So you are not saving any time or effort, since downloading a windtrack happens in a few seconds anyways. You would see the whole list in your local folder instead of simply seeing the whole list from the online database.
> 
> 
> The other way you might use the program is with a different media player source (streaming box, disc player, etc) in which case you would have to use a microphone connected to the HTFanControl PC to listen to the audio and keep sync with the movie. For this you also still have to select the movie you want to audio match with so that the software can load the audio fingerprints into memory. It's too big to load all the fingerprints into memory for all movies, so I have opted to just load the fingerprints for the movie you select into memory.
> 
> 
> The ultimate answer is yes, you can download them all by going to the database where they are all stored here:
> 
> 
> 
> 
> 
> HTFanControl Windtracks - Google Drive
> 
> 
> 
> 
> 
> 
> 
> drive.google.com
> 
> 
> 
> 
> 
> But as per above, I don't think it will really benefit you to do so.
> 
> 
> I'm open to suggestions for changes to how this all works, but some things may be more trouble than it's worth in the end.


Okay. I am just doing some pre testing. I have Plex connected with a client but when I'm playing a movie htfancontrol still says that no video is playing?


----------



## SirMaster

Shawn9999 said:


> Okay. I am just doing some pre testing. I have Plex connected with a client but when I'm playing a movie htfancontrol still says that no video is playing?


That's not really enough information for me to say much.

You were able to select your specific plex player from the settings screen in my app?

There are multiple steps to set up to connect to Plex. You need to first enter in the Plex server IP and port, then find and enter your X-Plex-Token, into the settings, finally then select the plex player from the list (you may have to enable the "Advertise as player" option in your plex client for this last step). If you were able to do all that, it should be able to see the movie and time.


However I might just consider Plex a broken option. The main problem is that the time data it provides is not really accurate enough. It only provides time updates once a second, and 1 second is too inaccurate for the best wind effect IMO.

Second, the wide variety of plex apps across devices creates a chaotic environment where some things work and some things don't. I have spent several hours trying to get Plex to work as best as I can, but at the end of the day it probably barely works in many cases and there isn't anything left I can see to change to make it any better.


----------



## Shawn9999

SirMaster said:


> That's not really enough information for me to say much.
> 
> You were able to select your specific plex player from the settings screen in my app?
> 
> There are multiple steps to set up to connect to Plex. You need to first enter in the Plex server IP and port, then find and enter your X-Plex-Token, into the settings, finally then select the plex player from the list (you may have to enable the "Advertise as player" option in your plex client for this last step). If you were able to do all that, it should be able to see the movie and time.
> 
> 
> However I might just consider Plex a broken option. The main problem is that the time data it provides is not really accurate enough. It only provides time updates once a second, and 1 second is too inaccurate for a good wind effect IMO.
> 
> Second, the wide variety of plex apps across devices creates a chaotic environment where some things work and some things don't. I have spent several hours trying to get Plex to work as best as I can, but at the end of the day it probably barely works in many cases and there isn't anything left I can see to change to make it any better.


Yea I was able to select the client from the list. How are you using Kodi? I am using Plex to organize all of my media.


----------



## SirMaster

Shawn9999 said:


> Yea I was able to select the client from the list. How are you using Kodi? I am using Plex to organize all of my media.


What device are you using, a Shield? Other people have reported a Shield was working with the plex app (with the less accurate time limitations of course)

I'm not sure what you mean by how am I using Kodi. Anyone should be able to use Kodi normally as anyone would.

You just install it and add your media folder(s). Kodi will index and pull in all the metadata for it all just like Plex does.

If you want Plex to be your media manager, you can install a plugin for Kodi called PlexKodiConnect which will connect your Plex database to Kodi to provide Kodi with the media from Plex's server. I haven't tested this Kodi Plugin with HTFanControl, but I think it should work, unless the media filenames that reach Kodi are too mangled or something when coming from Plex.

I have a Shield here I can test with again, but I'm not sure it will ever work very smoothly overall with Plex as the sync source.


----------



## Shawn9999

SirMaster said:


> What device are you using, a Shield? Other people have reported a Shield was working with the plex app (with the less accurate time limitations of course)
> 
> I'm not sure what you mean by how am I using Kodi. Anyone should be able to use Kodi normally as anyone would.
> 
> You just install it and add your media folder(s). Kodi will index and pull in all the metadata for it all just like Plex does.
> 
> If you want Plex to be your media manager, you can install a plugin for Kodi called PlexKodiConnect which will connect your Plex database to Kodi to provide Kodi with the media from Plex's server. I haven't tested this Kodi Plugin with HTFanControl, but I think it should work, unless the media filenames that reach Kodi are too mangled or something when coming from Plex.
> 
> I have a Shield here I can test with again, but I'm not sure it will ever work very smoothly overall with Plex as the sync source.


I am using a Shield yes. That's what I meant by using kodi. Kodi connect plugin might work. What skin are you using? I used kodi in the past but found every skin very outdated looking and slow.


----------



## SirMaster

Shawn9999 said:


> I am using a Shield yes. That's what I meant by using kodi. Kodi connect plugin might work. What skin are you using? I used kodi in the past but found every skin very outdated looking and slow.


I don't actually use Kodi. If I did, maybe some "Aeon" type skin.


----------



## Shawn9999

SirMaster said:


> I don't actually use Kodi. If I did, maybe some "Aeon" type skin.


What are you using then?


----------



## SirMaster

Shawn9999 said:


> What are you using then?


MPC-HC on my HTPC.


----------



## kdawg2391044

SirMaster said:


> What device are you using, a Shield? Other people have reported a Shield was working with the plex app (with the less accurate time limitations of course)
> 
> I'm not sure what you mean by how am I using Kodi. Anyone should be able to use Kodi normally as anyone would.
> 
> You just install it and add your media folder(s). Kodi will index and pull in all the metadata for it all just like Plex does.
> 
> If you want Plex to be your media manager, you can install a plugin for Kodi called PlexKodiConnect which will connect your Plex database to Kodi to provide Kodi with the media from Plex's server. I haven't tested this Kodi Plugin with HTFanControl, but I think it should work, unless the media filenames that reach Kodi are too mangled or something when coming from Plex.
> 
> I have a Shield here I can test with again, but I'm not sure it will ever work very smoothly overall with Plex as the sync source.


I tried the Plex Kodi plugin like 1.5 yrs ago and couldnt get Plex client or Kodi client functions to work with the HTFanControl, but I was not having any luck with Plex with my setup. I recently upgraded my networking equipment and so will need to test to see if this works for me. Example is I tried running the Plex Kodi plugin but if I do that, the Kodi service didnt report media information so couldnt use the Kodi option in HTFanControl and I could never get the Plex option work even with using the native Shield app or any other media players in my network.



Shawn9999 said:


> Yea I was able to select the client from the list. How are you using Kodi? I am using Plex to organize all of my media.


If I want to show 4D demos or watch a movie, I have to use Kodi which like you is not my primary media player as I prefer Plex. I just have a Movies folder set up and search through it to load up the movie I want to watch. I know @brazen1 has a process where he tags the movie with a "WindTrack" tag and then he can just have a custom view that shows just that tag so that he only shows those movies that are eligible. However, I dont know if there is a scripted/bulk way to do this tagging and I am only aware of a manual way to do it through GUI which at this point in time would be very time consuming if you want to tag the whole library of wind capable movies.


----------



## SirMaster

kdawg2391044 said:


> Example is I tried running the Plex Kodi plugin but if I do that, the Kodi service didnt report media information so couldnt use the Kodi option in HTFanControl


But were you using "Plex for Kodi" addon, or "PlexKodiConnect" addon?


----------



## brazen1

kdawg2391044 said:


> I am only aware of a manual way to do it through GUI which at this point in time would be very time consuming if you want to tag the whole library of wind capable movies.


You don't have to tag every movie individually and repeat any processes or anything? Hold down the Ctrl key and select the ones you want to tag in one big batch. Done.
4D Theater Wind Effect - DIY Home Theater Project The last screenshot is where you hold down Ctrl and select what you want tagged.


----------



## brazen1

*Slumdog Millionaire (2008)*

Coded by brazen1


----------



## SirMaster

@Shawn9999 @kdawg2391044

I just tried regular Plex on Nvidia Shield tonight and it's working perfectly fine seeing the playing file and updating the time.

The time is not accurate at all though. The Shield plex player is only updating its time every 10 seconds, so it's completely un-usable for fan control.

I then tried it from the plex player on my iPhone and it updates every 1 second. Better, but still not good enough. I really should probably just delete Plex from HTFanControl so it doesn't mislead people.


I will try with the 2 Plex Kodi plugins next.


----------



## brazen1

*Gangs of New York (2002)*

Coded by brazen1


----------



## SirMaster

@Shawn9999 @kdawg2391044

Since direct Plex support is no good, I added official support for Plex plugins through Kodi.

This should just work simply.

You can use either of the 2 plugins.

Either the official "Plex for Kodi" plugin, which acts as a separate app inside Kodi that you can launch, and looks just like a standard Plex player: 








Plex | Matrix | Addons


Plex for Kodi




kodi.tv





Or the unofficial community PlexKodiConnect plugin, which replaces your native Kodi media library with a direct connection to Plex's server media library:








GitHub - croneter/PlexKodiConnect: Plex integration in Kodi done right


Plex integration in Kodi done right. Contribute to croneter/PlexKodiConnect development by creating an account on GitHub.




github.com


----------



## SirMaster

*HTFanControl 0.3.3*

https://github.com/nicko88/HTFanControl/releases/download/0.3.3/HTFanControl_Win.zip

*Changelog*

Added support for movie sync with Plex plugins in Kodi
You can use either the official Plex for Kodi plugin
Or you can use the unofficial PlexKodiConnect plugin


----------



## Tate1023

I was using the plex for kodi plugin but HTFanControl would not see the movies in that plugin. I switched to the PlexKodiConnect plugin and it works great. Essentially it grabs everything from the plex server and loads into kodi. HTFanControl sees the movies perfectly and syncs every time.


----------



## SirMaster

Tate1023 said:


> I was using the plex for kodi plugin but HTFanControl would not see the movies in that plugin. I switched to the PlexKodiConnect plugin and it works great. Essentially it grabs everything from the plex server and loads into kodi. HTFanControl sees the movies perfectly and syncs every time.


You were using PlexKodiConnect before the latest version and it was working?

Before the latest version 0.3.3, when I tested PlexKodiConnext, the movie sort of came through, but it came through with a bunch of other junk as part of the name.

That is what I adjusted in this new version, so just the movie title comes through.


----------



## stef2

I have just received the Iguanaworks USB IR Transceiver.I am going to try to make this wonderful idea work!


CineSnack said:


> Exactly, I operate it with a modified IR transmitter. You had modified the software for me ,so that it always sends an on command before sending a speed command. The led of the fan lights up briefly and then goes into operating mode. Works perfectly!


I have just received my Iguanaworks USB transceiver. I hope this works!

Would you be kind enough to share with me the IR codes you are using to control your WOOZOO fan? If I am lucky, those codes could also work with my WOOZOO FAN (whis is a different model than yours).
I would like to skip the step of recording the IR codes, since it seems to be a bit of a random experience...

Thanks!


----------



## SirMaster

stef2 said:


> I have just received the Iguanaworks USB IR Transceiver.I am going to try to make this wonderful idea work!
> 
> 
> I have just received my Iguanaworks USB transceiver. I hope this works!
> 
> Would you be kind enough to share with me the IR codes you are using to control your WOOZOO fan? If I am lucky, those codes could also work with my WOOZOO FAN (whis is a different model than yours).
> I would like to skip the step of recording the IR codes, since it seems to be a bit of a random experience...
> 
> Thanks!


You can’t use his IR data as he’s using an arduino Tasmota IR blaster. He’s not using LIRC.

Tasmota has all the IR protocols built in and then just needs the IR codes.

LIRC on the other hand doesn’t have any IR protocol info built in and so it needs to fully learn the protocol and codes from your remote during the learning phase.

It shouldn’t be hard to do the learning.


----------



## Tate1023

SirMaster said:


> You were using PlexKodiConnect before the latest version and it was working?
> 
> Before the latest version 0.3.3, when I tested PlexKodiConnext, the movie sort of came through, but it came through with a bunch of other junk as part of the name.
> 
> That is what I adjusted in this new version, so just the movie title comes through.


Yes I am still on 3.1. previous with the official plex for kodi app with in plex HTFanControl would see a movie playing but no title would show up so it wouldn't grab the txt file for the correct movie. Then I did a clean kodi install and tried PlexKodiConnect which works flawless. Start the movie and HTFanControl see's the movie and name and starts the wind track perfectly. I use coreelec since it supports dolby atmos and dtsx with Odroid N2. In the HTFanControl settings I select plex than it see's coreelec as a plex client. Before with the official plex app it never saw it as a plex client. It only saw kodi.


----------



## SirMaster

Tate1023 said:


> Yes I am still on 3.1. previous with the official plex for kodi app with in plex HTFanControl would see a movie playing but no title would show up so it wouldn't grab the txt file for the correct movie. Then I did a clean kodi install and tried PlexKodiConnect which works flawless. Start the movie and HTFanControl see's the movie and name and starts the wind track perfectly. I use coreelec since it supports dolby atmos and dtsx with Odroid N2. In the HTFanControl settings I select plex than it see's coreelec as a plex client. Before with the official plex app it never saw it as a plex client. It only saw kodi.


Interesting.

I saw this for PlexKodiConnect:









So in 0.3.3 I cleaned that up to just pull the stuff after filename=

For Plex for Kodi it was even less info, but I managed to find a place I could pull the movie title from Plex. It's not the filename then in the case of Plex for Kodi, but it's the movie title from Plex which is converted into a filename-safe version so that you can have a windtrack that matches its name.


----------



## cricket9998

This is very cool. Saw your demo on youthmans channel and found my way here. I plan on making a tool which can interact with Plex to pull various metadata like currently playing, and then something on the home assistant side which can control fans via IR.


----------



## Shawn9999

I will try the kodi plugins soon. Is there a way to integrate htfancontrol with home assistant?


----------



## SirMaster

Shawn9999 said:


> Is there a way to integrate htfancontrol with home assistant?


Like in what way? I don't really know much about home assistant.


----------



## cricket9998

Shawn9999 said:


> I will try the kodi plugins soon. Is there a way to integrate htfancontrol with home assistant?


Not without building an intermediary but I’m working on a plex to home assistant automation right now. I’ll post it here when it’s ready


----------



## SirMaster

cricket9998 said:


> Not without building an intermediary but I’m working on a plex to home assistant automation right now. I’ll post it here when it’s ready


I’m curious what exactly you are making and how it will interact with HTFanControl.


----------



## cricket9998

SirMaster said:


> I’m curious what exactly you are making and how it will interact with HTFanControl.


I don’t plan on interacting with htfancontrol. I plan on essentially making a tool which can run on either my home assistant instance as an add on or just as a standalone binary which can control fans using the excellent fan tracks you already have available.


----------



## SirMaster

cricket9998 said:


> I don’t plan on interacting with htfancontrol. I plan on essentially making a tool which can run on either my home assistant instance as an add on or just as a standalone binary which can control fans using the excellent fan tracks you already have available.


Ah. I am curious how you will get accurate time position data from Plex actually.

I could not find any.


I guess down the road I should maybe look into creating a docker for HTFanControl. Then I think someone could install it within HAOS and many other places.


----------



## cricket9998

SirMaster said:


> Ah. I am curious how you will get accurate time position data from Plex actually.
> 
> I could not find any.
> 
> 
> I guess down the road I should maybe look into creating a docker for HTFanControl. Then I think someone could install it within HAOS and many other places.


I will open source it obviously but I believe you can query the Plex session and calculate where the position is. I’ll test it out this weekend. 

HA add ons like their integrations are a pia to make. They need it to be in a really specific format and everything so I would avoid that route. I would rather run my own container on my symbology to be honest.


----------



## SirMaster

cricket9998 said:


> I will open source it obviously but I believe you can query the Plex session and calculate where the position is. I’ll test it out this weekend.
> 
> HA add ons like their integrations are a pia to make. They need it to be in a really specific format and everything so I would avoid that route. I would rather run my own container on my symbology to be honest.


In my experience the time data that you get from the plex server api is only accurate to 5 seconds.

And the time data you get from a plex player's api is variably accurate depending on the player implementation. Some players like Apple devices seem to be accurate to about 1.2 seconds. Plex for HTPC is accurate to 1 second, but NVidia Shield Plex app only accurate to 10 seconds.

Maybe you will find something better.


For a convincing wind effect you really want something that is not worse than about 250ms accurate and more ideally +/-100ms or less.


I did actually have HTWebRemote running on HAOS at one point for someone who wanted to run it there. It was just a regular docker image that worked on a RasPi HAOS install.

However, I quickly realized that I would need to rewrite a bit of the app to separate the program directory from the windtrack storage directory so that it could accommodate Docker's intended architecture for persistent storage.


If enough people would find it useful, I would consider learning how to build a proper Docker container for HTFanControl.


----------



## cricket9998

SirMaster said:


> In my experience the time data that you get from the plex server api is only accurate to 5 seconds.
> 
> And the time data you get from a plex player's api is variably accurate depending on the player implementation. Some players like Apple devices seem to be accurate to about 1.2 seconds. Plex for HTPC is accurate to 1 second, but NVidia Shield Plex app only accurate to 10 seconds.
> 
> Maybe you will find something better.
> 
> 
> For a convincing wind effect you really want something that is not worse than about 250ms accurate and more ideally +/-100ms or less.
> 
> 
> I did actually have HTWebRemote running on HAOS at one point for someone who wanted to run it there. It was just a regular docker image that worked on a RasPi HAOS install.
> 
> However, I quickly realized that I would need to rewrite a bit of the app to separate the program directory from the windtrack storage directory so that it could accommodate Docker's intended architecture for persistent storage.
> 
> 
> If enough people would find it useful, I would consider learning how to build a proper Docker container for HTFanControl.


Damn thanks for that info. I will see if theres a way to “massage” Plex to give me more accurate data. I might have to find out some other way to keep sync then, or use best effort initial sync (e.g upon state_changed event in HA to indicate play, trigger XYZ, and then use Plex data to check sync every X ms).

If you need help with Docker, I am extremely familiar with it. LMK if you need any help or have any questions.


----------



## SirMaster

Yeah I was checking plex server API every second, but the position time was only updating every 5 seconds from the server api data.

And same for polling a player's API. Poll every second, but the position data was only updating every 1-10 seconds depending on the player.

MPC-HC/BE is accurate to 40ms and Kodi seems to give exact millisecond, but it could be rounded to 1 frame maybe (~41ms).

I then implemented the microphone sync method for people who can't use MPC or Kodi and currently I have that accurate to about +/-150ms worst case, but most of the time it's under 100ms accurate.


----------



## Shawn9999

I meant controlling the fans in home assistant manually. When there's no wind track but still want the fans on low in warm weather. I think you should be able to query the mqtt commands within an automation in home assistant.


----------



## brazen1

Shawn9999 said:


> I meant controlling the fans in home assistant manually. When there's no wind track but still want the fans on low in warm weather. I think you should be able to query the mqtt commands within an automation in home assistant.


I use a Harmony remote to control everything including automation macros. I don't use any of the manufacturer remotes that came with any of my equipment. There's even a device profile I add called Climate Control that replaces the original Seville fan remote that includes every function. My remote is always at my side so I can control anything and everything on-the-fly. 

When I want to use the fan manually, I click Climate Control, select a speed, and the fan turns on. What is it you are trying to accomplish that a remote can't or is an improvement? Control the fan by speaking? If so, are you able to control everything else by speaking including automated macro commands? Just curious...


----------



## Shawn9999

brazen1 said:


> I use a Harmony remote to control everything including automation macros. I don't use any of the manufacturer remotes that came with any of my equipment. There's even a device profile I add called Climate Control that replaces the original Seville fan remote that includes every function. My remote is always at my side so I can control anything and everything on-the-fly.
> 
> When I want to use the fan manually, I click Climate Control, select a speed, and the fan turns on. What is it you are trying to accomplish that a remote can't or is an improvement? Control the fan by speaking? If so, are you able to control everything else by speaking including automated macro commands? Just curious...


I use harmony as well. I'm using manual fans so simulating the remote isn't possible. It would be cool to controll the fans with htfan in home assistant. And then I could also control it with Alexa hahaha. I hadn't even thought about that. Thanks lol. I can control all entities from home assistant with Alexa.


----------



## kdawg2391044

Shawn9999 said:


> I use harmony as well. I'm using manual fans so simulating the remote isn't possible. It would be cool to controll the fans with htfan in home assistant. And then I could also control it with Alexa hahaha. I hadn't even thought about that. Thanks lol. I can control all entities from home assistant with Alexa.


You shouldnt have to use HTFanControl to do what you want. If you are using MQTT, then you can just use the specific topic that controls the fan speed you are looking for and map it out to whatever macro or button you want. HTFanControl is doing the same thing except its using a windtrack as a lookup table for controlling it. In this case you can just use HA to do that and cut out HTFanControl. I dont have specific experience with HA, but hopefully that makes sense from a general perspective.


----------



## Shawn9999

kdawg2391044 said:


> You shouldnt have to use HTFanControl to do what you want. If you are using MQTT, then you can just use the specific topic that controls the fan speed you are looking for and map it out to whatever macro or button you want. HTFanControl is doing the same thing except its using a windtrack as a lookup table for controlling it. In this case you can just use HA to do that and cut out HTFanControl. I dont have specific experience with HA, but hopefully that makes sense from a general perspective.


Thank you. I know what I need to do. Publish mqtt message from home assistant directly to the relay modules. The same messages that htfancontrol would normally send to those. Thanks!


----------



## Shawn9999

Hi, I'm looking into building a box to put the relays in. Do you have any suggestions? What kind of wood? What kind of material inside the box?


----------



## brazen1

*John Carter (2012)*

Coded by brazen1


----------



## giomania

Shawn9999 said:


> Hi, I'm looking into building a box to put the relays in. Do you have any suggestions? What kind of wood? What kind of material inside the box?


it doesn’t really matter; I’m assuming your goal is to make them quieter so you don’t hear the clicking as much. plywood or MDF is sufficient and once you have a built just stick the cover on and experiment with turning the fans on while sitting in a quiet theater to give you an idea how much the noise was attenuated.

Mark


----------



## Shawn9999

giomania said:


> it doesn’t really matter; I’m assuming your goal is to make them quieter so you don’t hear the clicking as much. plywood or MDF is sufficient and once you have a built just stick the cover on and experiment with turning the fans on while sitting in a quiet theater to give you an idea how much the noise was attenuated.
> 
> Mark


Okay thanks. Do I put the acoustic material on the outside of the box?


----------



## AndreNewman

Shawn9999 said:


> Thank you. I know what I need to do. Publish mqtt message from home assistant directly to the relay modules. The same messages that htfancontrol would normally send to those. Thanks!


Actually you can just do http control, it's a bit laggy with the Tasmota firmware but it might be simpler from Home Assistant. That's how I control my HT fans when I use them for more normal ventilation purposes  



Code:


# Toggle big fan
curl -s "http://192.168.214.233/cm?cmnd=Power1%20Toggle"


----------



## Shawn9999

AndreNewman said:


> Actually you can just do http control, it's a bit laggy with the Tasmota firmware but it might be simpler from Home Assistant. That's how I control my HT fans when I use them for more normal ventilation purposes
> 
> 
> 
> Code:
> 
> 
> # Toggle big fan
> curl -s "http://192.168.214.233/cm?cmnd=Power1%20Toggle"


Oh thanks. I'll try it.


----------



## SirMaster

AndreNewman said:


> it's a bit laggy with the Tasmota firmware


I still don't know why you get "lag" with http heh.

I have been using http control with my tasmota devices for awhile now and it's always been instant. My http requests are always processed on my LAN in single digit milliseconds in my personal experience, at least when I measure the time with a stopwatch in code.


----------



## AndreNewman

SirMaster said:


> I still don't know why you get "lag" with http heh.


They take a while to respond to http, it's a fairly complex protocol for a tiny little cpu.
ping is instant, mqtt is instant but http takes from instant to half a second. Well compared to the stuff I use in the day job, wifi is a country mile away from Instant at it's very best.

You are using the Athom 4 channel boxes, I think they have a better CPU than the Shellies I'm using. My Athom 4 relay box died so I replaced it with another Shelly 2.5 flashed to Tasmota. So I have a two speed woofer fan and 2 speed tweeter fan 

I did have a huge lag issue with the ceiling fan I used to use but that proved to be a bug in the Tasmota wifi code, got fixed in 10.0 I think, ping was dropped when that was in issue.



SirMaster said:


> I have been using http control with my tasmota devices for awhile now and it's always been instant. My http requests are always processed on my LAN in single digit milliseconds in my personal experience, at least when I measure the time with a stopwatch in code.


Luck and a quiet wifi network, rather than by design, as I have always maintained. 

I've been instrumenting a wifi point to point link over the last few weeks and learned a lot about the way the 802.11 protocols negotiate symbol rates and establish connections, very complex, I'm surprised that short lived tcp connections like are used in this project work as well as they do, with what's going on under the covers. I suspect there's some tuning been done around the timings of a TCP connect handshake such that TCP doesn't always fail on the first try. It would be interesting to properly measure the PDV of the connections used, maybe mqtt can do something, I would suspect that the first connection is quite laggy but provided there are enough wind commands coming along the wifi doesn't need to re-negotiate rates and symbol coding after that or during the movie.

My 2.4G wifi network is far from quiet due to RF transparent walls and neighbours wifi networks. I'm sure there are many others with similar situations. If I was still at the flat I had before here, this project would not have been workable for me, 2.4Ghz wifi was unusable and I haven't found any suitable wifi relays with 5GHz yet.

We don't use 2.4G for laptops and phones here, too flaky, only IoT.


----------



## SirMaster

AndreNewman said:


> You are using the Athom 4 channel boxes, I think they have a better CPU than the Shellies I'm using.


Well I am just referring a simple tasmota smartplug running on an esp8266 chip.

There is a bit of neighboring 2.4GHz activity, but I mean I play video games on WiFi and even video game streaming (nVidia Gamestream) with only a few milliseconds of lag. An http request is like a million times smaller than 4K60Hz video stream data and I don't even notice mouse lag controlling my remote game stream over WiFi.

Sure, that is between fast computers I guess.

I'm not saying I would use it for the fan control, but I feel like something has to be going wrong to have more than single digit millisecond for an http request on a LAN to be laggy. Maybe some really slow http server cpu or a really overloaded WiFi network maybe, but I guess I have never experienced either.

It is what it is I guess.


----------



## brazen1

Hmmmm?


















Amazon.com: Weiei Portable Misting Neck Fan Hands Free Cooling Bladeless Fan, 3 Speeds Personal Neck Fan for Men Women Outdoor Office Travel (White) : Home & Kitchen


Amazon.com: Weiei Portable Misting Neck Fan Hands Free Cooling Bladeless Fan, 3 Speeds Personal Neck Fan for Men Women Outdoor Office Travel (White) : Home & Kitchen



www.amazon.com






















Amazon.com: 50W Power Electric Tower Fan Water Mist Fan with Timer Portable Air Cooling Fan Bladeless air Cooler 5L Tank : Home & Kitchen


Buy 50W Power Electric Tower Fan Water Mist Fan with Timer Portable Air Cooling Fan Bladeless air Cooler 5L Tank: Tower Fans - Amazon.com ✓ FREE DELIVERY possible on eligible purchases



www.amazon.com






















Amazon.com: LUWEI 42-inch Tower Fan Bladeless Fan, Floor Fan Vertical Tower Fan Remote Control Electric Fan,7-Hour Timer, Perfect for The Home & Office,Silver : Home & Kitchen


Buy LUWEI 42-inch Tower Fan Bladeless Fan, Floor Fan Vertical Tower Fan Remote Control Electric Fan,7-Hour Timer, Perfect for The Home & Office,Silver: Tower Fans - Amazon.com ✓ FREE DELIVERY possible on eligible purchases



www.amazon.com





Just thinkin' out loud...


----------



## giomania

The fans I used are on sale for $8.50 each: https://www.amazon.com/gp/product/B...d82a17a1b1e43ba390INT&smid=ATVPDKIKX0DER&th=1


----------



## Shawn9999

Is there a way to make a wind track request? Harry potter for example.


----------



## SirMaster

Shawn9999 said:


> Is there a way to make a wind track request? Harry potter for example.


Well, @brazen1 has made like 90% of the windtracks and for a long time he has been the only one making any so you would have to ask him.

I have never made one and not sure if I ever plan to. I spend my time on my program code heh.



brazen1 said:


> Any requests? If I see 3 or more asks, I'll do it/them if I have it.


----------



## brazen1

I'm always open for requests. I don't have anything Harry Potter though... sorry


----------



## Shawn9999

brazen1 said:


> I'm always open for requests. I don't have anything Harry Potter though... sorry


Could you make it? How does it work actually? Do you write down timestamps one by one?


----------



## SirMaster

Shawn9999 said:


> Could you make it? How does it work actually? Do you write down timestamps one by one?


Well he would need the movie in order to make it.

You use another app I made in order to create windtracks:









GitHub - nicko88/WindTrackCreator: Create wind track files for HTFanControl


Create wind track files for HTFanControl. Contribute to nicko88/WindTrackCreator development by creating an account on GitHub.




github.com


----------



## Shawn9999

Aha. Too bad it's not AI xD. Few clicks and boom a windtrack. Maybe in the future


----------



## SirMaster

Shawn9999 said:


> Aha. Too bad it's not AI xD. Few clicks and boom a windtrack. Maybe in the future


It would never be good enough.

The wind effect only works and doesn't feel gimmicky when it is used at the perfect times and with perfect timing.

Otherwise the effect is ruined and it just feels gimmicky and distracting.

The level of AI sophistication that would be required to come close to a human in this sort of task would be immense. It would require visual processing as well as audio processing and it would have to understand the intent of the scene. "Should the viewer feel wind for any reason here?" Should a scene where the camera is outside an airplane, but the actors are inside the plane have wind? Etc. It's not always a simple decision even for a human. Even with a team of some of the best AI developers I don't see how it would be good enough still.


----------



## Shawn9999

SirMaster said:


> It would never be good enough.
> 
> The wind effect only works and doesn't feel gimmicky when it is used at the perfect times and with perfect timing.
> 
> Otherwise the effect is ruined and it just feels gimmicky and distracting.
> 
> The level of AI sophistication that would be required to come close to a human in this sort of task would be immense. It would require visual processing as well as audio processing and it would have to understand the intent of the scene. "Should the viewer feel wind for any reason here?" Should a scene where the camera is outside an airplane, but the actors are inside the plane have wind? Etc. It's not always a simple decision even for a human. Even with a team of some of the best AI developers I don't see how it would be good enough still.


Yeah that would be insane.


----------



## soyhakan

For this project do you ever think a smart fan will do? Like *Xiaomi Smart Tower Fan* for example. A little bit expensive but already controlled via app.So I'm sure there is a way control it via software. Since work principle not so different than smart bulbs. Another smart fan *Dreo Nomad One S Alexa Fan*. Also another *smart fan*.
All this smart devices work with alexa,google home.

For xiaomi there is a githup page: GitHub - syssi/xiaomi_fan: Xiaomi Mi Smart Fan integration for Home Assistant


----------



## SirMaster

soyhakan said:


> For this project do you ever think a smart fan will do? Like *Xiaomi Smart Tower Fan* for example. A little bit expensive but already controlled via app.So I'm sure there is a way control it via software. Since work principle not so different than smart bulbs. Another smart fan *Dreo Nomad One S Alexa Fan*. Also another *smart fan*.
> All this smart devices work with alexa,google home.
> 
> For xiaomi there is a githup page: GitHub - syssi/xiaomi_fan: Xiaomi Mi Smart Fan integration for Home Assistant


It’s easy to add another control platform. Could certainly add something like these if there’s an API to use.

I wish I could find an API specification for the control schemes. I hate trying to port code from HomeAssistant and HomeBridge as those aren’t written in languages that I know and use. 

Harder for me though with no access to one of these fans to test.


----------



## soyhakan

SirMaster said:


> It’s easy to add another control platform. Could certainly add something like these if there’s an API to use.
> 
> I wish I could find an API specification for the control schemes. I hate trying to port code from HomeAssistant and HomeBridge as those aren’t written in languages that I know and use.
> 
> Harder for me though with no access to one of these fans to test.


I was looking an api also but i couldn't find any useful one. For xiaomi or yeelight smartbulbs there is api's but not for these smart fans. Still looking for the forums for a solution.


----------



## Shawn9999

Hi, I have built a wooden box to put the relay modules in. On the inside I put foam but it's not enough. It does really help against the clicking noise of the relays but not enough. In silent scenes it's still noticeable.
Any suggestions what sort of material to use? Or other tips?
Thanks


----------



## kdawg2391044

Shawn9999 said:


> Hi, I have built a wooden box to put the relay modules in. On the inside I put foam but it's not enough. It does really help against the clicking noise of the relays but not enough. In silent scenes it's still noticeable.
> Any suggestions what sort of material to use? Or other tips?
> Thanks


Any pics of what you have so far? More mass will silence the click so perhaps use double layer of wood (how thick is it?) and have glue in between. Did you use like thick plywood? If you built a box out of that it would be bigger, but I would be surprised if it didnt work. Or if you built it out of single layer of 3/4" thick and seal all the holes, it would probably work. I am not sure if you need ventilation and if you do, you probably need to direct the path of air through a small maze so that you increase the time it spends going through the sound dampening of the box. Similar to how others have used that concept to quiet down shop vacs for wood working and whatnot. Also what kind of foam are you using? Most of the cheap "acoustic" foam you get on amazon is useless because they dont have the mass, I bought some to help silence my projector and they are so light and porous that they literally didnt do anything. You need foam that is dense to do anything.


----------



## SirMaster

Loud relays are an unfortunate problem. There are silent "solid state" relays, but there is no easy, cheap prebuilt box with controller that uses them as far as I have seen.

I did find this board:









NOYITO 4-Channel Solid State Relay Module High-Level Trigger DC Control AC Load AC 240V 2A for PLC Automation Equipment Control, Industrial Control, Circuit Modification(4-Channel 12V): Amazon.com: Industrial & Scientific


NOYITO 4-Channel Solid State Relay Module High-Level Trigger DC Control AC Load AC 240V 2A for PLC Automation Equipment Control, Industrial Control, Circuit Modification(4-Channel 12V): Amazon.com: Industrial & Scientific



www.amazon.com





It could potentially be used as a set of silent relays to control a fan. As long as the fan is less than 2 amps. (240W at 120V AC)

But you would have to connect it to an Arduino like an esp8266, install Tasmota on it, and configure all the settings and rules to control it with MQTT commands and such. Definitely doable though.


----------



## Shawn9999

Not at home right now so no pics. I used 18mm thick plywood. I didn't seal the holes. And I used leftover isolation material which isn't that dense. The thing is I don't wanna buy 100 meters of isolation for a lot of money just for this box.


----------



## brazen1

Put the box in an adjacent room and run the wires through the wall provided the wall is insulated... or under the floor in the crawl space.


----------



## SirMaster

brazen1 said:


> Put the box in an adjacent room and run the wires through the wall provided the wall is insulated... or under the floor in the crawl space.


It's an option as wire is pretty cheap, but the wiring might be kind of messy. Maybe not so bad with multi-conductor wire. I think you would just need 4-conductor wire for a 3 speed fan.


----------



## Shawn9999

Thank you for the tip. I might actually have a spot I can put it behind the wall. That would be perfect!


----------



## Shawn9999

I did it. Put it behind the wall. Perfect solution!


----------



## Shawn9999

One thing I noticed though. When I had everything on the test bench I don't remember hearing any humming noise coming from the fans. I have the HT900. Is this normal for these fans or could they be making this noise now that the wires are close to other wires?


----------



## giomania

Shawn9999 said:


> One thing I noticed though. When I had everything on the test bench I don't remember hearing any humming noise coming from the fans. I have the HT900. Is this normal for these fans or could they be making this noise now that the wires are close to other wires?


Mine do not hum


----------



## Shawn9999

giomania said:


> Mine do not hum


It's only when they're spinning. Could it be interference from other wires?


----------



## giomania

Shawn9999 said:


> It's only when they're spinning. Could it be interference from other wires?


Do you think it is a 60 Hz hum? Does your cable run parallel to electrical feed wires? It seems like you installed the fan with the relay in a wood box, and this hum occurred when you placed the relay in the wall. If that is an accurate synopsis, then something happened during the in-wall installation. Can you take a video?


----------



## Shawn9999

giomania said:


> Do you think it is a 60 Hz hum? Does your cable run parallel to electrical feed wires? It seems like you installed the fan with the relay in a wood box, and this hum occurred when you placed the relay in the wall. If that is an accurate synopsis, then something happened during the in-wall installation. Can you take a video?


It's not since I put it in the wall. Before I had the box on a table and the noise was present. The fan wires are running parallel to all sorts of wires, power cables, data cables, ethernet cables. I am not sure whether it's 60 hz. When the fan spins up I can hear it clearly but when the fan is spinned up it's hard to tell. It does make the overall decibel level higher. I'll send a video in a bit. After dinner


----------



## Shawn9999

The file is too big to send it directly. 



> IMG_6436.mov
> 
> 
> 1 file sent via WeTransfer, the simplest way to send your files around the world
> 
> 
> 
> 
> we.tl


----------



## giomania

It is very hard to hear over the fan noise, at least on PC speakers, but I suspect it is 60 Hz. Do you hear it from the seats? Is it coming from the speakers or subwoofers?


----------



## Shawn9999

Okay I don't know what's going on. When I turn the fans on and off I hear pops from my speakers. And yeah I'm pretty sure the hum is coming from the speakers as well. I separated the wires from other wires but I still hear it. What to do??!!!


----------



## kdawg2391044

how long are your wires from the fan to the relay and from the relay to the mains? Are your wires braided/twisted together which will help reduce interference from EM that is being generated? is your mains power going into the relay grounded? if so you could try a ground plug adapter to see if that helps. Does the hum come from the speakers when the fans are off or only when they are on?









Eaton 419GY 15-Amp 125-Volt Single Outlet Grounding Adapter - Outlet Plates - Amazon.com


Eaton 419GY 15-Amp 125-Volt Single Outlet Grounding Adapter - Outlet Plates - Amazon.com



www.amazon.com


----------



## Shawn9999

kdawg2391044 said:


> how long are your wires from the fan to the relay and from the relay to the mains? Are your wires braided/twisted together which will help reduce interference from EM that is being generated? is your mains power going into the relay grounded? if so you could try a ground plug adapter to see if that helps. Does the hum come from the speakers when the fans are off or only when they are on?
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Eaton 419GY 15-Amp 125-Volt Single Outlet Grounding Adapter - Outlet Plates - Amazon.com
> 
> 
> Eaton 419GY 15-Amp 125-Volt Single Outlet Grounding Adapter - Outlet Plates - Amazon.com
> 
> 
> 
> www.amazon.com


The wires from the fans to relays are a little less than 5 meters. Wires from relays to main are 1,5 meters. The wires inside are not twisted. To what do I ground the relays?
I am using grounded plugs but without ground wire since I don't have one.
The hum doesn't actually come from the speakers. I hear the hum when te speakers are off as well. But the hum is not really an issue. I think it's normal. I usually have very sensitive ears for things like that.


----------



## kdawg2391044

Shawn9999 said:


> The wires from the fans to relays are a little less than 5 meters. Wires from relays to main are 1,5 meters. The wires inside are not twisted. To what do I ground the relays?
> I am using grounded plugs but without ground wire since I don't have one.
> The hum doesn't actually come from the speakers. I hear the hum when te speakers are off as well. But the hum is not really an issue. I think it's normal. I usually have very sensitive ears for things like that.


I mean the wires that are connecting each of these parts - if they are just run straight, then that will cause some EM interference. That is why multiple conductor wire is twisted to reduce the EM effect. However, if you are already using multiple conductor wire, that is already taken cared of which I think you are. If I am understanding correctly, you dont have the relay wired to mains with a ground wire so then the ground adapter wont have any effect. So you hear a general hum coming from somewhere when your main devices are shut off? What issue are you trying to solve? The popping noise in the speakers or the humming noise in the fan? The longer your wires are between the devices (fan, relay, mains) then it will pick up EM like an antenna does. You can try shielding the wires in something metallic (maybe aluminum foil would work?) but the popping noise to in the speaker to me means there is a spike in load on your circuit and you could avoid that by moving it to a different circuit if possible.


----------



## Shawn9999

kdawg2391044 said:


> I mean the wires that are connecting each of these parts - if they are just run straight, then that will cause some EM interference. That is why multiple conductor wire is twisted to reduce the EM effect. However, if you are already using multiple conductor wire, that is already taken cared of which I think you are. If I am understanding correctly, you dont have the relay wired to mains with a ground wire so then the ground adapter wont have any effect. So you hear a general hum coming from somewhere when your main devices are shut off? What issue are you trying to solve? The popping noise in the speakers or the humming noise in the fan? The longer your wires are between the devices (fan, relay, mains) then it will pick up EM like an antenna does. You can try shielding the wires in something metallic (maybe aluminum foil would work?) but the popping noise to in the speaker to me means there is a spike in load on your circuit and you could avoid that by moving it to a different circuit if possible.


Biggest issue right now is the popping noise. Is there a ground adapter on the relay?
I will try a different circuit see if that helps.


----------



## AndreNewman

Shawn9999 said:


> Biggest issue right now is the popping noise. Is there a ground adapter on the relay?
> I will try a different circuit see if that helps.


It sounds like the longer cable run is acting as an antenna and sending an RF pulse interfering with your audio system.

This is one of many reasons why I've installed controller inside the fan units, kept cables short.

There are a few ways to fix this as it's a very common problem, shorter wires, a snubber circuit on the fan motors, a filter on the main input to the relays. Probably the fans don't have a snubber already because they were sold in a small self contained unit.

If you are happy with electronics and power wiring you could design and add a snubber, it's just a resistor and capacitor but if that sounds scary you probably shouldn't be wiring that.

A mains filter is easy to add and not a bad idea anyway, something like this:



https://uk.farnell.com/corcom-te-connectivity/15eej1/filter-iec-15a/dp/9586318



It's a really easy way to add standards compliant filtering to home built appliances, I use them on the amplifiers I've built and on older units to bring them up to modern standards with minimal hassle. You just wire the power input via this unit and a normal IEC (kettle) lead and you are safety and EMI standards compliant for £10.




https://en.wikipedia.org/wiki/Snubber



There's a further thing, in that Shelly just added support for zero crossing switching of their Shelly Plus range, this means the relay will wait for the mains volts to drop to zero before switching, this can eliminate the problem you see and also extends the life of the relays. I've just started to look if Tasmota has such a feature we can switch on, there would be up to a 10ms delay, slightly less for USA but with fan spin up times I don't think that's important.


----------



## AndreNewman

Looks like the Athom Tasmota relay box doesn't have hardware to support zero crossing switching and anyway Tasmota don't support that.


----------



## Shawn9999

But it's so weird. I didn't have this problem before. Suddenly... how??


----------



## Shawn9999

I mean I've put up acoustic foam on the wall yesterday. That's changed. And the wires go through the foam through the wall in the relays. But how could that effect this?


----------



## Shawn9999

How much are we talking in range of the interference? Like a few centimeters or a meter? Different circuit doesn't work. Still pops.


----------



## AndreNewman

Shawn9999 said:


> But it's so weird. I didn't have this problem before. Suddenly... how??


Change of cable routing?

If you have power cables running alongside signal cables, especially RCA unbalanced ones, then signals can be induced from one to the other. The very worst is coiled up cables, especially coiled up cables laid on top of each other, that forms a transformer and the signals couple from one cable to the other extremely well!

It's better that cables carry strong signals (like power) only cross small signal (like audio or video) not run alongside, if they must run alongside separate them as much as possible and run them along for as short a distance as possible.

Do you have anything like that going on?

It could also be that the relays have been arcing all the time and the contacts have now degraded enough to cause enough interference to break through into your audio.


----------



## Shawn9999

AndreNewman said:


> Do you have anything like that going on?


Uuuuuhh.... yeaaahh I guess soooo


----------



## Shawn9999

AndreNewman said:


> Change of cable routing?
> 
> If you have power cables running alongside signal cables, especially RCA unbalanced ones, then signals can be induced from one to the other. The very worst is coiled up cables, especially coiled up cables laid on top of each other, that forms a transformer and the signals couple from one cable to the other extremely well!
> 
> It's better that cables carry strong signals (like power) only cross small signal (like audio or video) not run alongside, if they must run alongside separate them as much as possible and run them along for as short a distance as possible.
> 
> Do you have anything like that going on?
> 
> It could also be that the relays have been arcing all the time and the contacts have now degraded enough to cause enough interference to break through into your audio.


What do you mean by the last part? You mean arcing when you screw the wires the relay moves a little bit? I noticed that but I've been very careful. How could that cause interference?


----------



## giomania

I never experienced any arcing, but I made all the terminal connections before I powered it on. From your post above, it seems like you are saying you made connections while the power was applied.


----------



## Shawn9999

giomania said:


> I never experienced any arcing, but I made all the terminal connections before I powered it on. From your post above, it seems like you are saying you made connections while the power was applied.


No no no. That would be very bad. I connected the wires while the relay module wasn't connected to any power.


----------



## Shawn9999

The wooden box with the relays inside is behind the wall. When I put it there I noticed there was a pipe going to the socket that all my devices are connected to. Could it cause interference when the fan wires and power wires from the relay touch that pipe? It's one of those yellow electrical pipes. Just thinking out loud here. I'm not a pro.


----------



## Shawn9999

Okay nevermind the last couple posts. I took it out. The cables are now not even close to any wire at all. So it CAN'T be interference. But the pops from the speakers are still there.
Then I'm guessing it's something in the circuit?


----------



## Shawn9999

Let's say it's arcing. Do I need new relay modules? Whatever I try the pops are always there. The relay modules are broken. Suddenly. How did that arcing happen and how to prevent it?


----------



## kdawg2391044

Shawn9999 said:


> Let's say it's arcing. Do I need new relay modules? Whatever I try the pops are always there. The relay modules are broken. Suddenly. How did that arcing happen and how to prevent it?


I dont know much about the units you got, but the electrical component that does the power triggering is called a relay - there are mechanical relays that use physical connections to engage the output power source from the input trigger circuit and there are opto-isolated relays that use a small laser light to trigger the output circuit. The later type tend to be slower in performance (talking about a few ms slower so in real world performance wont matter in this application) than the mechanical, but they completely isolate the input trigger circuit from the output circuit. It could be the case that the unit you have has the mechanical style relays and those are somehow going bad or you have a grounds wiring issue in the circuit. My rudimentary understanding for any electronic circuit that uses the mechanical style relays, its even more important that you would need to ensure your grounds are wired correctly on the trigger circuit and the output circuit to avoid feedback. When you mentioned that the mains power ground isnt connected (which is the output circuit in this case), that made me think that this could be a circuit wiring issue.


----------



## Shawn9999

kdawg2391044 said:


> I dont know much about the units you got, but the electrical component that does the power triggering is called a relay - there are mechanical relays that use physical connections to engage the output power source from the input trigger circuit and there are opto-isolated relays that use a small laser light to trigger the output circuit. The later type tend to be slower in performance (talking about a few ms slower so in real world performance wont matter in this application) than the mechanical, but they completely isolate the input trigger circuit from the output circuit. It could be the case that the unit you have has the mechanical style relays and those are somehow going bad or you have a grounds wiring issue in the circuit. My rudimentary understanding for any electronic circuit that uses the mechanical style relays, its even more important that you would need to ensure your grounds are wired correctly on the trigger circuit and the output circuit to avoid feedback. When you mentioned that the mains power ground isnt connected (which is the output circuit in this case), that made me think that this could be a circuit wiring issue.


The socket in the wall is grounded and so is the rest of the link. But the boards with relays on them are not. It could try grounding it to see if that works. I tried a different circuit and the pops were gone.


----------



## kdawg2391044

Shawn9999 said:


> The socket in the wall is grounded and so is the rest of the link. But the boards with relays on them are not. It could try grounding it to see if that works. I tried a different circuit and the pops were gone.


I guess if the other circuit meant no pops, then I would just stick to that if you can unless that circuit is way too far away or something.


----------



## Shawn9999

kdawg2391044 said:


> I guess if the other circuit meant no pops, then I would just stick to that if you can unless that circuit is way too far away or something.


Yeah It's way too far. I tried every single socket on this floor. All the same. I have grounded the relay modules now. No change. I really don't know why this is happening. I think the popping was there from the start but didn't notice it when testing with movies.
One very important question though. Could this damage my speakers?


----------



## giomania

I would not use it like that with popping noise in the speakers. I would get an electrician in there to figure out why that particular circuit is having that affect.

The great news is that you found the culprit.

Mark


----------



## AndreNewman

Shawn9999 said:


> What do you mean by the last part? You mean arcing when you screw the wires the relay moves a little bit? I noticed that but I've been very careful. How could that cause interference?


Not that at all.

Any arcing is internal to the relays, it always happens when a relay switches but it's not usually a problem. If you are switching motors it can become a problem, that's what the mains filter and snubber circuit is for.

BTW I have no idea which of the hundred posts to reply to, I'm on a different time zone to you so I'm asleep while you are frantically posting, others can help too of course.


----------



## AndreNewman

Shawn9999 said:


> Uuuuuhh.... yeaaahh I guess soooo


Actually a mess of wires _can_ be better than neatly coiled all on top of each other 

I've cured many a mains hum by scrambling neatly coiled wires.

I think you should start with a mains filter as that's the easiest to add, I'll work out some values for a snubber circuit.


----------



## Shawn9999

AndreNewman said:


> Actually a mess of wires _can_ be better than neatly coiled all on top of each other
> 
> I've cured many a mains hum by scrambling neatly coiled wires.
> 
> I think you should start with a mains filter as that's the easiest to add, I'll work out some values for a snubber circuit.


Okay. Is that similar to a power conditioner?


----------



## AndreNewman

Shawn9999 said:


> Okay. Is that similar to a power conditioner?


I guess, the thing I linked.

Don't buy one of those domestic filtered power bars they are useless and a rip off, they don't do the job required.

If you google this "Filtered IEC Power Entry Module" and pick somewhere that you can get easily where you live. It shouldn't be expensive, £10-15 $15-20 something like that.

It may not fix it completely but for the cost it's an easy place to start.


----------



## Shawn9999

AndreNewman said:


> I guess, the thing I linked.
> 
> Don't buy one of those domestic filtered power bars they are useless and a rip off, they don't do the job required.
> 
> If you google this "Filtered IEC Power Entry Module" and pick somewhere that you can get easily where you live. It shouldn't be expensive, £10-15 $15-20 something like that.
> 
> It may not fix it completely but for the cost it's an easy place to start.


How do I use this? Do I replace it with the stock one in my avr?


----------



## AndreNewman

Shawn9999 said:


> How do I use this? Do I replace it with the stock one in my avr?


Nothing to do with the AVR, that will have equivalent circuitry already. Install it in your relay box, so power for the fans goes through it.


----------



## Shawn9999

AndreNewman said:


> Nothing to do with the AVR, that will have equivalent circuitry already. Install it in your relay box, so power for the fans goes through it.


Ah okay. I get it. I can use one of those IEC power entry modules for two relay modules right? Do I have to solder wires to the back contacts of the IEC power entry module?
I am not a pro and doing this for the first time but I can learn things very quickly. I've read about the snubber you were talking about. I want to do that as well. I will get rid of these pops.

btw, do the power entry modules work with europe voltage as well?


----------



## Shawn9999

I have the fans powered through a filtered IEC power entry module now. But... I can still hear the pops. What's next?

EDIT: I meant I powered the relay modules of course. Also, without the fans connected to the relays I don't hear pops.


----------



## brazen1

*Top Gun Maverick (2022)*

Coded by brazen1


----------



## Tate1023

Thank you for Top Gun Maverick. Very excited to experience this!


----------



## kdawg2391044

brazen1 said:


> *Top Gun Maverick (2022)*
> 
> Coded by brazen1
> 
> View attachment 3354426


Watched this over the weekend - it was awesome! Def added to the experience so thanks for making it!


----------



## Shawn9999

Am I the only one seeing this? I rebooted my pi already.


----------



## SirMaster

Shawn9999 said:


> Am I the only one seeing this? I rebooted my pi already.
> View attachment 3359963


Hmm, not seeing that issue here:









What do you get at this link as this is what it's loading from.



https://drive.google.com/uc?export=download&id=1spYA4n3g2QTh0hVLrRulLkL9J0wmRYKa



It should download _Index.txt file


----------



## Shawn9999

SirMaster said:


> Not seeing that issue here:
> View attachment 3359970
> 
> 
> What do you get at this link as this is what it's loading from.
> 
> 
> 
> https://drive.google.com/uc?export=download&id=1spYA4n3g2QTh0hVLrRulLkL9J0wmRYKa


It downloads a file called: "_Index.txt"

Edit: oh it works again lol


----------



## SirMaster

Shawn9999 said:


> It downloads a file called: "_Index.txt"
> 
> Edit: oh it works again lol


It's google drive. They may have rate limits and such sometimes, I don't know.

If it becomes a persistent problem I will maybe have to move to a different file host at some point.


----------



## Shawn9999

SirMaster said:


> It's google drive. They may have rate limits and such sometimes, I don't know.
> 
> If it becomes a persistent problem I will maybe have to move to a different file host at some point.


Okay. Yeah I was pulling a bunch of files in a row so could be a rate limit.


----------



## SirMaster

Shawn9999 said:


> Okay. Yeah I was pulling a bunch of files in a row so could be a rate limit.


Yeah I am sure that is what happens.

You can always go here:






HTFanControl Windtracks - Google Drive







drive.google.com


----------



## giomania

Look what I discovered on Amazon. Should I replace my Honeywell 11” round fans?

Amazon Basics Manual 28'' 3 Speed Oscillating Tower Fan with Mechanical Control









Amazon.com: Amazon Basics Manual 28'' 3 Speed Oscillating Tower Fan with Mechanical Control


Amazon.com: Amazon Basics Manual 28'' 3 Speed Oscillating Tower Fan with Mechanical Control



smile.amazon.com





Mark


----------



## aoaaron

AndreNewman said:


> Actually a mess of wires _can_ be better than neatly coiled all on top of each other
> 
> I've cured many a mains hum by scrambling neatly coiled wires.
> 
> I think you should start with a mains filter as that's the easiest to add, I'll work out some values for a snubber circuit.



Hi mate, I see ur from the UK. did u track down any fans which work well with this wind theatre?


----------



## AndreNewman

aoaaron said:


> Hi mate, I see ur from the UK. did u track down any fans which work well with this wind theatre?


Hi, yes I'm in the UK.

I have these two fans that I modded.
This big one
#656

And now also this small one
#805
In our small (by US standards) room the big one is too much, so probably I will get another small one and run them together for the higher speeds. The Athom controller I had failed, I got another Shelly 2.5 controller and ran that big one as two speed just for the two fastest fan speeds, the little one does the slow speeds.

I think the info is all in the wiki too, I don't see any links in the first post though so might take a bit of searching to find.


----------



## aoaaron

AndreNewman said:


> Hi, yes I'm in the UK.
> 
> I have these two fans that I modded.
> This big one
> #656
> 
> And now also this small one
> #805
> In our small (by US standards) room the big one is too much, so probably I will get another small one and run them together for the higher speeds. The Athom controller I had failed, I got another Shelly 2.5 controller and ran that big one as two speed just for the two fastest fan speeds, the little one does the slow speeds.
> 
> I think the info is all in the wiki too, I don't see any links in the first post though so might take a bit of searching to find.


Awesome can I ask you for a favour / pay you for a service ? 🤣 my diy and modding is terrible


----------



## AndreNewman

aoaaron said:


> Awesome can I ask you for a favour / pay you for a service ? 🤣 my diy and modding is terrible


Sorry for the slow reply.

I'm sure we can arrange something, I have another of the Athom 4 channel controllers that I was going to use for something else, I had considered advertising the big fan just to get someone else in on the project.

I'm in Tunbridge Wells, were are you?

You can PM me if you prefer.


----------



## aoaaron

AndreNewman said:


> Sorry for the slow reply.
> 
> I'm sure we can arrange something, I have another of the Athom 4 channel controllers that I was going to use for something else, I had considered advertising the big fan just to get someone else in on the project.
> 
> I'm in Tunbridge Wells, were are you?
> 
> You can PM me if you prefer.


Thank you mate! will PM you ASAP  Excited


----------



## Shawn9999

I just watched Top gun Maverick. Absolutely stunning in my theater. This was an experience of a lifetime. Never had a heart rate this high from any movie.


----------



## nathan.f77

Hey everyone, I'm excited to set this up and might contribute some code. I'm setting up some fans, but I thought it would be fun to also add a smoke machine, and a strobe light for bright flashes that light up the whole room. Could even do some mist or spray water. Has anyone extended this to control additional devices?


----------



## kdawg2391044

nathan.f77 said:


> Hey everyone, I'm excited to set this up and might contribute some code. I'm setting up some fans, but I thought it would be fun to also add a smoke machine, and a strobe light for bright flashes that light up the whole room. Could even do some mist or spray water. Has anyone extended this to control additional devices?


As far as I know, I'm the only one that has added another device which was a water spray effect. I had to fork @SirMaster's code because my spray bottle that I hacked together required custom logic from a timing perspective to run properly. He released a newer version of the wind software which I haven't had time to integrate into yet. The latest version allows you to have separate tracks for each new device instead of having it combined like in older versions. I also did toy with adding a heat lamp which I did get working on a workbench but then I got lazy and never finished the project box to clean it up. Since you have the ability to run separate instances for each device, you now have control over the global delay (example is light effects don't need a delay because speed of light is imperceptibility fast vs wind which takes time to reach the person). If you search in previous posts you can see more detail on how I got it to work. For now though I only have it working for some short demo clips (two Jurassic park movies) and haven't had the chance to make one for a whole movie.


----------



## SirMaster

nathan.f77 said:


> Hey everyone, I'm excited to set this up and might contribute some code. I'm setting up some fans, but I thought it would be fun to also add a smoke machine, and a strobe light for bright flashes that light up the whole room. Could even do some mist or spray water. Has anyone extended this to control additional devices?


I saw your message here:









Not an issue, sorry. A question though. · Issue #18 · nicko88/HTFanControl


Can I use HTFanControl for strobe effects AS WELL as wind, using the same windtrack? Like is there a way to add commands (like OFF, HIGH etc for wind) for my strobe? It has a remote control and i j...




github.com





I will write some more of my thoughts on it soon when I have some good time to think through some things.


Overall, I think extending the device support would be a good thing. But it may not be so simple.

Partly due to my software design not really planning for this extension from the start. Also, learning things that needed to be added to the current system to make the fans work better and simpler for users may have caused more difficulty in adding other devices down the line.


----------



## SirMaster

I am confident that we can come up with a solution to send any number of any named commands for MQTT though. Whether it's through work you may try, or through some work I can do.

I am on holiday in until after the new year, so I'm not in the best position to work on the code right now, but it's a good time to talk about functionality and features and flesh out the changes and how they can work.


----------



## nathan.f77

Hi kdawg2391044, I was also thinking about a water spray effect! That would be very cool. I have been able to find a workaround by running 2 instances and sending different MQTT commands for the smoke and strobe effect.

I already had Home Assistant, MQTT, and Node-RED set up and use ESPHome quite a lot (for ESP8266 and ESP32 boards), so it was not too hard to get this set up via MQTT. I've ordered some of these solid-state relay boards that I'll be using to control the fans and other devices: https://www.aliexpress.com/item/33005213016.html

I wanted to get it working with Plex on my Roku, but the timestamps aren't accurate enough. For now I'll be running Kodi on my Macbook, and using the Plex for Kodi plugin. I did some tests and it works very well. All the events are getting sent at the right time and it's very consistent. I don't have a dedicated home theater room and will just be setting everything up in our living room occasionally, so I don't mind using my laptop and plugging in an HDMI cable. If I end up using this quite often then I might get a HTPC.

I've also got 3 tactile transducers / bass shakers on the way, and I'll be putting these under the couch.

Now I just need to choose some fans! I'm not sure about the best options in New Zealand. I might get 3 of these 60W fans ($64.98 NZD): https://www.mitre10.co.nz/shop/nouveau-air-circulator-fan-40cm/p/321864











Or maybe these 80W ones, which is a bit more expensive ($79.98 NZD): https://www.mitre10.co.nz/shop/nouveau-high-velocity-floor-fan-40cm/p/361440


----------



## nathan.f77

Have ordered 3 of these fans:









I'm trying to figure out how to daisy chain them together to all run at the same speed.










I hope 3 fan speed settings will be enough. But I'm trying to learn how the speed control works, so maybe I can add a 4th speed setting, maybe for ECO. I think I might be able to do it with a capacitor.


----------



## SirMaster

You should be able to run them all from a single relay so long as it doesn’t exceed the 8 amps if your relay. 3 fans probably won’t exceed it I wouldn’t think. Just wire them in a series I think. 

If you can only get 3 speeds it’s not a huge deal as you can just make the 2 lowest speed commands one speed.


----------



## nathan.f77

This is really cool! I got everything working a few days ago and we watched Ready Player One and Avatar. The wind effect really does make a big difference.

Thanks to SOWK and brazen1 for the awesome wind tracks, they're really well done!











Smoke machine was a fun idea but probably won't use that too much, probably just for some special occasions.












Strobe lights have been fun to play with as well. I wrote a small script using OpenCV to detect flashes and automatically generate the "wind track" for strobe lights. It's been hard to get them perfectly in sync, but it's pretty cool for action movies.











I wish it was easier to get it to work properly with Plex on Roku. It looks like we'll be using this quite often, and it's getting a bit annoying to use my laptop, so I'm starting to think about getting an Intel NUC to run Kodi.

Another cool thing I did is setting up an event to fade in the lights when the credits start rolling. I've been wanting to do this in Home Assistant for a long time, but HTFanControl now makes it easy to configure the credits timestamp for each movie.


----------



## Shawn9999

nathan.f77 said:


> This is really cool! I got everything working a few days ago and we watched Ready Player One and Avatar. The wind effect really does make a big difference.
> 
> Thanks to SOWK and brazen1 for the awesome wind tracks, they're really well done!
> 
> View attachment 3380182
> 
> 
> 
> Smoke machine was a fun idea but probably won't use that too much, probably just for some special occasions.
> 
> View attachment 3380183
> 
> 
> 
> 
> Strobe lights have been fun to play with as well. I wrote a small script using OpenCV to detect flashes and automatically generate the "wind track" for strobe lights. It's been hard to get them perfectly in sync, but it's pretty cool for action movies.
> 
> View attachment 3380184
> 
> 
> 
> I wish it was easier to get it to work properly with Plex on Roku. It looks like we'll be using this quite often, and it's getting a bit annoying to use my laptop, so I'm starting to think about getting an Intel NUC to run Kodi.
> 
> Another cool thing I did is setting up an event to fade in the lights when the credits start rolling. I've been wanting to do this in Home Assistant for a long time, but HTFanControl now makes it easy to configure the credits timestamp for each movie.


Looks cool man! I am also interested in those strobe lights and smoke machine. Makes the experience even better.

Could you explain how to fade in the lights with home assistant when the credits start rolling? I have been after that for years.


----------



## SirMaster

nathan.f77 said:


> so I'm starting to think about getting an Intel NUC to run Kodi.


Why not an nvidia shield to run Kodi?

I think it will be a better experience than a nuc. I’m just afraid you may run into strange performance issues and such with a nuc.

Great job getting everything up and running so quickly!

Others might be curious about your solid state (silent) relay setup.


----------



## kdawg2391044

nathan.f77 said:


> This is really cool! I got everything working a few days ago and we watched Ready Player One and Avatar. The wind effect really does make a big difference.
> 
> Thanks to SOWK and brazen1 for the awesome wind tracks, they're really well done!
> 
> View attachment 3380182
> 
> 
> 
> Smoke machine was a fun idea but probably won't use that too much, probably just for some special occasions.
> 
> View attachment 3380183
> 
> 
> 
> 
> Strobe lights have been fun to play with as well. I wrote a small script using OpenCV to detect flashes and automatically generate the "wind track" for strobe lights. It's been hard to get them perfectly in sync, but it's pretty cool for action movies.
> 
> View attachment 3380184
> 
> 
> 
> I wish it was easier to get it to work properly with Plex on Roku. It looks like we'll be using this quite often, and it's getting a bit annoying to use my laptop, so I'm starting to think about getting an Intel NUC to run Kodi.
> 
> Another cool thing I did is setting up an event to fade in the lights when the credits start rolling. I've been wanting to do this in Home Assistant for a long time, but HTFanControl now makes it easy to configure the credits timestamp for each movie.


The strobe light and smoke is cool. Are you running the strobe light piece in real time or are you preprocessing the video, getting the timestamps and then creating a dedicated track for that? what hardware are you using for these and how are you controlling them through HTFanControl (MQTT client?). I guess the strobe light would be similar to using those mood lighting systems like Govee and Hue. I dont think anyone has made a system to preprocess the video feed first as that would be a lot of work and all the retail systems use real time processing via camera or HDMI video capture but all those have some lag. Please take a video of it all in action together when you can!


----------



## SirMaster

kdawg2391044 said:


> The strobe light and smoke is cool. Are you running the strobe light piece in real time or are you preprocessing the video, getting the timestamps and then creating a dedicated track for that? what hardware are you using for these and how are you controlling them through HTFanControl (MQTT client?). I guess the strobe light would be similar to using those mood lighting systems like Govee and Hue. I dont think anyone has made a system to preprocess the video feed first as that would be a lot of work and all the retail systems use real time processing via camera or HDMI video capture but all those have some lag. Please take a video of it all in action together when you can!


He's pre-processing the video file with OpenCV (a computer vision library).


----------

