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:
- ObjectIdentifier, ObjectType, PropertyList
- MachineRoomID and GroupID (both set by this function)
- GroupMembers (maintained by this function and by BACnetStack_AddLiftOrEscalatorObject())
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).
Parameters
Section titled “Parameters”| 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. |
Returns
Section titled “Returns”True if successful, false if failed.
Topic: Objects and properties. Declared in CASBACnetStackDLL.h.