What DeviceCommunicationControl Is
DeviceCommunicationControl (DCC) is a remote-device-management service in BACnet, defined in Clause 16.1 of ANSI/ASHRAE 135-2024. A client uses it to tell a remote device to stop initiating BACnet traffic for a set period, mainly so a technician can quiet a device during diagnostics. It is a confirmed service, and because it can silence a device, it may require a password.
It is a diagnostic tool, not a runtime control. Silencing a chatty or misbehaving device to isolate a network problem is the classic use.
How It Works
The client sends an enable or disable instruction, a time duration, and an optional password. On disable, the device stops initiating communication (and can be told to stop responding too) either for the given duration or indefinitely, in which case only another DCC, a ReinitializeDevice, or a local action brings it back. A device that requires a password refuses the request if the password is missing or wrong. When the duration elapses, the device resumes on its own.
[!WARNING] Disabling communication indefinitely on a device you cannot reach locally can strand it. Prefer a bounded duration unless you have physical access to recover the device.
Where You’ll See It
- Isolating a noisy device. Quieting one controller to see whether a network problem clears.
- Commissioning cleanup. Temporarily silencing a device that is flooding the bus while other work proceeds.
- Recovering from a silence. A device that has “gone quiet” after diagnostics may be under a DCC disable that has not yet expired.
DeviceCommunicationControl Error Codes
Clause 16.1 defines the error class and code returned for each failure. The general error model is in Clause 18.
| Situation | Error class | Error code |
|---|---|---|
| The password is invalid or absent when one is required | SECURITY | PASSWORD_FAILURE |
| The device has no clock and the duration is not “indefinite” | SERVICES | OPTIONAL_FUNCTIONALITY_NOT_SUPPORTED |
The request uses the deprecated DISABLE (initiation only) value | SERVICES | SERVICE_REQUEST_DENIED |
Reading these in the field:
PASSWORD_FAILUREmeans the device is password-protected for DCC; supply the correct password.OPTIONAL_FUNCTIONALITY_NOT_SUPPORTEDmeans a clockless device was asked for a timed silence it cannot schedule; use an indefinite duration and re-enable it explicitly.
Profiles That Require It
Executing DeviceCommunicationControl (DM-DCC-B) is required of the controller profiles that must honor an operator’s diagnostic silence: B-BC, B-AAC, and B-ASC, and the advanced life-safety, access-control, and elevator controllers. The minimal profiles (B-SA, B-SS) do not require it. Initiating DCC is an operator-workstation behavior.
What Chipkin Provides
The CAS BACnet Stack executes DeviceCommunicationControl, including timed and indefinite durations and password handling. Talk to us about adding BACnet server support to your device.