Skip to content

new: ConfirmedPrivateTransfer / UnconfirmedPrivateTransfer support in BacnetClient#200

Merged
gralin merged 1 commit into
masterfrom
new/confirmed-private-transfer
Jul 4, 2026
Merged

new: ConfirmedPrivateTransfer / UnconfirmedPrivateTransfer support in BacnetClient#200
gralin merged 1 commit into
masterfrom
new/confirmed-private-transfer

Conversation

@gralin

@gralin gralin commented Jul 4, 2026

Copy link
Copy Markdown
Member

Adds send/receive support for the PrivateTransfer services to BacnetClient. The library already had the encoders but no decoders, client methods, or events, so proprietary services could not be invoked or served.

  • OnPrivateTransfer event (confirmed + unconfirmed)
  • PrivateTransferRequest / Begin / End; SendUnconfirmedPrivateTransfer
  • PrivateTransferResponse and PrivateTransferErrorResponse (Result(-))
  • DecodePrivateTransfer, Encode/DecodePrivateTransferError

Tested with 14 unit tests using the ASHRAE 135 Annex F.4.2/F.4.3 golden vectors and the clause 19.4.2 max-conveyable-APDU message, plus an in-memory client<->server round-trip. Also validated end-to-end against bacnet-stack 1.5.0 (C) over Docker, both directions.

Closes #154

@gralin gralin force-pushed the new/confirmed-private-transfer branch 2 times, most recently from 6c51e98 to 651ea0f Compare July 4, 2026 16:11
… BacnetClient

BacnetClient could encode ConfirmedPrivateTransfer/UnconfirmedPrivateTransfer
(ASHRAE 135 clauses 16.2/16.3) but had no way to send or receive them. Add
PrivateTransferRequest (+Begin/End), SendUnconfirmedPrivateTransfer, the
OnPrivateTransfer event, and PrivateTransferResponse/PrivateTransferErrorResponse,
plus the missing decoders (incl. ConfirmedPrivateTransfer-Error). Tests use the
Annex F.4.2/F.4.3 golden vectors and the clause 19.4.2 test message.
@gralin gralin force-pushed the new/confirmed-private-transfer branch from 651ea0f to 4998a31 Compare July 4, 2026 18:14
@gralin gralin merged commit 9bc303c into master Jul 4, 2026
4 checks passed
@gralin gralin deleted the new/confirmed-private-transfer branch July 4, 2026 18:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BACnetClient Needs PrivateTransfer Request Support

1 participant