Skip to content

v0.3.0 — device library + spec→structure

Choose a tag to compare

@NickoScope NickoScope released this 01 Jul 16:33

Spec→structure: a device library and a design methodology, plus the as-built handover pack.

This release turns the tool from a .knxproj validator into a design aid: from a project spec you can now expand each device into its group-address recipe and reason about the whole structure. Shipped alongside the Track B project handover pack and a set of noise-reduction refinements, the latter two driven by a second real signed Zennio project (a 3646-GA multi-vendor villa, 5× larger, no ETS Functions).

Added

  • Device library + decompose_device — one device is not one GA (new MCP tools decompose_device + list_device_recipes). Each actuator channel expands into command / status / dimming (3.007) / absolute value / position (5.001) / HVAC mode (20.102/20.105) / colour (232.600/251.600) objects, each with its DPT. Given a manufacturer order number, device type or alias (e.g. ZDIDBDX4, dimmer, JRA/S, presence detector) and a channel count, it returns the objects a professional wires per channel and the total GA count — so a spec/ТЗ device list becomes a group-address structure. Recipes span switch, dimmer, RGBW LED, shutter/blind, floor-heating, AC gateway, DALI, presence, metering, leak and touch-panel families across Zennio + ABB. Generic vendor facts compiled from KNX manufacturer ETS databases and public docs (typical-wired subset, not the full master menu).
  • docs/spec-to-structure.md — the spec→structure methodology. The reverse of validation (design a structure from a spec), the decompose_device pipeline, and an honest measured account: ~90 % is reproducible (taxonomy, domains, logic structure, command/status pairing, DPT discipline); the exact per-device object count is not — it varies 2–9× between projects, so predict a range, never a false-precise number.
  • generate_handover_pack — the as-built commissioning deliverable (Track B). From a read-only .knxproj: handover.md (equipment inventory, GA-domain map, command/status coverage %, KNX Secure scope, QA state), a standalone topology.svg, the full group-addresses.csv and ha-package.yaml.
  • De-noise refinements: divider/separator scratch detection, [LF] logic-object DPT awareness (INFO not warning), and central-macro status tolerance (fan-out broadcasts surface as INFO).

Fixed

  • Handover domain names now read main/middle range names from the project's GroupRanges instead of a mislabelable GARecord.main_name.

Full changelog: https://github.com/NickoScope/nickol-knx-mcp/blob/main/CHANGELOG.md