Skip to content
John edited this page Apr 23, 2017 · 66 revisions

Introduction

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.

Command-line

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].

Device options

  • -d, --device=DEV
    Use DEV as eBUS device (device or [udp:]ip:port) [/dev/ttyUSB0]

  • -n, --nodevicecheck
    Skip serial eBUS device test

  • --readonly
    Only read from device, never write to it

  • --initsend
    Send an initial escape symbol after connecting device

  • --latency=USEC
    Transfer latency in us [0 for USB, 10000 for IP]

Message configuration options

  • -c, --configpath=PATH
    Read CSV config files from PATH [/etc/ebusd]

  • -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]

eBUS options

  • -a, --address=ADDR
    Use ADDR as own bus address [31]

  • --acquireretries=COUNT
    Retry bus acquisition COUNT times [2]

  • --acquiretimeout=USEC
    Stop bus acquisition after USEC us [9400]

  • --answer
    Actively answer to requests from other masters

  • --generatesyn
    Enable AUTO-SYN symbol generation

  • --numbermasters=COUNT
    Expect COUNT masters on the bus, 0 for auto detection [0]

  • --receivetimeout=USEC
    Expect a slave to answer within USEC us [25000]

  • --sendretries=COUNT
    Repeat failed sends COUNT times [2]

Daemon options

  • --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 (see Hex)

  • --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]

Log options

  • -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/--logevel 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.

Raw logging options

  • --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]

Binary dump options

  • --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)

MQTT options

If support for MQTT was built in (see dependencies), the following additional options are available:

  • --mqtttopic=TOPIC
    Use MQTT TOPIC (prefix before /%circuit/%name or complete format including the option to publish by field when including "%field") [ebusd]

  • --mqtthost=HOST
    Connect to MQTT broker on HOST [localhost]

  • --mqttport=PORT
    Connect to MQTT broker on PORT (usually 1883), 0 to disable [0]

  • --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)

Other options

  • -?, --help
    Give this help list

  • --usage
    Give a short usage message

  • -V, --version
    Print program version

Clone this wiki locally