Type IoBJson
File match iobroker.json iobroker-dist.json
Schema URL https://catalog.lintel.tools/schemas/schemastore/iobroker-configuration/latest.json
Source https://raw.githubusercontent.com/ioBroker/ioBroker.js-controller/master/schemas/iobroker.json

Validate with Lintel

npx @lintel/lintel check
Type: IoBJson

Definitions

IoBJson object

The ioBroker global config

system object required
15 nested properties
memoryLimitMB number required

Do not use more than memory limit mb by ioB process (0 to deactivate)

hostname string required

If empty, determine use real hostname

statisticsInterval number required

Interval how often the counters for input/output in adapters and controller will be updated in ms

// statisticsInterval string required
checkDiskInterval number required

Interval how often the disk size will be checked in ms

// checkDiskInterval string required
instanceStartInterval number required

Interval to wait between multiple instances starts

compact boolean required

Controller will try to start the instances as a part of the same process. No spawn will be done. Only by adapters that support it and have flag compact flag in io-package.json

// compact string required
allowShellCommands boolean required

Allow execution of "shell" sendToHost commands

// allowShellCommands string required
memLimitWarn number required

If the available RAM is below this threshold on adapter start, a warning will be logged.

// memLimitWarn string required
memLimitError number required

If the available RAM is below this threshold on adapter start, an error will be logged.

// memLimitError string required
multihostService object required
4 nested properties
enabled boolean required
secure boolean required
password string required
persist boolean required
objects object required
11 nested properties
type string required

Possible values: 'file' - [port 9001], 'jsonl' - [port 9001], 'redis' - [port 6379 or 26379 for sentinel].

Values: "jsonl" "file" "redis"
host string | string[] required
port number | number[] required
connectTimeout number required
writeFileInterval number required
options object required
6 nested properties
auth_pass string required
retry_max_delay number required
retry_max_count number required
db number required
family number required
tls object

As soon as the tls property is defined, redis will try to connect via tls (currently only for redis)

backup object required
9 nested properties
disabled boolean required
files number required

Minimal number of backup files, after the deletion will be executed according to backupTime settings

// files string required
hours number required

All backups older than configured hours will be deleted. But only if the number of files is greater than of backupNumber

// hours string required
period number required

By default backup every 2 hours. Time is in minutes. To disable backup set the value to 0

// period string required
path string required

Absolute path to back-up directory or empty to back-up in data directory

// path string required
jsonlOptions object required
9 nested properties
// autoCompress (1) string required
// autoCompress (2) string required
// autoCompress (3) string required
autoCompress object required

The JSONL DB is append-only and will contain unnecessary entries after a while. It will be compressed when the uncompressed size is >= size * sizeFactor AND >= sizeFactorMinimumSize Note that too low values here will cause the DB to be rewritten often.

// ignoreReadErrors string required
ignoreReadErrors boolean required

If single lines in the DB are corrupted, they can be ignored without losing the whole DB.

Constant: true
// throttleFS (1) string required
// throttleFS (2) string required
throttleFS object required

By default, the database immediately writes to the database file. Write access can be reduced using the throttleFS option. Be aware that buffered changes will be lost in case the process crashes

noFileCache boolean required
sentinelName string
dataDir string
states object required
11 nested properties
type string required

Possible values: 'file' - [port 9001], 'jsonl' - [port 9001], 'redis' - [port 6379 or 26379 for sentinel].

Values: "jsonl" "file" "redis"
host string | string[] required
port number | number[] required
connectTimeout number required
writeFileInterval number required
options object required
6 nested properties
auth_pass string required
retry_max_delay number required
retry_max_count number required
db number required
family number required
tls object

As soon as the tls property is defined, redis will try to connect via tls (currently only for redis)

backup object required
9 nested properties
disabled boolean required
files number required

Minimal number of backup files, after the deletion will be executed according to backupTime settings

// files string required
hours number required

All backups older than configured hours will be deleted. But only if the number of files is greater than of backupNumber

// hours string required
period number required

By default backup every 2 hours. Time is in minutes. To disable backup set the value to 0

// period string required
path string required

Absolute path to back-up directory or empty to back-up in data directory

// path string required
jsonlOptions object required
9 nested properties
// autoCompress (1) string required
// autoCompress (2) string required
// autoCompress (3) string required
autoCompress object required

The JSONL DB is append-only and will contain unnecessary entries after a while. It will be compressed when the uncompressed size is >= size * sizeFactor AND >= sizeFactorMinimumSize Note that too low values here will cause the DB to be rewritten often.

// ignoreReadErrors string required
ignoreReadErrors boolean required

If single lines in the DB are corrupted, they can be ignored without losing the whole DB.

Constant: true
// throttleFS (1) string required
// throttleFS (2) string required
throttleFS object required

By default, the database immediately writes to the database file. Write access can be reduced using the throttleFS option. Be aware that buffered changes will be lost in case the process crashes

maxQueue number required

Limit maximum number of log entries in the list (only read by adapter.ts from the config file)

sentinelName string
dataDir string
log object required
4 nested properties
level string required
Values: "silly" "debug" "info" "warn" "error"
maxDays number required
noStdout boolean required
transport object required
dataDir string required

Always relative to iobroker.js-controller/

// dataDir string required
plugins Record<string, object> required
// dnsResolution string required
dnsResolution string required

Use 'verbatim' for ipv6 first, else use 'ipv4first'

Values: "verbatim" "ipv4first"
ObjectsDatabaseOptions object
type string required

Possible values: 'file' - [port 9001], 'jsonl' - [port 9001], 'redis' - [port 6379 or 26379 for sentinel].

Values: "jsonl" "file" "redis"
host string | string[] required
port number | number[] required
connectTimeout number required
writeFileInterval number required
options object required
6 nested properties
auth_pass string required
retry_max_delay number required
retry_max_count number required
db number required
family number required
tls object

As soon as the tls property is defined, redis will try to connect via tls (currently only for redis)

4 nested properties
rejectUnauthorized boolean

Needs to be false with self-signed certs

ca string

The certificate content

key string

The key file content

cert string

The cert file content

backup object required
9 nested properties
disabled boolean required
files number required

Minimal number of backup files, after the deletion will be executed according to backupTime settings

// files string required
hours number required

All backups older than configured hours will be deleted. But only if the number of files is greater than of backupNumber

// hours string required
period number required

By default backup every 2 hours. Time is in minutes. To disable backup set the value to 0

// period string required
path string required

Absolute path to back-up directory or empty to back-up in data directory

// path string required
jsonlOptions object required
9 nested properties
// autoCompress (1) string required
// autoCompress (2) string required
// autoCompress (3) string required
autoCompress object required

The JSONL DB is append-only and will contain unnecessary entries after a while. It will be compressed when the uncompressed size is >= size * sizeFactor AND >= sizeFactorMinimumSize Note that too low values here will cause the DB to be rewritten often.

2 nested properties
sizeFactor number required
sizeFactorMinimumSize number required
// ignoreReadErrors string required
ignoreReadErrors boolean required

If single lines in the DB are corrupted, they can be ignored without losing the whole DB.

Constant: true
// throttleFS (1) string required
// throttleFS (2) string required
throttleFS object required

By default, the database immediately writes to the database file. Write access can be reduced using the throttleFS option. Be aware that buffered changes will be lost in case the process crashes

4 nested properties
// intervalMs string required
intervalMs number required

Write to the database file no more than every intervalMs milliseconds.

// maxBufferedCommands string required
maxBufferedCommands number required

Force writing of buffered commands after so many changes. This reduces memory consumption and data loss in case of a crash.

noFileCache boolean required
sentinelName string
dataDir string
DatabaseBackupOptions object
disabled boolean required
files number required

Minimal number of backup files, after the deletion will be executed according to backupTime settings

// files string required
hours number required

All backups older than configured hours will be deleted. But only if the number of files is greater than of backupNumber

// hours string required
period number required

By default backup every 2 hours. Time is in minutes. To disable backup set the value to 0

// period string required
path string required

Absolute path to back-up directory or empty to back-up in data directory

// path string required
JsonlOptions object
// autoCompress (1) string required
// autoCompress (2) string required
// autoCompress (3) string required
autoCompress object required

The JSONL DB is append-only and will contain unnecessary entries after a while. It will be compressed when the uncompressed size is >= size * sizeFactor AND >= sizeFactorMinimumSize Note that too low values here will cause the DB to be rewritten often.

2 nested properties
sizeFactor number required
sizeFactorMinimumSize number required
// ignoreReadErrors string required
ignoreReadErrors boolean required

If single lines in the DB are corrupted, they can be ignored without losing the whole DB.

Constant: true
// throttleFS (1) string required
// throttleFS (2) string required
throttleFS object required

By default, the database immediately writes to the database file. Write access can be reduced using the throttleFS option. Be aware that buffered changes will be lost in case the process crashes

4 nested properties
// intervalMs string required
intervalMs number required

Write to the database file no more than every intervalMs milliseconds.

// maxBufferedCommands string required
maxBufferedCommands number required

Force writing of buffered commands after so many changes. This reduces memory consumption and data loss in case of a crash.

StatesDatabaseOptions object
type string required

Possible values: 'file' - [port 9001], 'jsonl' - [port 9001], 'redis' - [port 6379 or 26379 for sentinel].

Values: "jsonl" "file" "redis"
host string | string[] required
port number | number[] required
connectTimeout number required
writeFileInterval number required
options object required
6 nested properties
auth_pass string required
retry_max_delay number required
retry_max_count number required
db number required
family number required
tls object

As soon as the tls property is defined, redis will try to connect via tls (currently only for redis)

4 nested properties
rejectUnauthorized boolean

Needs to be false with self-signed certs

ca string

The certificate content

key string

The key file content

cert string

The cert file content

backup object required
9 nested properties
disabled boolean required
files number required

Minimal number of backup files, after the deletion will be executed according to backupTime settings

// files string required
hours number required

All backups older than configured hours will be deleted. But only if the number of files is greater than of backupNumber

// hours string required
period number required

By default backup every 2 hours. Time is in minutes. To disable backup set the value to 0

// period string required
path string required

Absolute path to back-up directory or empty to back-up in data directory

// path string required
jsonlOptions object required
9 nested properties
// autoCompress (1) string required
// autoCompress (2) string required
// autoCompress (3) string required
autoCompress object required

The JSONL DB is append-only and will contain unnecessary entries after a while. It will be compressed when the uncompressed size is >= size * sizeFactor AND >= sizeFactorMinimumSize Note that too low values here will cause the DB to be rewritten often.

2 nested properties
sizeFactor number required
sizeFactorMinimumSize number required
// ignoreReadErrors string required
ignoreReadErrors boolean required

If single lines in the DB are corrupted, they can be ignored without losing the whole DB.

Constant: true
// throttleFS (1) string required
// throttleFS (2) string required
throttleFS object required

By default, the database immediately writes to the database file. Write access can be reduced using the throttleFS option. Be aware that buffered changes will be lost in case the process crashes

4 nested properties
// intervalMs string required
intervalMs number required

Write to the database file no more than every intervalMs milliseconds.

// maxBufferedCommands string required
maxBufferedCommands number required

Force writing of buffered commands after so many changes. This reduces memory consumption and data loss in case of a crash.

maxQueue number required

Limit maximum number of log entries in the list (only read by adapter.ts from the config file)

sentinelName string
dataDir string
global.ioBroker.LogLevel string