Skip to content
Version 6.1.0
Contact Us

BACnetStack_AddElevatorGroupObject

bool BACnetStack_AddElevatorGroupObject(
const uint32_t deviceInstance,
const uint32_t objectInstance,
const uint32_t machineRoomId,
const uint8_t groupId,
const bool isGroupOfLifts,
const bool supportLandingCallStatus);

Adds an Elevator Group Object.

The device must be added first before this function can be called. The Elevator Group Object references various Lift or Escalator objects.

If adding escalators or lifts to an Elevator Group Object, users must add the Elevator Group object first.

The only Elevator Group properties that are handled and stored by the CAS BACnet Stack are:

Callbacks are used to handle every other property. The following list contains those properties and the Callbacks that are used to get the required data:

--------------------------------------------------------------------------------
Property Datatype Callback
--------------------------------------------------------------------------------
ObjectName CharacterString CallbackGetPropertyCharacterString
Description* CharacterString CallbackGetPropertyCharacterString
GroupMode** Enumerated CallbackGetPropertyEnumerated
LandingCalls*** BACnetLIST of CallbackGetListElevatorGroupLandingCallStatus
LandingCallStatus
LandingCallControl***
BACnetLandingCall CallbackGetListElevatorGroupLandingCallStatus
Status CallbackSetElevatorGroupLandingCallControl
(*) Optional; enable it with BACnetStack_SetPropertyEnabled first.
(**) Enabled by this function only when isGroupOfLifts is true.
(***) Enabled by this function only when supportLandingCallStatus is true.
--------------------------------------------------------------------------------

NOTE: the stack consults the callbacks BEFORE its own store, so a registered CallbackGetPropertyUnsignedInteger that answers for GroupID OVERRIDES the value set here. MachineRoomID and GroupMembers are object-identifier typed, for which there is no Get callback, so those always come from the stack.

NOTE: a read of GroupMembers with an array index returns the WHOLE array, and array index 0 does not return the element count. Read GroupMembers without an array index.

See also: BACnetStack_ObjectExists(), BACnetStack_RemoveObject()

BACnet reference: ANSI/ASHRAE 135-2024 clause 12.58 (Elevator Group Object Type).

Parameter Direction Description
deviceInstance in The instance number of the device that owns this Elevator Group Object.
objectInstance in The instance number of this Elevator Group Object.
machineRoomId in The instance number of a Positive Integer Value object; its Present_Value supplies the Machine Room ID. If the Positive Integer Value Object does not exist, this function will create it.
groupId in The group ID for this Elevator Group object.
isGroupOfLifts in A flag that sets the Elevator Group object to be a group of Lift Objects (true) or Escalator Objects (false).
supportLandingCallStatus in A flag to enable the Landing Calls and Landing Call Control properties.

True if successful, false if failed.

Topic: Objects and properties. Declared in CASBACnetStackDLL.h.