What ReinitializeDevice Is
ReinitializeDevice is a remote-device-management service in BACnet, defined in Clause 16.4 of ANSI/ASHRAE 135-2024. A client uses it to tell a remote device to reboot (cold start), reset to an initial state (warm start), activate pending network-port changes, or drive the backup and restore procedure. It is a confirmed service, and because it can restart a device, it may require a password.
The restart choices are the operator-facing use; the backup and restore choices are the machinery a backup tool uses to snapshot and recover a device’s configuration.
How It Works
The client sends a reinitialized-state choice and an optional password. COLDSTART reboots the device; WARMSTART resets it to a defined initial state; ACTIVATE_CHANGES applies staged Network Port changes without a full reboot. The backup and restore choices (STARTBACKUP, ENDBACKUP, STARTRESTORE, ENDRESTORE, ABORTRESTORE) bracket a configuration transfer that reads or writes the device’s File objects. A device supporting only restart claims the two restart choices; backup and restore support is claimed separately.
Where You’ll See It
- Remote reboot. Restarting a controller from the head end (the central BMS server) after a configuration change, without a site visit.
- Backup and restore. A backup tool wraps a device snapshot in
STARTBACKUPandENDBACKUP, and a recovery inSTARTRESTOREandENDRESTORE. - Applying network changes.
ACTIVATE_CHANGEScommits staged IP or network-port settings on devices that stage them.
ReinitializeDevice Error Codes
Clause 16.4 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 is currently being configured | DEVICE | CONFIGURATION_IN_PROGRESS |
| Communication is disabled by a prior DeviceCommunicationControl | SERVICES | COMMUNICATION_DISABLED |
| Network-port property values fail validation | PROPERTY | INVALID_CONFIGURATION_DATA |
Reading these in the field:
PASSWORD_FAILUREmeans the device requires a password for reinitialization; supply it.COMMUNICATION_DISABLEDapplies only to the backup and restore choices: they are refused while a DeviceCommunicationControl disable is in effect. The plain cold-start and warm-start choices still work while communication is disabled, which is exactly how you recover a device you have silenced with DCC.
Profiles That Require It
Executing ReinitializeDevice (DM-RD-B) is required of the controller profiles expected to restart on command: B-BC and B-AAC, and the advanced life-safety, access-control, and elevator controllers. B-BC additionally requires the backup and restore machinery (DM-BR-B). The minimal profiles (B-ASC, B-SA, B-SS) do not require it. Initiating ReinitializeDevice is an operator-workstation behavior.
What Chipkin Provides
The CAS BACnet Stack executes ReinitializeDevice, including the cold and warm restart choices and the backup and restore state machine. Talk to us about adding BACnet server support to your device.