apcsmart

title: apcsmart(8)

text:
# apcsmart(8)

## NAME
apcsmart - Driver for American Power Conversion Smart Protocol UPS equipment

## SYNOPSIS
apcsmart -h

apcsmart -a UPS_NAME [-x option=value ...]

Note This man page only documents the hardware-specific features of the apcsmart driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
The apcsmart driver should recognize (or at the very least, work with) the majority of Smart-UPS models - which includes Smart-UPS, Matrix-UPS and Back-UPS lineups, among few other ones.

Currently, we can roughly divide APC hardware into four groups (note that the division isn’t strict by any means, and the borders between those are pretty fuzzy):

[very] "old" models

These models usually have old APC logo, white color and no programmable EEPROM; you won’t find them listed anywhere on APC’s site either. The support for those will be usually based on driver’s compatibility tables, or if the model (firmware) is not listed in those - the driver will try to follow the very basic subset of features, while still trying to remain useful. Despite "smart" tagname, they often tend to behave in pretty dumb way (see the section below about shutdown behaviour). Example models:

•Smart-UPS 2000I

•Smart-UPS 900I

"new" models

These models usually come from late 1990s / pre-2009 times. They are often referred as "3rd. gen". For the most part, they have programmable EEPROM, report supported commands and capabilites, and should work just fine with the apcsmart driver.

"microlink" models

WARNING: these are not natively supported by apcsmart (or apcupsd, for that matter, if you’re wondering). Around 2007, APC (now APC Schneider) decided to go back to its proprietry roots, and all the new models (SMT, SMX, SURTD) use completely different protocol and cables. If you purchased a new APC UPS - that uses cable with RJ45 on the one end, and DB-9 on the other - then you have such model. Your only option to support it through NUT is to purchase a "legacy communications card" - part #AP9620 (google 'AP9620' for more details). Or if that’s not an option, rely on official software.

Microsol models

Several Microsol serial models sold in Brazil have been rebranded as APC Back-UPS, and the model numbers tend to start with "BZ". If you have one of these "Nobreaks", they will not work with the apcsmart driver - please see the solis(8) driver instead. Example models:

•Back-UPS BZ1200-BR

•Back-UPS BZ2200BI-BR

Another thing to remember is that Smart protocol is not USB protocol. If you have UPS with both USB and serial ports, then depending on how you connect it, you will need either apcsmart or usbhid-ups driver.

## CABLING
This driver expects to see a 940-0024C cable or a clone by default. You can switch to the 940-0095B dual-mode cable support with the 'cable=' definition described below.

If your 940-xx24X cable is broken or missing, use this diagram to build a clone:

http://www.networkupstools.org/cables.html#_940_0024c_clone

Note The "xx" is either "00" for a short cable, or the number of feet of a longer cable. The "X" is a letter representing the minor revision of the physical cable and its connectors ("C" and "E" are commonly found revisions). All minor revisions should use the same pin-outs and wiring.

You can specify alternate cable in ups.conf(5):

cable=940-0095B

Alternatively, you can also provide it on the command line using:

-x cable=940-0095B

## TTY MODES
By default the driver works in canonical mode, but it proved to be a problem in Windows systems. Furthermore there’s a possibility of some obscure serial cards or serial-USB converters that could cause problems as well. You can use 'ttymode=' option to force non-canonical discipline in ups.conf(5):

ttymode=raw

Alternatively, you can also provide it on the command line using:

-x ttymode=raw

Note Any other value will make the driver work in the canonical mode.

## EXPLANATION OF SHUTDOWN METHODS SUPPORTED BY APC UPSES
APC hardware supports a lot of shutdown methods, that themselves can differ in behaviour quite a bit, depending on the model.

S (soft hibernate)

This is most basic command present in probably all APC models. It will hibernate the UPS, and subsequently wake it up when the mains supply returns. The command doesn’t work if the UPS is running on mains. "old" models

The behaviour here is unfortunately pretty primitive - when the power returns, the UPS just wakes up. No grace periods, no min. battery charge condition, etc. This is probably not what you want.

"new" models

The behaviour here is as expected - the power is cut off after the EEPROM defined grace period. The UPS will wake up when the power returns, after the EEPROM defined delay AND if the EEPROM defined min. battery charge level is met. The delay is counted from the power's return.

CS (aka "force OB hack")

This is a trick to make UPS power down even if it's running on mains. Immediately before issuing S, "simulate power failure" is issued. The remaining behaviour is as in S case. The name came from APC CS models, where such trick was used to power down UPSes in consistent fashion using only S. It's better to use @nnn command if your UPS supports it (and is not too old, see below).

@nnn (hard hibernate)

This is basic command used to hibernate UPS regardless if it's running on batteries or on mains. The option takes 3 digits argument which can be used to specify additional wakeup delay (in 6 minute units). "old" models

The behaviour is - unfortunately - similary primitive to S. The UPS unconditionally wakes up after nnn*6 minutes - it doesn't care if the power returned ! If nnn = 000, then UPS will do precisely nothing. On those models you're better specifying nnn > 0, if you can estimate the kind of power problems that might be happening in your environment. Another thing to consider with "old" models - you might lose the connection with the UPS, until it wakes up (with S, the serial connection is kept alive).

"new" models

All the usual variables defined in EEPROM are respected (see S). Additionally, if nnn > 0, the nnn*6 minutes are added to EEPROM defined delay. UPS will not power up if it's running on batteries, contrary to what "old" models used to do - the combined delay is counted from the moment of power return.

Supposedly there exist models that take 2 digits instead of 3. Just in case, NUT also supports such variation. You have to provide exactly 2 digits to trigger it (awd option, or argument to one of the supported instant commands).

K (delayed poweroff)

This is permanent poweroff - the UPS will not wake up automatically. On newer units, it will respect applicable EEPROM variables.

Z (instant poweroff)

This is also permanent poweroff - the UPS will not wake up automatically. The poweroff is executed immediately.

## SHUTDOWN CONTROL BY NUT
There are three options used to control the shutdown behaviour.

sdtype=[0-5]

This option takes a single digit (0-5) as an argument. See below for details.

advorder=no|[0-4]+

This option takes string of digits as an argument. Methods listed are tried in turn until one of them succeedes. Note that the meaning of digits is different from sdtype. See below for details.

awd=[0-9]{1,3}

This option lets you specify additional wakeup delay used by @. If you provide exactly 2 digits, the driver will try 2 digits variation (see previous section for more info). Otherwise standard 3 digits variation is used. Note: the time unit is 6 minutes !

Keep in mind that sdtype and advorder are mutually exclusive. If advorder is provided, sdtype is ignored. If advorder is set to 'no', sdtype is used instead.

If nothing is provided, NUT will assume sdtype=0 - which is generally fine for anything not too ancient or not too quirky.

### SDTYPE
The values permitted are from 0 to 5. Only one can be specified. Anything else will cause apcsmart to exit.

0

issue soft hibernate (S) if the UPS is running on batteries, otherwise issue hard hibernate (@)

1

issue soft hibernate (S) (if on batteries), and if it fails (or on mains) - try hard hibernate (@)

2

issue instant poweroff (Z)

3

issue delayed poweroff (K)

4

issue "force OB hack" (CS)

5

issue hard hibernate (@)

Note Hard hibernate's additional wakeup delay can be provided by awd.

### ADVORDER
The argument is either a word 'no', or a string of 1 - 5 digits in [0 - 4] range. Each digit maps to the one of shutdown methods supported by APC UPSes. Methods listed in this way are tried in order, until one of them succedes.

If advorder is undefined or set to 'no', sdtype is used instead.

The mapping is as follows:

0

soft hibernate (S)

1

hard hibernate (@)

2

delayed poweroff (K)

3

instant poweroff (Z)

4

"force OB hack" (CS)

Note Hard hibernate's additional wakeup delay can be provided by awd.

## IGNORING LB STATE
APC units - even if they report LB mode - will not go into shutdown automatically. This gives us even more control with reference to "when to actually shutdown PSU". Since version 2.6.2, NUT supports ignorelb option in driver’s section of ups.conf(5). When such option is in effect, the core driver will ignore LB state as reported by specific driver and start shutdown basing the decision only on two conditions:

battery.charge < battery.charge.low

OR

battery.runtime < battery.runtime.low

Of course - if any of the variables are not available, the appropriate condition is not checked. If you want to explicitly disable one of the conditions, simply override the right hand variable causing the condition to always evaluate to false (you can even provide negative numbers).

APC UPSes don’t have battery.charge.low - you will have to define it if you want to use such condition (prefix the variable with override. or default.).

"New" units have battery.runtime.low, but depending on battery quality, firmware version, calibration and UPS load - this variable can be underestimated quite a bit - especially right after going into OB state. This in turn can cause LB to be asserted, which under normal conditions will cause NUT to initiate the shutdown. You might want to disable this condition entirely, when relying on ignorelb option (this was actually the main motivation behind introduction of such feature).

Simple example:

```
[apc]

    ignorelb

    override.battery.charge.low = 15

    override.battery.runtime.low = -1
```

This would cause apcsmart to go into shutdown only if detected battery charge < 15%. Runtime condition is always false in this example.

You could ask - why bother ? Well, the reason is already hinted above. APC units can be very picky about the batteries, and their firmware can underestimate the remaining runtime (especially right after going into OB state). ignorelb option and override.* let you remain in control of the UPS, not UPS in control of you.

Furthermore, this allows to specify conditions similary to how it’s done in apcupsd daemon, so it should be welcome by people used to that software.

## SUPPORTED INSTANT COMMANDS
The apcsmart driver exposes following instant commands:

shutdown.return

executes soft hibernate

shutdown.return cs

executes "force OB hack"

shutdown.return at:<nbr>

executes "hard hibernate" with <nbr>*6 minutes additional wakeup delay (<nbr> format is the same as of awd option)

shutdown.stayoff

executes "delayed poweroff"

load.off

executes "instant poweroff"

All the above commands must be issued 2nd time to have any effect (no less than 3 seconds, and no more than 15 seconds after the initial call). Those commands are mostly useful for manual testing, when your machine is not powered by the UPS you're testing.

Other supported commands:

•load.on

•test.panel.start

•test.failure.start

•test.battery.start

•test.battery.stop

•bypass.start

•bypass.stop

•calibrate.start

•calibrate.stop

## PREVIOUS DRIVER VERSION
Previous driver is still available as apcsmart-old, should there be any need to use earlier version (bugs, incompatiblities with new functionality, etc.). In due time, apcsmart-old will be phased out completely, but this won’t happen until the new version gets solid exposure with no pending issues.

## BUGS
Some older APC UPS models return bogus data in the status register during a front panel test. This is usually detected and discarded, but some other unexpected values have occasionally slipped through.

APC UPS models with both USB and serial ports require a power cycle when switching from USB communication to serial, and perhaps vice versa.

## AUTHOR
Nigel Metheringham <Nigel.Metheringham@Intechnology.co.uk> (drawing heavily on the original apcsmart driver by Russell Kroll). This driver was called newapc for a time and was renamed in the 1.5 series. In 2.6.2 it was renamed to apcsmart-old, being superseded by updated version with new features, which is maintained by Michal Soltys <soltys@ziu.info>

## SEE ALSO
nutupsdrv(8), ups.conf(5), usbhid-ups(8), solis(8)

### Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


apcsmart-old

package: nut-server

title: apcsmart-old(8)

text:
# apcsmart-old(8)

## NAME
apcsmart-old - Driver for American Power Conversion Smart Protocol UPS equipment

## SYNOPSIS
apcsmart-old -h

apcsmart-old -a UPS_NAME [OPTIONS]

Note This man page only documents the hardware-specific features of the apcsmart-old driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
apcsmart-old should recognize all recent APC models that use a serial protocol at 2400 bps. This is primarily the Smart-UPS, Matrix-UPS and Back-UPS Pro lines.

The driver attempts to support every bell and whistle of the APC reporting interface, whether or not this is strictly sensible.

Some older hardware may only report a handful of variables. This is usually not a bug—they just don’t support anything else.

## CABLING
This driver expects to see a 940-0024C cable or a clone by default. You can switch to the 940-0095B dual-mode cable support with the cable= definition described below.

If your 940-0024C cable is broken or missing, use this diagram to build a clone:

http://www.networkupstools.org/cables/940-0024C.jpg

## EXTRA ARGUMENTS
This driver supports the following optional settings in the ups.conf(5):

cable=940-0095B

Configure the serial port for the APC 940-0095B dual-mode cable.

sdtype=num

Use shutdown type num, according to this table: 0

soft shutdown or powerdown, depending on battery status

1

soft shutdown followed by powerdown

2

instant power off

3

power off with grace period

4

"force OB" hack method for CS 350

Modes 0 and 1 will power up the load when power returns. Modes 2 and 3 will keep the load turned off when the power returns.

Mode 4 exploits an oddity in the CS 350 models since they only seem to support the S command, but then only when running on battery. As a result, the driver will force the UPS to go on battery if necessary before sending the shutdown command. This ensures that the load gets reset.

## BUGS
Some older APC UPS models return bogus data in the status register during a front panel test. This is usually detected and discarded, but some other unexpected values have occasionally slipped through.

APC UPS models with both USB and serial ports require a power cycle when switching from USB communication to serial, and perhaps vice versa.

## AUTHOR
Nigel Metheringham <Nigel.Metheringham@Intechnology.co.uk> (drawing heavily on the original apcsmart driver by Russell Kroll). This driver was called newapc for a time and was renamed in the 1.5 series. In 2.6.2 the driver was renamed to apcsmart-old, being superseded by updated version with new features.

## SEE ALSO

### The core driver:
nutupsdrv(8)

### Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


apcupsd-ups

title: apcupsd-ups(8)

summary: Driver for apcupsd client access

text:
# apcupsd-ups(8)

## NAME
apcupsd-ups - Driver for apcupsd client access

## NOTE
This man page only documents the specific features of the apcupsd-ups driver. For information about the core driver, see nutupsdrv(8).

## DESCRIPTION
This driver is a client to apcupsd.

apcupsd-ups acts as an apcupsd client, simply forwarding data. This can be useful in cases where both protocols are required in a network, or in case apcupsd has a required UPS access mode missing from NUT.

## EXTRA ARGUMENTS
This driver supports the following optional settings in nut.conf(5):

port=<hostname>[:<port>]

This is the name of a remote host running apcupsd (plus an optional port).

For instance:

```
[apcupsd]

            driver = apcupsd-ups

            port = localhost

            desc = "apcupsd client"
```

## BACKGROUND
This driver was originally written in one evening to allow interworking with apcupsd.

## SUPPORTED VARIABLES
The following variables are translated from apcupsd to NUT. All times should be converted to seconds (please file a bug if you notice a mismatch in units).

apcupsd variable

NUT variable(s)

BCHARGE

battery.charge

MBATTCHG

battery.charge.low

RETPCT

battery.charge.restart

BATTDATE

battery.date

TIMELEFT

battery.runtime

MINTIMEL

battery.runtime.low

BATTV

battery.voltage

NOMBATTV

battery.voltage.nominal

LINEFREQ

input.frequency

SENSE

input.sensitivity

HITRANS

input.transfer.high

LOTRANS

input.transfer.low

LASTXFER

input.transfer.reason

LINEV

input.voltage

MAXLINEV

input.voltage.maximum

MINLINEV

input.voltage.minimum

NOMINV

input.voltage.nominal

LINEFREQ

output.frequency

OUTPUTV

output.voltage

NOMOUTV

output.voltage.nominal

DATE

ups.date, ups.time

DSHUTD

ups.delay.shutdown

DWAKE

ups.delay.start

FIRMWARE

ups.firmware, ups.firmware.aux

UPSNAME

ups.id

LOADPCT

ups.load

MANDATE

ups.mfr.date

NOMPOWER

ups.realpower.nominal

SERIALNO

ups.serial

STATUS

ups.status

ITEMP

ups.temperature

STESTI

ups.test.interval

SELFTEST

ups.test.result

## LIMITATIONS
Access to apcupsd is strictly read only: no commands can be issued. This stems from the design of apcupsd, where the settings are changed in apctest. In order to run apctest, apcupsd must be stopped (and apcupsd exposes the UPS to the network).

## AUTHOR
Andreas Steinmetz

## SEE ALSO
ups.conf(5), nutupsdrv(8)

### Internet Resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

The apcupsd home page: http://www.apcupsd.org/


bcmxcp

title: bcmxcp(8)

text:
# bcmxcp(8)

## NAME
bcmxcp - Driver for UPSes supporting the serial BCM/XCP protocol

## NOTE
This man page only documents the hardware-specific features of the bcmxcp driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
This driver should recognize all serial BCM/XCP-compatible UPSes. It has been developed and tested on Powerware PW5115 and PW9120 hardware. If your UPS has a USB connection, you may also consult the bcmxcp_usb(8) driver documentation.

## EXTRA ARGUMENTS
This driver supports the following optional settings in the ups.conf(5).

shutdown_delay=delay

The number of seconds that the UPS should wait between receiving the shutdown command (upsdrvctl shutdown) and actually shutting off.

baud_rate=rate

Communication speed for the UPS. If this is set to 9600, it tries to connect to the UPS at 9600bps. If it fails to communicate, it will go into baud-hunting. It starts at 1200 and goes up to 19200. If it succeeds, it tell you the speed it connected with. If not included in the config, it defaults to baud-hunting.

## DEFAULT VALUES FOR THE EXTRA ARGUMENTS
•shutdown_delay = 120

•baud_rate = none

## INSTANT COMMANDS
This driver supports the following Instant Commands:

shutdown.return

Turn off the load and return when power is back.

shutdown.stayoff

Turn off the load and remain off.

test.battery.start

Start a battery test.

outlet.n.shutdown.return

Turn off the load on outlet n and return when power is back. (n is the outlet number reported by the upsc command)

## TODO LIST
Report UPS statistics information

BCM/XCP supports reporting of UPS statistics data.

Change settings

Access the config register to change settings.

## BUGS
None known.

## AUTHOR
Tore Ørpetveit <tore@orpetveit.net>

## SEE ALSO

### The core driver:
nutupsdrv(8)

### The USB BCM/XCP driver:
bcmxcp_usb(8)

### Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


title: bcmxcp_usb(8)

text:
# bcmxcp_usb(8)

## NAME
bcmxcp_usb - Experimental driver for UPSes supporting the BCM/XCP protocol over USB

## NOTE
This man page only documents the hardware-specific features of the bcmxcp_usb driver. For information about the core driver, see nutupsdrv(8). This driver is a variant of the serial driver bcmxcp and uses the same core code.

## SUPPORTED HARDWARE
This driver should recognize all BCM/XCP-compatible UPSes that are connected via USB. It has been developed and tested on Powerware PW3501 hardware. It also has been tested on PW5110 hardware.

## EXTRA ARGUMENTS
This driver supports the following optional settings in the ups.conf(5).

shutdown_delay=delay

The number of seconds that the UPS should wait between receiving the shutdown command and actually shutting off.

## DEFAULT VALUES FOR THE EXTRA ARGUMENTS
shutdown_delay =120

## INSTANT COMMANDS
This driver supports the following Instant Commands:

shutdown.return

Turn off the load and return when power is back.

shutdown.stayoff

Turn off the load and remain off.

test.battery.start

Start a battery test.

## TODO LIST
Report UPS alarm status

BCM/XCP supports reporting a wide range of UPS alarm conditions.

Report UPS statistics informations

BCM/XCP supports reporting of UPS statistics data.

## EXPERIMENTAL DRIVER
This driver has been tagged experimental, even if it has been reported to be stable. Thus it is not suitable for production systems and it is not built by default. This is mainly due to the fact that it is a new driver.

## INSTALLATION
This driver is not built by default. You can build it by using "configure --with-usb=yes". Note that it will also install other USB drivers.

You also need to install manually the hotplug files (libhidups and libhid.usermap), generally in etc/hotplug/usb/, to address the permission settings problem. Lastly note that the libhidups file must have execution flag set (ie using chmod +x ...).

## IMPLEMENTATION
bcmxcp_usb only supports 1 UPS at this time. You can put the "auto" value for port in ups.conf, i.e.:

```
[pw3105]

        driver = bcmxcp_usb

        port = auto
```

## KNOWN ISSUES AND BUGS

###  Got EPERM: Operation not permitted upon driver startup""
You have forgotten to install the hotplug files, as explained in the INSTALLATION section above. Don’t forget to restart hotplug so that it applies these changes.

## AUTHOR
Tore Ørpetveit <tore@orpetveit.net>, Wolfgang Ocker <weo@weo1.de>

## SEE ALSO

### The core driver:
nutupsdrv(8)

### Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


belkin

title: belkin(8)

summary: Driver for Belkin serial UPS equipment

text:
# belkin(8)

## NAME
belkin - Driver for Belkin serial UPS equipment

## NOTE
This man page only documents the hardware-specific features of the belkin driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
The belkin driver is known to support the Regulator Pro 525 (F6C525-SER). Other similar models such as the 425 and 625 should also work.

The Trust UPS and older Belkin units are not supported.

## EXTRA ARGUMENTS
This driver does not support any extra settings in the ups.conf(5).

## BUGS
There are dragons lurking within the protocol to this UPS. I have one that essentially behaves like a glorified power strip due to some invasive probing on my part. Don’t mess with it directly.

Note the driver doesn’t go anywhere near these character sequences, so it won’t zap your UPS. I only mention this here as yet another reminder of the perils of closed hardware.

## SEE ALSO

### The core driver:
nutupsdrv(8)

### Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


belkinunv

title: belkinunv(8)

summary: Driver for Belkin Universal UPS and compatible

text:
# belkinunv(8)

## NAME
belkinunv - Driver for Belkin "Universal UPS" and compatible

## NOTE
This man page only documents the hardware-specific features of the belkin driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
The belkinunv driver is known to work with the Belkin Universal UPS models F6C800-UNV and F6C120-UNV, and is expected to work with other Belkin Universal UPS models. The driver only supports serial communication, not USB.

The Trust UPS and older Belkin units are not supported by this driver, and neither are the Belkin Home Office models (F6H500-SER and so forth). However, some Belkin models, such as the Regulator Pro, are supported by the belkin(8) driver, and the Home Office models are supported using the genericups(8) driver with upstype=7.

## SOFT SHUTDOWN WORKAROUND
One problem with the Belkin Universal UPS is that it cannot enter a soft shutdown (shut down the load until AC power returns) unless the batteries are completely depleted. Thus, one cannot just shut off the UPS after operating system shutdown; it will not come back on when the power comes back on. Therefore, the belkinunv driver should never be used with the -k option. Instead, the -x wait option is provided as a workaround.

When called with the -x wait option, belkinunv behaves as a standalone program (i.e., it does not fork into the background). It performs one simple task: it connects to the UPS, waits for AC power to return, and then exits with status 0.

This is meant to be used in a shutdown script as follows: during a shutdown, after all filesystems have been remounted read-only, and just before the system would normally be halted: check /etc/killpower (or similar) to see if this shutdown was caused by upsmon(8), and if yes, call belkinunv -x wait. If AC power comes back on, belkinunv exits, and things should be arranged so that the system reboots in this case. If AC power does not come back on, the UPS will eventually run out of batteries, kill the computer’s power supply, and go into soft shutdown mode, which means everything will reboot properly when the power returns. In either case, a deadlock is avoided.

In addition, if an optional integer argument is given to the -x wait option, this causes belkinunv to wait not only for AC power to be present, but also for the battery charge to reach the given level. I use this as part of my startup scripts, to ensure that the batteries are sufficiently charged before the computer continues booting. This should be put very early in the startup script, before any filesystems are mounted read/write, and before any filesystem checks are performed.

Several other -x options are provided to fine-tune this behavior. See the options below for detailed descriptions. See the examples below for examples of how to use belkinunv in shutdown and startup scripts.

## OPTIONS
See also nutupsdrv(8) for generic options. Never use the -k option with this driver; it does not work properly.

-x wait[=level]

When this option is used, belkinunv does not fork into the background, but behaves as a standalone program. It connects to the UPS and waits until AC power is present. If level is specified, it also waits until the battery charge reaches at least the given level in percent. Then, and only then, belkinunv exits. In addition, while belkinunv runs in this mode, it displays a status line with information on the UPS status and battery level. This is intended for use in the computer’s shutdown and startup scripts, as described under Soft Shutdown Workaround above.

-x nohang

This option only has an effect when used in conjunction with the -x wait option. It causes belkinunv to exit if a connection with the UPS cannot be established or is lost, instead of retrying forever, which is the default behavior. The -x nohang option should be used in a startup script, to ensure the computer remains bootable even if the UPS has been disconnected during the power failure (for instance, you attached your computer to a generator, carried it to a neighbor’s house, or whatever).

-x flash

This option only has an effect when used in conjunction with the -x wait option. It causes the UPS load to be shut off for a short time ("flashed") just after the AC power has returned and the requested battery level (if any) has been attained. This is useful if slaves are attached to this UPS; the flash will cause all of them to reboot. Note that, due to the design of the Belkin UPS hardware, the load shutdown lasts ca. 1—2 minutes; a shorter flash cannot be performed reliably. Also, the computers will reboot at the scheduled time, on battery power if necessary, even if AC power fails again in the meantime. This should not be a problem, as your startup scripts can catch this situation.

-x silent

This option only has an effect when used in conjunction with the -x wait option. It suppresses the status line which belkinunv would normally print.

-x dumbterm

This option only has an effect when used in conjunction with the -x wait option. It changes the way in which belkinunv prints its status line. Normally, terminal control sequences are used to overwrite the same line with new status information, each time the status is updated. This may not work on all terminals. If the -x dumbterm option is given, each status update is written on a new line.

## VARIABLES
battery.charge, battery.runtime

not supported by all hardware.

battery.voltage, battery.voltage.nominal, input.frequency, input.frequency.nominal

e.g. 60 for 60Hz

input.sensitivity

writable: normal/medium/low

input.transfer.high

writable: high transfer voltage point in V

input.transfer.low

writable: low transfer voltage point in V

input.voltage, input.voltage.maximum, input.voltage.minimum, input.voltage.nominal, output.frequency, output.voltage, ups.beeper.status

writable. Values: enabled/disabled/muted. This variable controls the state of the panel beeper. Enabled means sound when the alarm is present, disabled means never sound, and muted means the sound is temporarily disabled until the alarm would normally stop sounding. In the muted state, the beeper is automatically turned back on at the next event (AC failure, battery test, etc). Also, the beeper can’t be turned off during a critical event (low battery). Note that not all UPS models support the "disabled" state.

ups.firmware, ups.load, ups.model, ups.power.nominal

e.g. 800 for an 800VA system

ups.status

a list of flags; see the status flags below.

ups.temperature

not supported by all hardware.

ups.test.result, ups.delay.restart

time to restart (read only)

ups.delay.shutdown

time to shutdown (read only). This is always a multiple of 60 seconds.

ups.type

ONLINE/OFFLINE/LINEINT. This describes the basic layout of this UPS (for GUI clients which want to draw an animated picture of power flow). An offline UPS has a direct connection from AC input to AC output, and also a connection from AC input to the battery, and from the battery to AC output. An online UPS lacks the direct connection from AC input to AC output, whereas a line interactive UPS lacks the connection from AC input to the battery.

## COMMANDS
beeper.enable, beeper.disable, beeper.mute

Enable, disable or mute the panel beeper. Note that if the beeper is muted, it is automatically turned back on at the next event (AC failure, battery test, etc). Also, the beeper can’t be turned muted during a critical event (low battery).

reset.input.minmax

Reset the variables input.voltage.minimum and input.voltage.maximum.

shutdown.reboot

Shut down load immediately for about 1—2 minutes.

shutdown.reboot.graceful

After 40 second delay, shut down load for about 1—2 minutes.

shutdown.stayoff

Shut down load immediately and stay off. The only way it can be turned back on is by manually pressing the front panel button.

test.battery.start, test.battery.stop

Start/stop 10 second battery test.

test.failure.start, test.failure.stop

Start/stop "deep" battery test.

## STATUS FLAGS
OB

load is on battery, including during tests

OFF

load is off

OL

load is online

ACFAIL

AC failure. Note that this refers to the AC input, and thus it is not the same as "OB". An AC failure can occur at any time, for instance, during a battery test, or when the UPS load is off.

OVER

overload

OVERHEAT

overheat

COMMFAULT

UPS fault

LB

low battery

CHRG

charging

DEPLETED

the battery is depleted. When the UPS raises this flag, it simultaneously switches off the load.

RB

replace battery

## EXAMPLES
Here is an example for how belkinunv should be used in a computer’s shutdown script. These commands should go in the very last part of the shutdown script, after all file systems have been mounted read-only, and just before the computer halts. Note that belkinunv must be installed in a directory which is still readable at that point.

```
# NEAR END OF SHUTDOWN SCRIPT:
# if shutdown was caused by UPS, perform Belkin UPS workaround.
if [ -f /etc/killpower ] ; then

   echo "Waiting for AC power, or for UPS batteries to run out..."

   /usr/bin/belkinunv -x wait /dev/ttyS1
```

```
   # we get here if the power came back on. Reboot.

   echo "Power is back. Rebooting..."

   reboot
fi
```

And here is an example of how to use belkinunv in the startup script. These commands should go near the beginning of the startup script, before any file systems are mounted read/write, and before any file system integrity checks are done.

```
# NEAR BEGINNING OF STARTUP SCRIPT:
# if we are recovering from a power failure, wait for the UPS to
# charge to a comfortable level before writing anything to disk
if [ -f /etc/killpower ] ; then

   echo "Waiting for UPS battery charge to reach 60%..."

   /usr/bin/belkinunv -x wait=60 -x nohang /dev/ttyS1
fi
```

## EXIT STATUS
When used normally, belkinunv forks into the background and its diagnostics are the same as for all NUT drivers, see nutupsdrv(8).

When used with the -x wait option, the exit status is normally 0. If the -x nohang option has also been specified, an exit status of 1 indicates that communication with the UPS was lost. If the -x flash option has been specified, an exit status of 2 indicates that the timed shutdown has failed.

## EXTRA ARGUMENTS
This driver does not support any extra settings in ups.conf(5).

## SEE ALSO

### The core driver:
nutupsdrv(8)

### Internet resources:
•The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

•The documentation for the protocol used by this UPS: belkin-universal-ups.html

## AUTHOR
Peter Selinger <selinger@users.sourceforge.net>


bestfcom

title: bestfcom(8)

summary: Driver for Best Power Fortress/Ferrups

text:
# bestfcom(8)

## NAME
bestfcom - Driver for Best Power Fortress/Ferrups

## NOTE
This man page only documents the hardware-specific features of the bestfcom driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
Best Power Fortress/Ferrups implementing the Fortress UPS Protocol (f-command set).

## EXTRA ARGUMENTS
This driver does not support any extra settings in the ups.conf(5).

## AUTHORS
Kent Polk (bestfcom)

Andreas Wrede, John Stone (bestuferrups)

Grant Taylor (bestfort)

Russell Kroll (bestups)

## SEE ALSO

### The core driver:
nutupsdrv(8)

### Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


bestfortress

title: bestfortress(8)

text:
# bestfortress(8)

## NAME
bestfortress - Driver for old Best Fortress UPS equipment

## NOTE
This man page only documents the hardware-specific features of the bestfortress driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
This driver supports old Best Fortress UPS equipment using a serial connection.

## EXTRA ARGUMENTS
This driver supports the following optional settings in the ups.conf(5):

baudrate=num

Set the speed of the serial connection - 1200, 2400, 4800 or 9600.

max_load=VA

Set the full-scale value of the ups.load variable.

## AUTHOR
Holger Dietze <holger.dietze@advis.de>, Stuart D. Gathman <stuart@bmsi.com>

## SEE ALSO

### The core driver:
nutupsdrv(8)

### The newer Best Power drivers:
bestups(8), bestuferrups(8), bestfcom(8)

### Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


bestuferrups

title: bestuferrups(8)

summary: Driver for Best Power Micro\-Ferrups

text:
# bestuferrups(8)

## NAME
bestuferrups - Driver for Best Power Micro-Ferrups

## NOTE
This man page only documents the hardware-specific features of the bestuferrups driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
Best Power Micro-Ferrups ME3100, probably other similar models too.

## EXTRA ARGUMENTS
This driver does not support any extra settings in the ups.conf(5).

## AUTHORS
Andreas Wrede, John Stone (bestuferrups)

Grant Taylor (bestfort)

Russell Kroll (bestups)

## SEE ALSO

### The core driver:
nutupsdrv(8)

### Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


bestups

title: bestups(8)

text:
# bestups(8)

## NAME
bestups - Driver for Best Power / SOLA (Phoenixtec protocol) UPS equipment

## NOTE
This man page only documents the hardware-specific features of the bestups driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
bestups was designed to monitor Best Power UPS hardware like the Fortress, Fortress Telecom, Axxium Rackmount and Patriot Pro. It also recognizes and supports SOLA units such as the 325, 520 and 620. In addition, the Best 610 is supported using the ‘ID’ option.

Other UPS hardware using the Phoenixtec protocol should also work, but they will generate a warning since their battery information is not known.

This driver does not support some older Best/SOLA units.

## EXTRA ARGUMENTS
This driver supports the following optional settings in the ups.conf(5):

nombattvolt=num

Override the battery float voltage which is normally determined by asking the hardware. This is useful if your UPS constantly reports battery.charge values just below 100% even when it’s completely charged. If you have this problem, set this to whatever battery.voltage reports when the UPS is known to be completely charged with a good battery.

The author’s Best Fortress 750 uses nombattvolt=27.4.

battvoltmult=num

Multiply the reported battery voltage by this number. Some devices report only a fraction of the total battery voltage. For example, the SOLA 610 700VA UPS (with a 24V battery) reports the single cell voltage (about 2.27V when fully charged). In this particular case you can set battvoltmult = 12 in ups.conf(8) to fix this.

ID=string

Set the Identification response string. This should only be used with hardware that supports the Phoenixtec protocol status inquiry commands, but not the "ID" command, such as the Best/SOLA 610. Format of the ID string is: AAA,BBBB,CCC,DDD,EE.E,FF.F AAA is the three-character identification for the UPS model.

BBBB is the output power in VA (volt amperes). B is an integer number ranging from 0 to 9.

CCC is the Nominal Input Voltage. C is an integer number ranging from 0 to 9. The unit is Volts AC.

DDD is the Nominal Output Voltage. D is an integer number ranging from 0 to 9. The unit is Volts AC.

EE.E is the Battery Voltage that will cause the UPS to shut itself off. E is an integer number ranging from 0 to 9. Then unit is Volts DC and a decimal point is present.

FF.F or FFF.F is the Battery Voltage at full charge. F is an integer number ranging from 0 to 9. Then unit is Volts DC. Typically, for 700VA, 1KVA and 1.5KVA units, the format is FF.F. For 2KVA and 3KVA units, the format is FFF.F.

Example: a Best 610 1.5KVA unit would use the string "610,1500,120,120,10.0,48.0".

## BUGS
The battery charge percentage value (in battery.charge) is derived from the voltage data that the UPS returns, since the UPS doesn’t return that value directly. On some hardware, the charge will remain at 100% for a long time and then drops quickly shortly before the battery runs out. You can confirm from the battery.voltage readings that this is a problem with the UPS and not this driver.

Similarly, the float from the charger in some models forces the battery charge percentage back up to 100% immedately after the UPS goes back on-line, so you can’t tell when it is really recharged.

Finally, some models give one value for the battery’s nominal voltage and yet actually have a nominal voltage slightly below that. This leads to things such as the perpetual 98.7% charge on the author’s Fortress 750, even when it’s been charging for weeks. You can use nombattvolt= in ups.conf(8) to fix this.

## AUTHOR
Russell Kroll, Jason White

## SEE ALSO

### The core driver:
nutupsdrv(8)

### Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


title: blazer_ser(8)

text:
# blazer_ser(8)

## NAME
blazer_ser - Driver for Megatec/Q1 protocol serial based UPS equipment

## NOTE
This man page only documents the hardware-specific features of the blazer driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
The blazer driver is known to work with various UPSes from Blazer, Energy Sistem, Fenton Technologies, General Electric, Mustek and many others. The NUT compatibility table lists all the known supported models. Keep in mind, however, that other models not listed there may also be supported, but haven’t been tested.

All devices with a serial interface (use the blazer_ser driver) and many with a USB interface (use the blazer_usb driver) are supported.

## EXTRA ARGUMENTS
You may need to override or provide defaults for some values, depending on the make and model of your UPS. The following are the ones that most likely will need changing (see ups.conf(5)):

default.battery.voltage.high = value

Maximum battery voltage that is reached after about 12 to 24 hours charging. If you want the driver to report a guesstimated battery.charge, you need to specify this (see BATTERY CHARGE).

default.battery.voltage.low = value

Minimum battery voltage just before the UPS automatically shuts down. If you want the driver to report a guesstimated battery.charge, you need to specify this (see BATTERY CHARGE).

default.battery.voltage.nominal = value, override.battery.voltage.nominal = value

Some devices show a wrong nominal battery voltage (or none at all), so you may need to override or set a default value.

override.battery.packs = value

Some devices report a part of the total battery voltage. For instance, if battery.voltage.nominal is 24 V, but it reports a battery.voltage of around 2 V, the number of battery.packs to correct this reading would be 12. The driver will attempt to detect this automatically, but if this fails somehow, you may want to override this value.

ondelay = value

Time to wait before switching on the UPS (minutes). Note that a value below 3 minutes, may cause earlier firmware versions to not switch on automatically, so it defaults to 3 minutes. The acceptable range is 0..9999 minutes.

offdelay = value

Time to wait before shutting down the UPS (seconds). This value is truncated to units of 6 seconds (less than 60 seconds) or 60 seconds (more than 60 seconds). Defaults to 30 seconds. The acceptable range is 12..600 seconds.

norating

Some UPSes will lock up if you attempt to read rating information from them. Setting this flag will make the driver skip this step.

novendor

Some UPSes will lock up if you attempt to read vendor information from them. Setting this flag will make the driver skip this step.

protocol = string

Skip autodetection of the protocol to use and only use the one specified. Supported values megatec, megatec/old, mustek and zinto.

runtimecal = value,value,value,value

Parameter used in the (optional) runtime estimation. This takes two runtimes at different loads. Typically, this uses the runtime at full load and the runtime at half load. For instance, if your UPS has a rated runtime of 240 seconds at full load and 720 seconds at half load, you would enter

```
runtimecal = 240,100,720,50
```

The first load should always be higher than the second. If you have values available for loads other than 100 and 50 % respectively, you can use those too, but keep them spaced apart as far as reasonably possible. Just don’t get too close to no load (prediction of runtime depends more on idle load for the battery then).

chargetime = value

The time needed to fully recharge the battery after being fully discharged. If not specified, the driver defaults to 43200 seconds (12 hours). Only used if runtimecal is also specified.

idleload = value

Minimum battery load used by the driver to estimate the runtime. If not specified, the driver defaults to 10%. Only used if runtimecal is also specified.

### SERIAL INTERFACE ONLY
cablepower = string

By default the driver will set DTR and clear RTS (normal). If you find that your UPS isn’t detected or the communication with the UPS is unreliable, you may try if clear DTR and set RTS (reverse), set DTR and RTS (both) or clear DTR and RTS (none) improves this situation.

## UPS COMMANDS
This driver supports some instant commands (see upscmd(8)):

beeper.toggle

Toggle the UPS beeper. (Not available on some hardware.)

load.on

Turn on the load immediately.

load.off

Turn off the load immediately (see KNOWN PROBLEMS).

shutdown.return

Turn off the load and return when power is back. Uses the timers defined by ondelay and offdelay.

shutdown.stayoff

Turn off the load and remain off (see KNOWN PROBLEMS). Uses the timer defined by offdelay.

shutdown.stop

Stop a shutdown in progress.

test.battery.start.deep

Perform a long battery test (Not available on some hardware.)

test.battery.start.quick

Perform a (10 second) battery test.

test.battery.start value

Perform a battery test for the duration of value minutes.

test.battery.stop

Stop a running battery test (not available on some hardware.)

## BATTERY CHARGE
Due to popular demand, this driver will report a guesstimated battery.charge and optionally battery.runtime, provided you specified a couple of the EXTRA ARGUMENTS listed above.

If you specify both battery.voltage.high and battery.voltage.low in ups.conf(5), but don’t enter runtimecal, it will guesstimate the state of charge by looking at the battery voltage alone. This is not reliable under load, as this only gives reasonably accurate readings if you disconnect the load, let the battery rest for a couple of minutes and then measure the open cell voltage. This just isn’t practical if the power went out and the UPS is providing power for your systems.

```
                     battery.voltage - battery.voltage.low
battery.charge =  ------------------------------------------ x 100 %

                  battery.voltage.high - battery.voltage.low
```

There is a way to get better readings without disconnecting the load but this requires one to keep track on how much (and how fast) current is going in- and out of the battery. If you specified the runtimecal, the driver will attempt to do this. Note however, that this heavily relies on the values you enter and that the UPS must be able to report the load as well. There are quite a couple of devices that report 0 % (or any other fixed value) at all times, in which case this obviously doesn’t work.

The driver also has no way of determining the degradation of the battery capacity over time, so you’ll have to deal with this yourself (by adjusting the values in runtimecal). Also note that the driver guesses the initial state of charge based on the battery voltage, so this may be less than 100 %, even when you are certain that they are full. There is just no way to reliably measure this between 0 and 100 % full charge.

This is better than nothing (but not by much). If any of the above calculations is giving you incorrect readings, you are the one that put in the values in ups.conf(5), so don’t complain with the author. If you need something better, buy a UPS that reports battery.charge and battery.runtime all by itself without the help of a NUT driver.

## NOTES FOR THE PREVIOUS USER OF MEGATEC DRIVERS
The blazer drivers having replaced the megatec ones, some configuration changes may be required by users switching to blazer.

Part of this, the following megatec options, in ups.conf, have to be changed:

battvolts

You need to use default.battery.voltage.high and default.battery.voltage.low

dtr and rts

You need to use cablepower

ignoreoff

This parameter can simply be discarded, since it was a wrong understanding of the specification.

## KNOWN PROBLEMS
Some UPS commands aren’t supported by all models. In most cases, the driver will send a message to the system log when the user tries to execute an unsupported command. Unfortunately, some models don’t even provide a way for the driver to check for this, so the unsupported commands will silently fail.

Both the load.off and shutdown.stayoff instant commands are meant to turn the load off indefinitely. However, some UPS models don’t allow this.

Some models report a bogus value for the beeper status (will always be enabled or disabled). So, the beeper.toggle command may appear to have no effect in the status reported by the driver when, in fact, it is working fine.

The temperature and load value is known to be bogus in some models.

## AUTHORS
Arjen de Korte <adkorte-guest at alioth.debian.org>, Alexander Gordeev <lasaine at lvk.cs.msu.su>

## SEE ALSO
blazer_usb(8), nutupsdrv(8), upsc(8), upscmd(8), upsrw(8)

### Internet Resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

The NUT HCL: http://www.networkupstools.org/stable-hcl.html


title: blazer_usb(8)

text:
# blazer_usb(8)

## NAME
blazer_usb - Driver for Megatec/Q1 protocol USB based UPS equipment

## NOTE
This man page only documents the hardware-specific features of the blazer driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
The blazer driver is known to work with various UPSes from Blazer, Energy Sistem, Fenton Technologies, General Electric, Mustek and many others. The NUT compatibility table lists all the known supported models. Keep in mind, however, that other models not listed there may also be supported, but haven’t been tested.

All devices with a serial interface (use the blazer_ser driver) and many with a USB interface (use the blazer_usb driver) are supported.

## EXTRA ARGUMENTS
You may need to override or provide defaults for some values, depending on the make and model of your UPS. The following are the ones that most likely will need changing (see ups.conf(5)):

default.battery.voltage.high = value

Maximum battery voltage that is reached after about 12 to 24 hours charging. If you want the driver to report a guesstimated battery.charge, you need to specify this (see BATTERY CHARGE).

default.battery.voltage.low = value

Minimum battery voltage just before the UPS automatically shuts down. If you want the driver to report a guesstimated battery.charge, you need to specify this (see BATTERY CHARGE).

default.battery.voltage.nominal = value, override.battery.voltage.nominal = value

Some devices show a wrong nominal battery voltage (or none at all), so you may need to override or set a default value.

override.battery.packs = value

Some devices report a part of the total battery voltage. For instance, if battery.voltage.nominal is 24 V, but it reports a battery.voltage of around 2 V, the number of battery.packs to correct this reading would be 12. The driver will attempt to detect this automatically, but if this fails somehow, you may want to override this value.

ondelay = value

Time to wait before switching on the UPS (minutes). Note that a value below 3 minutes, may cause earlier firmware versions to not switch on automatically, so it defaults to 3 minutes. The acceptable range is 0..9999 minutes.

offdelay = value

Time to wait before shutting down the UPS (seconds). This value is truncated to units of 6 seconds (less than 60 seconds) or 60 seconds (more than 60 seconds). Defaults to 30 seconds. The acceptable range is 12..600 seconds.

norating

Some UPSes will lock up if you attempt to read rating information from them. Setting this flag will make the driver skip this step.

novendor

Some UPSes will lock up if you attempt to read vendor information from them. Setting this flag will make the driver skip this step.

protocol = string

Skip autodetection of the protocol to use and only use the one specified. Supported values megatec, megatec/old, mustek and zinto.

runtimecal = value,value,value,value

Parameter used in the (optional) runtime estimation. This takes two runtimes at different loads. Typically, this uses the runtime at full load and the runtime at half load. For instance, if your UPS has a rated runtime of 240 seconds at full load and 720 seconds at half load, you would enter

```
runtimecal = 240,100,720,50
```

The first load should always be higher than the second. If you have values available for loads other than 100 and 50 % respectively, you can use those too, but keep them spaced apart as far as reasonably possible. Just don’t get too close to no load (prediction of runtime depends more on idle load for the battery then).

chargetime = value

The time needed to fully recharge the battery after being fully discharged. If not specified, the driver defaults to 43200 seconds (12 hours). Only used if runtimecal is also specified.

idleload = value

Minimum battery load used by the driver to estimate the runtime. If not specified, the driver defaults to 10%. Only used if runtimecal is also specified.

### USB INTERFACE ONLY
vendorid = regex, productid = regex, vendor = regex, product = regex, serial = regex

Select a specific UPS, in case there is more than one connected via USB. Each option specifies an extended regular expression (see regex(7)) that must match the UPS’s entire vendor/product/serial string (minus any surrounding whitespace), or the whole 4-digit hexadecimal code for vendorid and productid. Try -DD for finding out the strings to match. Examples:

•-x vendor="Foo.Corporation.*"

•-x vendorid=051d* (APC)

•-x product=".*(Smart|Back)-?UPS.*"

bus = regex

Select a UPS on a specific USB bus or group of busses. The argument is a regular expression that must match the bus name where the UPS is connected (e.g. bus="002", bus="00[2-3]").

subdriver = string

Select a serial-over-USB subdriver to use. You have a choice between phoenix, ippon, cypress, and krauler. When using this option, it is mandatory to also specify the vendorid and productid.

langid_fix = value

Apply the language ID workaround to the krauler subdriver. This is mandatory for some devices to work (LDLC, Dynamix and others). You must to provide value (0x409 or 0x4095), according to your device entry in NUT hardware compatibility list (HCL).

## UPS COMMANDS
This driver supports some instant commands (see upscmd(8)):

beeper.toggle

Toggle the UPS beeper. (Not available on some hardware.)

load.on

Turn on the load immediately.

load.off

Turn off the load immediately (see KNOWN PROBLEMS).

shutdown.return

Turn off the load and return when power is back. Uses the timers defined by ondelay and offdelay.

shutdown.stayoff

Turn off the load and remain off (see KNOWN PROBLEMS). Uses the timer defined by offdelay.

shutdown.stop

Stop a shutdown in progress.

test.battery.start.deep

Perform a long battery test (Not available on some hardware.)

test.battery.start.quick

Perform a (10 second) battery test.

test.battery.start value

Perform a battery test for the duration of value minutes.

test.battery.stop

Stop a running battery test (not available on some hardware.)

## BATTERY CHARGE
Due to popular demand, this driver will report a guesstimated battery.charge and optionally battery.runtime, provided you specified a couple of the EXTRA ARGUMENTS listed above.

If you specify both battery.voltage.high and battery.voltage.low in ups.conf(5), but don’t enter runtimecal, it will guesstimate the state of charge by looking at the battery voltage alone. This is not reliable under load, as this only gives reasonably accurate readings if you disconnect the load, let the battery rest for a couple of minutes and then measure the open cell voltage. This just isn’t practical if the power went out and the UPS is providing power for your systems.

```
                     battery.voltage - battery.voltage.low
battery.charge =  ------------------------------------------ x 100 %

                  battery.voltage.high - battery.voltage.low
```

There is a way to get better readings without disconnecting the load but this requires one to keep track on how much (and how fast) current is going in- and out of the battery. If you specified the runtimecal, the driver will attempt to do this. Note however, that this heavily relies on the values you enter and that the UPS must be able to report the load as well. There are quite a couple of devices that report 0 % (or any other fixed value) at all times, in which case this obviously doesn’t work.

The driver also has no way of determining the degradation of the battery capacity over time, so you’ll have to deal with this yourself (by adjusting the values in runtimecal). Also note that the driver guesses the initial state of charge based on the battery voltage, so this may be less than 100 %, even when you are certain that they are full. There is just no way to reliably measure this between 0 and 100 % full charge.

This is better than nothing (but not by much). If any of the above calculations is giving you incorrect readings, you are the one that put in the values in ups.conf(5), so don’t complain with the author. If you need something better, buy a UPS that reports battery.charge and battery.runtime all by itself without the help of a NUT driver.

## NOTES FOR THE PREVIOUS USER OF MEGATEC DRIVERS
The blazer drivers having replaced the megatec ones, some configuration changes may be required by users switching to blazer.

Part of this, the following megatec options, in ups.conf, have to be changed:

battvolts

You need to use default.battery.voltage.high and default.battery.voltage.low

dtr and rts

You need to use cablepower

ignoreoff

This parameter can simply be discarded, since it was a wrong understanding of the specification.

## KNOWN PROBLEMS
Some UPS commands aren’t supported by all models. In most cases, the driver will send a message to the system log when the user tries to execute an unsupported command. Unfortunately, some models don’t even provide a way for the driver to check for this, so the unsupported commands will silently fail.

Both the load.off and shutdown.stayoff instant commands are meant to turn the load off indefinitely. However, some UPS models don’t allow this.

Some models report a bogus value for the beeper status (will always be enabled or disabled). So, the beeper.toggle command may appear to have no effect in the status reported by the driver when, in fact, it is working fine.

The temperature and load value is known to be bogus in some models.

## AUTHORS
Arjen de Korte <adkorte-guest at alioth.debian.org>, Alexander Gordeev <lasaine at lvk.cs.msu.su>

## SEE ALSO
blazer_ser(8), nutupsdrv(8), upsc(8), upscmd(8), upsrw(8)

### Internet Resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

The NUT HCL: http://www.networkupstools.org/stable-hcl.html


clone

title: clone(8)

summary: UPS driver clone

text:
# clone(8)

## NAME
clone - UPS driver clone

## NOTE
This man page only documents the specific features of the clone driver. For information about the core driver, see nutupsdrv(8).

## DESCRIPTION
This driver, which sits on top of another driver socket, allows users to group clients to a particular outlet of a device and deal with this output as if it was a normal UPS.

## EXTRA ARGUMENTS
This driver supports the following settings:

load.off=command

Recommended. Set the command on the "real" UPS driver that will be used to switch off the outlet. You need both load.off and load.on in order to power cycle the outlet. Otherwise, shutting down the clients powered by an outlet is a one way street (see IMPORTANT).

load.on=command

Recommended. Set the command on the "real" UPS driver that will be used to switch on the outlet. You need both load.off and load.on in order to power cycle the outlet. Otherwise, shutting down the clients powered by an outlet is a one way street (see IMPORTANT).

load.status=value

Recommended. Set the variable on the "real" UPS driver that will be used to indicate the outlet status (i.e. on/off). If not specified, the clone driver will attempt to keep track of the outlet status, but this is less reliable.

offdelay=num

Set the timer (in seconds) before the outlet is turned off after the shutdown condition (OB LB) for this outlet is met or a command to shutdown was issued. Defaults to 120 seconds.

ondelay=num

Set the timer (in seconds) for the outlet to switch on in case the power returns after the oulet has been switched off. Defaults to 30 seconds.

mincharge=value

Set the remaining battery level when the clone UPS switches to LB (percent).

minruntime=value

Set the remaining battery runtime when the clone UPS switches to LB (seconds).

## IMPLEMENTATION
The port specification in the ups.conf(5) reference the driver socket that the "real" UPS driver is using. For example:

```
[realups]

   driver = usbhid-ups

   port = auto
```

```
[clone-outlet-1]

   driver = clone

   port = usbhid-ups-realups

   load.on = outlet.1.load.on

   load.off = outlet.1.load.off

   load.status = outlet.1.status

   [...]
```

## IMPORTANT
Unlike a real UPS, you should not configure a upsmon master for this driver. When a upsmon master sees the OB LB flags and tells the upsd server it is OK to initiate the shutdown sequence, the server will latch the FSD status and it will not be possible to restart the systems connected without restarting the upsd server.

This will be a problem if the power returns after the clone UPS initiated the shutdown sequence on it’s outlet, but returns before the real UPS begins shutting down. The solution is in the clone driver, that will insert the FSD flag if needed without the help of a upsmon master.

## CAVEATS
The clone UPS will follow the status on the real UPS driver. You can only make the clone UPS shutdown earlier than the real UPS driver, not later. If the real UPS driver initiates a shutdown, the clone UPS driver will immediately follow.

Be aware that the commands to shutdown/restart an outlet on the real UPS drivers are not affected, so if you tell the real UPS driver to shutdown the outlet of the clone UPS driver, your clients will lose power without warning.

## AUTHOR
Arjen de Korte <adkorte-guest@alioth.debian.org>

## SEE ALSO
upscmd(1), upsrw(1), ups.conf(5), nutupsdrv(8)

### Internet Resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


dummy-ups

title: dummy-ups(8)

summary: Driver for multi\-purpose UPS emulation

text:
# dummy-ups(8)

## NAME
dummy-ups - Driver for multi-purpose UPS emulation

## NOTE
This man page only documents the specific features of the dummy-ups driver. For information about the core driver, see nutupsdrv(8).

## DESCRIPTION
This program is a multi-purpose UPS emulation tool. Its behavior depends on the running mode:

### Dummy Mode
dummy-ups looks like a standard device driver to upsd(8) and allows one to change any value for testing purposes. It is both interactive, controllable through the upsrw(1) and upscmd(1) commands (or equivalent graphical tool), and batchable through script files. It can be configured, launched and used as any other real driver. This mode is mostly useful for development and testing purposes.

### Repeater Mode
dummy-ups acts as a NUT client, simply forwarding data. This can be useful for supervision purposes. This can also allow some load sharing between several UPS instances, using a point-to-point communication with the UPS.

## IMPLEMENTATION
The port specification depends on the running mode, and allows the driver to select the right mode.

### Dummy Mode
Port is a definition file name for dummy-ups. This can either be an absolute or a relative path name. In the latter case the NUT sysconfig directory (ie /etc/nut, /usr/local/ups/etc, ...) is prepended.

For instance:

```
[dummy]

        driver = dummy-ups

        port = evolution500.dev

        desc = "dummy-ups in dummy mode"
```

This file is generally named "something.dev". It contains a list of all valid data and associated values, and has the same format as an upsc(8) dump (<varname>: <value>). So you can easily create definition files from an existing UPS using "upsc > file.dev". It can also be empty, in which case only a basic set of data is available: device., driver., ups.mfr, ups.model, ups.status

Samples definition files are available in the "data" directory of the nut source tree, and generally in the sysconfig directory of your system distribution.

Since dummy-ups will loop on reading this file, you can dynamically modify it to interact with the driver. This will avoid message spam into your system log files, if you are using NUT default configuration.

You can also use the "TIMER <seconds>" instruction to create scheduled events sequences. For example, the following sequence will loop on switching ups.status between "OL", "OB" and "OB LB" every minute:

```
ups.status: OL
TIMER 60
ups.status: OB
TIMER 60
ups.status: LB
TIMER 60
```

It is wise to end the script with a TIMER. Otherwise dummy-ups will directly go back to the beginning of the file.

### Repeater Mode
Port is the name of a remote UPS, using the NUT form, ie:

```
<upsname>@<hostname>[:<port>]
```

For instance:

```
[repeater]

            driver = dummy-ups

            port = ups@hostname

            desc = "dummy-ups in repeater mode"
```

Unlike UPS specifications in the rest of NUT, the @hostname portion is not optional - it is the @ character which enables Repeater Mode. To refer to an UPS on the same host as dummy-ups, use port = upsname@localhost.

## INTERACTION
Once the driver is loaded in dummy mode, you can change any variables, except those of the driver.* and server.* collections. You can do this by either editing the definition file, or use the upsrw(1) and upscmd(1) commands.

Note that in simulation mode, new variables can be added on the fly, by adding these to the definition file. Conversely, if you need to remove variable (such as transient ones, like ups.alarm), simply update these by setting an empty value. As a result, they will get removed from the data.

In repeater mode, the driver acts according to the capabilities of the UPS, and so support the same instant commands and settable values.

## BACKGROUND
Dummy Mode was originally written in one evening to replace the previous dummycons testing driver, which was too limited, and required a terminal for interaction.

dummy-ups is useful for NUT client development, and other testing purposes.

It also helps the NUT Quality Assurance effort, by automating some tests on the NUT framework.

It now offers a repeater mode. This will help in building the Meta UPS approach, which allows one to build a virtual device, composed of several other devices (either UPS, PDUs).

## BUGS
Instant commands are not yet supported in Dummy Mode, and data need name/value checking enforcement, as well as boundaries or enumeration definition.

## AUTHOR
Arnaud Quette

## SEE ALSO
upscmd(1), upsrw(1), ups.conf(5), nutupsdrv(8)

### Internet Resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


etapro

title: etapro(8)

summary: Driver for ETA UPS equipment

text:
# etapro(8)

## NAME
etapro - Driver for ETA UPS equipment

## NOTE
This man page only documents the hardware-specific features of the etapro driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
This driver supports ETA UPS equipment with the "PRO" option for smart mode.

## EXTRA ARGUMENTS
This driver does not support any extra settings in the ups.conf(5).

## AUTHOR
Marek Michalkiewicz <marekm@amelek.gda.pl>

## SEE ALSO

### The core driver:
nutupsdrv(8)

### Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


everups

title: everups(8)

summary: Driver for Ever UPS models

text:
# everups(8)

## NAME
everups - Driver for Ever UPS models

## NOTE
This man page only documents the hardware-specific features of the everups driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
This driver should recognize the NET *-DPC and AP *-PRO models.

## EXTRA ARGUMENTS
This driver does not support any extra settings in the ups.conf(5).

## BUGS
This UPS can only switch off the load if it’s running on battery. This means you may be vulnerable to power races if your shutdown scripts don’t sleep and force a reboot.

## AUTHOR
Bartek Szady <bszx@bszxdomain.edu.eu.org>

## SEE ALSO

### The core driver:
nutupsdrv(8)

### Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


gamatronic

title: gamatronic(8)

summary: Driver for Gamatronic UPS equipment

text:
# gamatronic(8)

## NAME
gamatronic - Driver for Gamatronic UPS equipment

## NOTE
This man page only documents the hardware-specific features of the gamatronic driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
Various - Rebuilt to work with Gamatronic UPS Units, but should recognize any UPS that speaks the SEC protocol at 1200-19200 bps.

## EXTRA ARGUMENTS
This driver does not support any extra settings in the ups.conf(5).

## AUTHOR
Nadav Moskovitch <blutz@walla.com>

## SEE ALSO

### The core driver
nutupsdrv(8)

### Internet resources
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


genericups

title: genericups(8)

summary: Driver for contact\-closure UPS equipment

text:
# genericups(8)

## NAME
genericups - Driver for contact-closure UPS equipment

## NOTE
This man page only documents the specific features of the genericups driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
This driver supports hardware from many different manufacturers as it only uses the very simplest of signaling schemes. Contact closure refers to a kind of interface where basic high/low signals are provided to indicate status. This kind of UPS can only report line power and battery status.

This means that you will only get the essentials in ups.status: OL, OB, and LB. Anything else requires a smarter UPS.

## CABLING
Cabling is different for every kind of UPS. See the table below for information on what is known to work with a given UPS type.

## EXTRA ARGUMENTS
This driver supports the following settings in the ups.conf(5):

upstype=type

Required. Configures the driver for a specific kind of UPS. See the UPS Types section below for more information on which entries are available.

mfr=string

Optional. The very nature of a generic UPS driver sometimes means that the stock manufacturer data has no relation to the actual hardware that is attached. With the mfr setting, you can change the value that is seen by clients that monitor this UPS.

model=string

Optional. This is like mfr above, but it overrides the model string instead.

serial=string

Optional. This is like mfr above and intended to record the identification string of the UPS. It is titled "serial" because usually this string is referred to as the serial number.

sdtime=value

Optional. The driver will sleep for this many seconds after setting the shutdown signal. This is necessary for some hardware which requires a sustained level to activate the shutdown sequence. The default behavior of the driver is to exit immediately. If this doesn’t reliably trigger a shutdown in your UPS hardware, use this setting to give it more time to react.

Note very large values for sdtime may create warnings from upsdrvctl if it gets tired of waiting for the driver to return.

## CUSTOM CONFIGURATIONS
You may override the values for CP, OL, LB, and SD by defining them in the ups.conf(5) after the upstype setting.

For example, to set the cable power to DTR and the low battery value to DCD, it would look like this:

```
CP = DTR
```

```
LB = DCD
```

Recognized values for input lines are CTS, DCD, and RNG. Recognized values for output lines are DTR, RTS, and ST. See below for more about what these signals mean.

These values may be negated for active low signals. That is, "LB=-DCD" recognizes a low battery condition when DCD is not held high.

## TYPE INFORMATION
The essence of a UPS definition in this driver is how it uses the serial lines that are available. These are the abbreviations you will see below:

OL

On line (no power failure) (opposite of OB - on battery)

LB

Low battery

SD

Shutdown load

CP

Cable power (must be present for cable to have valid reading)

CTS

Clear to Send. Received from the UPS.

RTS

Ready to Send. Sent by the PC.

DCD

Data Carrier Detect. Received from the UPS.

RNG

Ring indicate. Received from the UPS.

DTR

Data Terminal Ready. Sent by the PC.

ST

Send a BREAK on the transmit data line

A "-" in front of a signal name (like -RNG) means that the indicated condition is signaled with an active low signal. For example, [LB=-RNG] means the battery is low when the ring indicate line goes low, and that the battery is OK when that line is held high.

## UPS TYPES
0 = UPSonic LAN Saver 600

```
[CP=DTR+RTS] [OL=-CTS] [LB=DCD] [SD=DTR]
```

1 = APC Back-UPS/Back-UPS Pro/Smart-UPS with 940-0095A/C cable

```
[CP=DTR] [OL=-RNG] [LB=DCD] [SD=RTS]
```

2 = APC Back-UPS/Back-UPS Pro/Smart-UPS with 940-0020B cable

```
[CP=RTS] [OL=-CTS] [LB=DCD] [SD=DTR+RTS]
```

```
Type 2 has also been reported to work with the 940-0020C cable.
```

3 = PowerTech Comp1000 with DTR cable power

```
[CP=DTR] [OL=CTS] [LB=DCD] [SD=DTR+RTS]
```

4 = Generic RUPS Model

```
[CP=RTS] [OL=CTS] [LB=-DCD] [SD=-RTS]
```

5 = Tripp Lite UPS with Lan2.2 interface (black 73-0844 cable)

```
[CP=DTR] [OL=CTS] [LB=-DCD] [SD=DTR+RTS]
```

6 = Best Patriot with INT51 cable

```
[CP=DTR] [OL=CTS] [LB=-DCD] [SD=RTS]
```

7 = CyberPower Power99 Also Upsonic Power Guardian PG-500, Belkin Belkin Home Office, F6H350-SER, F6H500-SER, F6H650-SER, Eaton Management Card Contact - Config3 with cable 66033 (shutdown does not work)

```
[CP=RTS] [OL=CTS] [LB=-DCD] [SD=DTR]
```

8 = Nitram Elite 500

```
[CP=DTR] [OL=CTS] [LB=-DCD] [SD=???]
```

9 = APC Back-UPS/Back-UPS Pro/Smart-UPS with 940-0023A cable

```
[CP=none] [OL=-DCD] [LB=CTS] [SD=RTS]
```

10 = Victron Lite with crack cable

```
[CP=RTS] [OL=CTS] [LB=-DCD] [SD=DTR]
```

11 = Powerware 3115

```
[CP=DTR] [OL=-CTS] [LB=-DCD] [SD=ST]
```

12 = APC Back-UPS Office with 940-0119A cable

```
[CP=RTS] [OL=-CTS] [LB=DCD] [SD=DTR]
```

13 = RPT Repoteck RPT-800A/RPT-162A

```
[CP=DTR+RTS] [OL=DCD] [LB=-CTS] [SD=ST]
```

14 = Online P-series

```
[CP=DTR] [OL=DCD] [LB=-CTS] [SD=RTS]
```

15 = Powerware 5119, 5125

```
[CP=DTR] [OL=CTS] [LB=-DCD] [SD=ST]
```

16 = Nitram Elite 2002

```
[CP=DTR+RTS] [OL=CTS] [LB=-DCD] [SD=???]
```

17 = PowerKinetics 9001

```
[CP=DTR] [OL=CTS] [LB=-DCD] [SD=???]
```

18 = TrippLite Omni 450LAN with Martin’s cabling

```
[CP=DTR] [OL=CTS] [LB=DCD] [SD=none]
```

19 = Fideltronic Ares Series

```
[CP=DTR] [OL=CTS] [LB=-DCD] [SD=RTS]
```

20 = Powerware 5119 RM

```
[CP=DTR] [OL=-CTS] [LB=DCD] [SD=ST]
```

```
Check docs/cables/powerware.txt
```

21 = Generic RUPS 2000 (Megatec M2501 cable)

```
[CP=RTS] [OL=CTS] [LB=-DCD] [SD=RTS+DTR]
```

22 = Gamatronic All models with alarm interface (also CyberPower SL series)

```
[CP=RTS] [OL=CTS] [LB=-DCD] [SD=DTR]
```

## SIMILAR MODELS
Many different UPS companies make models with similar interfaces. The RUPS cable seems to be especially popular in the "power strip" variety of UPS found in office supply stores. If your UPS works with an entry in the table above, but the model or manufacturer information don’t match, don’t despair. You can fix that easily by using the mfr and model variables documented above in your ups.conf(5).

## TESTING COMPATIBILITY
If your UPS isn’t listed above, you can try going through the list until you find one that works. There is a lot of cable and interface reuse in the UPS world, and you may find a match.

To do this, first make sure nothing important is plugged into the outlets on the UPS, as you may inadvertently switch it off. Definitely make sure that the computer you’re using is not plugged into that UPS. Plug in something small like a lamp so you know when power is being supplied to the outlets.

Now, you can either attempt to make an educated guess based on the documentation your manufacturer has provided (if any), or just start going down the list.

### Step 1
Pick a driver to try from the list (genericups -h) and go to step 2.

### Step 2
Start the driver with the type you want to try -

```
genericups -x upstype=n /dev/port
```

Let upsd sync up (watch the syslog), and then run upsc to see what it found. If the STATUS is right (should be OL for on line), continue to Step 3, otherwise go back to step 1.

Alternatively, you can run genericups in debug mode -

```
genericups -DDDDD -x upstype=n /dev/port
```

In this mode it will be running in the foreground and continuously display the line and battery status of the UPS.

### Step 3
Disconnect the UPS from the wall/mains power. This is easiest if you have a switched outlet in between it and the wall, but you can also just pull the plug to test. The lamp should stay lit, and the status should switch to "OB". If the lamp went out or the status didn’t go to "OB" within about 15 seconds, go to Step 1. Otherwise, continue to Step 4.

### Step 4
At this point, we know that OL and OB work. If nothing else beyond this point works, you at least know what your OL/OB value should be.

Wait for the UPS to start complaining about a low battery. Depending on the size of your UPS battery and the lamp’s bulb, this could take awhile. It should start complaining audibly at some point. When this happens, STATUS should show "OB LB" within 15 seconds. If not, go to Step 1, otherwise continue to Step 5.

### Step 5
So far: OL works, OB works, and LB works.

With the UPS running on battery, run the genericups driver with the -k switch to shut it down.

```
genericups -x upstype=n -k /dev/port
```

If the UPS turns off the lamp, you’re done. At this point, you have verified that the shutdown sequence actually does what you want. You can start using the genericups driver with this type number for normal operations.

You should use your findings to add a section to your ups.conf. Here is a quick example:

```
[myups]

        driver = genericups

        port = /dev/ttyS0

        upstype = 1
```

Change the port and upstype values to match your system.

## NEW SUPPORT
If the above testing sequence fails, you will probably need to create a new entry to support your hardware. All UPS types are determined from the table in the genericups.h file in the source tree.

On a standard 9 pin serial port, there are 6 lines that are used as the standard "high/low" signal levels. 4 of them are incoming (to the PC, from the UPS), and the other 2 are outgoing (to the UPS, from the PC). The other 3 are the receive/transmit lines and the ground.

Be aware that many manufacturers remap pins within the cable. If you have any doubts, a quick check with a multimeter should confirm whether the cable is straight-through or not. Another thing to keep in mind is that some cables have electronics in them to do special things. Some have resistors and transistors on board to change behavior depending on what’s being supplied by the PC.

## SPECIFIC MODEL NOTES
These have been contributed by users of this driver.

The Centralion CL series may power down the load if the driver starts up with the UPS running on battery as the default line settings contain the shutdown sequence. - Neil Muller

The Tripp-Lite Internet Office 700 must be used with the black 73-0844 cable instead of the gray 73-0743 cable. This entry should work with any of their models with the Lan 2.2 interface - see the sticker by the DB9 connector on the UPS. - Stephen Brown

Type 5 should work with the Tripp-Lite Lan 2.1 interface and the 73-0724 cable. This was tested with the OmniSmart 675 PNP on Red Hat 7.2. - Q Giese

Types 7 and 10 should both work with the PhoenixTec A1000.

## BUGS
There is no way to reliably detect a contact-closure UPS. This means the driver will start up happily even if no UPS is detected. It also means that if the connection between the UPS and computer is interrupted, you may not be able to sense this in software.

Most contact-closure UPSes will not power down the load if the line power is present. This can create a race when using slave upsmon(8) systems. See the upsmon(8) man page for more information.

The solution to both of these problems is to upgrade to a smart protocol UPS of some kind that allows detection and proper load cycling on command.

## SEE ALSO

### The core driver
nutupsdrv(8)

### Internet resources
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


isbmex

title: isbmex(8)

summary: Driver for ISBMEX UPS equipment

text:
# isbmex(8)

## NAME
isbmex - Driver for ISBMEX UPS equipment

## NOTE
This man page only documents the hardware-specific features of the isbmex driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
This driver supports SOLA/BASIC Mexico ISBMEX protocol UPS equipment.

## EXTRA ARGUMENTS
This driver does not support any extra settings in the ups.conf(5).

## AUTHOR
Edscott Wilson Garcia <edscott@imp.mx>

## SEE ALSO

### The core driver:
nutupsdrv(8)

### Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


ivtscd

title: ivtscd(8)

text:
# ivtscd(8)

## NAME
ivtscd - driver for the IVT Solar Controller Device

## NOTE
This man page only documents the hardware-specific features of the ivtscd driver. For information about the core driver, see nutupsdrv(8).

## DESCRIPTION
This driver allows to access the IVT SCD-series devices.

## EXTRA ARGUMENTS
This driver does not support any extra argument.

## AUTHOR
Arjen de Korte <adkorte-guest@alioth.debian.org>

## SEE ALSO

### The core driver:
nutupsdrv(8)

### Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


liebert

title: liebert(8)

summary: Driver for Liebert contact\-closure UPS equipment

text:
# liebert(8)

## NAME
liebert - Driver for Liebert contact-closure UPS equipment

## NOTE
This man page only documents the hardware-specific features of the liebert driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
This driver supports some Liebert UPS equipment with a contact-closure interface. This includes the UPStation GXT2 with their contact-closure cable. The smart mode ("Multilink") cable is not supported by this driver.

## EXTRA ARGUMENTS
This driver does not support any extra settings in the ups.conf(5).

## BUGS
This driver does not yet support shutdowns by raising DTR. Be aware that shutdowns are not possible with the stock contact-closure cable. You may have to build another cable with DTR connected through to the UPS for it to work.

There is no way for this driver to detect the hardware or cable. It will start up successfully even if no UPS is present. This is a fundamental limitation of any contact-closure driver.

## SEE ALSO

### The core driver:
nutupsdrv(8)

### Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


title: liebert-esp2(8)

summary: Driver for Liebert UPS, using the ESP\-II serial protocol

text:
# liebert-esp2(8)

## NAME
liebert-esp2 - Driver for Liebert UPS, using the ESP-II serial protocol

## NOTE
This man page only documents the hardware-specific features of the liebert-esp2 driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
This is an experimental driver. You have been warned.

## EXTRA ARGUMENTS
This driver supports the following optional settings in ups.conf(5):

baudrate=num

Set the speed of the serial connection - 1200, 2400 (default), 4800, 9600 or 19200.

## AUTHOR
Richard Gregory <R.Gregory at liverpool.ac.uk>, Arjen de Korte <adkorte-guest at alioth.debian.org>

## SEE ALSO

### The core driver:
nutupsdrv(8)

### Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


masterguard

title: masterguard(8)

summary: Driver for Masterguard UPS equipment

text:
# masterguard(8)

## NAME
masterguard - Driver for Masterguard UPS equipment

## NOTE
This man page only documents the hardware-specific features of the masterguard driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
This driver supports Masterguard UPS equipment.

## EXTRA ARGUMENTS
CS

Cancel the shutdown procedure.

## AUTHOR
Michael Spanier <mail@michael-spanier.de>

## SEE ALSO

### The core driver:
nutupsdrv(8)

### Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


metasys

title: metasys(8)

summary: Driver for Meta System UPS equipment

text:
# metasys(8)

## NAME
metasys - Driver for Meta System UPS equipment

## NOTE
This man page only documents the hardware-specific features of the metasys driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
The metasys driver was written with the "Meta System UPS Protocol Rev.1.12" kindly supplied from Meta System.

The driver should support all the common features of the ups models:

•HF Line (/2) 1-8 boards

•HF Millennium (810, 820)

•HF TOP Line (910, 920, 930, 940, 950, 970, 980)

•ECO Network (750, 1000, 1050, 1500, 1800, 2000, 2100, 2500, 3000)

•ECO (305, 308, 311, 511, 516, 519, 522, SX, SXI)

•ally HF (800, 1000, 1250, 1600, 2000, 2500)

•Megaline (1250, 2500, 3750, 5000, 6250, 7500, 8750, 10000)

## CABLING
The needed cable is a standard pin-to-pin serial cable with at least pins 2, 3, and 5 (on DB9 connector) connected.

## EXTRA ARGUMENTS
This driver supports no extra arguments from ups.conf(5).

## BUGS
This driver has been tested on Meta System HF Millennium 820 and ally HF 1000 only.

Any information about the use of the driver with the other listed UPS are really welcome.

## AUTHOR
Fabio Di Niro <blaxwan@users.sourceforge.net>

## SEE ALSO

### The core driver:
nutupsdrv(8)

### Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


mge-shut

title: mge-shut(8)

summary: Driver for SHUT Protocol UPS equipment

text:
# mge-shut(8)

## NAME
mge-shut - Driver for SHUT Protocol UPS equipment

## SYNOPSIS
mge-shut -h

mge-shut -a UPS_NAME [OPTIONS]

Note This man page only documents the hardware-specific features of the mge-shut driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
mge-shut supports all recent Eaton, MGE and Dell UPS models which use the SHUT (Serial HID UPS Transfer) protocol.

Older MGE models, such as Pulsar ESV+, Pulsar EX and Pulsar ES+, use the U-Talk protocol and should use the mge-utalk driver.

## EXTRA ARGUMENTS
This driver also supports the following optional settings:

lowbatt=num

Set the low battery warning threshold at which shutdown is initiated by upsmon(8). The factory default value is 30 (in percent), and can be settable depending on the exact model.

offdelay=num

Set the timer before the UPS is turned off after the kill power command is sent (via the -k switch). The default value is 20 (in seconds). Usually this must be lower than ondelay, but the driver will not warn you upon startup if it isn’t.

ondelay=num

Set the timer for the UPS to switch on in case the power returns after the kill power command had been sent but before the actual switch off. This ensures the machines connected to the UPS are, in all cases, rebooted after a power failure. The default value is 30 (in seconds). Usually this must be greater than offdelay, but the driver will not warn you upon startup if it isn’t. Some UPS’es will restart no matter what, even if the power is (still) out at the moment this timer elapses. In that case, you could try if setting ondelay = -1 in ups.conf helps.

Warning

ondelay parameter was set in ten seconds unit in the legacy mge-shut driver ( 3 for 30 seconds) . It is now set in seconds ( 30 for 30 seconds). Make sure you use the correct unit in your configuration.

notification=num

Set notification type to 1 (no), 2 (light) or 3 (yes). This argument is ignored. It is only here for backward compatibility.

## KNOWN ISSUES

### Repetitive timeout and staleness
Some models tends to be unresponsive with the default polling frequency. The result is that you have some "data stale" errors in your system log.

In this case, simply modify the general parameter "pollinterval" to a higher value (like 10 for 10 seconds). This should solve the issue.

Using notification=3 might also help.

## AUTHOR
Arnaud Quette

## SEE ALSO

### The core driver
nutupsdrv(8)

### Internet resources
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


mge-utalk

title: mge-utalk(8)

text:
# mge-utalk(8)

## NAME
mge-utalk - Driver for MGE UPS SYSTEMS UTalk protocol equipment

## SYNOPSIS
mge-utalk -h

mge-utalk -a UPS_NAME [OPTIONS]

Note This man page only documents the hardware-specific features of the mge-utalk driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
mge-utalk supports the following legacy units, using the MGE UTalk protocol:

```
Pulsar ESV+,
Pulsar ES+,
Pulsar EL,
Pulsar EX,
Pulsar EXtreme,
Comet EXtreme,
Comet (Utalk Serial Card, ref 66060),
Galaxy (Utalk Serial Card, ref 66060).
```

This driver also support some newer models with backward UTalk compatibility, such as Pulsar Evolution and Pulsar EXtreme C. As these models also support the SHUT protocol, prefer mge-shut for serial communication, or use the USB port, if available, with the usbhid-ups driver.

## EXTRA ARGUMENTS
This driver supports the following optional settings in the ups.conf(5):

lowbatt=num

Set the low battery warning threshold at which shutdown is initiated by upsmon(8). The factory default value is 30 (in percent), and can be settable depending on the exact model.

offdelay=num

Set the timer before the UPS is turned off after the kill power command is sent (via the -k switch). The default value is 20 (in seconds).

ondelay=num

Set the delay before the UPS is turned on, after the power returns. The default value is 1 (in minutes).

oldmac

Set this flag if you are running Linux on an Oldworld Macintosh box (all beige Apple Macintosh). This might also be needed for other OSs (like *BSD) running on PowerMac.

## KNOWN ISSUES

### Repetitive timeout and staleness
Older models, such as ES/ESV ones, might report repetitive "data stale" errors. This is due to the fact that these models don’t support too much polling. To solve this problem, add "pollinterval=20" in ups.conf, and change the value of MAXAGE to 25 in upsd.conf, and DEADTIME to 25 in upsmon.conf.

## AUTHOR
Hans Ekkehard Plesser, Arnaud Quette, Martin Loyer, Patrick Agrain, Nicholas Reilly, Dave Abbott, Marek Kralewski

## SEE ALSO

### The core driver
nutupsdrv(8)

### Internet resources
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


microdowell

title: microdowell(8)

text:
# microdowell(8)

## NAME
microdowell - Driver for Microdowell Enterprise UPS series

## NOTE
This man page only documents the hardware-specific features of the Microdowell driver. For information about the core driver, see nutupsdrv(8).

## SUPPORTED HARDWARE
This driver was developed for the Enterprise Nxx and Bxx models. Other Microdowell models may work, too.

## EXTRA ARGUMENTS
This driver does not support any extra settings in the ups.conf(5).

## AUTHOR
Elio Corbolante <eliocor@microdowell.com>

## SEE ALSO

### The core driver:
nutupsdrv(8)

### Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/


nut-recorder

title: nut-recorder(8)

text:
# nut-recorder(8)

## NAME
nut-recorder - utility to record device status and values changes

## SYNOPSIS
nut-recorder device-name [output-file] [interval]

## DESCRIPTION
nut-recorder is an utility to record sequences from running devices (such as power failures, or any other value changes) from upsd, and dump it in a .seq format.

The .seq file can then be used by the dummy-ups(8) driver to replay the sequence.

## OPTIONS
device-name

Record the changes of this device. The format for this option is devname[@hostname[:port]]. The default hostname is "localhost".

output-file

Optional. Data will be saved to this file. The default is dummy-device.seq.

interval

Optional. The status of the device will be checked every interval. The default is 5 seconds.

## EXAMPLES
To record data from ups1@host1 every 10 seconds:

```
$ nut-recorder ups1@host1' ups1-output.seq 10
. . .
battery.charge: 100.0
battery.voltage: 13.9
battery.voltage.nominal: 13.6
ups.status: OL
. . .
battery.charge: 90.0
ups.status: OB
. . .
```

You can then define a dummy device in ups.conf(5):

```
[ups-test]

        driver = dummy-ups

        port = ups1-output.seq
```

## AUTHOR
Arnaud Quette

## SEE ALSO
dummy-ups(8)

## INTERNET RESOURCES
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/