Skip to content

Configuration

Aaron Blakely edited this page Jul 22, 2022 · 7 revisions

macfand uses libconfig for it's configuration file as well as profile. By default the configuration is read from /etc/macfand.conf.

Cheat Sheet

var = "string";                          # string
var = 1;                                 # integer
var = true;                              # boolean
var = (1, 2, 3);                         # array of integers
var = ("a", "b");                        # array of strings
var = { var = "string"; var2 = 1; };     # element
var = ( { var = "string"; var2 = 1; } ); # array of elements

Configuration Options

Profile Directory

This is used to specify the directory that contains profiles.

profileDir = "/usr/local/macfand/machines/";

Model Identifier

This is used to load a profile for the given ID. A profile is a default configuration that is known to work with that machine, but can be overridden using /etc/macfand.conf. See Profiles for more information.

modelID = "macpro1,1";

Temperature Averages

What is considered normal temp (avg of all sensors)

temp_avg_floor = 45;

What is considered hot (sets full fan speed) (avg of all sensors)

temp_avg_ceiling = 55;

Blacklist

Array of sensors that should be ignored by macfand, in both modes of operation.

blacklist = ("TC0P", "TM0P");

Fan Control

This is an array of elements, such as:

fan_ctrl = (
    {
       # fan 1
       fan_sensors = ("TC0P", "TM0P", "TM8P");
       floor = 45;
       ceiling = 55;
       min_speed = 1500;
       max_speed = 6200;
    },
    {
       # fan 2
       use_avg = true; # use all available sensors average to determine fan speed
       floor = 45;
       ceiling = 55;
       min_speed = 1500;
       max_speed = 6200;
    },
);

This array contains settings for individual fans, with the maximum supported fans being 18. floor and ceiling work the same as documented above. min_speed and max_speed are the minimum and maximum for RPMs for the fan.

Logging

#  0 - startup/exit logging only
#  1 - basic temp / fan logging
#  2 - log all sensors

log_level = 1;
Clone this wiki locally