Skip to content

Repository files navigation

OFM-Network

This module provides the network functionality for the OpenKNX stack.

Platforms

  • ARDUINO_ARCH_ESP32
  • ARDUINO_ARCH_RP2040

Defines

ArchTypeStackDefineNote
ESP32WiFiIntegratedKNX_IP_WIFI
ESP32LANIntegratedKNX_IP_LANYou need to set right board and presumably CONFIG_ETH_ENABLED
RP2040WiFiIntegratedKNX_IP_WIFI
RP2040LANIntegratedKNX_IP_LAN
DefineDefaultDescriptionNote
OPENKNX_LED_IPLED used for IP stateSet to info2Led to use IP LED feature
OPENKNX_PINGEnable ping functionalityRequires inclusion of Header in setup
OPENKNX_PING_TIMEOUT1000Default ping timeout in millisecondsCan be overridden per call
OPENKNX_PING_PARALLEL5Max concurrent pingsAdditional requests are queued automatically
OPENKNX_WEBCLIENTEnable HTTP(S) clientSee below for API
OPENKNX_WEBCLIENT_SLOTS2Parallel request slots (RP2040) / queue depth (ESP32)
OPENKNX_WEBCLIENT_TIMEOUT10000Request timeout in milliseconds
OPENKNX_WEBCLIENT_TASK_STACK6144ESP32 FreeRTOS task stack size (bytes)SSL handshake requires ~4 KB
OPENKNX_WEBCLIENT_MAX_BODY4096Max request body size (bytes)

IP LED

If OPENKNX_LED_IP is defined, the LED is representing the state of the network. Possible values for OPENKNX_LED_IP: info1Led, info2Led, info3Led. Recommended value: info2Led

StateLEDRGB-LEDNote
WLAN configuration missingFast flashingRed fast flashingOnly for HW with WLA
No connection to the networkOffRed
No IP adressSlow flashingYellow
IP adress assignedOnGreen

Ping

The module provides a non-blocking ping API with an internal queue, parallel slot management, and optional retry logic.

Full documentation: README.Ping.md

Webclient

#define OPENKNX_WEBCLIENT enables a non-blocking HTTP/HTTPS client accessible via openknxNetwork.webclient.

Full documentation: README.Webclient.md

OTA

The network module provides OTA (Over the Air) firmware update functionality. OTA must first be enabled on the device. This can be done by pressing the PROG button or via the console using the ota command.

A section must be added to platformio.custom.ini as an OTA target, specifying the upload protocol and the IP address or hostname of the device:

upload_protocol = espota
upload_port = XXX.XXX.XXX.XXX # IP Address or Hostname

Note: The device hostname can be set in ETS under the Network → mDNS section.

Webserver

The built-in HTTP/WebSocket server is documented in README.Webserver.md.

It also offers an optional group monitor (OPENKNX_WEBMONITOR) — an ETS-style live view of all KNX telegrams at /groupmonitor, available on devices with a TP connection (MASK_VERSION == 0x07B0). See README.Webserver.md.

MQTT

The built-in MQTT 3.1.1 client and broker is documented in README.MQTT.md.

About

OpenKNX Function Modul for Configuration of IP-Devices

Resources

Stars

1 star

Watchers

7 watching

Forks

Releases

Packages

Contributors

Languages