54 implement knxip connector for building automation#55
Merged
Conversation
- Added production status documentation in lib.rs. - Refactored tokio_client.rs to implement pending ACK tracking for outbound telegrams. - Introduced timeout detection for ACKs, with logging for timed-out sequences. - Updated group address parsing in examples to handle various data formats. - Added comprehensive integration tests for connection state management and frame building. - Implemented unit tests for group address parsing and formatting.
…s handling and protocol parsing
59 tasks
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR implements a KNX/IP connector for building automation, adding bidirectional communication with KNX bus systems. The implementation includes dual runtime support (Tokio and Embassy), protocol handling with automatic reconnection, ACK timeout detection, and comprehensive testing infrastructure.
Key Changes:
- KNX/IP connector with full tunneling protocol support
- Dual runtime implementations (Tokio for standard systems, Embassy for embedded)
- Comprehensive examples and deployment documentation
- Integration with knx-pico library for DPT type conversion
Reviewed Changes
Copilot reviewed 29 out of 30 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
aimdb-knx-connector/src/tokio_client.rs |
Core Tokio-based KNX client with connection management and telegram handling |
aimdb-knx-connector/src/embassy_client.rs |
Embassy-based KNX client for embedded systems |
aimdb-knx-connector/src/lib.rs |
Public API and feature flag configuration |
examples/tokio-knx-connector-demo/src/main.rs |
Demo application showing bidirectional KNX integration |
examples/embassy-knx-connector-demo/src/main.rs |
Embedded demo for STM32H563ZI with button control |
aimdb-knx-connector/tests/* |
Unit tests for group addresses, frames, and connection state |
aimdb-embassy-adapter/src/lib.rs |
New source_with_context method for hardware-dependent producers |
aimdb-embassy-adapter/src/buffer.rs |
Fixed Watch buffer to use persistent receiver |
_external/knx-pico |
Added submodule for KNX protocol implementation |
aimdb-mqtt-connector/src/embassy_client.rs |
Type alias cleanup for consistency |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #54
Added
tokio-knx-connector-demoexample with bidirectional controlembassy-knx-connector-demoexample for embedded systemsFixed
Known Limitations