From 5322e8a175844b6ffe19bfcf2203dd98096eec53 Mon Sep 17 00:00:00 2001 From: Nikolay Miroshnichenko Date: Sun, 28 Jun 2026 21:59:45 +0200 Subject: [PATCH] Clarify: generated demo .knxproj does not import into stock ETS (no valid signature) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A professional KNX engineer confirmed ETS rejects the programmatically-authored demo project on import ('Project file has no valid signature') — ETS signs its own projects and that can't be forged. Document the real-file path: import the GA export XML into ETS and export from there. Co-Authored-By: Claude Opus 4.8 --- examples/demo-home/README.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/examples/demo-home/README.md b/examples/demo-home/README.md index e1039e1..0f90254 100644 --- a/examples/demo-home/README.md +++ b/examples/demo-home/README.md @@ -45,10 +45,15 @@ Inventory: 239 GAs · 47 Functions · 0 errors that block parsing. The HA genera ## ⚠️ Caveats (please read) -- **Synthetic & generated.** This `.knxproj` was authored programmatically (ETS6 schema - `project/22`) — not exported from ETS. It parses cleanly with `xknxproject` (the library this - tool uses) and is intended for **tool validation and demonstration**. It has **not** been - verified to open in ETS6 itself; a real ETS-authored export is the gold standard for that. +- **Synthetic & generated — does NOT import into stock ETS.** This `.knxproj` was authored + programmatically (ETS6 schema `project/22`) — not exported from ETS. It parses cleanly with + `xknxproject` (the library this tool uses) and is intended for **tool validation and + demonstration**. A professional KNX engineer confirmed that **ETS rejects it on import** + (*"Project file has no valid signature"*) — ETS cryptographically signs its own projects and + that signature can't be forged (by design). So: use this file with xknxproject-based tooling. + To get a real, ETS-signed project, **import the group-address export** (`generated/group-addresses.xml`) + into a fresh ETS project via *Import Group Addresses* and **export** from ETS — that file opens + everywhere and is the gold standard. - **The flaws are on purpose.** Do not "fix" them — they are the point. - **`ha-brain/` is a design demo.** Valid Home Assistant YAML built on best practices, but not deployed against a live bus here; entity IDs assume the names `generate_ha_package` produces.