BACnet WriteGroup Service

WriteGroup pushes lighting and control values to many Channel objects at once (Clause 15.11): how the group write works and which profiles need it.

What WriteGroup Is

WriteGroup is an object-access service in BACnet, defined in Clause 15.11 of ANSI/ASHRAE 135-2024. A sender uses it to push a set of values to a numbered control group so that many devices and objects update at once. It is an unconfirmed service: the sender transmits the request and expects no acknowledgment. WriteGroup is the group-write mechanism behind lighting control, where one command drives a whole zone of fixtures.

The values land in Channel objects. A device is a member of a control group when one of its Channel objects lists that group number in its Control_Groups property, and each value in the request is keyed to a channel number that maps to a Channel object’s Channel_Number.

How It Works

The request carries a group number, a write priority, and a change list of (channel number, value) entries, with an optional per-entry overriding priority. Every device that belongs to the named control group writes each value to any Channel object whose Channel_Number matches, at the given priority; values with no matching channel are ignored. A Null value relinquishes control at that priority, exactly as with a commandable object. Because it is unconfirmed, WriteGroup can be unicast, multicast, or broadcast; the spec prefers multiple directed broadcasts over a global broadcast. The failure of any one write does not stop the others.

Where You’ll See It

  • Lighting group control. A lighting supervisor sends one WriteGroup to set a level or scene across every fixture in a control group, instead of writing each output individually.
  • Fast multi-device updates. Distributing one value to a large number of devices in a single broadcast keeps a scene change synchronized and off the per-point write path.
  • Scheduled scenes. A schedule or supervisor drives WriteGroup on a time or event so a zone steps through its programmed levels.

WriteGroup Error Codes

WriteGroup is an unconfirmed service, so it has no acknowledgment and returns no application-layer error. A WriteGroup that produces no visible change is not a service error; it is an addressing, membership, or mapping problem. The usual causes:

  • No Channel object on the target device carries the requested channel number, so that value is silently ignored.
  • The target device is not a member of the group, meaning no Channel object lists the group number in Control_Groups.
  • A group number of zero was sent, which the standard reserves and requires receivers to ignore.
  • The broadcast never reached the target because of a subnet or BACnet BBMD path problem.

Profiles That Require It

Executing WriteGroup (DS-WG-E-B) is required of the lighting profiles that receive group commands into their Channel objects: B-LS (Lighting Supervisor) and the lighting devices built on the same capability. The initiate side is an operator or supervisor behavior, where a control station sends the group command.

DirectionRequired by BIBBProfiles
Execute (accept a group write)DS-WG-E-BB-LS and lighting devices that host Channel objects
Initiate (send a group write)DS-WG-I-BLighting supervisors and control stations that drive groups

What Chipkin Provides

The CAS BACnet Stack supports WriteGroup, including Channel object handling and the group-membership mapping the service relies on. Talk to us about adding BACnet client or server support to your device.