docs
This commit is contained in:
@@ -1,3 +1,10 @@
|
|||||||
|
# next (tbd)
|
||||||
|
## Buf Fixes
|
||||||
|
* fix potentially invalid settings picked up from environment variables
|
||||||
|
## Features
|
||||||
|
* tbd
|
||||||
|
|
||||||
|
|
||||||
# 22.4 (2022-09-18)
|
# 22.4 (2022-09-18)
|
||||||
## Bug Fixes
|
## Bug Fixes
|
||||||
* fix some smaller glitches (short argument names, compilation on small devices, argument help)
|
* fix some smaller glitches (short argument names, compilation on small devices, argument help)
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ ebusd is a daemon for handling communication with eBUS devices connected to a
|
|||||||
[](https://github.com/john30/ebusd/releases/latest)
|
[](https://github.com/john30/ebusd/releases/latest)
|
||||||
[](https://github.com/john30/ebusd/discussions)
|
[](https://github.com/john30/ebusd/discussions)
|
||||||
[](https://github.com/sponsors/john30)
|
[](https://github.com/sponsors/john30)
|
||||||
|
[](https://paypal.me/ebusd)
|
||||||
|
|
||||||
Features
|
Features
|
||||||
--------
|
--------
|
||||||
@@ -18,7 +19,7 @@ Features
|
|||||||
The main features of the daemon are:
|
The main features of the daemon are:
|
||||||
|
|
||||||
* use one of these device connections:
|
* use one of these device connections:
|
||||||
* USB serial
|
* serial (via USB or integrated UART)
|
||||||
* TCP
|
* TCP
|
||||||
* UDP
|
* UDP
|
||||||
* enhanced ebusd protocol allowing arbitration to be done directly by the hardware, e.g. for recent
|
* enhanced ebusd protocol allowing arbitration to be done directly by the hardware, e.g. for recent
|
||||||
@@ -42,7 +43,7 @@ The main features of the daemon are:
|
|||||||
* publish received data to [MQTT topics](https://github.com/john30/ebusd/wiki/3.3.-MQTT-client) and vice versa (if authorized)
|
* publish received data to [MQTT topics](https://github.com/john30/ebusd/wiki/3.3.-MQTT-client) and vice versa (if authorized)
|
||||||
* announce [message definitions and status by MQTT](https://github.com/john30/ebusd/wiki/MQTT-integration) to e.g. integrate with [Home Assistant](https://www.home-assistant.io/) using [MQTT Discovery](https://www.home-assistant.io/docs/mqtt/discovery/)
|
* announce [message definitions and status by MQTT](https://github.com/john30/ebusd/wiki/MQTT-integration) to e.g. integrate with [Home Assistant](https://www.home-assistant.io/) using [MQTT Discovery](https://www.home-assistant.io/docs/mqtt/discovery/)
|
||||||
* support MQTT publish to [Azure IoT hub](https://docs.microsoft.com/en-us/azure/iot-hub/) (see [MQTT integration](https://github.com/john30/ebusd/wiki/MQTT-integration))
|
* support MQTT publish to [Azure IoT hub](https://docs.microsoft.com/en-us/azure/iot-hub/) (see [MQTT integration](https://github.com/john30/ebusd/wiki/MQTT-integration))
|
||||||
* publish message data to KNX groups and answer to read requests from KNX
|
* act as a [KNX device]((https://github.com/john30/ebusd/wiki/3.4.-KNX-device)) by publishing received data to KNX groups and answer to read/write requests from KNX, i.e. build an eBUS-KNX bridge
|
||||||
* [user authentication](https://github.com/john30/ebusd/wiki/3.1.-TCP-client-commands#auth) via [ACL file](https://github.com/john30/ebusd/wiki/2.-Run#daemon-options) for access control to certain messages
|
* [user authentication](https://github.com/john30/ebusd/wiki/3.1.-TCP-client-commands#auth) via [ACL file](https://github.com/john30/ebusd/wiki/2.-Run#daemon-options) for access control to certain messages
|
||||||
|
|
||||||
|
|
||||||
@@ -56,7 +57,7 @@ or pick the [package from the Alpine Linux repository](https://pkgs.alpinelinux.
|
|||||||
build it yourself, or use a docker image (see below).
|
build it yourself, or use a docker image (see below).
|
||||||
|
|
||||||
Building ebusd from the source requires the following packages and/or features:
|
Building ebusd from the source requires the following packages and/or features:
|
||||||
* autoconf (>=2.63) + automake (>=1.11) or cmake
|
* autoconf (>=2.63) + automake (>=1.11) or cmake (>=3.7.1)
|
||||||
* g++ with C++11 support (>=4.8.1)
|
* g++ with C++11 support (>=4.8.1)
|
||||||
* make
|
* make
|
||||||
* kernel with pselect or ppoll support
|
* kernel with pselect or ppoll support
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
# Configuration file for ebusd KNX integration with knxd (https://github.com/knxd/knxd).
|
# Configuration file for ebusd KNX integration with KNXnet/IP and/or [knxd](https://github.com/knxd/knxd).
|
||||||
|
|
||||||
# Use this file with ebusd to establish a bridge between KNX and eBUS for a set of messages.
|
# Use this file with ebusd to establish a bridge between KNX and eBUS for a set of messages.
|
||||||
# The commandline options to ebusd should contain e.g.:
|
# The commandline options to ebusd need to include "--knxurl=..." in order to activate KNX support.
|
||||||
# --knxurl=ip:localhost --knxint=/etc/ebusd/knx.cfg
|
|
||||||
|
|
||||||
# Currently only reading from and writing to group addresses as defined here is supported.
|
# Currently only reading from and writing to group addresses as defined here is supported.
|
||||||
# Setting the addresses via ETS is not (yet) possible as well as setting the physical address.
|
# Setting the addresses via ETS is not (yet) possible as well as setting the physical address.
|
||||||
@@ -52,21 +51,21 @@ global/scan = 9/5
|
|||||||
# - D1C, D2B, D2C, FLT, FLR: 2 octet, signed float, DPT 9.*
|
# - D1C, D2B, D2C, FLT, FLR: 2 octet, signed float, DPT 9.*
|
||||||
# - EXP, EXR: 4 octet, signed float, DPT 14.*
|
# - EXP, EXR: 4 octet, signed float, DPT 14.*
|
||||||
#
|
#
|
||||||
# note: the float conversion from ebus to KNX may loose precision due to the KNX DPT 9 not being able to carry more than
|
# note: the float conversion from eBUS to KNX may lose precision due to the KNX DPT 9 not being able to carry more than
|
||||||
# two digits after the decimal point and having a mantissa of only 11 bits.
|
# two digits after the decimal point and having a mantissa of only 11 bits.
|
||||||
# Consequently, when writing a 2-octet float to ebusd, a consecutive read on the same group address is likely to reveal
|
# Consequently, when writing a 2-octet float to ebusd, a consecutive read on the same group address is likely to reveal
|
||||||
# a different value if it was using more than two digits after the decimal point or exceeding the KNX float mantissa
|
# a different value if it was using more than two digits after the decimal point or exceeding the KNX float mantissa
|
||||||
# range, e.g.:
|
# range, e.g.:
|
||||||
# - an ebus D2B value of 10.004 will read as 10.00 2-octet float on KNX,
|
# - an eBUS D2B value of 10.004 will read as 10.00 2-octet float on KNX,
|
||||||
# - an ebus UIN with divisor 100 (like heating curve) value of 655.34 will read as 655.04 2-octet float on KNX,
|
# - an eBUS UIN with divisor 100 (like heating curve) value of 655.34 will read as 655.04 2-octet float on KNX,
|
||||||
# - writing a KNX 2-octet float value of 12.34 to an ebus UIN with divisor 10 will actually write 12.3 and read as 12.3.
|
# - writing a KNX 2-octet float value of 12.34 to an eBUS UIN with divisor 10 will actually write 12.3 and read as 12.3.
|
||||||
#
|
#
|
||||||
# note: writing to ebus via KNX currently is only possible if the ebus message contains a single field respectively at
|
# note: writing to eBUS via KNX currently is only possible if the eBUS message contains a single field respectively at
|
||||||
# most one non-ignored field. this is due to otherwise the value to be set for the other fields would have to be
|
# most one non-ignored field. this is due to otherwise the value to be set for the other fields would have to be
|
||||||
# determined first which is mostly not possible. Group associations to write messages not fulfilling this requirement
|
# determined first which is mostly not possible. Group associations to write messages not fulfilling this requirement
|
||||||
# are silently ignored.
|
# are silently ignored.
|
||||||
#
|
#
|
||||||
# note: the mapping for reads/writes from KNX is done as follows:
|
# note: the mapping for reads/writes from KNX is done as follows:
|
||||||
# - for KNX read, the precedence on picking the ebus message is: active read, passive read+write.
|
# - for KNX read, the precedence on picking the eBUS message is: active read, passive read+write.
|
||||||
# - for KNX write, the precedence on picking the ebus message is: active write only.
|
# - for KNX write, the precedence on picking the eBUS message is: active write only.
|
||||||
broadcast/datetime/outsidetemp = 9/10
|
broadcast/datetime/outsidetemp = 9/10
|
||||||
|
|||||||
@@ -24,6 +24,10 @@
|
|||||||
|
|
||||||
namespace ebusd {
|
namespace ebusd {
|
||||||
|
|
||||||
|
/** @file lib/knx/knxd.h
|
||||||
|
* KNXd based implementation of the @a KnxConnection interface.
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A KnxConnection based on libeibclient using the group communication interface of the connected KNXd.
|
* A KnxConnection based on libeibclient using the group communication interface of the connected KNXd.
|
||||||
* Unfortunately, this does not allow acting as a KNX device, i.e. enter programming mode and make individual address
|
* Unfortunately, this does not allow acting as a KNX device, i.e. enter programming mode and make individual address
|
||||||
|
|||||||
@@ -39,6 +39,10 @@
|
|||||||
|
|
||||||
namespace ebusd {
|
namespace ebusd {
|
||||||
|
|
||||||
|
/** @file lib/knx/knxnet.h
|
||||||
|
* KNXnet/IP implementation of the @a KnxConnection interface based on UDP multicast.
|
||||||
|
*/
|
||||||
|
|
||||||
using std::string;
|
using std::string;
|
||||||
|
|
||||||
// 16 bit unsigned big endian
|
// 16 bit unsigned big endian
|
||||||
|
|||||||
Reference in New Issue
Block a user