[Nut-upsdev] Question about hardware failures / FSD

Roger Price roger at rogerprice.org
Wed Sep 30 07:37:50 BST 2020

On Tue, 29 Sep 2020, João Luis Meloni Assirati wrote:

> The UPS I am developing a driver to is able to report several flags for 
> critical hardware conditions, like overheat, overload, inverter failure, 
> output short etc. What should be the correct policy of operation when such a 
> condition occurs? I think that the an UPS in such a condition is not reliable 
> and therefore a system shutdown should be called. However, the developer's 
> manual and all other drivers I inspected seem to call the FSD flag only when 
> there is a shutdown already in progress (say, a countdown register is active).

I attach a list of the current NUT status changes.  Of interest to you will be
16 and 17 since they introduce new status names.  They are used by a heartbeat
mechanism based on the dummy-ups driver.  I suggest you introduce new status
names and new status changes.  These will be monitored by a
upsmon+upsched+upssched-cmd setup extended to cover the new statuses.

I suggest you choose generic names which can be used by others in the future.
For example HW1, HW2, ... for the hardware error conditions with a
correspondance table for your UPS in the documentation.  Other drivers might
have other correspondance tables.

Although maybe OVERHEAT and OVERLOAD are already sufficiently generic.  It's up 
to you.


EVENTS based on upsd status changes

   1. None->ALARM ALARM->None
      The UPS has raised/dropped the ALARM signal.
   2. None->BOOST BOOST->None
      The UPS is now boosting/not boosting the output voltage.
   3. None->BYPASS BYPASS->None
      The UPS is/is not now bypassing its own batteries.
   4. None->CAL CAL->None
      The UPS is/is not now in calibration mode.
   5. None->CHRG CHRG->None
      The UPS is/is not now recharging its batteries.
   6. None->DISCHRG DISCHRG->None
      The UPS is/is not now discharging its batteries.
   7. None->LB LB->None
      The driver says the UPS battery charge is now low/no longer low.
   8. None->OFF OFF->None
      The driver says the UPS is/is not now OFF.
   9. OL->OB OB->OL
      The UPS is now on battery/no longer on battery.
  10. None->OVER OVER->None
      The UPS is/is not now in status [OVER].
  11. None->RB RB->None
      The UPS needs/no longer needs to have its battery replaced.
  12. None->TEST TEST->None
      The UPS is/is not now performing a test.
  13. None->TRIM TRIM->None
      The UPS is now trimming/not trimming the output voltage.

Other EVENTS monitored by upsmon, upssched, upssched-cmd

      Communication with the UPS in now lost/restored.
  15. None->FSD FSD->None
      The UPS is/is not now in Forced ShutDown mode.
  16. None->TICK TICK->None
      A heartbeat UPS has/has not generated a [TICK].
  17. None->TOCK TOCK->None
      A heartbeat UPS has/has not generated a [TOCK].
  18. TIMEOUT(my-timer)
      Timer “my-timer” has completed.

More information about the Nut-upsdev mailing list