I came across a Smart UPS 1500 that needed a battery replacement recently.  After the replacement battery was installed, I ran a self-test like I normally do to clear alarms on the unit.  I noticed that the self-test reported that the battery had a runtime remaining of 0 minutes and a 20% capacity.   I decided to let the battery charge up to 100% and then try a runtime calibration.

Later that evening, the UPS was reporting that the battery had 100% capacity and a runtime of 3 minutes with a very minimal load.  I ran the runtime calibration and the runtime dropped immediately to 0 minutes with a 20% charge.  I thought that the battery might be faulty at this point. 

The customer happened to have another battery there to try.  We put the battery in and testing showed the same exact symptoms.  Therefore the problem must be with the UPS and not the batteries.

APC's forum quotes "The battery constants give the battery status via their life expectancy. If the battery ages and is 'exhausted', the constant is overwritten. The management software calculates the runtime of the UPS with these constants.  If the battery is now replaced, a self test must be done with the new batteries. Through it, the red battery replace indicator goes out and the battery constants should be reset to the standard settings. This does not occur in some cases. Therefore, the constants must be reset manually in order to correct this situation."

Through research, I came across this article http://www.rm.com/Support/TechnicalArticle.asp?cref=TEC817072 which describes how to reset the battery constant manually.  The only problem is that this has to be done by physically connecting the serial cable to the UPS, so I was not able to try this out yet.  Since each UPS has different constant variables, you will have to call APC support and ask them what to set it to. [more]

Here are the steps listed using Hyperterminal from the hyperlink above:

In order to successfully reset the battery constant, all accompanying devices (SmartSlot Accessories such as Interface Expander, Web/SNMP Management Card) must be removed from the SmartSlot or from the Com port of the UPS.

  1. Please shut off all connected load, switch off the UPS, pull the power plug of the UPS.
  2. Switch off the UPS once again till you hear a click.
  3. Remove all accompanying devices.
  4. Turn on the UPS again and connect a computer with Windows 95/98/ME, Windows NT 4.0 or Win 2000, which runs on Hyperterminal using one of the cables mentioned under the requirements.
  5. Close Powerchute plus-Server. With Windows NT/2000, the UPS service must be stopped. If you are using PowerChute Business Edition, stop the Agent *V service.
  6. Perform a Battery Constants check.
  7. Start a Hyperterminal session with the UPS.  Note: Ensure that there are no accessories plugged into the UPS. (Web Management cards, IO Relay cards etc)
  8. Start Hyperterminal by going to Start, Programs, Accessories, Communications, Hyperterminal.
  9. You will be requested to enter a name and a symbol. Enter a favourite name and click on OK. When a message that a modem must be installed appears, you can ignore this message.
  10. Select the serial port to which black serial cable is connected to.  The correct settings for the COM-connection are 2400 Baud, 8 data bits, 1 Stop bit, no parity, protocol Xon/Xoff. In this window, click on Advanced and make sure that the option FIFO activated is unchecked. Click twice on OK.
  11. Check if there is a connection (Type Shift + Y, should return **SM** ). Do not enter any other characters via Hyperterminal other than that described in these instructions because this can cause irreparable damage to the UPS
  12. Type **1**, wait 2-3 secs and type **1** again (Should return **Prog**)
  13. Enter a **0** and the UPS reports the present value of the battery constant.  If this value does not correspond to the default value that was given to you by RM Support or APC , it must be changed.
  14. If this value is not correct, press **+** or **-** until the correct value is returned.
  15. Press **R** to close the session. (Should return **Bye**)
  16. Enter **<Shift> Y**, the UPS reports again with **SM**.
  17. Enter **0** once again and check if the UPS reports back the standard setting that has been set.
  18. Close Hyperterminal, start the UPS again and check the UPS runtime in the management software.