What the Global Group Object Is
The Global Group object, defined in Clause 12.50 of ANSI/ASHRAE 135-2024, gathers a set of properties from objects that may live on other devices and presents them as one readable collection. It is like a Group that reaches across the network: where a Group bundles points inside a single BACnet device, a Global Group bundles points from many devices into one place a client can read.
Group_Members names the remote object properties, and Present_Value returns their collected values. Because the members are elsewhere, the Global Group also tracks how current its collected values are through Update_Interval and the COV (Change of Value) resubscription properties, and it rolls the members’ health up into Member_Status_Flags. When it supports intrinsic reporting the Global Group applies the CHANGE_OF_STATUS_FLAGS event algorithm, alarming through the event notification services when a member’s status flags change.
Where You’ll See It
- Cross-device dashboards. A supervisory controller assembles key points from several field controllers into one Global Group a workstation reads in a single request.
- Roll-up monitoring.
Member_Status_Flagssummarizes the health of every collected point, so one read shows whether anything in the set is in alarm or fault. - Efficient distribution. The Global Group subscribes for COV on its remote members and can push its own combined updates to recipients, sparing the head end (the central BMS server) from polling each device separately.
Required Properties
Clause 12.50 requires every Global Group object to provide these properties. Datatypes are the spec’s names: Unsigned is an integer, BOOLEAN a true/false flag, and the BACnet-prefixed types are structured values defined by the standard.
| Property | Datatype | What it holds |
|---|---|---|
Object_Identifier | BACnetObjectIdentifier | The object’s type and instance number, unique within the device |
Object_Name | CharacterString | The human-readable point name, unique within the device |
Object_Type | BACnetObjectType | Always global-group for this object |
Group_Members | BACnetARRAY[N] of BACnetDeviceObjectPropertyReference | The remote object properties collected by this group |
Present_Value | BACnetARRAY[N] of BACnetPropertyAccessResult | The collected values of the group members |
Status_Flags | BACnetStatusFlags | Four health flags for the object itself: in-alarm, fault, overridden, out-of-service |
Event_State | BACnetEventState | The object’s current event state (normal or off-normal for status-flag reporting) |
Member_Status_Flags | BACnetStatusFlags | The combined health flags rolled up from all members |
Out_of_Service | BOOLEAN | When true, Present_Value is decoupled from the members for testing and override |
Property_List | BACnetARRAY[N] of BACnetPropertyIdentifier | The list of properties this instance actually implements |
Optional Properties
The properties integrators meet most are Group_Member_Names (labels for the collected points), Update_Interval / Requested_Update_Interval (how fresh the values are kept), and the COV-resubscription pair. The intrinsic-reporting group generally appears or is absent as a set.
| Property | Datatype | Group |
|---|---|---|
Description | CharacterString | General |
Group_Member_Names | BACnetARRAY[N] of CharacterString | Group members |
Update_Interval | Unsigned | Group members |
Requested_Update_Interval | Unsigned | Group members |
COV_Resubscription_Interval | Unsigned | COV reporting |
Client_COV_Increment | BACnetClientCOV | COV reporting |
COVU_Period | Unsigned | COV reporting |
COVU_Recipients | BACnetLIST of BACnetRecipient | COV reporting |
Time_Delay | Unsigned | Intrinsic reporting |
Notification_Class | Unsigned | Intrinsic reporting |
Event_Enable | BACnetEventTransitionBits | Intrinsic reporting |
Acked_Transitions | BACnetEventTransitionBits | Intrinsic reporting |
Notify_Type | BACnetNotifyType | Intrinsic reporting |
Event_Time_Stamps | BACnetARRAY[3] of BACnetTimeStamp | Intrinsic reporting |
Event_Message_Texts | BACnetARRAY[3] of CharacterString | Intrinsic reporting |
Event_Message_Texts_Config | BACnetARRAY[3] of CharacterString | Intrinsic reporting |
Event_Detection_Enable | BOOLEAN | Intrinsic reporting |
Event_Algorithm_Inhibit_Ref | BACnetObjectPropertyReference | Intrinsic reporting |
Event_Algorithm_Inhibit | BOOLEAN | Intrinsic reporting |
Time_Delay_Normal | Unsigned | Intrinsic reporting |
Reliability | BACnetReliability | Fault detection |
Reliability_Evaluation_Inhibit | BOOLEAN | Fault detection |
Audit_Level | BACnetAuditLevel | Auditing |
Auditable_Operations | BACnetAuditOperationFlags | Auditing |
Tags | BACnetARRAY[N] of BACnetNameValue | Tagging and profile |
Profile_Location | CharacterString | Tagging and profile |
Profile_Name | CharacterString | Tagging and profile |
Related Objects
- Group: the same read-shortcut idea confined to objects within one device.
- Structured View: organizes objects into a navigable hierarchy rather than collecting their values.
- Notification Class: routes the CHANGE_OF_STATUS_FLAGS notification a Global Group can raise.
What Chipkin Provides
The Global Group object is a first-class object type in the CAS BACnet Stack, modeled with its member array and combined read. Talk to us about modeling your device’s points.