Files
gateway/components/gateway_knx/oam_knxprod

Gateway OAM IP Router KNX Product XML

This folder contains the gateway-owned OpenKNXproducer source for the OAM-compatible BAU091A KNX/IP Router persona.

The source is derived from the upstream OpenKNX OAM-IP-Router database and merges the secure application metadata used by OAM-AccessControl:

  • Manufacturer: 0x00FA
  • Application: 0xA11F
  • Version: 0x07
  • Mask: MV-091A
  • Tunnels: 16
  • Security: IsSecureEnabled="true"
  • Default language: en-US
  • Translations: zh-CN, de-DE, ja-JP

The XML keeps the upstream router/coupler shape and absolute memory segment while adding KNXnet/IP Secure download hooks for:

  • OT-11 PID 94, PID_SECURED_SERVICE_FAMILIES
  • OT-11 PID 97, PID_TUNNELLING_USERS
  • OT-6 PID 81, PID_SECURITY_PROXY_GRP_KEY_TABLE

The secure proxy capability is advertised with CouplerCapabilities="SecurityProxy" on Hardware2Program and MaxSecurityProxyGroupKeyTableEntries on the application program, matching the secure proxy-enabled ETS database shape.

The OpenKNX module dependencies needed by this producer source are vendored under deps/ so generation does not require an external OpenKNX checkout:

  • deps/OGM-Common/ provides Common.share.xml, Common.Router.share.xml, InfoLed.part.xml, Common.script.js, library.json, and producer baggage assets.
  • deps/OFM-Network/ provides Network.share.xml, Network.script.js, library.json, and producer baggage assets.

Dependency strings are localized by Gateway-Dependency-Translations.xml. Dependency context-help documents are kept with the vendored modules in German plus translated English, Chinese, and Japanese help folders; the generated application uses the English help source as its default context help through OpenKNXproducer's legacy context-help baggage placeholder. OpenKNXproducer still emits that selected context-help baggage with its legacy Help_de.zip generated name, so keep the Help_en.zip source mapped to the %FILE-HELP-de% placeholder unless producer support for language-specific context-help baggage changes.

The runtime identity must stay synchronized with gateway/components/gateway_knx/include/gateway_knx_internal.h and the OAM router Kconfig defaults in gateway/apps/gateway/main/Kconfig.projbuild.

Validation

Run a well-formed XML check from the repository root:

xmllint --noout \
	gateway/components/gateway_knx/oam_knxprod/*.xml \
	gateway/components/gateway_knx/oam_knxprod/deps/OGM-Common/src/*.xml \
	gateway/components/gateway_knx/oam_knxprod/deps/OFM-Network/src/*.xml

Then run OpenKNXproducer with Gateway-OAM-IP-Router.xml and import the generated product database into ETS. ETS validation should confirm the router imports as a secure-capable KNX/IP router, exposes 16 tunneling interfaces, and supports secure tunneling plus security proxy table download/verify.

For a local sanity check without ETS or the KNX XSD support folder installed, run:

OpenKNXproducer create --NoXsd \
	-h /tmp/gateway_oam_knxprod.h \
	-o /tmp/Gateway-OAM-IP-Router.knxprod \
	gateway/components/gateway_knx/oam_knxprod/Gateway-OAM-IP-Router.xml

This verifies OpenKNXproducer include expansion, generated IDs, translation references, and internal sanity checks. A full .knxprod export still requires ETS on the machine running OpenKNXproducer.