Skip to content

v0.7.0 — exact device models: local catalog + app-program parser (25 tools)

Choose a tag to compare

@NickoScope NickoScope released this 02 Jul 04:52

What's new

Exact device decomposition from a local catalog

decompose_device can now return the exact vendor object model instead of a generic recipe. Point the NICKOL_KNX_CATALOG env var at a device-library YAML file or directory and matching devices come back as source: catalog-exact — real per-channel blocks, object counts, app-program version, and first-instance objects with their true DPTs. Anything not in the catalog falls back to the built-in recipes (source: recipe-approximate); with the env unset, behaviour is unchanged. Objects the vendor app-program leaves without a DatapointType stay dpt: null — never guessed. The catalog itself is vendor data kept local, not shipped.

New tool: parse_devices_from_project (now 25 MCP tools)

A deterministic parser (appprog_parser.py) that extracts exact device comm-object models from the M-* application programs inside a .knxproj / .knxprod: order number (via the nested <Product>), app-program version, DPST-x-yx.00y, per-channel block/stride detection, and a coverage manifest. Read-only and PII-safe — it never reads the client project (P-*/0.xml). With output_path it writes device-library YAML into the workspace, closing the loop: parse → catalog → decompose_device (catalog-exact).

Full changelog: v0.6.0...v0.7.0