knx_parser 1.6.0
knx_parser: ^1.6.0 copied to clipboard
A Dart library to parse KNX project files (.knxproj) from ETS5 and ETS6, including encrypted projects. Extracts data to JSON format.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.6.0 - 2026-02-03 #
Added #
- ETS version detection: Added
etsVersion("ETS5" or "ETS6") andschemaVersionfields toProjectInfoand JSON output. - ETS6 Segment device support: Fixed parsing of
DeviceInstanceelements nested withinSegmenttags (ETS6 structure).
Changed #
Segmentclass now includes adevicesproperty to support ETS6 project structure.Line.fromXmlnow combines devices from both direct children (ETS5) and Segment children (ETS6).
1.5.0 - 2026-02-02 #
Changed #
- Improved handling of ETS5 outer .knxproj archives that are not password-protected while still supporting ETS6 outer-encrypted projects.
- Refined error messages and comments to be fully in English for cleaner public API diagnostics.
1.4.0 - 2026-02-02 #
Added #
- Web support: Library can be compiled for web (dart compile js). Use
parseBytes(List<int> bytes, ...)in the browser;parse(String filePath)and file-based APIs remain VM-only via conditional import. io_stub.dartfor web builds (stub for dart:io whendart.library.htmlis defined).
Changed #
- Parser uses conditional import
dart:io/io_stubso the same code runs on VM and web. File.exists/Directory.existsusage aligned with dart:io API (getter, no parentheses).
1.3.0 - 2026-01-27 #
Added #
- ETS6 encryption support: Implements PBKDF2-HMAC-SHA256 password derivation for ETS6 encrypted projects.
- Auto-detection of ETS version based on schema version (ETS6 = schema >= 21).
- Support for both ETS5 (raw password) and ETS6 (derived password) encrypted projects.
Dependencies #
- Added
pointycastle: ^3.9.1for PBKDF2 key derivation. - Added
crypto: ^3.0.3for cryptographic operations.
1.2.0 - 2026-01-26 #
Added #
- Support for parsing secure KNX projects (AES encrypted
P-*.zipfiles) with password. - Parsing of
DeviceInstanceelements in Topology. - Parsing of
Securitykeys (ToolKey) for devices. - Parsing of
Keyfor Group Addresses. - Updated JSON export to include new device and security data.
1.0.0 - 2026-01-26 #
- Initial release
- Parse
.knxprojfiles (ZIP-based XML format from ETS6) - Extract project information (name, GUID, dates, style)
- Extract topology (Areas, Lines, Segments)
- Extract group addresses with formatted address support (e.g., 0/0/1)
- Extract group ranges with hierarchical structure
- Extract locations (Buildings, Spaces)
- Parse datapoint types (DPT) from knx_master.xml
- Export to structured JSON format
- Comprehensive unit tests
- Example usage script
Dependencies #
archive: ^3.6.1- ZIP file handlingxml: ^6.5.0- XML parsing