Skip to content
Version 6.1.0
Contact Us

Client requests

Sending requests to other BACnet devices, and decoding what comes back.

Each Send function builds and sends one request immediately, through the send message callback. Confirmed requests return the invoke id they used; the answer arrives later through the hooks in Client response hooks, or as a raw message you decode with BACnetStack_DecodeAs(). See Acting as a client.

Function Summary
BACnetStack_DecodeAs() Decodes a raw BACnet message into a human-readable rendering of the packet, for debugging, logging, and client-side inspection of inbound messages.
BACnetStack_SendSubscribeCOV() Sends a confirmed SubscribeCOV request to subscribe for Change-Of-Value notifications on an object’s Present_Value / Status_Flags.
BACnetStack_SendCancelSubscribeCOV() Sends a confirmed SubscribeCOV request with no issueConfirmedNotifications/lifetime (a cancellation), ending a previously established COV subscription for the given subscriber process on the given object.
BACnetStack_SendSubscribeCOVProperty() Sends a confirmed SubscribeCOVProperty request to subscribe for Change-Of-Value notifications on a single specified property of an object (rather than the fixed Present_Value/Status_Flags pair used by SendSubscribeCOV).
BACnetStack_SendCancelSubscribeCOVProperty() Sends a confirmed SubscribeCOVProperty request with no issueConfirmedNotifications/lifetime (a cancellation), ending a previously established per-property COV subscription.
BACnetStack_SendUnsubscribedUnconfirmedCOVNotification() Sends an unconfirmed COV notification unprompted by any subscription (cl. 13.1.1), used by a device to announce a value on its own initiative rather than in response to SubscribeCOV.
BACnetStack_SendAtomicReadFile() Sends a confirmed AtomicReadFile request to read a range of data from a remote File object.
BACnetStack_SendAtomicWriteFile() Sends a confirmed AtomicWriteFile request to write a range of data to a remote File object.
BACnetStack_SendReadProperty() Sends a ReadProperty or ReadPropertyMultiple request.
BACnetStack_SendReadPropertyWithLength() Sends a ReadProperty or ReadPropertyMultiple request, like BACnetStack_SendReadProperty(), with the request buffer’s length checked.
BACnetStack_SendWriteProperty() Sends a WriteProperty or WritePropertyMultiple request.
BACnetStack_SendCreateObject() Sends a CreateObject request, optionally with initial property values.
BACnetStack_SendDeleteObject() Sends a confirmed DeleteObject request to delete an object from a remote device.
BACnetStack_SendReadRange() Sends a confirmed ReadRange request with no range: the request’s optional range CHOICE (cl. 21) is left out entirely, so none of its by-position, by-sequence-number or by-time arms is sent (this is the base overload with no reference point) - the server returns a range of a list/array property starting from its own choice of position.
BACnetStack_SendReadRangeWithPosition() Sends a confirmed ReadRange request using the By Position reference (cl. 15.8), reading count entries starting at referenceIndex (negative count reads backwards from the reference).
BACnetStack_SendReadRangeWithSequenceNumber() Sends a confirmed ReadRange request using the By Sequence Number reference (cl. 15.8), reading count entries starting at referenceSequenceNumber (negative count reads backwards from the reference).
BACnetStack_SendReadRangeWithTime() Sends a ReadRange request that selects entries by time.
BACnetStack_SendIAm() Sends an unconfirmed I-Am request, announcing this device’s presence (typically in response to a received Who-Is, or unprompted at startup).
BACnetStack_SendWhoAmI() Sends an unconfirmed Who-Am-I request (cl. 16.11, unconfirmed-service-choice 13).
BACnetStack_SendYouAre() Sends an unconfirmed You-Are request (cl. 16.11, unconfirmed-service-choice 14), which tells a device what its Device Identifier and/or MAC address should be.
BACnetStack_SendWhoIs() Sends an unconfirmed Who-Is request with no device-instance range, soliciting an I-Am from every device that receives it.
BACnetStack_SendWhoIsWithLimits() Sends an unconfirmed Who-Is request restricted to a device-instance range, soliciting an I-Am only from devices whose instance falls within [deviceInstanceRangeLowLimit, deviceInstanceRangeHighLimit].
BACnetStack_SendWhoHasWithObjectIdentifier() Sends an unconfirmed Who-Has request identifying the object by Object-Identifier, soliciting an I-Have from any device that owns a matching object.
BACnetStack_SendWhoHasWithObjectName() Sends an unconfirmed Who-Has request identifying the object by Object_Name, soliciting an I-Have from any device that owns a matching object.
BACnetStack_SendWhoHasWithObjectIdentifierAndLimits() Sends an unconfirmed Who-Has request identifying the object by Object-Identifier, restricted to a device-instance range.
BACnetStack_SendWhoHasWithObjectNameAndLimits() Sends an unconfirmed Who-Has request identifying the object by Object_Name, restricted to a device-instance range.
BACnetStack_SendTimeSynchronization() Sends an unconfirmed TimeSynchronization request, telling receivers to set their local time (not UTC - see BACnetStack_SendUTCTimeSynchronization() for the UTC variant).
BACnetStack_SendUTCTimeSynchronization() Sends an unconfirmed UTCTimeSynchronization request, telling receivers to set their UTC time (see BACnetStack_SendTimeSynchronization() for the local-time variant).
BACnetStack_SendReinitializeDevice() Sends a confirmed ReinitializeDevice request, asking a remote device to reboot, restore factory defaults, or start/end a backup or restore session.
BACnetStack_SendDeviceCommunicationControl() Sends a confirmed DeviceCommunicationControl request, asking a remote device to enable or disable its BACnet communication (optionally for a limited duration).
BACnetStack_SendLifeSafetyOperation() Sends a confirmed LifeSafetyOperation request, commanding a life-safety operation (e.g. silence, reset) on a remote device, optionally targeted at a specific Life Safety Point/Zone object.
BACnetStack_SendConfirmedTextMessage() Sends a confirmed ConfirmedTextMessage request, delivering a text message to a remote device and requiring acknowledgment.
BACnetStack_SendUnconfirmedTextMessage() Sends an unconfirmed UnconfirmedTextMessage request, delivering a text message with no acknowledgment (see BACnetStack_SendConfirmedTextMessage() for the confirmed variant).
BACnetStack_SendGetEventInformation() Sends a GetEventInformation request (cl. 13.12) to enumerate a device’s active events.
BACnetStack_SendAcknowledgeAlarmDateTime() Sends an AcknowledgeAlarm request (cl. 13.5) whose event-side timestamp [3] is the datetime [2] BACnetTimeStamp CHOICE arm.
BACnetStack_SendAcknowledgeAlarmUnsigned() Sends an AcknowledgeAlarm request whose event timestamp is a sequence number.
BACnetStack_SendAcknowledgeAlarmTime() Sends an AcknowledgeAlarm request whose event timestamp is a Time.
BACnetStack_SendWriteGroup() Sends a WriteGroup request, which distributes values to the Channel objects of a numbered control group.
BACnetStack_SendSubscribeCOVPropertyMultiple() Sends a SubscribeCOVPropertyMultiple request, which subscribes to change-of-value on several properties in one request.