BACnet.Protocol.Services.Ack.ReadRangeAck (bacstack v0.1.0-dev.1)

Copy Markdown View Source

The Read Range Acknowledgment is the response to a successful Read Range service request against a Trend Log, Event Log, or other log object.

It returns a sequence of Log Records (or Event Log Records) along with metadata such as the first sequence number returned, whether more items exist beyond the response, and optional timestamps. This service is the primary way clients retrieve historical trend or event data from BACnet devices.

Summary

Types

t()

Response payload for a successful Read Range.

Types

t()

@type t() :: %BACnet.Protocol.Services.Ack.ReadRangeAck{
  first_sequence_number: BACnet.Protocol.ApplicationTags.unsigned32() | nil,
  item_count: non_neg_integer(),
  item_data: [BACnet.Protocol.ApplicationTags.Encoding.t()],
  object_identifier: BACnet.Protocol.ObjectIdentifier.t(),
  property_array_index: non_neg_integer() | nil,
  property_identifier:
    BACnet.Protocol.Constants.property_identifier() | non_neg_integer(),
  result_flags: BACnet.Protocol.ResultFlags.t()
}

Response payload for a successful Read Range.

Returns the object/property read, result flags (first/last/more items), the number of items returned, the item data encodings, and for sequenced logs the first sequence number of the window.

Functions

from_apdu(ack)

@spec from_apdu(BACnet.Protocol.APDU.ComplexACK.t()) :: {:ok, t()} | {:error, term()}

Converts a received BACnet.Protocol.APDU.ComplexACK APDU into a struct.

to_apdu(ack, invoke_id \\ 0)

@spec to_apdu(t(), 0..255) ::
  {:ok, BACnet.Protocol.APDU.ComplexACK.t()} | {:error, term()}

Constructs a BACnet.Protocol.APDU.ComplexACK APDU from a BACnet.Protocol.Services.Ack.ReadRangeAck struct.