KNX IoT
KNX IoT Point API stack implementation
KNX IoT Point API Stack

The file oc_api.h is the main entry for all server and client related stack functions.An KNX IOT Point API device contains:

  • initialization functionality
  • Server side Server exposing data points
  • Client side Client sending s-mode commands

The Stack implements functionality like:

  • the CoAP client and server
  • OSCORE security
  • .well-known/core discovery
  • Table implementation:
    • Group object table
    • Credential table (e.g. auth/at entries)
    • Recipient table
    • functionality to handle the s-mode objects & transmission flags.

Therefore an KNX IoT Point API application exist of:

  • Code for each specific data points (handling GET/POST)
  • own code to talk to hardware
  • Device specific (functional specific) callbacks
  • main loop

Examples of functional devices :

handling of transmission flags

  • Case 1 (write data):
    • Received from bus: -st w, any ga
    • receiver does: c flags = w -> overwrite object value
  • Case 2 (update data):
    • Received from bus: -st rp, any ga
    • receiver does: c flags = u -> overwrite object value
  • Case 3 (inform change):
    • sender: updated object value + cflags = t
    • Sent: -st w, sending association (1st assigned ga) Note: this will be done when Case 1 & Case 2 have updated a value.
  • Case 4 (request & respond):
    • sender: c flags = r
    • Received from bus: -st r
    • Sent: -st rp, sending association (1st assigned ga)
  • Case 5 (update at start up):
    • sender: c flags = i
    • After device restart (power up)
    • Sent: -st r, sending association (1st assigned ga)