Skip to content
Version 6.1.0
Contact Us

BACnetStack_SendSubscribeCOV

bool BACnetStack_SendSubscribeCOV(
uint8_t * sentInvokeId,
const uint32_t subscriberProcessIdentifier,
const uint16_t monitoredObjectType,
const uint32_t monitoredObjectInstance,
const bool issueConfirmedNotifications,
const uint32_t lifetime,
const uint8_t * connectionString,
const uint8_t connectionStringLength,
const uint32_t networkPortInstance,
const uint16_t destinationNetwork,
const uint8_t * destinationAddress,
const uint8_t destinationAddressLength);

Sends a confirmed SubscribeCOV request to subscribe for Change-Of-Value notifications on an object’s Present_Value / Status_Flags.

See also: Client response hooks

BACnet reference: ANSI/ASHRAE 135-2024 clause 13.14 (SubscribeCOV Service).

Parameter Direction Description
sentInvokeId out The invoke-id of the sent request, valid only if this function returns true.
subscriberProcessIdentifier in The process identifier the subscriber uses to distinguish its own subscriptions.
monitoredObjectType, monitoredObjectInstance in The object being subscribed to. The type and instance are one BACnet Object Identifier carried as two parameters (see the API conventions).
issueConfirmedNotifications in Whether to request confirmed (true) or unconfirmed (false) COV notifications.
lifetime in The requested subscription lifetime in seconds (0 = indefinite, subject to the server’s limits).
connectionString, connectionStringLength in The datalink address to send TO (the destination) - not the local address to send from. For IPv4 this is 6 bytes: 4 octets of IPv4 address followed by 2 octets of port, big-endian (e.g. 0xC0,0xA8,0x01,0x05,0xBA,0xC0 = 192.168.1.5:47808; see BACnetStack_SendRegisterForeignDevice() for a worked example); on BACnet/IPv4 the stack refuses to send to a connection string of any other length, except that a broadcast from a device registered as a foreign device goes to its BBMD and does not use the connection string. MS/TP and BACnet/SC use a different connection-string shape; see their respective Set/Send exports.
networkPortInstance in The Network Port object instance to send the message on, or BACNET_NETWORK_PORT_DEFAULT (4194303) for the default/single port.
destinationNetwork, destinationAddress, destinationAddressLength in The destination to send the request to.

True if the request was sent, otherwise false. BY DESIGN there is no COV-notification hook. Incoming notifications arrive as ordinary frames in your CallbackReceiveMessageForPort; decode them with BACnetStack_DecodeAs(). The stack does not provide a typed callback for them and is not intended to.

Topic: Client requests. Declared in CASBACnetStackDLL.h.