-
-
Notifications
You must be signed in to change notification settings - Fork 161
2. Run
The ebusd binary offers a lot of command-line options to adjust its behaviour.
It can either be run as a daemon or in foreground (when using -f).
After installing the binary (either from a release or using make install) you have to tell the system to automatically start the daemon during system startup with systemctl or chkconfig:
sudo systemctl enable ebusd
sudo chkconfig ebusd on
ebusd only accepts options (with the exception of --scanconfig, see below):
ebusd [OPTION...]
The default value for each option is shown in square brackets like this: [default].
-
-d, --device=DEV
Use DEV as eBUS device ("enh:DEVICE" or "enh:IP:PORT" for enhanced device,"DEVICE" for serial device, or "[udp:]IP:PORT" for network device) [/dev/ttyUSB0] -
-n, --nodevicecheck
Skip serial eBUS device test -
-r, --readonly
Only read from device, never write to it -
--initsend
Send an initial escape symbol after connecting device.
This is sometimes needed for UDP connected devices to let it know where to send the data. -
--latency=MSEC
Transfer latency in ms [0 for USB, 10 for IP]
-
-c, --configpath=PATH
Read CSV config files from PATH [http://cfg.ebusd.eu/] -
-s, --scanconfig[=ADDR]Pick CSV config files matching initial scan (ADDR="none" or empty for no initial scan message, "full" for full scan, or a single hex address to scan, default is to send a broadcast ident message).
If combined with --checkconfig, you can add scan message data as arguments for checking a particular scan configuration, e.g. "FF08070400/0AB5454850303003277201". For further details on this option, see Automatic configuration. -
--configlang=LANG
Set the preferred language code for reading config files to LANG [system default language] . For message and/or field definition parts that support translation, the one having the specified language code as suffix after a dot in the column name will be preferred. -
--checkconfig
Check CSV config files, then stop.
For further details on this option, see Probing the configuration. -
--dumpconfig
Check and dump CSV config files, then stop -
--pollinterval=SEC
Poll for data every SEC seconds (0=disable) [5] -
-i, --inject
Inject remaining arguments as already seen messages (e.g. "FF08070400/0AB5454850303003277201")
-
-a, --address=ADDR
Use ADDR as own bus address [31] -
--acquireretries=COUNT
Retry bus acquisition COUNT times [2] -
--acquiretimeout=MSEC
Stop bus acquisition after MSEC ms [10] -
--answer
Actively answer to requests from other masters -
--generatesyn
Enable AUTO-SYN symbol generation - can be used to make ebusd act as master -
--numbermasters=COUNT
Expect COUNT masters on the bus, 0 for auto detection [0] -
--receivetimeout=MSEC
Expect a slave to answer within MSEC ms [25] -
--sendretries=COUNT
Repeat failed sends COUNT times [2]
-
--accesslevel=LEVEL
Set default access level(s) to LEVEL ("*" for everything, multiple levels separated by comma) [""] -
--aclfile=FILE
Read access control list from FILE. Each line is supposed to contain user name, secret, and access level(s) separated by comma. -
-f, --foreground
Run in foreground -
--enablehex
Enable hex command -
--enabledefine
Enable define command and "-def" option in read and write commands. -
--pidfile=FILE
PID file name (only for daemon) [/var/run/ebusd.pid] -
--localhost
Listen for command line connections on 127.0.0.1 interface only -
-p, --port=PORT
Listen for command line connections connections on PORT [8888] -
--httpport=PORT
Listen for HTTP connections on PORT, 0 to disable [0] -
--htmlpath=PATH
Path for HTML files served by HTTP port [/var/ebusd/html] -
--updatecheck=MODE
Set automatic update check to MODE (on|off) [on]
-
-l, --logfile=FILE
Write log to FILE (only for daemon) [/var/log/ebusd.log] -
--log=AREAS:LEVEL
Only write log for matching AREA(S) below or equal to LEVEL [all:notice].
This is an alternative form to using --logareas/--loglevel and allows to specify an individual level for each area by using the option multiple times. E.g. for having only bus messages in info level and all other in error level, use--log=all:error --log=bus:info. -
--logareas=AREAS
Only write log for matching AREA(S): main,network,bus,update,all [all].
This is the "old" form allowing to set one level for all areas only. Use "--log" for having an individual level per area instead. -
--loglevel=LEVEL
Only write log below or equal to LEVEL: error/notice/info/debug [notice].
This is the "old" form allowing to set one level for all areas only. Use "--log" for having an individual level per area instead.
-
--lograwdata[=bytes]
Log messages or all received/sent bytes on the bus (see raw command) -
--lograwdatafile=FILE
Write raw log to FILE [/var/log/ebusd.log] -
--lograwdatasize=SIZE
Make raw log file no larger than SIZE kB [100]
-
--dumpfile=FILE
Dump received bytes to FILE [/tmp/ebusd_dump.bin] -
--dumpsize=SIZE
Make dump files no larger than SIZE kB [100] -
-D, --dump
Enable dump of received bytes (see dump command) -
--dumpflush
Flush each dumped byte immediately. This is suitable for forwarding the data as is to another target without any delay.
If support for MQTT was built in (see dependencies), the following additional options are available (some depend on the library version compiled against):
-
--mqtttopic=TOPIC
Use MQTT TOPIC (prefix before /%circuit/%name or complete format including the option to publish by field when including "%field") [ebusd] -
--mqttretain
Set the retain flag on all topics instead of only selected global ones -
--mqttjson
Publish in JSON format instead of strings -
--mqttverbose
Publish all available attributes -
--mqttignoreinvalid
Ignore invalid parameters during init (e.g. for DNS not resolvable yet). -
--mqttchanges
Whether to only publish changed messages instead of all received -
--mqtthost=HOST
Connect to MQTT broker on HOST [localhost] -
--mqttport=PORT
Connect to MQTT broker on PORT (usually 1883), 0 to disable [0] -
--mqttclientid=ID
Set client ID for connection to MQTT broker [ebusd_<version>_<pid>] -
--mqttuser=USER
Connect as USER to MQTT broker (no default) -
--mqttpass=PASSWORD
Use PASSWORD when connecting to MQTT broker (no default) -
--mqttca=CA
Use CA file or dir (ending with '/') for MQTT TLS (no default) -
--mqttcert=CERTFILE
Use CERTFILE for MQTT TLS client certificate (no default) -
--mqttkey=KEYFILE
Use KEYFILE for MQTT TLS client certificate (no default) -
--mqttkeypass=PASSWORD
Use PASSWORD for the encrypted KEYFILE (no default) -
--mqttinsecure
Allow insecure TLS connection, e.g. a self signed certificate -
--mqttlog
Log library events -
--mqttversion=VERSION
Use protocol VERSION [3.1]
-
-?, --help
Give this help list -
--usage
Give a short usage message -
-V, --version
Print program version