4c9f26a638
- Introduced a new XML file `InfoLed.part.xml` to define the Info LED configuration for the KNX application. - The file includes manufacturer data, application programs, and dynamic parameter blocks for configuring Info LEDs. - Logic for showing/hiding default checkboxes and function tables based on user selections is implemented. - Parameter blocks are structured to allow customization of Info LEDs with appropriate UI hints and layout. Signed-off-by: Tony <tonylu@tony-cloud.com>
55 lines
3.3 KiB
Markdown
55 lines
3.3 KiB
Markdown
# 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:
|
|
|
|
```sh
|
|
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:
|
|
|
|
```sh
|
|
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. |