KNXnetIP v0.2.0 KNXnetIP View Source

KNXnetIP has three main components for translating messages between the KNXnet/IP wire protocol and Elixir datatypes:

  • KNXnetIP.Frame: Codecs for KNXnet/IP UDP frame structures, which are used to implement the KNXnet/IP services. KNXnet/IP Core services implement connection management, while the Tunnelling services carry KNX telegrams to and from the KNX bus.
  • KNXnetIP.Telegram: Codecs for KNX telegrams. KNX telegrams contain data from all layers of the KNX application stack, but KNXnetIP only concerns itself with data from the application layer.
  • KNXnetIP.Datapoint: Codecs for KNX datapoints. Translates datapoints, which are encoded as KNX datatypes, to Elixir datatypes.

In addition to the codec functionality, the KNXnetIP.Tunnel module provides a behaviour for KNXnet/IP clients. It handles establishment and maintenance of a KNXnet/IP Tunnel connection, and provides hooks for the callback module to send and receive telegram traffic to and from the KNX bus.