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

Copy Markdown View Source

This module represents the BACnet Unconfirmed Private Transfer service.

The Unconfirmed Private Transfer service is used to invoke proprietary or non-standard services in a BACnet device.

Service Description (ASHRAE 135)

The UnconfirmedPrivateTransfer is used by a client BACnet-user to invoke proprietary or non-standard services in a remote device. The specific proprietary services that may be provided by a given device are not defined by this standard. The PrivateTransfer services provide a mechanism for specifying a particular proprietary service in a standardized manner. The only required parameters for these services are a vendor identification code and a service number. Additional parameters may be supplied for each service if required. The form and content of these additional parameters, if any, are not defined by this standard. The vendor identification code and service number together serve to unambiguously identify the intended purpose of the information conveyed by the remainder of the APDU or the service to be performed by the remote device based on parameters in the remainder of the APDU.

Service Procedure (ASHRAE 135)

Since this is an unconfirmed service, no response primitives are expected. Actions taken in response to this service request are a local matter.

Summary

Types

t()

Parameters for the Unconfirmed Private Transfer service.

Functions

Whether the service is of type confirmed or unconfirmed.

Converts the given Unconfirmed Service Request into an Unconfirmed Private Transfer Service.

Get the service name atom.

Get the Unconfirmed Service request for the given Unconfirmed Private Transfer Service.

Types

t()

@type t() :: %BACnet.Protocol.Services.UnconfirmedPrivateTransfer{
  parameters: [BACnet.Protocol.ApplicationTags.Encoding.t()] | nil,
  service_number: non_neg_integer(),
  vendor_id: BACnet.Protocol.ApplicationTags.unsigned16()
}

Parameters for the Unconfirmed Private Transfer service.

Vendor-specific service invocation (vendor_id + service_number) with optional encoded parameters. The receiving device interprets and executes the proprietary service locally.

Functions

confirmed?()

@spec confirmed?() :: false

Whether the service is of type confirmed or unconfirmed.

from_apdu(request)

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

Converts the given Unconfirmed Service Request into an Unconfirmed Private Transfer Service.

get_name()

@spec get_name() :: atom()

Get the service name atom.

to_apdu(service, request_data)

@spec to_apdu(t(), Keyword.t()) ::
  {:ok, BACnet.Protocol.APDU.UnconfirmedServiceRequest.t()} | {:error, term()}

Get the Unconfirmed Service request for the given Unconfirmed Private Transfer Service.

See the BACnet.Protocol.Services.Protocol function documentation for more information.