Skip to main content

Crate knx_rs_prod

Crate knx_rs_prod 

Source
Expand description

Cross-platform .knxprod generator for KNX ETS product databases.

Replaces the Windows-only ETS DLLs for generating .knxprod files. Takes a monolithic KNX product XML (as produced by OpenKNXproducer) and generates a signed .knxprod ZIP archive importable by ETS.

§Pipeline

  1. Parse — extract metadata (namespace, manufacturer ID, application ID)
  2. Split — split monolithic XML into Catalog.xml, Hardware.xml, Application.xml
  3. Sign — hash and sign XML files (not yet implemented)
  4. Package — ZIP into .knxprod

§Example

use std::path::Path;
use knx_rs_prod::generate_knxprod;

generate_knxprod(
    Path::new("NeoPixel.xml"),
    Path::new("NeoPixel.knxprod"),
).expect("failed to generate knxprod");

Modules§

archive
ZIP packaging for .knxprod files.
error
Error types for knxprod generation.
hash
ApplicationProgram hashing for KNX ETS product databases.
parse
XML parsing and metadata extraction for KNX product XML files.
sign
Sign KNX ApplicationProgram XML files.
split
Split a monolithic KNX product XML into separate files per ETS convention.

Functions§

generate_knxprod
Generate a .knxprod file from a KNX product XML.