# Homegear configuration file # See for more details: https://doc.homegear.eu/data/homegear/configuration.html#main-configuration-main-conf # Default: runAsUser = root # runAsUser = homegear # Default: runAsGroup = root # runAsGroup = homegear # Set the debug log level # 0=none, 1=critical, 2=error, 3=warning, 4=info, 5=debug, >5=more debug information # Default: 4 debugLevel = 3 # Default: memoryDebugging = false memoryDebugging = true # Prints log information helping in fixing errors # Default: devLog = false devLog = false # Set to false to disable core dumps. Currently to make fixing errors easier, core dumps are enabled by default. # Default: enableCoreDumps = true enableCoreDumps = true # If set to true Homegear sets permissions on devices and GPIOs on start. On some systems that might not be # desirable or necessary. If Homegear is part of all groups that have access to the needed devices, you can # savely set this setting to false. # Default: setDevicePermissions = true setDevicePermissions = true # The working directory of Homegear. E. g. core dumps are written here. If workingDirectory is empty, the # executable path is used. # Default: workingDirectory = workingDirectory = /var/lib/homegear # The socket files are placed into this directory. If socketPath is empty, the executable path is used. # Default: socketPath = socketPath = /var/run/homegear # If dataPath is empty, the executable path is used. # Default: dataPath = dataPath = /var/lib/homegear # Default: dataPathPermissions = 770 # dataPathPermissions = 770 # Default: dataPathUser = # dataPathUser = homegear # Default: dataPathGroup = # dataPathGroup = homegear # Family data is stored here. # Default: familyDataPath = /families familyDataPath = /var/lib/homegear/families # Default: familyDataPathPermissions = 770 # familyDataPathPermissions = 770 # Default: familyDataPathUser = # familyDataPathUser = homegear # Default: familyDataPathGroup = # familyDataPathGroup = homegear # If databaseMemoryJournal is set to true, database write operations are faster but if your system # suffers a power loss the database might get corrupted. # Default: databaseMemoryJournal = false databaseMemoryJournal = false # If databaseWALJournal is set to true database write operations are faster. This is safer than # setting databaseMemoryJournal. databaseWALJournal and databaseMemoryJournal cannot be used together. # Default: databaseWALJournal = true databaseWALJournal = true # If databaseSynchronous is set to false database write operations are faster but if your system # suffers a power loss the database might get corrupted. # Default: databaseSynchronous = true databaseSynchronous = true # By default the database is stored in "dataPath". With databasePath you can set an alternative directory. # databasePath = # By default database backups are stored in "dataPath". With databaseBackupPath you can set an alternative backup # directory. # databaseBackupPath = # databaseMaxBackups defines the maximum number of database backups to create. When this number is reached, # old backups are deleted. # Default: databaseMaxBackups = 10 databaseMaxBackups = 10 # Default: logfilePath = /var/log/homegear logfilePath = /var/log/homegear # Enable UPnP server for other devices to be able to discover this installation of Homegear # Default: enableUPnP = true enableUPnP = false # Sets the IP address, the UPnP server listens on. By default auto discovery is used, but this might not work, # if multiple interfaces exist. Only set specific IP addresses not "0.0.0.0". Alternatively the interface name can be # specified here (e. g. "eth0"). # Default: uPnPIpAddress = # uPnPIpAddress = # Sets the IP address, the SSDP server listens on. By default auto discovery is used, but this might not work, # if multiple interfaces exist. Only set specific IP addresses not "0.0.0.0". Alternatively the interface name can be # specified here (e. g. "eth0"). # Default: ssdpIpAddress = # ssdpIpAddress = # Sets the port number, the SSDP server listens on. By default Homegear listens on port 1900, but this might not work, # if other processes listen in this port as well. # Default: ssdpPort = 1900 # ssdpPort = # When "loadDHParamsFromFile" is set to "false", Diffie-Hellman parameters will be generated when Homegear starts. # That actually is more secure, but the generation takes a long time on slow computers. # Default: loadDHParamsFromFile = true #loadDHParamsFromFile = true # Default: dhParamPath = /etc/homegear/dh1024.pe # Path to device description files # Default: /etc/homegear/devices deviceDescriptionPath = /etc/homegear/devices # Path to the RPC clients event server settings file. # Default: clientSettingsPath = /etc/homegear/rpcclients.conf clientSettingsPath = /etc/homegear/rpcclients.conf # Path to the RPC server settings file. # Default: serverSettingsPath = /etc/homegear/rpcservers.conf serverSettingsPath = /etc/homegear/rpcservers.conf # Path to the MQTT settings file. # Default: mqttSettingsPath = /etc/homegear/mqtt.conf mqttSettingsPath = /etc/homegear/mqtt.conf # Path to the device family config files. # Default: familyConfigPath = /etc/homegear/families familyConfigPath = /etc/homegear/families # Path to php.ini. # Default: phpIniPath = /etc/homegear/php.ini phpIniPath = /etc/homegear/php.ini # Path to the GPIO root directory. Only relevant if one of the communication modules needs GPIO access. # Default: gpioPath = /sys/class/gpio gpioPath = /sys/class/gpio # Export these GPIOs and set permissions when running Homegear as root or starting Homegear with "-s". # exportGpios = 5, 6, 7 # Path to scripts which can be executed by calling "runScript" # Default: scriptPath = /var/lib/homegear/scripts scriptPath = /var/lib/homegear/scripts # Default: scriptPathPermissions = 770 # scriptPathPermissions = 770 # Default: scriptPathUser = # scriptPathUser = homegear # Default: scriptPathGroup = # scriptPathGroup = homegear # Set to "false" to disable the flows engine # Default: enableFlows = true enableFlows = false # Path where Node-BLUE is located. # Default: flowsPath = /var/lib/homegear/flows flowsPath = /var/lib/homegear/flows # Default: flowsPathPermissions = 770 # flowsPathPermissions = 770 # Default: flowsPathUser = # flowsPathUser = homegear # Default: flowsPathGroup = # flowsPathGroup = homegear # Path where flow data is stored. # Default: flowsDataPath = /var/lib/homegear/flows/data flowsDataPath = /var/lib/homegear/flows/data # Default: flowsDataPathPermissions = 770 # flowsDataPathPermissions = 770 # Default: flowsDataPathUser = # flowsDataPathUser = homegear # Default: flowsDataPathGroup = # flowsDataPathGroup = homegear # Enables highlighting of active nodes and display of last output in Node-BLUE. As this needs a lot of resources # disable it if you finished setting up your logic. nodeBlueDebugOutput = true # Path to the family modules. # Default: modulePath = /var/lib/homegear/modules modulePath = /var/lib/homegear/modules # Path to the directory with firmware updates # Default: firmwarePath = /usr/share/homegear/firmware firmwarePath = /usr/share/homegear/firmware # Path to a directory where Homegear can store temporary data # Default: tempPath = /var/lib/homegear/tmp tempPath = /var/lib/homegear/tmp # If lockFilePath is empty, the executable path is used. If unset, "/var/lock" is used. # Default: lockFilePath = /var/lock # /var/run/ is not the correct path for lock files. But as /var/lock is not user-writeable # on some systems, we decided to move the lock files to /var/run/homegear. lockFilePath = /var/run/homegear # If unset permissions are not set on start of Homegear. # Default: lockFilePathPermissions = 770 lockFilePathPermissions = 770 # If unset user is not set on start of Homegear. # Default: lockFilePathUser = lockFilePathUser = homegear # If unset group is not set on start of Homegear. # Default: lockFilePathGroup = lockFilePathGroup = homegear # Some clients don't provide the option to set their hostname to # "localhost" or "127.0.0.1" so a SSH tunnel normally wouldn't work. # To redirect communication to a client's XML RPC event server through a # SSH tunnel in this case, specify the client's XML RPC server address # here. Homegear replaces the provided address (or hostname) with # 127.0.0.1 (or ::1 when IPv6 is used). Multiple entries are allowed. # redirectToSSHTunnel = 192.168.0.1 # redirectToSSHTunnel = fdef:abcd:bcda::1234 # redirectToSSHTunnel = 192.168.0.10 # redirectToSSHTunnel = MyHostname # Some clients (like the CCU2) send localhost as address to a remote Homegear # installation. Homegear then tries to connect to localhost which of course # fails. As a workaround Homegear can replace the address sent from the client # with a working address. $REMOTEIP is replaced automatically with the remote ip # address. # Address to search for Address to use # | | # V V replaceClientServerAddress = xmlrpc_bin://127.0.0.1:1999 xmlrpc_bin://$REMOTEIP:1999 replaceClientServerAddress = http://127.0.0.1:9292/bidcos http://$REMOTEIP:9292/bidcos #### !!!Don't change settings below unless you know exactly what you're doing!!! #### #### !!!Don't change settings below unless you know exactly what you're doing!!! #### #### !!!Don't change settings below unless you know exactly what you're doing!!! #### # Default: prioritizeThreads = true prioritizeThreads = true # The number of bytes to allocate for secure memory. Increase it if you get the GCrypt # error "Could not allocate memory". "0" disables secure memory. The minimum value is # 16384. Values smaller than the minimum value are set to the minimum (= default) value. # So you can set secureMemorySize to "1" to use the default value defined by GCrypt. # Default: secureMemorySize = 65536 secureMemorySize = 65536 # Default: workerThreadWindow = 3000 workerThreadWindow = 3000 # Default scriptEngineMaxThreadsPerScript = 4 scriptEngineMaxThreadsPerScript = 4 # Default scriptEngineMaxScriptsPerProcess = -1 scriptEngineMaxScriptsPerProcess = 50 # Default scriptEngineThreadCount = 10 scriptEngineThreadCount = 5 # Default: scriptEngineServerMaxConnections = 10 scriptEngineServerMaxConnections = 10 # When the scriptengine queues hang for this amount of time (in milliseconds), the process is killed. # Default: scriptEngineWatchdogTimeout = -1 scriptEngineWatchdogTimeout = 60000 # Set to true to debug the script engine client process with Valgrind. # Default: scriptEngineManualClientStart = false scriptEngineManualClientStart = false # Default: flowsProcessingThreadCountServer = 10 flowsProcessingThreadCountServer = 5 # Default: flowsProcessingThreadCountNodes = 10 flowsProcessingThreadCountNodes = 10 # Default: flowsServerMaxConnections = 20 flowsServerMaxConnections = 50 # Default: maxNodeThreadsPerProcess = 40 maxNodeThreadsPerProcess = 60 # When the flows queues hang for this amount of time (in milliseconds), the process is killed. # Default: flowsWatchdogTimeout = -1 flowsWatchdogTimeout = 60000 # Set to true to debug the flows client process with Valgrind. # Default: flowsManualClientStart = false flowsManualClientStart = false # Default: ipcThreadCount = 10 ipcThreadCount = 5 # Default: ipcServerMaxConnections = 20 ipcServerMaxConnections = 20 # Default: cliServerMaxConnections = 50 cliServerMaxConnections = 50 # Default: rpcServerMaxConnections = 50 rpcServerMaxConnections = 50 # Default: rpcServerThreadPriority = 0 rpcServerThreadPriority = 0 # Default: rpcServerThreadPolicy = SCHED_OTHER # Valid policies: SCHED_OTHER, SCHED_BATCH, SCHED_IDLE, SCHED_FIFO, SCHED_RR rpcServerThreadPolicy = SCHED_OTHER # Default: rpcClientMaxServers = 50 rpcClientMaxServers = 50 # Default: rpcClientThreadPriority = 0 rpcClientThreadPriority = 0 # Default: rpcClientThreadPolicy = SCHED_OTHER # Valid policies: SCHED_OTHER, SCHED_BATCH, SCHED_IDLE, SCHED_FIFO, SCHED_RR rpcClientThreadPolicy = SCHED_OTHER # Default: workerThreadPriority = 0 workerThreadPriority = 0 # Default: workerThreadPolicy = SCHED_OTHER # Valid policies: SCHED_OTHER, SCHED_BATCH, SCHED_IDLE, SCHED_FIFO, SCHED_RR workerThreadPolicy = SCHED_OTHER # Default: packetQueueThreadPriority = 45 packetQueueThreadPriority = 45 # Default: packetQueueThreadPolicy = SCHED_FIFO # Valid policies: SCHED_OTHER, SCHED_BATCH, SCHED_IDLE, SCHED_FIFO, SCHED_RR packetQueueThreadPolicy = SCHED_FIFO # Default: packetReceivedThreadPriority = 0 packetReceivedThreadPriority = 0 # Default: packetReceivedThreadPolicy = SCHED_OTHER # Valid policies: SCHED_OTHER, SCHED_BATCH, SCHED_IDLE, SCHED_FIFO, SCHED_RR packetReceivedThreadPolicy = SCHED_OTHER # Default: eventMaxThreads = 20 eventThreadCount = 5 # Default: eventThreadPriority = 0 eventThreadPriority = 0 # Default: eventThreadPolicy = SCHED_OTHER # Valid policies: SCHED_OTHER, SCHED_BATCH, SCHED_IDLE, SCHED_FIFO, SCHED_RR eventThreadPolicy = SCHED_OTHER