KNXnetIP CircleCIcodecov

KNXnetIP is an Elixir library for communicating with devices on a KNX network using KNXnet/IP. The library enables its users to build applications which integrate with devices on a KNX network. To achieve this, the library provides:

KNXnetIP was specifically written to provide a tunnelling client which is:

If you're new to KNX, please check the KNXnet/IP introduction page for an overview of the most important parts.

To create a KNXnet/IP tunnelling client, you'll need to implement a callback module for the KNXnetIP.Tunnel behaviour. See the documentation for KNXnetIP.Tunnel for a thorough example and in-depth descriptions.

Maturity

The library has been used in production as part of the smart city energy lab EnergyLab Nordhavn since August 2017. It sends and receives telegrams to and from more than 30 apartments - and every month it processes more than 70 million telegrams.

We are quite happy with its performance and fault tolerance, but parts of the API are less than ideal. Fixing this will require breaking the API, so expect changes.

The library implements encoding and decoding of the following data structures:

The KNXnetIP.Tunnel behaviour sports the following features:

License

KNXnetIP is released under the MIT License. See the LICENSE file for further details.