v0.1.2 — Home Assistant mapping quality
v0.1.2 — Home Assistant mapping quality
A second hardening pass, driven by running the tool against more real public ETS projects spanning ETS 4.2 / 5.0 / 5.5 / 6 — yene/knxproj (DemoCase, 94 GAs), tuxedo0801/KnxProjParser, dataheld/knxray, and whaeuser/open-knxviewer. Zero crashes across the whole corpus; three new regression tests (six total).
These are quality fixes to the generated Home Assistant config — the tool now produces materially more complete and correct entities on messy, real-world .knxproj files.
✨ Improved
- Dimmable lights are assembled completely. A light now collects both its on/off status (1.x) and brightness status (5.x) through identity-based pairing, folds the on/off command into the same
lightentity (no more duplicateswitch), and pairs correctly even when the device identity is a single name token — e.g.HaloSpotLeft.A.VALUE↔HaloSpotLeft.A.STATE%. Switches gained the same identity-based status pairing, so far more entities now report real state. - Wider, safer shutter detection. A cover's up/down is recognised on canonical DPT 1.008 or any 1.x command named up/down (
UP/DOWN,auf/ab); stop is recognised on DPT 1.007 / 1.010 / 1.017 or a "stop / stopp / стоп" name. Position and stop siblings attach only to the same shutter (zone-identity guard), so multiple blinds in one main group no longer cross-wire. Real ETS4/5 projects that use1.001+1.017now map to full covers with position + state. - Date / time / text DPTs recognised (10.001 time, 11.001 date, 19.001 date-and-time, 16.000/16.001 character string): routed to
reviewasmanual_datetime/manual_text— pointing you at HA KNX's dedicated date/time/text platforms — instead of an opaqueunmapped_dpt.
🧪 Still a beta — testers welcome
Validation so far uses third-party fixtures. Real ETS projects vary enormously, so please try it on your own .knxproj (read-only, never touches a bus) and file a Real-project test report. See CONTRIBUTING.md.
Full changelog: v0.1.1...v0.1.2