Discussions badge + call-to-action linking to Discussion #1, plus a nav 'Discuss'
link and a CTA button on the landing site.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Ready-to-post messages for GitHub Discussions, KNX User Forum, Home Assistant
forum, Reddit, Discord, Telegram (RU) and an awesome-mcp-servers catalog entry.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Five real screenshots of the live Demo House dashboard (overview/climate/lighting/
energy/presence). The site now leads with a real screenshot gallery (interactive
mock kept below), and both READMEs gain a live-dashboard gallery section.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add a linked SVG hero banner (docs/assets/banner.svg), a 'live demo' badge, a
heading link and a callout pointing to the GitHub Pages site and the demo house,
in both README.md and README.ru.md.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Self-contained HTML showcase: hero, two-layer architecture, demo-house stats +
the 5 planted mistakes, an interactive 5-tab dashboard preview (Overview/Climate/
Lighting/Energy/Presence), the HA brain, and a testers CTA. .nojekyll included.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
A 5-view sections dashboard (Overview · Climate · Lighting · Energy & Stats ·
Presence) using only built-in cards (tile/gauge/heading/history-graph/markdown/
button + badges), wired to the demo-home brain entities.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
A synthetic 239-GA / 47-Function demo .knxproj (ETS6 schema, parseable by
xknxproject) with 5 deliberate mistakes, the tool's generated artifacts
(project report, Home Assistant entities, ETS XML/CSV), and a ha-brain/ smart
layer: circadian lighting, an 8-factor climate setpoint, presence/season/time
state machine and statistics. Whitelist the demo .knxproj past the *.knxproj
gitignore (synthetic, no real topology/secrets).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bump to 0.1.2 and finalize CHANGELOG. Second hardening pass (round-2 public
ETS4/5/6 fixtures): complete dimmable lights, wider shutter detection
(1.001/1.017 + zone-identity guard), and date/time/text DPT routing.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Round-2 fixes found by running against more public ETS4/5/6 fixtures (yene
DemoCase, KnxProjParser, knxray, open-knxviewer):
- Lights assemble both on/off and brightness status via identity-based pairing
and fold the on/off command into one light entity (no duplicate switch),
pairing even when device identity is a single name token. Switches too.
- Cover up/down recognised on 1.008 or any 1.x named up/down; stop on
1.007/1.010/1.017 or a stop-name. Siblings attach only to the same shutter
(zone-identity guard) so multiple blinds don't cross-wire.
- Date/time/text DPTs (10/11/16/19) route to review (manual_datetime/manual_text).
- Add regression tests for all three.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bump version to 0.1.1 and finalize CHANGELOG. This release bundles the fixes
found by running the tool against real ETS5/ETS6 project files: the critical
load_project recursion, the now-implemented ETS Function role pairing, no-silent
-drops in HA generation, smarter shutter/German classification, venetian slat
tilt handling, and diagnostics alarms as binary_sensors. 5 regression tests added.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Venetian slat GAs (Lamelle/slat/tilt) attach to their parent blind cover as
move_short_address instead of becoming standalone covers; unmatched slats are
flagged shutter_slat_unattached for manual attachment.
- 1-bit diagnostics GAs (wind/frost/smoke/leak alarm, fault) become a read-only
binary_sensor instead of a phantom command switch.
- Add regression tests for both.
Backlog item #6 from VALIDATION-FINDINGS, surfaced by real ETS fixtures.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- generate_ha now lists every unmapped GA in `review` instead of dropping it
silently ("no silent caps"); YAML header reports the review count.
- Shutter category recognises German/directional names (Behang, Lamelle,
auf/ab, Raffstore, Markise, RU equivalents). Shutter-looking commands with an
incomplete DPT get an actionable `shutter_incomplete_dpt` review hint instead
of vanishing.
- Add regression tests for both.
Backlog items #4 and #5 from VALIDATION-FINDINGS, surfaced by real ETS fixtures.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Implement pairing.function_status_pairs(): pair command<->status GAs from ETS
Function roles (SwitchOnOff<->InfoOnOff etc.), used by check_missing_status and
the HA generator. Fixes false "missing status" on function-paired commands and
gives HA entities the correct state_address even when the feedback GA is named
only "Status". Add a regression test.
Found via real-ETS6 fixture testing: Functions were previously ignored despite
the README claiming they were the primary pairing signal.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The server tool function `load_project` shadowed the imported project loader,
so it called itself instead of the parser -> RecursionError on every real
.knxproj. Alias the import as `load_project_file` and call that.
Add a regression test (server.load_project on a bad path must not raise
RecursionError) and a CHANGELOG entry. Found via end-to-end testing against
real ETS5/ETS6 fixtures from XKNX/xknxproject.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Design-time MCP server that reads .knxproj (read-only), validates naming/DPT/status,
and generates Home Assistant KNX YAML + ETS-importable group addresses (XML/CSV).
No live bus access — confined-workspace writes only.
Includes: 12 MCP tools, end-to-end smoke test, MIT license, English-first README
(+ Russian), CONTRIBUTING with a real-project test call, SECURITY policy, CHANGELOG,
GitHub Actions CI (Python 3.10–3.12), and issue/PR templates.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>