Speed Fan has logging option. Enable it in configuration. You will find log files in the directory where Speed Fan was installed. In my case it was Program Files\SpeedFan\SFLog(date).csv
I installed UnixTools for Windows. If I understand correctly Cygwin
has same sort of capabilities as UnixTools
and gives you possibility to use Unix-like commands in Windows.
So, now we have log file (which updates once in 3 seconds) with all the data we want. We can use it to obtain last values from SpeedFan with following script:
for /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c%%a%%b)
tail -n 1 "C:\Program Files\SpeedFan\SFLog%mydate%.csv" | gawk {print$2}
First, we set variable mydate
as current date formatted in style of Speed Fan log. We will need it to find latest logfile.
After that we use command tail with option -n 1
to get last row of the file (most recent data).
And we supply this row to the gawk command with option {print$2}
to get second 'column' of the row, since first 'column' is timestamp.
So script will echo most recent value of the second column of the logfile. If you need more than just one value - make another script which requests third column by giving option {print$3}
to gawk
.
Let's say SpeedFan's log file has following format:
Timestamp CPU1_temp CPU2_temp MotherBoard_temp CPUFan_RPM
You can have 4 scripts - each one will be getting one of the values (use gawk
's {print$X}
option to determine which column it will be reading).
Now you can call these scripts from another programs when they need temperature readings from SpeedFan.
What temperature monitor application are you using? – VL-80 – 2013-08-14T00:58:16.947
Speedfan. Sorry, on my old computer it was literally called 'Temperature Monitor'! – drjrm3 – 2013-08-14T12:34:56.607
Alright. Check out my answer. – VL-80 – 2013-08-16T00:50:31.453
looks decent - haven't had the time to try it out yet but when I do I will let you know how it works and list it as the answer when I confirm it. Thanks. – drjrm3 – 2013-08-16T19:52:03.317