9. Configuration
All of Homegear’s configuration files are by default located in “/etc/homegear”. There are four general configuration files:
File |
Description |
---|---|
main.conf |
Homegear’s main configuration file |
rpcclients.conf |
File to configure RPC event servers (certificates, authentication, …) |
rpcservers.conf |
RPC and web server configuration file |
mqtt.conf |
MQTT configuration file |
In addition each family modules places a configuration file in “/etc/homegear/families” with family specific configuration settings.
9.1. Main Configuration (main.conf)
Parameter |
Description |
Possible Values |
Default Value |
---|---|---|---|
runAsUser |
If specified and Homegear is started as root it will drop privileges to this user name. If specified, |
Any existing user name |
unset |
runAsGroup |
If specified and Homegear is started as root it will drop privileges to this group. If specified, |
Any existing group name |
unset |
debugLevel |
Sets the log level Homegear starts with. |
|
|
memoryDebugging |
Enables memory debugging. Should always be enabled. |
|
|
devLog |
Enables debug output to fix specific errors. There is no need to enable this. |
|
|
enableCoreDumps |
Enables the generation of core dumps. This might cause a security problem. Currently to make fixing errors easier, core dumps are enabled by default. |
|
|
workingDirectory |
Homegear’s working directory. If empty the executable path is used. |
Any valid directory path |
|
socketPath |
Path where socket files should be placed. If empty the executable path is used. |
Any valid directory path |
|
dataPath |
Path where Homegear should store it’s data. |
Any valid directory path |
|
dataPathPermissions |
Permissions to set on Homegear’s data path. The permissions specified here are set when Homegear is executed with the command line option |
Unix permission octet |
|
dataPathUser |
Owner to set on Homegear’s data path. The owner specified here is set when Homegear is executed with the command line option |
Any existing user name |
|
dataPathGroup |
Group to set on Homegear’s data path. The group specified here is set when Homegear is executed with the command line option |
Any existing group |
|
databaseMemoryJournal |
If set database operations are executed in memory. This makes write operations much faster and increases flash memory life time. But it also makes your system more vulnerable to data loss and database corruption. |
|
|
databaseWALJournal |
If set database operations are faster. This setting is safer than |
|
|
databaseSynchronous |
If set to false database write operations are much faster but it greatly increases the risk of database corruption. |
|
|
databaseMaxBackups |
Homegear automatically creates database backups on startup and reload. This setting specifies the maximum number of backups to create. |
Any positive number |
|
logfilePath |
Path where Homegear should place its log files. |
Any valid directory path |
|
enableUPnP |
Making Homegear findable over SSDP. |
|
|
uPnPIpAddress |
IP address or interface name the UPnP server listens on. By default auto discovery is used. |
IP address to listen on (not “0.0.0.0” or “::”) or interface name (e. g. eth0) |
unset |
ssdpIpAddress |
IP address the SSDP server listens on. This server is needed to receive SSDP responses. SSDP is needed for device discovery. By default auto discovery is used. |
IP address to listen on (not “0.0.0.0” or “::”) or interface name (e. g. eth0) |
unset |
ssdpPort |
Port, the SSDP server listens on. Might need to be changed if other services listen on Homegear’s default SSDP port, too. |
Valid port number |
|
caPath |
Path to the ca certificate used by all Homegear servers for client certificate authentication. |
Path to the CA certificate file |
|
certPath |
Path to the certificate used by all Homegear servers for TLS connections. |
Path to the certificate file |
|
keyPath |
Path to the private key file used by all Homegear servers for TLS connections. |
Path to the key file |
|
loadDHParamsFromFile |
If set Diffie-Hellman parameters are read from file and not generated at startup. |
|
|
dhParamPath |
Path to the Diffie-Hellman parameter file. |
Valid path |
|
deviceDescriptionPath |
Path to device description files. |
Valid path |
|
clientSettingsPath |
Path to RPC clients (event server) settings file. |
Valid path |
|
serverSettingsPath |
Path to RPC server settings file. |
Valid path |
|
mqttSettingsPath |
Path to MQTT settings file. |
Valid path |
|
familyConfigPath |
Path to device family configuration files. |
Valid path |
|
phpIniPath |
Path to Homegear’s php.ini |
Valid path |
|
gpioPath |
Path to the system’s GPIO root directory. This setting is only relevant if one of the communication modules or scripts need access to GPIOs. |
Valid path |
|
exportGpios |
Export these GPIOs and set permissions so the Homegear user and scripts running in Homegear can access them. This setting only takes effect when Homegear is started as root or with the command line option “-s”. |
GPIO numbers seperated by comma. E. g.: |
unset |
scriptPath |
Path to Homegear scripts. |
Valid path |
|
scriptPathPermissions |
Permissions to set on Homegear’s script path. The permissions specified,here are set when Homegear is executed with the command line option,``-pre``. |
Unix permission octet |
|
scriptPathUser |
Owner to set on Homegear’s script path. The owner specified here is set when Homegear is executed with the command line option |
Any existing user name |
|
scriptPathGroup |
Group to set on Homegear’s script path. The group specified here is set when Homegear is executed with the command line option |
Any existing group name |
|
modulePath |
Path where Homegear searches for family modules. |
Valid path |
|
firmwarePath |
Path to directory with device firmware updates. |
Valid path |
|
tempPath |
Path to directory where Homegear stores temporary data. |
Valid path |
|
lockFilePath |
Path to place lock files. |
Valid path |
|
lockFilePathPermissions |
Permissions to set on Homegear’s lock file path. The permissions specified here are set when Homegear is executed with the command line option |
Unix permission octet |
|
lockFilePathUser |
Owner to set on Homegear’s script path. The owner specified here is set when Homegear is executed with the command line option |
Any existing user name |
|
lockFilePathGroup |
Group to set on Homegear’s script path. The group specified here is set when Homegear is executed with the command line option |
Any existing group name |
|
redirectToSSHTunnel |
Some clients don’t allow to set “localhost” as their event server IP. In these cases it normally is impossible to connect to those clients, if the connection is tunneled. To still be able to connect to these clients’ event server you can specify their IP address or hostname here. Homegear then replaces them with “localhost”. This setting can be set multiple times. |
Any IPv4, IPv6 address or hostname |
unset |
replaceClientServerAddress |
This setting allows to fully replace event server address data received from RPC clients. |
Address to search for followed by space followed by the address to replace with. |
|
9.2. RPC Server Configuration (rpcservers.con)
9.3. RPC Client (Event Server) Configuration (rpccliensts.conf)
9.4. MQTT (mqtt.conf)
See MQTT.