BACnet ReinitializeDevice Service

ReinitializeDevice cold/warm starts a BACnet device (Clause 16.4): the restart choices, backup and restore, error codes, and which profiles require it.

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 STARTBACKUP and ENDBACKUP, and a recovery in STARTRESTORE and ENDRESTORE.
  • Applying network changes. ACTIVATE_CHANGES commits 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.

SituationError classError code
The password is invalid or absent when one is requiredSECURITYPASSWORD_FAILURE
The device is currently being configuredDEVICECONFIGURATION_IN_PROGRESS
Communication is disabled by a prior DeviceCommunicationControlSERVICESCOMMUNICATION_DISABLED
Network-port property values fail validationPROPERTYINVALID_CONFIGURATION_DATA

Reading these in the field:

  • PASSWORD_FAILURE means the device requires a password for reinitialization; supply it.
  • COMMUNICATION_DISABLED applies 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.