A Recipient Address is the low-level network addressing information used when a BACnet device needs to send an event notification or COV notification to a specific location rather than to a known Device object identifier.
The network field contains either 0 (meaning "the local network") or a positive
16-bit network number for a remote network. The address field is either a
binary MAC address (whose length and format depend on the underlying data link
layer) or the special atom :broadcast, which instructs the stack to send the
notification as a broadcast on the indicated network.
This type is deliberately kept separate from the higher-level Recipient type so that the same addressing primitive can be reused inside Destination records, inside the various event parameter structures, and in the Write Group service. It is one of the few places in the protocol where raw data-link addresses surface into the application layer.
Examples (Doc Test)
iex> addr = %RecipientAddress{network: 0, mac: :broadcast}
iex> addr.network
0
Summary
Types
@type t() :: %BACnet.Protocol.RecipientAddress{ address: binary() | :broadcast, network: non_neg_integer() }
Represents a low-level BACnet recipient address, consisting of a network
number and a data-link layer address (or the special :broadcast value).