# 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 = 4 # Default: memoryDebugging = false memoryDebugging = true # Prints log information helping in fixing errors # Default: devLog = false devLog = false # Logs all IPC communication to a PCAP file # Default: ipcLog = false ipcLog = 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 # If writeableDataPath is empty, dataPath is used. Use this setting, if dataPath is not writeable. Homegear then writes # files to this location when needed. # Default: writeableDataPath = # writeableDataPath = /data/homegear-data # Default: writeableDataPathPermissions = 770 # writeableDataPathPermissions = 770 # Default: writeableDataPathUser = # writeableDataPathUser = homegear # Default: writeableDataPathGroup = # writeableDataPathGroup = 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 = true # 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 = # 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 Node-BLUE # Default: enableNodeBlue = true enableNodeBlue = true # Path where Node-BLUE is located. # Default: nodeBluePath = /var/lib/homegear/node-blue nodeBluePath = /var/lib/homegear/node-blue # Default: nodeBluePathPermissions = 770 # nodeBluePathPermissions = 770 # Default: nodeBluePathUser = # nodeBluePathUser = homegear # Default: nodeBluePathGroup = # nodeBluePathGroup = homegear # Path where flow data is stored. # Default: nodeBlueDataPath = /var/lib/homegear/node-blue/data nodeBlueDataPath = /var/lib/homegear/node-blue/data # Default: nodeBlueDataPathPermissions = 770 # nodeBlueDataPathPermissions = 770 # Default: nodeBlueDataPathUser = # nodeBlueDataPathUser = homegear # Default: nodeBlueDataPathGroup = # nodeBlueDataPathGroup = 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 # Only used when "nodeBlueDebugOutput" is set to "true". Above this number of debug events (per 10 seconds), nodes are # not highlighted anymore. nodeBlueEventLimit1 = 100 # Only used when "nodeBlueDebugOutput" is set to "true". Above this number of debug events (per 10 seconds), the last # output of a node is not displayed anymore. nodeBlueEventLimit2 = 300 # Only used when "nodeBlueDebugOutput" is set to "true". Above this number of debug events (per 10 seconds), no events # are sent anymore. This also disables the output of "debug" nodes. nodeBlueEventLimit3 = 400 # Path where Admin UI is located. # Default: adminUiPath = /var/lib/homegear/admin-ui adminUiPath = /var/lib/homegear/admin-ui/public # Default: adminUiPathPermissions = 770 # adminUiPathPermissions = 770 # Default: adminUiPathUser = # adminUiPathUser = homegear # Default: adminUiPathGroup = # adminUiPathGroup = homegear # Path where UI is located. # Default: uiPath = /var/lib/homegear/ui uiPath = /var/lib/homegear/ui # Default: uiPathPermissions = 770 # uiPathPermissions = 770 # Default: uiPathUser = # uiPathUser = homegear # Default: uiPathGroup = # uiPathGroup = homegear # 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 # Path to certificate for signing OAuth data. This is used to avoid the necessity to store the OAuth keys in Homegear's database # Default: oauthCertPath = /etc/homegear/homegear.crt oauthCertPath = /etc/homegear/homegear.crt # Path to certificate to verify OAuth signatures # Default: oauthKeyPath = /etc/homegear/homegear.key oauthKeyPath = /etc/homegear/homegear.key # The number of seconds an OAuth token is valid. After this amount of time it needs to be refreshed. oauthTokenLifetime = 3600 # The number of seconds an OAuth refresh token is valid. oauthRefreshTokenLifetime = 5184000 # 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!!! #### # When set to "true" Homegear waits for NTP to set the correct time. The check tests, if the unix time stamp is less # than 1000000000. # Default: waitForCorrectTime = true waitForCorrectTime = true # 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: nodeBlueProcessingThreadCountServer = 10 nodeBlueProcessingThreadCountServer = 5 # Default: nodeBlueProcessingThreadCountNodes = 10 nodeBlueProcessingThreadCountNodes = 10 # Default: nodeBlueServerMaxConnections = 20 nodeBlueServerMaxConnections = 50 # Default: maxNodeThreadsPerProcess = 40 maxNodeThreadsPerProcess = 60 # When the Node-BLUE queues hang for this amount of time (in milliseconds), the process is killed. # Default: nodeBlueWatchdogTimeout = -1 nodeBlueWatchdogTimeout = 60000 # Set to true to debug the Node-BLUE client process with Valgrind. # Default: nodeBlueManualClientStart = false nodeBlueManualClientStart = 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