Automating the shutdown of APC UPS devices

ups-shutdown-device

[Ishan Karve] works in some bizarro world where the building management demands that all servers and Uninterruptible Power Supplies be shut down at the end of each evening. While inconceivable to most systems admins, he has no recourse but to comply. This means that his employees need to turn things off before they leave for the day, and since they often work up to 15 hours a day, waiting for Windows server to shut down seems like an eternity.

Being the good manager he is, [Ishan] decided to build a device that handles the clean shutdown of their servers and UPS for them. An Arduino board serves as the brains of the device, communicating with and issuing shutdown commands to the UPS over a serial port. The Arduino is also connected to the office network, enabling it to send ARP requests to the servers in order to determine when they have completely shut down for the day. In order to protect against an accidental shutdown due to network connectivity issues, [Ishan] added an RTC module to the mix so that the Arduino does not issue shutdown commands until at least 8 pm.

Instead of waiting around for Windows to do its thing, [Ishan’s] employees can take off once they start the server shutdown process, knowing that they are totally compliant with their landlord’s crazy requests.