Imported Upstream version 2.4.3

This commit is contained in:
arnaud.quette@free.fr 2010-03-26 00:20:59 +01:00
commit 26fb71b504
446 changed files with 148951 additions and 0 deletions

99
man/Makefile.am Normal file
View file

@ -0,0 +1,99 @@
# Network UPS Tools: man
LIB_PAGES = upsclient.3 upscli_connect.3 upscli_disconnect.3 \
upscli_readline.3 upscli_sendline.3 upscli_splitaddr.3 \
upscli_splitname.3 upscli_strerror.3 upscli_fd.3 upscli_get.3 \
upscli_list_next.3 upscli_list_start.3 upscli_ssl.3 \
upscli_upserror.3
if WITH_DEV
if !WITH_PKG_CONFIG
LIB_PAGES += libupsclient-config.1
endif
endif
CONF_PAGES = nut.conf.5 ups.conf.5 upssched.conf.5 upsd.conf.5 \
upsmon.conf.5 upsd.users.5
CLIENT_PAGES = upsc.8 upsrw.8 upscmd.8 upslog.8 upssched.8 \
upsmon.8 upsd.8 nutupsdrv.8 upsdrvctl.8
CGI_PAGES = hosts.conf.5 upsset.conf.5 upsstats.html.5 \
upsset.cgi.8 upsstats.cgi.8 upsimage.cgi.8
SERIAL_PAGES = \
apcsmart.8 \
bcmxcp.8 \
belkin.8 \
belkinunv.8 \
bestfortress.8 \
bestuferrups.8 \
bestups.8 \
bestfcom.8 \
blazer.8 \
dummy-ups.8 \
etapro.8 \
everups.8 \
gamatronic.8 \
genericups.8 \
isbmex.8 \
ivtscd.8 \
liebert.8 \
liebertgxt2.8 \
masterguard.8 \
metasys.8 \
mge-shut.8 \
mge-utalk.8 \
oneac.8 \
microdowell.8 \
optiups.8 \
powercom.8 \
powerpanel.8 \
megatec.8 \
rhino.8 \
safenet.8 \
solis.8 \
tripplite.8 \
tripplitesu.8 \
upscode2.8 \
victronups.8 \
clone.8
SNMP_PAGES = snmp-ups.8
USB_LIBUSB_PAGES = usbhid-ups.8 bcmxcp_usb.8 tripplite_usb.8 megatec_usb.8 richcomm_usb.8
NETXML_PAGES = netxml-ups.8
POWERMAN_PAGES = powerman-pdu.8
# decide which pages to install
man_MANS = $(CONF_PAGES) $(CLIENT_PAGES)
if WITH_CGI
man_MANS += $(CGI_PAGES)
endif
if WITH_DEV
man_MANS += $(LIB_PAGES)
endif
if SOME_DRIVERS
man_MANS += $(DRIVER_MAN_LIST)
else
if WITH_SERIAL
man_MANS += $(SERIAL_PAGES)
endif
if WITH_SNMP
man_MANS += $(SNMP_PAGES)
endif
if WITH_USB
man_MANS += $(USB_LIBUSB_PAGES)
endif
if WITH_NEONXML
man_MANS += $(NETXML_PAGES)
endif
if WITH_LIBPOWERMAN
man_MANS += $(POWERMAN_PAGES)
endif
endif
# distribute everything, even that which is not installed by default
EXTRA_DIST = $(LIB_PAGES) $(CONF_PAGES) $(CLIENT_PAGES) \
$(CGI_PAGES) $(SERIAL_PAGES) $(SNMP_PAGES) $(USB_LIBUSB_PAGES) \
$(NETXML_PAGES) $(POWERMAN_PAGES) libupsclient-config.1 skel.8

691
man/Makefile.in Normal file
View file

@ -0,0 +1,691 @@
# Makefile.in generated by automake 1.11 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# Network UPS Tools: man
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
@WITH_DEV_TRUE@@WITH_PKG_CONFIG_FALSE@am__append_1 = libupsclient-config.1
@WITH_CGI_TRUE@am__append_2 = $(CGI_PAGES)
@WITH_DEV_TRUE@am__append_3 = $(LIB_PAGES)
@SOME_DRIVERS_TRUE@am__append_4 = $(DRIVER_MAN_LIST)
@SOME_DRIVERS_FALSE@@WITH_SERIAL_TRUE@am__append_5 = $(SERIAL_PAGES)
@SOME_DRIVERS_FALSE@@WITH_SNMP_TRUE@am__append_6 = $(SNMP_PAGES)
@SOME_DRIVERS_FALSE@@WITH_USB_TRUE@am__append_7 = $(USB_LIBUSB_PAGES)
@SOME_DRIVERS_FALSE@@WITH_NEONXML_TRUE@am__append_8 = $(NETXML_PAGES)
@SOME_DRIVERS_FALSE@@WITH_LIBPOWERMAN_TRUE@am__append_9 = $(POWERMAN_PAGES)
subdir = man
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nut_arg_with.m4 \
$(top_srcdir)/m4/nut_check_ipv6.m4 \
$(top_srcdir)/m4/nut_check_libgd.m4 \
$(top_srcdir)/m4/nut_check_libhal.m4 \
$(top_srcdir)/m4/nut_check_libneon.m4 \
$(top_srcdir)/m4/nut_check_libnetsnmp.m4 \
$(top_srcdir)/m4/nut_check_libpowerman.m4 \
$(top_srcdir)/m4/nut_check_libssl.m4 \
$(top_srcdir)/m4/nut_check_libusb.m4 \
$(top_srcdir)/m4/nut_check_libwrap.m4 \
$(top_srcdir)/m4/nut_check_os.m4 \
$(top_srcdir)/m4/nut_report_feature.m4 \
$(top_srcdir)/m4/nut_type_socklen_t.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
man1dir = $(mandir)/man1
am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" \
"$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"
man3dir = $(mandir)/man3
man5dir = $(mandir)/man5
man8dir = $(mandir)/man8
NROFF = nroff
MANS = $(man_MANS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BINDIR = @BINDIR@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CONFPATH = @CONFPATH@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DRIVER_BUILD_LIST = @DRIVER_BUILD_LIST@
DRIVER_INSTALL_TARGET = @DRIVER_INSTALL_TARGET@
DRIVER_MAN_LIST = @DRIVER_MAN_LIST@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
HAL_CALLOUTS_PATH = @HAL_CALLOUTS_PATH@
HAL_DEVICE_MATCH_KEY = @HAL_DEVICE_MATCH_KEY@
HAL_FDI_PATH = @HAL_FDI_PATH@
HAL_USER = @HAL_USER@
HAVE_GLIB_2_14 = @HAVE_GLIB_2_14@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBGD_CFLAGS = @LIBGD_CFLAGS@
LIBGD_LDFLAGS = @LIBGD_LDFLAGS@
LIBHAL_CFLAGS = @LIBHAL_CFLAGS@
LIBHAL_LDFLAGS = @LIBHAL_LDFLAGS@
LIBNEON_CFLAGS = @LIBNEON_CFLAGS@
LIBNEON_LDFLAGS = @LIBNEON_LDFLAGS@
LIBNETSNMP_CFLAGS = @LIBNETSNMP_CFLAGS@
LIBNETSNMP_LDFLAGS = @LIBNETSNMP_LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBPOWERMAN_CFLAGS = @LIBPOWERMAN_CFLAGS@
LIBPOWERMAN_LDFLAGS = @LIBPOWERMAN_LDFLAGS@
LIBS = @LIBS@
LIBSSL_CFLAGS = @LIBSSL_CFLAGS@
LIBSSL_LDFLAGS = @LIBSSL_LDFLAGS@
LIBTOOL = @LIBTOOL@
LIBUSB_CFLAGS = @LIBUSB_CFLAGS@
LIBUSB_LDFLAGS = @LIBUSB_LDFLAGS@
LIBWRAP_CFLAGS = @LIBWRAP_CFLAGS@
LIBWRAP_LDFLAGS = @LIBWRAP_LDFLAGS@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
NETLIBS = @NETLIBS@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OS_NAME = @OS_NAME@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
RUN_AS_GROUP = @RUN_AS_GROUP@
RUN_AS_USER = @RUN_AS_USER@
SED = @SED@
SERLIBS = @SERLIBS@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STATEPATH = @STATEPATH@
STRIP = @STRIP@
SUN_LIBUSB = @SUN_LIBUSB@
VERSION = @VERSION@
WORDS_BIGENDIAN = @WORDS_BIGENDIAN@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
cgiexecdir = @cgiexecdir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
driverexecdir = @driverexecdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
hotplugdir = @hotplugdir@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgconfigdir = @pkgconfigdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
udevdir = @udevdir@
LIB_PAGES = upsclient.3 upscli_connect.3 upscli_disconnect.3 \
upscli_readline.3 upscli_sendline.3 upscli_splitaddr.3 \
upscli_splitname.3 upscli_strerror.3 upscli_fd.3 upscli_get.3 \
upscli_list_next.3 upscli_list_start.3 upscli_ssl.3 \
upscli_upserror.3 $(am__append_1)
CONF_PAGES = nut.conf.5 ups.conf.5 upssched.conf.5 upsd.conf.5 \
upsmon.conf.5 upsd.users.5
CLIENT_PAGES = upsc.8 upsrw.8 upscmd.8 upslog.8 upssched.8 \
upsmon.8 upsd.8 nutupsdrv.8 upsdrvctl.8
CGI_PAGES = hosts.conf.5 upsset.conf.5 upsstats.html.5 \
upsset.cgi.8 upsstats.cgi.8 upsimage.cgi.8
SERIAL_PAGES = \
apcsmart.8 \
bcmxcp.8 \
belkin.8 \
belkinunv.8 \
bestfortress.8 \
bestuferrups.8 \
bestups.8 \
bestfcom.8 \
blazer.8 \
dummy-ups.8 \
etapro.8 \
everups.8 \
gamatronic.8 \
genericups.8 \
isbmex.8 \
ivtscd.8 \
liebert.8 \
liebertgxt2.8 \
masterguard.8 \
metasys.8 \
mge-shut.8 \
mge-utalk.8 \
oneac.8 \
microdowell.8 \
optiups.8 \
powercom.8 \
powerpanel.8 \
megatec.8 \
rhino.8 \
safenet.8 \
solis.8 \
tripplite.8 \
tripplitesu.8 \
upscode2.8 \
victronups.8 \
clone.8
SNMP_PAGES = snmp-ups.8
USB_LIBUSB_PAGES = usbhid-ups.8 bcmxcp_usb.8 tripplite_usb.8 megatec_usb.8 richcomm_usb.8
NETXML_PAGES = netxml-ups.8
POWERMAN_PAGES = powerman-pdu.8
# decide which pages to install
man_MANS = $(CONF_PAGES) $(CLIENT_PAGES) $(am__append_2) \
$(am__append_3) $(am__append_4) $(am__append_5) \
$(am__append_6) $(am__append_7) $(am__append_8) \
$(am__append_9)
# distribute everything, even that which is not installed by default
EXTRA_DIST = $(LIB_PAGES) $(CONF_PAGES) $(CLIENT_PAGES) \
$(CGI_PAGES) $(SERIAL_PAGES) $(SNMP_PAGES) $(USB_LIBUSB_PAGES) \
$(NETXML_PAGES) $(POWERMAN_PAGES) libupsclient-config.1 skel.8
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu man/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-man1: $(man_MANS)
@$(NORMAL_INSTALL)
test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
@list=''; test -n "$(man1dir)" || exit 0; \
{ for i in $$list; do echo "$$i"; done; \
l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
sed -n '/\.1[a-z]*$$/p'; \
} | while read p; do \
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; echo "$$p"; \
done | \
sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
sed 'N;N;s,\n, ,g' | { \
list=; while read file base inst; do \
if test "$$base" = "$$inst"; then list="$$list $$file"; else \
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
fi; \
done; \
for i in $$list; do echo "$$i"; done | $(am__base_list) | \
while read files; do \
test -z "$$files" || { \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
done; }
uninstall-man1:
@$(NORMAL_UNINSTALL)
@list=''; test -n "$(man1dir)" || exit 0; \
files=`{ for i in $$list; do echo "$$i"; done; \
l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
sed -n '/\.1[a-z]*$$/p'; \
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
test -z "$$files" || { \
echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
install-man3: $(man_MANS)
@$(NORMAL_INSTALL)
test -z "$(man3dir)" || $(MKDIR_P) "$(DESTDIR)$(man3dir)"
@list=''; test -n "$(man3dir)" || exit 0; \
{ for i in $$list; do echo "$$i"; done; \
l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
sed -n '/\.3[a-z]*$$/p'; \
} | while read p; do \
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; echo "$$p"; \
done | \
sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
sed 'N;N;s,\n, ,g' | { \
list=; while read file base inst; do \
if test "$$base" = "$$inst"; then list="$$list $$file"; else \
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \
fi; \
done; \
for i in $$list; do echo "$$i"; done | $(am__base_list) | \
while read files; do \
test -z "$$files" || { \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \
done; }
uninstall-man3:
@$(NORMAL_UNINSTALL)
@list=''; test -n "$(man3dir)" || exit 0; \
files=`{ for i in $$list; do echo "$$i"; done; \
l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
sed -n '/\.3[a-z]*$$/p'; \
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
test -z "$$files" || { \
echo " ( cd '$(DESTDIR)$(man3dir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(man3dir)" && rm -f $$files; }
install-man5: $(man_MANS)
@$(NORMAL_INSTALL)
test -z "$(man5dir)" || $(MKDIR_P) "$(DESTDIR)$(man5dir)"
@list=''; test -n "$(man5dir)" || exit 0; \
{ for i in $$list; do echo "$$i"; done; \
l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
sed -n '/\.5[a-z]*$$/p'; \
} | while read p; do \
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; echo "$$p"; \
done | \
sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
sed 'N;N;s,\n, ,g' | { \
list=; while read file base inst; do \
if test "$$base" = "$$inst"; then list="$$list $$file"; else \
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \
fi; \
done; \
for i in $$list; do echo "$$i"; done | $(am__base_list) | \
while read files; do \
test -z "$$files" || { \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \
done; }
uninstall-man5:
@$(NORMAL_UNINSTALL)
@list=''; test -n "$(man5dir)" || exit 0; \
files=`{ for i in $$list; do echo "$$i"; done; \
l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
sed -n '/\.5[a-z]*$$/p'; \
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
test -z "$$files" || { \
echo " ( cd '$(DESTDIR)$(man5dir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(man5dir)" && rm -f $$files; }
install-man8: $(man_MANS)
@$(NORMAL_INSTALL)
test -z "$(man8dir)" || $(MKDIR_P) "$(DESTDIR)$(man8dir)"
@list=''; test -n "$(man8dir)" || exit 0; \
{ for i in $$list; do echo "$$i"; done; \
l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
sed -n '/\.8[a-z]*$$/p'; \
} | while read p; do \
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; echo "$$p"; \
done | \
sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
sed 'N;N;s,\n, ,g' | { \
list=; while read file base inst; do \
if test "$$base" = "$$inst"; then list="$$list $$file"; else \
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \
fi; \
done; \
for i in $$list; do echo "$$i"; done | $(am__base_list) | \
while read files; do \
test -z "$$files" || { \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \
done; }
uninstall-man8:
@$(NORMAL_UNINSTALL)
@list=''; test -n "$(man8dir)" || exit 0; \
files=`{ for i in $$list; do echo "$$i"; done; \
l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
sed -n '/\.8[a-z]*$$/p'; \
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
test -z "$$files" || { \
echo " ( cd '$(DESTDIR)$(man8dir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(man8dir)" && rm -f $$files; }
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@list='$(MANS)'; if test -n "$$list"; then \
list=`for p in $$list; do \
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
if test -n "$$list" && \
grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
echo " typically \`make maintainer-clean' will remove them" >&2; \
exit 1; \
else :; fi; \
else :; fi
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(MANS)
installdirs:
for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-man
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man: install-man1 install-man3 install-man5 install-man8
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-man
uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \
uninstall-man8
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dvi install-dvi-am \
install-exec install-exec-am install-html install-html-am \
install-info install-info-am install-man install-man1 \
install-man3 install-man5 install-man8 install-pdf \
install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
uninstall-man uninstall-man1 uninstall-man3 uninstall-man5 \
uninstall-man8
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

79
man/apcsmart.8 Normal file
View file

@ -0,0 +1,79 @@
.TH APCSMART 8 "Mon Sep 29 2003" "" "Network UPS Tools (NUT)"
.SH NAME
apcsmart \- Driver for American Power Conversion Smart Protocol UPS equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
apcsmart driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
apcsmart should recognize all recent APC models that use a serial
protocol at 2400 bps. This is primarily the Smart\(hyUPS, Matrix\(hyUPS and
Back\(hyUPS 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 \(hy they just don't support anything else.
.SH CABLING
This driver expects to see a 940\(hy0024C cable or a clone by default. You
can switch to the 940\(hy0095B dual\(hymode cable support with the cable=
definition described below.
If your 940\(hy0024C cable is broken or missing, use this diagram to build
a clone:
http://random.networkupstools.org/cables/940\(hy0024C.jpg
.SH EXTRA ARGUMENTS
This driver supports the following optional settings in the
\fBups.conf\fR(5):
.IP "cable=940\(hy0095B"
Configure the serial port for the APC 940\(hy0095B dual\(hymode cable.
.IP "sdtype=\fInum\fR"
Use shutdown type \fInum\fR, 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.
.SH 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.
.SH 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.
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

69
man/bcmxcp.8 Normal file
View file

@ -0,0 +1,69 @@
.TH "BCMXCP" "8" "Wed Dec 31 2008" "" "Network UPS Tools (NUT)"
.SH "NAME"
bcmxcp \- Driver for UPS'es supporting the serial BCM/XCP protocol
.SH "NOTE"
This man page only documents the hardware\(hyspecific features of the
bcmxcp driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH "SUPPORTED HARDWARE"
This driver should recognize all serial BCM/XCP\-compatible UPS'es. It has
been developed and tested on Powerware PW5115 and PW9120 hardware. If your UPS
has a USB connection, you may also consult the \fBbcmxcp_usb\fR(8) driver
documentation.
.SH "EXTRA ARGUMENTS"
This driver supports the following optional settings in the
\fBups.conf\fR(5).
.IP "shutdown_delay=\fIdelay\fR"
The number of seconds that the UPS should wait between receiving the
shutdown command (upsdrvctl shutdown) and actually shutting off.
.IP "baud_rate=\fIrate\fR"
Communication speed for the UPS. If this is set to 9600, it try to connect
to the UPS on 9600bps. If it fails to communicate, it go into baudhunting.
It start at 1200 and up to 19200. If it succeed it tell you the speed it
connect with. If not included in the config it default's to baudhunting.
.SH "DEFAULT VALUES FOR THE EXTRA ARGUMENTS"
.IP "shutdown_delay = \fI120\fR"
.IP "baud_rate = \fInone\fR"
.SH "INSTANT COMMANDS"
This driver supports the following Instant Commands:
.IP "shutdown.return"
Turn off the load and return when power is back.
.IP "shutdown.stayoff"
Turn off the load and remain off.
.IP "test.battery.start"
Start a battery test.
.IP "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 )
.SH "TODO LIST"
.IP "Report UPS statistics informations"
BCM/XCP supports reporting of UPS statistics data.
.IP "Change settings"
Access the config register to change settings.
.SH "BUGS"
None known.
.SH "AUTHOR"
Tore \[/O]rpetveit <tore@orpetveit.net>
.SH "SEE ALSO"
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS The USB BCM/XCP driver:
\fBbcmxcp_usb\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

90
man/bcmxcp_usb.8 Normal file
View file

@ -0,0 +1,90 @@
.TH BCMXCP_USB 8 "Sun Sep 19 2004" "" "Network UPS Tools (NUT)"
.SH NAME
bcmxcp \- Experimental driver for UPS'es supporting the BCM/XCP protocol over USB
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
bcmxcp_usb driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
This driver is a variant of the serial driver bcmxcp and uses the same core code.
.SH SUPPORTED HARDWARE
This driver should recognize all BCM/XCP-compatible UPS'es that are connected
via USB. It has been developed and tested on Powerware PW3501 hardware. It also has
been tested on PW5110 hardware.
.SH EXTRA ARGUMENTS
This driver supports the following optional settings in the
\fBups.conf\fR(5).
.IP "shutdown_delay=\fIdelay\fR"
The number of seconds that the UPS should wait between receiving the
shutdown command and actually shutting off.
.SH DEFAULT VALUES FOR THE EXTRA ARGUMENTS
.IP "shutdown_delay = \fI120\fR"
.SH INSTANT COMMANDS
This driver supports the following Instant Commands:
.IP "shutdown.return"
Turn off the load and return when power is back.
.IP "shutdown.stayoff"
Turn off the load and remain off.
.IP "test.battery.start"
Start a battery test.
.SH TODO LIST
.IP "Report UPS alarm status"
BCM/XCP supports reporting a wide range of UPS alarm conditions.
.IP "Report UPS statistics informations"
BCM/XCP supports reporting of UPS statistics data.
.SH 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.
.SH 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 ...).
.SH IMPLEMENTATION
bcmxcp_usb only supports 1 UPS at this time. You can put the
"auto" value for port in \fBups.conf\fR, i.e.:
.nf
[pw3105]
driver = bcmxcp_usb
port = auto
.fi
.SH KNOWN ISSUES AND BUGS
.SS "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.
.SH AUTHOR
Tore \[/O]rpetveit <tore@orpetveit.net>,
Wolfgang Ocker <weo@weo1.de>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

36
man/belkin.8 Normal file
View file

@ -0,0 +1,36 @@
.TH BELKIN 8 "Tue Jul 29 2003" "" "Network UPS Tools (NUT)"
.SH NAME
belkin \- Driver for Belkin serial UPS equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
belkin driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
The belkin driver is known to support the Regulator Pro 525 (F6C525\(hySER).
Other similar models such as the 425 and 625 should also work.
The Trust UPS and older Belkin units are not supported.
.SH EXTRA ARGUMENTS
This driver does not support any extra settings in the
\fBups.conf\fR(5).
.SH 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.
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

327
man/belkinunv.8 Normal file
View file

@ -0,0 +1,327 @@
.TH BELKINUNV 8 "Sun Dec 7 2003" "" "Network UPS Tools (NUT)"
.SH NAME
belkinunv \- Driver for Belkin "Universal UPS" and compatible
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
belkin driver. For information about the core driver, see
\fBnutupsdrv\fP(8).
.SH SUPPORTED HARDWARE
The belkinunv driver is known to work with the Belkin Universal UPS
models F6C800\(hyUNV and F6C120\(hyUNV, 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\(hySER and so
forth). However, some Belkin models, such as the Regulator Pro, are
supported by the \fBbelkin\fP(8) driver, and the Home Office models
are supported using the \fBgenericups\fP(8) driver with
\fIupstype=7\fP.
.SH 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 \fB\-k\fP option. Instead, the \fB\-x wait\fP option is
provided as a workaround.
When called with the \fB\-x wait\fP option, \fBbelkinunv\fP 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\(hyonly, and
just before the system would normally be halted: check /etc/killpower
(or similar) to see if this shutdown was caused by \fBupsmon\fP(8),
and if yes, call \fBbelkinunv \-x wait\fP. If AC power comes back on,
\fBbelkinunv\fP 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 \fB\-x
wait\fP option, this causes \fBbelkinunv\fP 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 \fB\-x\fP options are provided to fine\(hytune this
behavior. See OPTIONS below for detailed descriptions. See EXAMPLES
below for examples of how to use \fBbelkinunv\fP in shutdown and
startup scripts.
.SH OPTIONS
See also \fBnutupsdrv\fP(8) for generic options. Never use the
\fB\-k\fP option with this driver; it does not work properly.
.TP 12
.B \-x wait[=\fIlevel\fP]
When this option is used, \fBbelkinunv\fP 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 \fIlevel\fP is specified, it also
waits until the battery charge reaches at least the given level in
percent. Then, and only then, \fBbelkinunv\fP exits. In addition,
while \fBbelkinunv\fP 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.
.TP
.B \-x nohang
This option only has an effect when used in conjunction with the \fB\-x
wait\fP option. It causes \fBbelkinunv\fP to exit if a connection with
the UPS cannot be established or is lost, instead of retrying forever,
which is the default behavior. The \fB\-x nohang\fP 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).
.TP
.B \-x flash
This option only has an effect when used in conjunction with the \fB\-x
wait\fP 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\(hy2 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.
.TP
.B \-x silent
This option only has an effect when used in conjunction with the \fB\-x
wait\fP option. It suppresses the status line which \fBbelkinunv\fP
would normally print.
.TP
.B \-x dumbterm
This option only has an effect when used in conjunction with the \fB\-x
wait\fP option. It changes the way in which \fBbelkinunv\fP 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 \fB\-x
dumbterm\fP option is given, each status update is written on a new
line.
.PD
.SH VARIABLES:
.TP 12
.B battery.charge
.TP
.B battery.runtime
not supported by all hardware.
.TP
.B battery.voltage
.TP
.B battery.voltage.nominal
.TP
.B driver.version.internal
.TP
.B input.frequency
.TP
.B input.frequency.nominal
e.g. 60 for 60Hz
.TP
.B input.sensitivity
writable: normal/medium/low
.TP
.B input.transfer.high
writable: high transfer voltage point in V
.TP
.B input.transfer.low
writable: low transfer voltage point in V
.TP
.B input.voltage
.TP
.B input.voltage.maximum
.TP
.B input.voltage.minimum
.TP
.B input.voltage.nominal
.TP
.B output.frequency
.TP
.B output.voltage
.TP
.B 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.
.TP
.B ups.firmware
.TP
.B ups.load
.TP
.B ups.model
.TP
.B ups.power.nominal
e.g. 800 for an 800VA system
.TP
.B ups.status
a list of flags; see STATUS FLAGS below.
.TP
.B ups.temperature
not supported by all hardware.
.TP
.B ups.test.result
.TP
.B ups.delay.restart
time to restart (read only)
.TP
.B ups.delay.shutdown
time to shutdown (read only). This is always a multiple of 60 seconds.
.TP
.B 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.
.PD
.SH COMMANDS:
.TP 12
.B 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).
.TP
.B reset.input.minmax
reset the variables \fBinput.voltage.minimum\fP and
\fBinput.voltage.maximum\fP.
.TP
.B shutdown.reboot
shut down load immediately for ca. 1\(hy2 minutes
.TP
.B shutdown.reboot.graceful
after 40 second delay, shut down load for ca. 1\(hy2 minutes
.TP
.B 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.
.TP
.B test.battery.start, test.battery.stop
start/stop 10 second battery test
.TP
.B test.failure.start, test.failure.stop
start/stop "deep" battery test
.PD
.SH STATUS FLAGS:
.TP 12
.B OB
load is on battery, including during tests
.TP
.B OFF
load is off
.TP
.B OL
load is online
.TP
.B 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.
.TP
.B OVER
overload
.TP
.B OVERHEAT
overheat
.TP
.B COMMFAULT
UPS fault
.TP
.B LB
low battery
.TP
.B CHRG
charging
.TP
.B DEPLETED
the battery is depleted. When the UPS raises this flag, it
simultaneously switches off the load.
.TP
.B RB
replace battery
.PD
.SH EXAMPLES
Here is an example for how \fBbelkinunv\fP 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\(hyonly, and just before the computer halts. Note that
\fBbelkinunv\fP must be installed in a directory which is still
readable at that point.
.nf
# 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
.fi
And here is an example of how to use \fBbelkinunv\fP 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.
.nf
# 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
.fi
.SH EXIT STATUS
When used normally, \fBbelkinunv\fP forks into the background and its
diagnostics are the same as for all NUT drivers, see
\fBnutupsdrv\fP(8).
When used with the \fB\-x wait\fP option, the exit status is normally
0. If the \fB\-x nohang\fP option has also been specified, an exit
status of 1 indicates that communication with the UPS was lost. If the
\fB\-x flash\fP option has been specified, an exit status of 2
indicates that the timed shutdown has failed.
.SH EXTRA ARGUMENTS
This driver does not support any extra settings in \fBups.conf\fP(5).
.SH SEE ALSO
.SS The documentation for the protocol used by this UPS:
belkin\(hyuniversal\(hyups.html
.SS The core driver:
\fBnutupsdrv\fP(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/
.SH AUTHOR
Peter Selinger <selinger@users.sourceforge.net>

33
man/bestfcom.8 Normal file
View file

@ -0,0 +1,33 @@
.TH bestfcom 8 "Thu Jul 8 2004" "" "Network UPS Tools (NUT)"
.SH NAME
bestfcom \- Driver for Best Power Fortress/Ferrups
.SH NOTE
This man page only documents the hardware-specific features of the
bestfcom driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
Best Power Fortress/Ferrups implementing the Fortress UPS Protocol
(f-command set).
.SH EXTRA ARGUMENTS
This driver does not support any extra settings in the
\fBups.conf\fR(5).
.SH AUTHORS
Kent Polk (bestfcom)
Andreas Wrede, John Stone (bestuferrups)
Grant Taylor (bestfort)
Russell Kroll (bestups)
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

35
man/bestfortress.8 Normal file
View file

@ -0,0 +1,35 @@
.TH BESTFORTRESS 8 "Sun Aug 16 2009" "" "Network UPS Tools (NUT)"
.SH NAME
bestfortress \- Driver for old Best Fortress UPS equipment
.SH NOTE
This man page only documents the hardware-specific features of the
bestfortress driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
This driver supports old Best Fortress UPS equipment.
.SH EXTRA ARGUMENTS
This driver supports the following optional settings in the
\fBups.conf\fR(5):
.IP "baudrate=\fInum\fR"
Set the speed of the serial connection - 1200, 2400, 4800 or 9600.
.IP "max_load=\fIVA\fR"
Set the value of the \fIups.load\fR variable.
.SH AUTHOR
Holger Dietze <holger.dietze@advis.de>,
Stuart D. Gathman <stuart@bmsi.com>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS The newer Best Power drivers:
\fBbestups\fR(8), \fBbestuferrups\fR(8), \fBbestfcom\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

30
man/bestuferrups.8 Normal file
View file

@ -0,0 +1,30 @@
.TH bestuferrups 8 "Sun Jul 28 2002" "" "Network UPS Tools (NUT)"
.SH NAME
bestuferrups \- Driver for Best Power Micro\(hyFerrups
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
bestuferrups driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
Best Power Micro\(hyFerrups ME3100, probably other similar models too.
.SH EXTRA ARGUMENTS
This driver does not support any extra settings in the
\fBups.conf\fR(5).
.SH AUTHORS
Andreas Wrede, John Stone (bestuferrups)
Grant Taylor (bestfort)
Russell Kroll (bestups)
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

103
man/bestups.8 Normal file
View file

@ -0,0 +1,103 @@
.TH BESTUPS 8 "Wed Jul 28 2004" "" "Network UPS Tools (NUT)"
.SH NAME
bestups \- Driver for Best Power / SOLA (Phoenixtec protocol) UPS equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
bestups driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH 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.
.SH EXTRA ARGUMENTS
This driver supports the following optional settings in the
\fBups.conf\fR(5):
.IP "nombattvolt=\fInum\fR"
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.
.IP "battvoltmult=\fInum\fR"
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 \fBups.conf\fR(8) to fix this.
.IP "ID=\fIstring\fR"
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".
.SH 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\(hyline, 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
\fBups.conf\fR(8) to fix this.
.SH AUTHOR
Russell Kroll, Jason White
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

267
man/blazer.8 Normal file
View file

@ -0,0 +1,267 @@
.TH BLAZER 8 "Mon Feb 16 2009" "" "Network UPS Tools (NUT)"
.SH NAME
blazer_ser, blazer_usb \- Driver for Megatec/Q1 protocol serial/USB based UPS equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
blazer driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
The blazer driver is known to work with various UPSes from Blazer, Energy
Sistem, Fenton Technologies, 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 \fBblazer_ser\fR driver) and
many with a USB interface (use the \fBblazer_usb\fR driver) are supported.
.SH 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 \fBups.conf\fR(5)):
.IP "default.battery.voltage.high = \fIvalue\fR"
Maximum battery voltage that is reached after about 12 to 24 hours charging.
If you want the driver to report a guesstimated \fBbattery.charge\fR, you need
to specify this (see \fBBATTERY CHARGE\fR).
.IP "default.battery.voltage.low = \fIvalue\fR"
Minimum battery voltage just before the UPS automatically shuts down.
If you want the driver to report a guesstimated \fBbattery.charge\fR, you need
to specify this (see \fBBATTERY CHARGE\fR).
.IP "default.battery.voltage.nominal = \fIvalue\fR"
.IP "override.battery.voltage.nominal = \fIvalue\fR"
Some devices show a wrong nominal battery voltage (or none at all), so you may
need to override or set a default value.
.IP "override.battery.packs = \fIvalue\fR"
Some devices report a part of the total battery voltage. For instance, if
\fBbattery.voltage.nominal\fR is 24 V, but it reports a \fBbattery.voltage\fR
of around 2 V, the number of \fBbattery.packs\fR 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.
.IP "ondelay = \fIvalue\fR"
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.
.IP "offdelay = \fIvalue\fR"
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.
.IP "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.
.IP "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.
.IP "runtimecal = \fIvalue,value,value,value\fR"
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
\fBruntimecal = 270,100,720,50\fR
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).
.IP "chargetime = \fIvalue\fR"
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
\fBruntimecal\fR is also specified.
.IP "idleload= \fIvalue\fR"
Minimum battery load used by the driver to estimate the runtime. If not
specified, the driver defaults to 10 %. Only used if \fBruntimecal\fR is also
specified.
.SH SERIAL INTERFACE ONLY
.IP "cablepower = \fIstring\fR"
By default the driver will set DTR and clear RTS (\fInormal\fR). 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 (\fIreverse\fR), set DTR and RTS (\fIboth\fR) or
clear DTR and RTS (\fInone\fR) improves this situation.
.SH USB INTERFACE ONLY
.IP "vendorid = \fIregex\fR"
.IP "productid = \fIregex\fR"
.IP "vendor = \fIregex\fR"
.IP "product = \fIregex\fR"
.IP "serial = \fIregex\fR"
Select a specific UPS, in case there is more than one connected via
USB. Each option specifies an extended regular expression (see
\fBregex(7)\fR) 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 \fB-DD\fR for
finding out the strings to match.
Examples:
\fB-x vendor="Foo.Corporation.*"\fR
\fB-x vendorid=051d\fR (APC)
\fB-x product=".*(Smart|Back)-?UPS.*"\fR
.IP "bus = \fIregex\fR"
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]").
.IP "subdriver = \fIstring\fR"
Select a serial-over-USB subdriver to use. You have a choice between \fIphoenix\fR
\fIippon\fR, \fIcypress\fR and \fIkrauler\fR. When using this option, it is mandatory to also
specify the vendorid and productid. Note that since nut-2.4.2 the \fIippon\fR subdriver is used
where previously the \fIphoenix\fR was selected. If this doesn't work for you, add the
following to the \fBups.conf\fR(5) entry for your UPS:
.nf
vendorid = 06da
productid = 0003
subdriver = phoenix
.fi
.SH UPS COMMANDS
This driver supports some instant commands (see \fBupscmd\fR(8)):
.IP "beeper.toggle"
Toggle the UPS beeper. (Not available on some hardware.)
.IP "load.on"
Turn on the load immediately.
.IP "load.off"
Turn off the load immediately (see \fBKNOWN PROBLEMS\fR).
.IP "shutdown.return [\fIvalue\fR]"
Turn off the load and return when power is back. Uses the timers defined by
\fBondelay\fR and \fBoffdelay\fR.
.IP "shutdown.stayoff [\fIvalue\fR]"
Turn off the load and remain off (see \fBKNOWN PROBLEMS\fR). Uses the timer
defined by \fBoffdelay\fR.
.IP "shutdown.stop"
Stop a shutdown in progress.
.IP "test.battery.start.deep"
Perform a long battery test (Not available on some hardware.)
.IP "test.battery.start.quick"
Perform a (10 second) battery test.
.IP "test.battery.start \fIvalue\fR"
Perform a battery test for the duration of \fInum\fR seconds (truncated to units of
60 seconds).
.IP "test.battery.stop"
Stop a running battery test (not available on some hardware.)
.SH BATTERY CHARGE
Due to popular demand, this driver will report a guesstimated \fBbattery.charge\fR
and optionally \fBbattery.runtime\fR, provided you specified a couple of the \fBEXTRA
PARAMETERS\fR listed above.
If you specify both \fBbattery.voltage.high\fR and \fBbattery.voltage.low\fR in
\fBups.conf\fR(5), but don't enter \fBruntimecal\fR, 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.
.nf
battery.voltage - battery.voltage.low
battery.charge = ------------------------------------------ x 100 %
battery.voltage.high - battery.voltage.low
.fi
There is a way to get better readings without disconnecting the load but this
requires to keep track on how much (and how fast) current is going in- and out of
the battery. If you specified the \fBruntimecal\fR, 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 \fBruntimecal\fR. 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
\fBups.conf\fR(5), so don't complain with the author. If you need something better,
buy a UPS that reports \fBbattery.charge\fR and \fBbattery.runtime\fR all by itself
without the help of a NUT driver.
.SH 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 \fBload.off\fR and \fBshutdown.stayoff\fR 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 \fIenabled\fR
or \fIdisabled\fR). So, the \fBbeeper.toggle\fR 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.
.SH AUTHORS
Arjen de Korte <adkorte-guest at alioth.debian.org>
Alexander Gordeev <lasaine at lvk.cs.msu.su>
.SH SEE ALSO
\fBnutupsdrv\fR(8), \fBupsc\fR(8), \fBupscmd\fR(8), \fBupsrw\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

107
man/clone.8 Normal file
View file

@ -0,0 +1,107 @@
.TH CLONE 8 "Mon Jul 20 2009" "" "Network UPS Tools (NUT)"
.SH NAME
clone \- UPS driver clone
.SH NOTE
This man page only documents the specific features of the
clone driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH DESCRIPTION
This driver, which sits on top of another driver socket, allows to group
clients to a particular outlet of a device and deal with this output as
if it was a normal UPS.
.SH EXTRA ARGUMENTS
This driver supports the following settings:
.IP "load.off=\fIcommand\fR"
Recommended. Set the command on the 'real' UPS driver that will be used to
switch off the outlet. You need both \fIload.off\fR and \fIload.on\fR in
order to power cycle the outlet. Otherwise, shutting down the clients
powered by an outlet is a one way street (see \fBIMPORTANT\fR).
.IP "load.on=\fIcommand\fR"
Recommended. Set the command on the 'real' UPS driver that will be used to
switch on the outlet. You need both \fIload.off\fR and \fIload.on\fR in
order to power cycle the outlet. Otherwise, shutting down the clients
powered by an outlet is a one way street (see \fBIMPORTANT\fR).
.IP "load.status=\fIvalue\fR"
Recommended. Set the variable on the 'real' UPS driver that will be used
to indicate the outlet status (ie on/off). If not specified, the clone
driver will attempt to keep track of the outlet status, but this is less
reliable.
.IP "offdelay=\fInum\fR"
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.
.IP "ondelay=\fInum\fR"
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.
.IP "mincharge=\fIvalue\fR"
Set the remaining battery level when the clone UPS switches to LB
(percent).
.IP "minruntime=\fIvalue\fR"
Set the remaining battery runtime when the clone UPS switches to LB
(seconds).
.SH IMPLEMENTATION
The port specification in the \fBups.conf\fR(5) reference the driver
socket that the 'real' UPS driver is using. For example:
.nf
[realups]
driver = usbhid-ups
port = auto
.fi
.nf
[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
[...]
.fi
.SH IMPORTANT
Unlike a real UPS, you should \fBnot\fR 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.
.SH 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.
.SH AUTHOR
Arjen de Korte <adkorte-guest@alioth.debian.org>
.SH SEE ALSO
\fBupscmd\fR(1),
\fBupsrw\fR(1),
\fBups.conf\fR(5),
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

133
man/dummy-ups.8 Normal file
View file

@ -0,0 +1,133 @@
.TH DUMMY-UPS 8 "Tue Oct 6 2009" "" "Network UPS Tools (NUT)"
.SH NAME
dummy-ups \- Driver for multi purpose UPS emulation
.SH NOTE
This man page only documents the specific features of the
dummy-ups driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH DESCRIPTION
This program is a multi purpose UPS emulation tool.
Its behavior depends on the running mode:
.IP "Dummy mode"
looks like a standard UPS driver to \fBupsd\fR(8) and
allows to change any value for testing purposes. It is both interactive,
controllable through the \fBupsrw\fR(1) and \fBupscmd\fR(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.
.IP "Repeater mode"
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\(hyto\(hypoint communication with the UPS.
.SH ARGUMENTS
The port specification depends on the running mode, and allows the automatic
guessing of it.
.IP "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.
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
dump (<varname>: <value>). So you can easilly 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.
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:
.nf
ups.status: OL
TIMER 60
ups.status: OB
TIMER 60
ups.status: LB
TIMER 60
.fi
It is wise to end the script with a TIMER. Otherwise dummy-ups will directly
go back to the beginning of the file.
.IP "Repeater mode"
Port is the name of a remote UPS, using the NUT form, ie:
<upsname>[@<hostname>[:<port>]]
.SH IMPLEMENTATION
You will need add to at least one entry in \fBups.conf\fR(5) like:
.nf
[dummy]
driver = dummy-ups
port = evolution500.dev
desc = "dummy-ups in dummy mode"
.fi
.nf
[repeater]
driver = dummy-ups
port = ups@hostname
desc = "dummy-ups in repeater mode"
.fi
You can declare as many entries, and so run multiple instances, as you need.
.SH 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
\fBupsrw\fR(1) and \fBupscmd\fR(1) commands.
In repeater mode, the driver acts according to the capabilities of the UPS, and
so support the same instant commands and settable values.
.SH BACKGROUND
This driver was written in one evening to replace the previous dummycons
testing driver. It was too limited and required to work from a terminal to
interact.
dummy-ups is useful for NUT client development, and other testing purpose.
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 to build a virtual device, composed of several other devices
(either UPS, PDUs).
.SH BUGS
Instant commands are not yet supported in Dummy Mode, and data need name /
value checking enforcement, as well as boundaries or enumeration definition.
.SH AUTHOR
Arnaud Quette
.SH SEE ALSO
\fBupscmd\fR(1),
\fBupsrw\fR(1),
\fBups.conf\fR(5),
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

26
man/etapro.8 Normal file
View file

@ -0,0 +1,26 @@
.TH ETAPRO 8 "Tue Oct 22 2002" "" "Network UPS Tools (NUT)"
.SH NAME
etapro \- Driver for ETA UPS equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
etapro driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
This driver supports ETA UPS equipment with the "PRO" option for smart mode.
.SH EXTRA ARGUMENTS
This driver does not support any extra settings in the
\fBups.conf\fR(5).
.SH AUTHOR
Marek Michalkiewicz <marekm@amelek.gda.pl>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

32
man/everups.8 Normal file
View file

@ -0,0 +1,32 @@
.TH EVERUPS 8 "Wed Oct 16 2002" "" "Network UPS Tools (NUT)"
.SH NAME
everups \- Driver for Ever UPS models
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
everups driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
This driver should recognize the NET *\(hyDPC and AP *\(hyPRO models.
.SH EXTRA ARGUMENTS
This driver does not support any extra settings in the
\fBups.conf\fR(5).
.SH 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.
.SH AUTHOR
Bartek Szady <bszx@bszxdomain.edu.eu.org>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

27
man/gamatronic.8 Normal file
View file

@ -0,0 +1,27 @@
.TH GAMATRONIC 8 "Tue Sep 8 2009" "" "Network UPS Tools (NUT)"
.SH NAME
gamatronic \- Driver for Gamatronic UPS equipment
.SH NOTE
This man page only documents the hardware-specific features of the
gamatronic driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
Various - Rebuilt to work with Gamatronic UPS Units, but should recognize any
UPS that speaks the SEC protocol at 1200-19200 bps.
.SH EXTRA ARGUMENTS
This driver does not support any extra settings in the
\fBups.conf\fR(5).
.SH AUTHOR
Nadav Moskovitch <blutz@walla.com>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

343
man/genericups.8 Normal file
View file

@ -0,0 +1,343 @@
.TH GENERICUPS 8 "Thu Aug 11 2005" "" "Network UPS Tools (NUT)"
.SH NAME
genericups \- Driver for contact\(hyclosure UPS equipment
.SH NOTE
This man page only documents the specific features of the genericups
driver. For information about the core driver, see \fBnutupsdrv\fR(8).
.SH 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.
.SH 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.
.SH EXTRA ARGUMENTS
This driver supports the following settings in the \fBups.conf\fR(5):
.IP "upstype=\fItype\fR"
Required. Configures the driver for a specific kind of UPS. See the UPS
Types section below for more information on which entries are available.
.IP "mfr=\fIstring\fR"
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.
.IP "model=\fIstring\fR"
Optional. This is like mfr above, but it overrides the model string
instead.
.IP "serial=\fIstring\fR"
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.
.IP "sdtime=\fIvalue\fR"
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.
.SH CUSTOM CONFIGURATIONS
You may override the values for CP, OL, LB, and SD by defining them in
the \fBups.conf\fR 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.
.SH 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 \(hy On line (no power failure) (opposite of OB \(hy on battery)
LB \(hy Low battery
SD \(hy Shutdown load
CP \(hy Cable power (must be present for cable to have valid reading)
CTS \(hy Clear to Send. Received from the UPS.
RTS \(hy Ready to Send. Sent by the PC.
DCD \(hy Data Carrier Detect. Received from the UPS.
RNG \(hy Ring indicate. Received from the UPS.
DTR \(hy Data Terminal Ready. Sent by the PC.
DSR \(hy Data Set Ready. Received from the UPS.
ST \(hy 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.
.SH UPS TYPES
0 = UPSonic LAN Saver 600
[CP=DTR+RTS] [OL=\-CTS] [LB=DCD] [SD=DTR]
1 = APC Back\(hyUPS/Back\(hyUPS Pro/Smart\(hyUPS with 940\-0095A/C cable
[CP=DTR] [OL=\-RNG] [LB=DCD] [SD=RTS]
2 = APC Back\(hyUPS/Back\(hyUPS Pro/Smart\(hyUPS 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
Also Belkin Belkin Home Office
F6H350\-SER, F6H500\-SER, F6H650\-SER
[CP=RTS] [OL=CTS] [LB=\-DCD] [SD=DTR]
8 = Nitram Elite 500
[CP=DTR] [OL=CTS] [LB=\-DCD] [SD=???]
9 = APC Back\(hyUPS/Back\(hyUPS Pro/Smart\(hyUPS 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]
http://lists.exploits.org/upsdev/Jul2002/00012.html
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]
http://lists.exploits.org/upsdev/Oct2004/00004.html
22 = Gamatronic All models with alarm interface
also CyberPower SL series
[CP=RTS] [OL=CTS] [LB=\-DCD] [SD=DTR]
.SH 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 \fBups.conf\fR(5).
.SH 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 \(hy
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), go to step 3,
otherwise go back to step 1.
Alternatively, you can run genericups in debug mode \(hy
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.
.SH 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\(hythrough 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.
.SH 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. \(hy Neil Muller
The Tripp\(hyLite Internet Office 700 must be used with the black 73\(hy0844
cable instead of the gray 73\(hy0743 cable. This entry should work with any
of their models with the Lan 2.2 interface \(hy see the sticker by the DB9
connector on the UPS. \(hy Stephen Brown
Type 5 should work with the Tripp\(hyLite Lan 2.1 interface and the 73\(hy0724
cable. This was tested with the OmniSmart 675 PNP on Red Hat 7.2. \(hy Q
Giese
Types 7 and 10 should both work with the PhoenixTec A1000.
.SH BUGS
There is no way to reliably detect a contact\(hyclosure 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\(hyclosure UPSes will not power down the load if the line power
is present. This can create a race when using slave \fBupsmon\fR(8)
systems. See the \fBupsmon\fR(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.
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

30
man/hosts.conf.5 Normal file
View file

@ -0,0 +1,30 @@
.TH HOSTS.CONF 5 "Mon Jan 22 2007" "" "Network UPS Tools (NUT)"
.SH NAME
hosts.conf \- Access control for Network UPS Tools CGI programs
.SH DESCRIPTION
The CGI programs (\fBupsset.cgi\fR(8), \fBupsstats.cgi\fR(8),
\fBupsimage.cgi(8)\fR) use this file to determine if they are allowed to
talk to a host. This keeps random visitors from using your web server
to annoy others by creating outgoing connections.
.SH DIRECTIVES
.IP "MONITOR \fIups\fR \fIdescription\fR"
The \fIups\fR element is in the form "upsname[@hostname[:port]]".
To allow connections to a UPS called "snoopy" on a system called
"doghouse" that runs upsd on port 7877, it would look like this:
MONITOR snoopy@doghouse:7877 "Joe Cool"
The description must be one element, so if it has spaces, then it must
be wrapped with quotes as shown above. The default hostname is
"localhost".
.SH SEE ALSO
\fBupsset.cgi\fR(8), \fBupsstats.cgi\fR(8), \fBupsimage.cgi\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

26
man/isbmex.8 Normal file
View file

@ -0,0 +1,26 @@
.TH ISBMEX 8 "Tue Oct 22 2002" "" "Network UPS Tools (NUT)"
.SH NAME
isbmex \- Driver for ISBMEX UPS equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
isbmex driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
This driver supports SOLA/BASIC Mexico ISBMEX protocol UPS equipment.
.SH EXTRA ARGUMENTS
This driver does not support any extra settings in the
\fBups.conf\fR(5).
.SH AUTHOR
Edscott Wilson Garcia <edscott@imp.mx>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

27
man/ivtscd.8 Normal file
View file

@ -0,0 +1,27 @@
.TH IVTSCD 8 "Tue Sep 8 2009" "" "Network UPS Tools (NUT)"
.SH NAME
ivtscd \- driver for the IVT Solar Controller Device
.SH NOTE
This man page only documents the specific features of the
ivtscd driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH DESCRIPTION
This driver allows to access the IVT SCD-series devices.
.SH EXTRA ARGUMENTS
This driver does not support any extra argument.
.SH AUTHOR
Arjen de Korte <adkorte-guest@alioth.debian.org>
.SH SEE ALSO
\fBupscmd\fR(1),
\fBupsrw\fR(1),
\fBups.conf\fR(5),
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

35
man/libupsclient-config.1 Normal file
View file

@ -0,0 +1,35 @@
.TH LIBUPSCLIENT-CONFIG 1 "December 27, 2008"
.SH NAME
libupsclient-config \- script to get information about the installed version of libupsclient
.SH SYNOPSIS
.B libupsclient-config [\-\-version] [\-\-libs] [\-\-cflags]
.SH DESCRIPTION
.PP
\fIlibupsclient-config\fP is a tool that is used to configure to determine
the compiler and linker flags that should be used to compile
and link programs that use \fIlibupsclient\fP from the Network UPS Tools project.
.
.SH OPTIONS
.l
\fIlibupsclient-config\fP accepts the following options:
.TP 8
.B LIBRARIES
This argument is currently ignored as libupsclient has only one library.
.TP 8
.B \-\-version
Print the currently installed version of \fIlibupsclient\fP on the standard output.
.TP 8
.B \-\-libs
Print the linker flags that are necessary to link a \fIlibupsclient\fP program.
.TP 8
.B \-\-cflags
Print the compiler flags that are necessary to compile a \fIlibupsclient\fP program.
.SH AUTHORS
This manual page was written by Arnaud Quette <aquette.dev@gmail.com>.
.SH SEE ALSO
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

42
man/liebert.8 Normal file
View file

@ -0,0 +1,42 @@
.TH LIEBERT 8 "Wed Jul 28 2009" "" "Network UPS Tools (NUT)"
.SH NAME
liebert \- Driver for Liebert contact\(hyclosure UPS equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
liebert driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
This driver supports some Liebert UPS equipment with a contact\(hyclosure
interface. This includes the UPStation GXT2 with their contact\(hyclosure
cable. The smart mode ("Multilink") cable is not supported by this
driver.
.SH EXTRA ARGUMENTS
This driver does not support any extra settings in the
\fBups.conf\fR(5).
.SH BUGS
This driver does not yet support shutdowns by raising DTR. Be aware
that shutdowns are not possible with the stock contact\(hyclosure 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\(hyclosure driver.
Since the TX and RX signals are only used to detect loopback (when the
contacts close), the baud rate should not matter. However, it is hardcoded to
9600 baud to prevent problems with noise if the port defaults to a higher baud
rate.
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

40
man/liebertgxt2.8 Normal file
View file

@ -0,0 +1,40 @@
.TH liebertgxt2 8 "Tue Nov 03 2009" "" "Network UPS Tools (NUT)"
.SH NAME
liebertgxt2 \- Driver for Liebert GXT2 UPS, using the ESP2 serial protocol
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
liebertgxt2 driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
liebertgxt2 is experimental and will recognize only those models known to work. The driver will report the model it finds and abort if it is unknown. modelname= in ups.conf can be used to force the driver to accept the model as supported.
The driver is incomplete but supports the numerious information fields and fields necessary to make the driver useful. Potentially useful features that aren't supported are shutdown and battery test - or any command that instructs the UPS to take some action.
.SH CABLING
This driver expects to see 2400 baud serial data at the TX/RX pins. This driver was tested with an original cable.
.SH EXTRA ARGUMENTS
This driver supports the following optional settings in the
\fBups.conf\fR(5):
.IP "modelname=\fImodel\fR"
Force the model name of \fImodel\fR to be a supported model, giving you the chance to try this driver with your Liebert UPS.
.SH BUGS
Action commands are not supported, that includes battery test and shutdown.
.SH AUTHOR
Richard Gregory <r.gregory liv ac uk>. With additional information from
Spiros Ioannou.
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/
Partial description of the ESP2 protocol: http://www.csc.liv.ac.uk/~greg/projects/liebertserial/

26
man/masterguard.8 Normal file
View file

@ -0,0 +1,26 @@
.TH MASTERGUARD 8 "Tue Apr 2 2002" "" "Network UPS Tools (NUT)"
.SH NAME
masterguard \- Driver for Masterguard UPS equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
masterguard driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
This driver supports Masterguard UPS equipment.
.SH EXTRA ARGUMENTS
.IP "CS"
Cancel the shutdown procedure.
.SH AUTHOR
Michael Spanier <mail@michael\(hyspanier.de>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

169
man/megatec.8 Normal file
View file

@ -0,0 +1,169 @@
.TH MEGATEC 8 "Sat Jan 14 2006" "" "Network UPS Tools (NUT)"
.SH NAME
megatec \- Driver for Megatec protocol based UPS equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
megatec driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
The megatec driver is known to work with various UPSes from Blazer, Energy
Sistem, Fenton Technologies, 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.
On models with both a serial port (RS-232) and an USB port, only the serial
port is supported. Connecting a computer which does not have a serial
interface to the UPS serial port using a USB-to-serial converter should
work, provided the converter is supported by your operating system.
.SH EXTRA ARGUMENTS
This driver supports some extra parameters (see \fBups.conf\fR(5)):
.IP "mfr=\fIstring\fR"
Optional. Specify the UPS manufacturer name.
.IP "model=\fIstring\fR"
Optional. Specify the UPS model name.
.IP "serial=\fIstring\fR"
Optional. Specify the UPS serial number.
.IP "offdelay=\fIint\fR"
Optional. After receiving a shutdown command, the UPS will wait this many
minutes before turning off the load. Specify this if the UPS must remain online
for a short period of time after the computer has powered down. The default is 0
(turn off immediately).
.IP "ondelay=\fIint\fR"
Optional. After turning off the load (see \fBoffdelay\fR), the UPS will wait at
least this many minutes before coming back online. If line power gets restored
before this delay expires, the UPS will wait until it does. If line power gets
restored after this delay expires, the UPS will power on the load immediately.
The default is 2 minutes.
.IP "lowbatt=\fIfloat\fR"
Optional. Low battery level (%). Overrides the hardware default level. Cannot be
used if the driver is unable to calculate the charge percentage for your UPS
automatically (see \fBKNOWN PROBLEMS\fR) and the \fBbattvolts\fR parameter
isn't specified.
.IP "battvolts=\fIfloat\fR:\fIfloat\fR"
Optional. The battery voltage interval (see \fBKNOWN PROBLEMS\fR).
.IP "battvoltmult=\fInum\fR"
Optional. Multiply the reported battery voltage by this number. Some devices
report only a fraction of the total battery voltage. The default is 1.
.IP "dtr=\fIint\fR"
Optional. Some UPS models need the DTR serial line set to a specific
state, either \fI0\fR or \fI1\fR. See also \fBrts\fR.
.IP "rts=\fIint\fR"
Optional. Some UPS models need the RTS serial line set to a specific
state, either \fI0\fR or \fI1\fR. See also \fBdtr\fR.
.IP "ignoreoff"
Optional. This option should be used if \fBupsc\fR(8) shows the UPS status
as OFF when it's clearly on. This will force the driver to ignore the OFF
status altogether.
.IP "sendpace=\fIint\fR"
Optional. This option can be used to change the wait interval between each
character that is sent to the UPS, between 1 and 1000 milliseconds. Some models
may need this if the default interval (100 milliseconds) proves to be too long,
or too short.
.SH UPS COMMANDS
This driver supports some instant commands (see \fBupscmd\fR(8)):
.IP beeper.toggle
Toggle the UPS beeper. (Not available on some hardware.)
.IP load.on
Turn on the load immediately.
.IP load.off
Turn off the load immediately (see \fBKNOWN PROBLEMS\fR).
.IP reset.input.minmax
Reset minimum and maximum input voltage status.
.IP reset.watchdog
Restarts the UPS watchdog timeout. The watchdog is started if it isn't running,
which means the UPS shuts down one minute after this command is executed for
the last time, restarting one minute afterwards. To cancel the watchdog, run
the "shutdown.stop" command.
.IP shutdown.return
Turn off the load and return when power is back. Uses the timers defined by
\fBondelay\fR and \fBoffdelay\fR.
.IP shutdown.stayoff
Turn off the load and remain off (see \fBKNOWN PROBLEMS\fR). Uses the timer defined by \fBoffdelay\fR.
.IP shutdown.stop
Stop a shutdown in progress.
.IP test.battery.start.deep
Perform a long battery test (Not available on some hardware.)
.IP test.battery.start
Perform a (10 second) battery test.
.IP test.battery.stop
Stop a running battery test. (Not available on some hardware.)
.SH KNOWN PROBLEMS
The battery charge (%) value is only a best-effort calculation and may be
incorrect, or non-existant, for some UPS models. In any case, you can always
resort to finding the voltages at which the battery becomes fully discharged
and fully charged, and specify them manually using the "battvolts" option.
If you do this, please notify the author of this driver so that information
can be added to the NUT hardware compatibility list. Note that if you also
specified the "battvoltmult" option, you need to divide the found voltages
for fully discharged and fully charged by this number.
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.
When this is the case, the driver will tell the UPS to turn off the load for
9999 minutes (about 7 days) and a message will be sent to the system log.
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 value is also known to be bogus in some models.
.SH AUTHOR
Carlos Rodrigues <carlos.efr at mail.telepac.pt>
.SH SEE ALSO
\fBnutupsdrv\fR(8), \fBupsc\fR(8), \fBupscmd\fR(8), \fBupsrw\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

187
man/megatec_usb.8 Normal file
View file

@ -0,0 +1,187 @@
.TH MEGATEC_USB 8 "Sun Mar 4 2007" "" "Network UPS Tools (NUT)"
.SH NAME
megatec_usb \- Driver for Megatec protocol based USB UPS equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
megatec_usb driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
\fBNote.\fR This driver is experimental at the moment. It is currently being
worked on and may change over time. However, it is stable in execution and
does what is needed.
.SH SUPPORTED HARDWARE
The megatec_usb driver is known to work with various UPSes from Krauler, Agiler,
and Upsonic (Ablerex interface). Others that use the Megatec protocol
may work, but haven't been tested.
This driver supports the USB versions of UPSs, if you have only serial interface then use the
straight \fBmegatec\fR(8) driver.
If you find that this driver does not work, and you are sure that your hardware speaks megatec protocol,
then you can easily extend this driver. However, you will need to do some analysis of the
commands that are sent to the UPS. Please see the forums for discussions on this and how
to extend this driver.
.SH EXTENSIONS TO MEGATEC
This driver extends the standard \fBmegatec\fR(8) driver to work with certain UPSes that have
a USB interface. These devices do not obey the normal rules for HID USB devices and therefore the
\fBnewhidups\fR(8) driver will not work for them.
This driver takes the standard serial interface and passes this over USB to the UPS.
This means that most, but not all, commands available for the serial driver will
work. For Krauler, Agiler, and Upsonic (with Ablerex interface) UPSes
it appears to give very similar results to the serial interface. The
driver supports monitoring most of the usual UPS variables, and also
supports automatic shutdown.
.SH EXTRA ARGUMENTS
.IP "mfr=\fIstring\fR"
Optional. Specify the UPS manufacturer name.
.IP "model=\fIstring\fR"
Optional. Specify the UPS model name.
.IP "serial=\fIstring\fR"
Optional. Specify the UPS serial number.
.IP "lowbatt=\fIfloat\fR"
Optional. Low battery level (%). Overrides the hardware default level.
.IP "ondelay=\fIint\fR"
Optional. Delay before the UPS is turned back on (minutes).
.IP "offdelay=\fIint\fR"
Optional. Delay before the UPS is turned off (minutes).
.IP "battvolts=\fIfloat\fR:\fIfloat\fR"
Optional. The battery voltage interval <empty:full> (volts).
.IP "vendor=\fIregex\fR"
.IP "product=\fIregex\fR"
.IP "vendorid=\fIregex\fR"
.IP "productid=\fIregex\fR"
Select a specific UPS, in case there is more than one connected via
USB. Each option specifies an extended regular expression (see
\fBregex(7)\fR) 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 \fB-DD\fR for
finding out the strings to match.
Examples:
\fB-x vendor="Foo.Corporation.*"\fR
\fB-x vendorid=05b8\fR (Agiler)
\fB-x product=".*(Smart|Back)-?UPS.*"\fR
.IP "bus=\fIregex\fR"
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]").
.IP "subdriver=\fIstring\fR"
Select a serial-over-USB subdriver to use. You have a choice between "agiler" and "krauler" subdrivers currently.
.SH UPS COMMANDS
This driver supports some extra commands (see \fBupscmd\fR(8)):
.IP beeper.toggle
Toggle the UPS beeper. (Not available on some hardware.)
.IP load.on
Turn on the load immediately.
.IP load.off
Turn off the load immediately. (Not yet supported)
.IP reset.input.minmax
Reset minimum and maximum input voltage status. (Not yet supported)
.IP reset.watchdog
Restarts the UPS watchdog timeout. The watchdog is started if it isn't running,
which means the UPS shuts down one minute after this command is executed for
the last time, restarting one minute afterwards. To cancel the watchdog, run
the "shutdown.stop" command.
.IP shutdown.return
Turn off the load and return when power is back. (Not yet supported)
.IP shutdown.stayoff
Turn off the load and remain off. (Not yet supported)
.IP shutdown.stop
Stop a shutdown in progress.
.IP test.battery.start.deep
Perform a long battery test (Not available on some hardware.)
.IP test.battery.start
Perform a (10 second) battery test.
.IP test.battery.stop
Stop a running battery test. (Not available on some hardware.)
.SH USER VARIABLES
The behavior of the driver can be controlled by some user definable
variables (see \fBupsrw\fR(8)):
.IP ups.delay.shutdown
Interval to wait after shutdown with delay command (seconds)
.IP ups.delay.start
Interval to wait before (re)starting the load (seconds)
.SH KNOWN PROBLEMS
The battery charge (%) value is only a best-effort calculation and may be
incorrect, or non-existant, for some UPS models. In any case, you can always
resort to finding the voltages at which the battery becomes fully discharged
and fully charged, and specify them manually using the "battvolts" option.
If you do this, please notify the author of this driver.
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.
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 value is also known to be bogus in some models.
.SH AUTHORS
Carlos Rodrigues <carlos.efr at mail.telepac.pt>
.br
Andrey Lelikov <nut-driver at lelik.org>
.br
Alexander Gordeev <lasaine at lvk.cs.msu.su>
.br
Jon Gough <jon.gough at eclipsesystems.com.au>
.SH SEE ALSO
\fBmegatec\fR(8), \fBnutupsdrv\fR(8), \fBupsc\fR(8), \fBupscmd\fR(8), \fBupsrw\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

48
man/metasys.8 Normal file
View file

@ -0,0 +1,48 @@
.TH METASYS 8 "Mon May 17 2004" "" "Network UPS Tools (NUT)"
.SH NAME
metasys \- Driver for Meta System UPS equipment
.SH NOTE
This man page only documents the hardware-specific features of the
metasys driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
Metasys driver have been 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)
.SH CABLING
The needed cable is a standard pin-to-pin serial cable with, at least,
pins 2, 3, and 5 (on DB9 connector) connected.
.SH EXTRA ARGUMENTS
This driver supports no extra arguments from the \fBups.conf\fR(5)
.SH BUGS
This driver has been tested on Meta System HF Millennium 820 and
ally HF 1000 only.
Any informations about the use of the driver with the other listed
ups are really welcome.
.SH AUTHOR
Fabio Di Niro <blaxwan@users.sourceforge.net>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS The metasys driver:
\fBmetasys\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

70
man/mge-shut.8 Normal file
View file

@ -0,0 +1,70 @@
.TH mge\-shut 8 "Thu Nov 19 2009" "" "Network UPS Tools (NUT)"
.SH NAME
mge\(hyshut, newmge\(hyshut \- Driver for SHUT Protocol UPS equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
mge\(hyshut driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
mge\(hyshut support 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\(hyTalk
protocol and should use the mge\(hyutalk driver.
.SH EXTRA ARGUMENTS
This driver supports the following optional settings in the
\fBups.conf\fR(5):
.IP "lowbatt=\fInum\fR"
Set the low battery warning threshold at which shutdown is initiated by
\fBupsmon\fR(8).
The factory default value is 30 (in percentage), and only be settable
depending on the exact model.
.IP "offdelay=\fInum\fR"
Set the timer before the UPS is turned off after the kill power command is
sent (via the \fI\-k\fR switch).
The default value is 20 (in seconds), and MUST BE LOWER than ondelay.
.IP "ondelay=\fInum\fR"
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 3 (in 10 seconds units, which means 30 seconds),
and MUST BE GREATER than offdelay.
.IP "notification=\fInum\fR"
Set notification type to 1 (no), 2 (light) or 3 (yes).
The default value is 3 (yes) because of some early Ellipse models which
need it.
.SH KNOWN ISSUES
.SS "Pulsar Ellipse S: Repetitive stale status \(hy Loss of communication"
Several users have reported "data stale" errors with Pulsar Ellipse
equipment. This lasts around 10 seconds and happens once every few hours.
This is due to the fact that the SHUT protocol is verbose, and the driver
sometimes does not handle all of it during the usual polling interval in
upsd. To solve this problem, change the value of MAXAGE to 25 in
upsd.conf. Also add "notification=3" in ups.conf (thanks to Julien
Lesaint and Fabien).
.SH AUTHOR
Arnaud Quette <arnaud.quette@free.fr> or <arnaud.quette@mgeups.com>
Philippe Marzouk <philm@users.sourceforge.net>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/
MGE UPS SYSTEMS SHUT protocol information:
http://random.networkupstools.org/protocols/mge/

103
man/mge-utalk.8 Normal file
View file

@ -0,0 +1,103 @@
.TH mge\-utalk 8 "Mon Jan 16 2006" "" "Network UPS Tools (NUT)"
.SH NAME
mge\(hyutalk \- Driver for MGE UPS SYSTEMS UTalk protocol hardware
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
mge\(hyutalk driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
mge\(hyutalk 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.
.SH EXTRA ARGUMENTS
This driver supports the following optional settings in the
\fBups.conf\fR(5):
.IP "lowbatt=\fIvalue\fR"
Low battery level below which LB is raised, in % (default 30%)
.IP "ondelay=\fIvalue\fR"
Set delay before startup, in minutes (default 1 minute)
.IP "offdelay=\fIvalue\fR"
Delay before shutdown, in seconds (default 120 seconds)
.IP "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.
.SH IMPLEMENTATION DETAILS
Not all MGE UPS models provide all possible information, settings and commands.
mge\(hyutalk checks on startup which variables and commands are available from
the UPS, and re\(hyreads these regularly. Thus, startup is a bit slow,
but this should not matter much.
mge\(hyutalk.h defines a struct array that tells the driver how to read
variables from the UPS and publish them as NUT data.
"ups.status" variable is not included in this array, since it
contains information that requires several calls to the UPS and more
advanced analysis of the reponses. The function get_ups_status does
this job.
Note that MGE enumerates the status "bits" from right to left,
i.e., if buf[] contains the reponse to command "Ss" (read system
status), then buf[0] contains "bit" Ss.1.7 (General alarm), while
buf[7] contains "bit" Ss.1.0 (Load unprotected).
enable_ups_comm() is called before each attempt to read/write data
from/to the UPS to re synchronise the communication.
.SH KNOWN ISSUES
.SS "Repetitive stale status \(hy Loss of communication"
Older models, such as ES/ESV ones, might report repetitive "data stale"
errors. This is due to the fact that these models doesn'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.
.SH TODO LIST
.IP "Sort out OFF/OL issues"
OFF is set according to Ls.2.7, but maybe this interpretation is in
conflict with the NUT interpretation of the OFF flag?
.IP "Add PowerShare / PowerSave support (selectable plug number for commands)"
ON/OFF/REBOOT commands can act either on outlet 1, 2 or main (1 + 2). This
features depends on the UPS model. This would also allow to support
UM\(hySwitch (smart outlet).
.IP "Enhance the model name exposure"
A table, named Si1_models_names, has been created to format finelly the
UPSs model names, but it is not yet being used.
.SH AUTHORS
Arnaud Quette, Hans Ekkehard Plesser, Martin Loyer, Patrick Agrain,
Nicholas Reilly, Dave Abbott, Marek Kralewski
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

26
man/microdowell.8 Normal file
View file

@ -0,0 +1,26 @@
.TH MICRODOWELL 8 "Fri Sep 14 2007" "" "Network UPS Tools (NUT)"
.SH NAME
microdowell \- Driver for Microdowell Enterprise UPS series
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
Microdowell driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
This driver was developed for the Enterprise Nxx and Bxx models. Other Microdowell models may work too.
.SH EXTRA ARGUMENTS
This driver does not support any extra settings in the
\fBups.conf\fR(5).
.SH AUTHOR
Elio Corbolante <eliocor@microdowell.com>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

81
man/netxml-ups.8 Normal file
View file

@ -0,0 +1,81 @@
.TH netxml\-ups 8 "Mon Aug 10 2009" "" "Network UPS Tools (NUT)"
.SH NAME
netxml\(hyups \- Driver for Eaton /MGE Network Management Card / Proxy
(XML/HTTP Protocol) equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
netxml\(hyups driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
netxml\(hyups support all recent Eaton / MGE models which use a Network
Management Card or Proxy (MGE XML/HTTP protocol based). This applies to both
Eaton (previously MGE Office Protection Systems) and to MGE UPS SYSTEMS.
Supported card and proxy models are:
NMC Minislot (Ref 66102, firmware EA or newer),
SNMP/Web Minislot card (Ref 66244)
NMC Transverse (Ref 66074),
NMC & Modbus/JBus (Ref 66103),
Network Management Proxy,
ePDU Monitored (newer version).
Older models, such as SNMP card (Ref 66062 and Ref 66045), use the SNMP
protocol and should use the snmp\(hyups driver with the "mibs=mge" parameter.
.SH EXTRA ARGUMENTS
This driver supports the following optional settings in the
\fBups.conf\fR(5):
.IP "timeout=\fIvalue\fR"
The timeout for connecting to and reading from the UPS. Defaults to 5 seconds.
Don't change this value unless you know exactly what you're doing.
This value \fBmust never\fR be higher than half the MAXAGE value specified in
\fBupsd.conf\fR(5), otherwise you risk that \fBupsd\fR(8) declares the driver
stale while it is waiting for a connection to timeout.
.IP "login=\fIvalue\fR"
Set the login value for authenticated mode. This feature also needs the
password argument, and allows value settings in the card.
This feature is not used yet.
.IP "password=\fIvalue\fR"
Set the password value, needed with the login for authenticated mode.
This feature is not used yet.
.SH IMPLEMENTATION
The hostname of the UPS is specified with the "port" value in
\fBups.conf\fR, i.e.:
.nf
[mgexml]
driver = netxml\-ups
port = http://netxml\-ups.example.com:80
.fi
Specifying the method how to connect to the UPS (http, https) is mandatory.
If the port is equal to the default for the method specified (80 for http,
443 for https) it may be omitted.
In order not to overload older NMCs by polling them too frequently, it is
recommended to increase the "pollinterval" (see \fBnutupsdrv\fR(8)) and
\fBups.conf\fR(5)) to at least 5 seconds.
.SH KNOWN ISSUES
Don't connect to the UPS through a proxy. Although it would be trivial to add
support for proxies, this is not recommended and don't ask for it. Not only
because it will prevent the driver to make a persistent connection to the UPS,
but also it adds an additional failure mode. If the proxy goes down (for
whatever reason), the driver will no longer be able to reach the UPS.
.SH AUTHORS
Arjen de Korte <adkorte-guest@alioth.debian.org>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

91
man/nut.conf.5 Normal file
View file

@ -0,0 +1,91 @@
.TH NUT.CONF 5 "Sun May 10 2009" "" "Network UPS Tools (NUT)"
.SH NAME
nut.conf \- UPS definitions for Network UPS Tools
.SH DESCRIPTION
This file attempts to standardize the various files being found
in different installations, like /etc/default/nut on Debian based
systems and /etc/sysconfig/nut on RedHat based systems.
Distribution's init script should source this file in order to
determine which component(s) has to be started.
Blank lines are ignored. Lines with a hash ('#') character at the
1st position of the line are ignored too. They can be used to add
comments.
.SH DIRECTIVES
.IP MODE
Required. Recognized values are none, standalone, netserver and
netclient. Defaults to none.
none: Indicates that NUT should not get started automatically,
possibly because it is not configured or that an Integrated Power
Management or some external system, is used to startup the NUT
components.
standalone: Addresses a local only configuration, with 1 UPS
protecting the local system. This implies to start the 3 NUT
layers (driver, upsd and upsmon), with the related configuration
files. This mode can also address UPS redundancy.
netserver: Like the standalone configuration, but also need some
more ACLs and possibly a specific LISTEN directive in upsd.conf.
Since this MODE is open to the network, a special care should be
applied to security concerns.
netclient: When only upsmon is required, possibly because
there are other hosts that are more closely attached to the UPS,
the MODE should be set to netclient.
.IP UPSD_OPTIONS
Optional. Set upsd specific options. See \fBupsd\fR(8) for more
details. It is ignored when MODE above indicates that no upsd
should be running.
.IP UPSMON_OPTIONS
Optional. Set upsmon specific options. See \fBupsmon\fR(8) for
more details. It is ignored when MODE above indicates that no
upsmon should be running.
.IP POWEROFF_WAIT
Optional. At the end of an emergency system halt, the upsmon master
will signal the UPS to switch off. This may fail for a number of
reasons. Most notably is the case that mains power returns during
the shutdown process. See the section "Power races" in
/usr/share/doc/nut/docs/shutdown.txt.gz. The system will wait this
long for the UPS to cut power, and then reboot. It should be long
enough to exhaust the batteries, in case line power continues to be
unavailable. On the other hand, it should not be so long that the
system remains offline for an unreasonable amount of time if line
power has returned. See \fBsleep\fR(1) for compatible time syntax.
If you specify the time in seconds, use the "s" suffix.
WARNING: this workaround might be dangerous under some circumstances.
Please read http://bugs.debian.org/358696 for more details.
.SH EXAMPLE
# /etc/nut/nut.conf. See nut.conf(5)
MODE = none
UPSD_OPTIONS = ""
UPSMON_OPTIONS = ""
# POWEROFF_WAIT = 15m
.SH INTEGRATION
An init script, such as /etc/init.d/nut, is expected to source this
file in order to determine which component(s) has to be started.
.SH SEE ALSO
\fBups.conf\fR(5), \fBupsd.conf\fR(5), \fBupsd.users\fR(5),
\fBupsmon.conf\fR(5)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

181
man/nutupsdrv.8 Normal file
View file

@ -0,0 +1,181 @@
.TH NUTUPSDRV 8 "Wed Dec 31 2008" "" "Network UPS Tools (NUT)"
.SH NAME
nutupsdrv \- generic manual for unified NUT drivers
.SH SYNOPSIS
.B nutupsdrv \-h
.br
.B nutupsdrv [OPTIONS]
.SH DESCRIPTION
.B nutupsdrv
is not actually a driver. This is a combined man page for the shared code
that is the core of many drivers within the Network UPS Tools package.
For information on the specific drivers, see their individual man pages.
UPS drivers provide a communication channel between the physical UPS
hardware and the \fBupsd\fR(8) server. The driver is responsible for
translating the native protocol of the UPS to the common format used by
the rest of this package.
The core has two modes of operation which are determined by the
command line switches. In the normal mode, the driver will periodically
poll the UPS for its state and parameters. The results of this command
is presented to upsd. The driver will also handle setting variables and
instant commands if available.
The driver can also instruct the UPS to shut down the load, possibly
after some delay. This mode of operation is intended for cases when it is
known that the UPS is running out of battery power and the systems
attached must be turned off to ensure a proper reboot when power returns.
.SH NOTE
You probably don't want to use any of these options directly. You
should use \fBupsdrvctl\fR(8) to control your drivers, and
\fBups.conf\fR(5) to configure them. The rest of this manual describes
options and parameters that generally are not needed by normal users.
.SH OPTIONS
.IP \-h
display an help message without doing anything else. This will also list
possible values for \fB\-x\fR in that driver, and other help text that the
driver's author may have provided.
.IP "\-a \fIid"
autoconfigure this driver using the \fIid\fR section of \fBups.conf\fR(5).
.B This argument is mandatory when calling the driver directly.
.IP \-D
Raise the debugging level. Use this multiple times to see more details.
Running a driver in debug mode will prevent it from backgrounding after
startup. It will keep on logging information to the console until it
receives a SIGINT (usually Ctrl-C) or SIGTERM signal.
The level of debugging needed depends both on the driver and the
problem you're trying to diagnose. Therefore, first explain the problem you
have with a driver to a developer/maintainer, before sending them debugging
output. More often than not, if you just pick a level, the output may be
either too limited or too verbose to be of any use.
.IP "\-i \fIinterval\fR"
Set the poll interval for the device
.IP \-V
print only version information, then exit
.IP \-L
print parseable list of driver variables. Mostly useful for configuration
wizard programs.
.IP \-k
("kill" power) Force shutdown mode. The UPS will power off the
attached load, if possible.
You should use \fBupsdrvctl shutdown\fR whenever possible instead of
calling this directly.
.IP "\-r \fIdirectory\fR"
The driver will \fBchroot\fR(2) to \fIdirectory\fR during initialization.
This can be useful when securing systems.
In addition to the state path, many systems will require /dev/null to
exist within \fIdirectory\fR for this to work. The serial ports are
opened before the chroot call, so you do not need to create them inside
the jail. In fact, it is somewhat safer if you do not.
.IP "\-u \fIusername\fR"
If started as root, the driver will \fBsetuid\fR(2) to the user id
associated with \fIusername\fR.
If you do not specify this value and start it as root, the driver will
switch to the default value that was compiled into the code. This is
typically 'nobody', and is far from ideal.
.IP "\-x \fIvar\fR=\fIval\fR"
define a variable called \fIvar\fR with the value of \fIvar\fR in the
driver. This varies from driver to driver \(hy see the specific man pages
for more information.
This is like setting \fIvar\fR=\fIval\fR in the \fBups.conf\fR(5), but
\-x overrides any settings from that file.
.SH DIAGNOSTICS
Information about the startup process is printed to stdout. Additional
messages after that point are available in the syslog. The ups clients
such as \fBupsc\fR(8) can be used to query the status of a UPS.
.SH PROGRAM CONTROL
You should always use \fBupsdrvctl\fR(8) to control the drivers. While
drivers can be started by hand for testing purposes, it is not
recommended for production use.
.SH FILES
.IP \fBups.conf\fR(5)
Required configuration file. This contains all details on which drivers
to start and where the hardware is attached.
.SH BUGS
Some of the drivers may have bugs. See their manuals for more
information.
.SH SEE ALSO
.SS Server:
\fBupsd\fR(8)
.SS Clients:
\fBupsc\fR(8), \fBupscmd\fR(8),
\fBupsrw\fR(8), \fBupslog\fR(8), \fBupsmon\fR(8)
.SS CGI programs:
\fBupsset.cgi\fR(8), \fBupsstats.cgi\fR(8), \fBupsimage.cgi\fR(8)
.SS Driver control:
\fBupsdrvctl\fR(8)
.SS Drivers:
\fBapcsmart\fR(8),
\fBbcmxcp\fR(8),
\fBbcmxcp_usb\fR(8),
\fBbelkin\fR(8),
\fBbelkinunv\fR(8),
\fBbestfcom\fR(8),
\fBbestuferrups\fR(8),
\fBbestups\fR(8),
\fBblazer\fR(8),
\fBcyberpower\fR(8),
\fBdummy\(hyups\fR(8),
\fBetapro\fR(8),
\fBeverups\fR(8),
\fBgamatronic\fR(8),
\fBgenericups\fR(8),
\fBisbmex\fR(8),
\fBliebert\fR(8),
\fBmasterguard\fR(8),
\fBmegatec\fR(8),
\fBmegatec_usb\fR(8),
\fBmetasys\fR(8),
\fBmge\(hyshut\fR(8),
\fBmge\(hyutalk\fR(8),
\fBmge\(hyxml\fR(8),
\fBnewmge\(hyshut\fR(8),
\fBnitram\fR(8),
\fBoneac\fR(8),
\fBoptiups\fR(8),
\fBpowercom\fR(8),
\fBpowerman\(hypdu\fR(8),
\fBpowerpanel\fR(8),
\fBrhino\fR(8),
\fBrichcomm_usb\fR(8),
\fBsafenet\fR(8),
\fBsnmp\(hyups\fR(8),
\fBsolis\fR(8),
\fBtripplite\fR(8),
\fBtripplitesu\fR(8),
\fBtripplite_usb\fR(8),
\fBusbhid\(hyups\fR(8),
\fBupscode2\fR(8),
\fBvictronups\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

48
man/oneac.8 Normal file
View file

@ -0,0 +1,48 @@
.TH ONEAC 8 "Tue Oct 22 2002" "" "Network UPS Tools (NUT)"
.SH NAME
oneac \- Driver for Oneac UPS equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
oneac driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
This driver supports Oneac EG and ON UPS equipment with the
Advanced Interface. If your UPS is equipped with the Basic
Interface card, use the genericups driver.
.SH EXTRA ARGUMENTS
This driver supports the following optional settings in the
\fBups.conf\fR(5):
.IP "testtime=\fInum\fR"
Change battery test time from the 2 minute default.
.SH INSTANT COMMANDS
This driver supports the following Instant Commands.
.IP "reset.input.minmax"
Reset the minimum and maximum input line voltage values
seen since the last reset or power on.
.IP "test.battery.start"
Start a battery test. The default time is 2 minutes. This
time can be set in the ups.conf file. See \fBtestime\fR above.
.IP "test.battery.stop"
Stops a battery test that is in progress.
.IP "test.failure.start"
Starts a 15 second long simulation of an input power
failure.
.SH AUTHOR
Eric Lawson <elawson@inficad.com>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

81
man/optiups.8 Normal file
View file

@ -0,0 +1,81 @@
.TH OPTIUPS 8 "Fri Jan 20 2006" "" "Network UPS Tools (NUT)"
.SH NAME
optiups \- Driver for Opti-UPS (Viewsonic) UPS and Zinto D (ONLINE-USV) equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
optiups driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
optiups was originally written against a PowerES 280es in nut-0.45. It was
revised for nut 2.0.1 and tested against a PowerES 420E. It is expected to
work with at least the PowerES, PowerPS, and PowerVS models.
This driver additionally supports a Zinto D from ONLINE USV-Systeme AG
because of their very similar commands, but it's unknown if it also works
with other ups from them.
This driver will not work with the PowerES stock serial cable. You will need
to construct your own three conductor cable:
.RS
UPS 6 -> PC 3
.RE
.RS
UPS 9 -> PC 2
.RE
.RS
UPS 4 -> PC 5
.RE
The cable for Online-USV uses pin UPS 7 (not UPS 4) -> PC 5.
.SH EXTRA ARGUMENTS
This driver supports the following optional settings in the
\fBups.conf\fR(5):
.IP "status_only"
Only poll for critical status information. Without this, optiups (and
all nut drivers) poll all sorts of information from the UPS fairly often.
It is probably not often enough to hurt anything, so this option probably
is not very useful, unless you have a flaky serial connection or a highly
loaded machine.
.IP "nowarn_noimp"
Does not print warnings when the UPS reports that a variable is not
implemented or not pollable. Without the option you will get a message
sent to your system logs each time nut polls the ups. If you specify
\fBnowarn_noimp\fR, this message will only be logged once.
.IP "fake_lowbatt"
This forces the low battery flag true. Without it, if you want to test your
UPS, you will have to unplug it and wait until the battery drops to a low/critical
voltage level before nut will respond and power down your system. With the flag,
nut should power down the system soon after you pull the plug. When you are done
testing, you should remove this flag.
.IP "powerup"
Zinto D from ONLINE-USV cannot be identified when switched to standby.
Set this flag to allow the driver to power-up your Zinto UPS.
This will also power-up your equipment connected to the ups!
.SH BUGS
On the 420E, ups.serial and ups.temperature are unsupported features. This
is not a bug in nut or the nut driver, just the way things are with this UPS.
.SH AUTHOR
Russell Kroll, Scott Heavner, Matthias Goebl
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

191
man/powercom.8 Normal file
View file

@ -0,0 +1,191 @@
.TH POWERCOM 8 "Fri Jan 25 2008" "" "Network UPS Tools (NUT)"
.SH NAME
powercom \- UPS driver for Powercom/Trust/Advice UPS equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
powercom driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
This driver supports many similar kinds of UPS hardware. The most common
ones are the Trust 425/625, Powercom, and Advice Partner/King PR750.
Others using the same protocol may also work.
.SH EXTRA ARGUMENTS
This driver supports the following optional settings in the
\fBups.conf\fR(5):
.IP "linevoltage=\fIvalue\fR"
An integer specifying the mains voltage. It can't be auto detected.
Acceptable values are in the range of 110\(hy120 or 220\(hy240. The default
is \fI230\fR.
.IP "manufacturer=\fIname\fR"
Specify the manufacturer name, which also can't be auto detected. This is
a user defined string so any name is acceptable. The default is
\fIPowerCom\fR.
.IP "modelname=\fIname\fR"
Specify the model name, which also can't be auto detected. This is a
user defined string so any name is acceptable. The default is
\fIUnknown\fR.
.IP "serialnumber=\fIvalue\fR"
Like modelname above, but for the serial number. The default is
\fIUnknown\fR.
.IP "type=\fIname\fR"
The exact type of the communication protocol within the powercom family,
that will be used to communicate with the UPS. The type is named after
the first modelname that was coded with that protocol. The acceptable
names are KP625AP, Trust, Egys, KIN, BNT, IMP and BNT-other. The default is
\fITrust\fR.
\fIBNT-other\fR - it's a special type for BNT 100-120V models
for this type you can (I think must!) specify voltage, batteryPercentage,
loadPercentage and validationSequence.
.IP "numOfBytesFromUPS=\fIvalue\fR"
The number of bytes in a UPS frame. The default is type dependant and
is given below.
.IP "methodOfFlowControl=\fIname\fR"
The method of serial communication flow control that is engaged by the
UPS. The default is type dependant and is given below. Acceptable names
are dtr0rts1, dtr1 or no_flow_control.
.IP "shutdownArguments=\fI{{minutes,seconds},whether_minutes_should_be_used}\fR"
The minutes and seconds that the UPS should wait between receiving the
shutdown command and actually shutting off. The other argument should
be set to the character \fIn\fR only when the minutes value should be
skipped and not sent to the UPS. The default is type dependant and is
given below. The braces and commas are mandatory. Note that there should
be no white space characters.
.IP "voltage=\fI{coefficient1,coefficient2,coefficient3,coefficient4}\fR"
Only for KP625AP, Trust, Egys, BNT-other
A quad that is used convert the raw data to human readable voltage
reading. The default is type dependant and is given below. Do note that
the braces and commas are mandatory, as well as the lack of white space
characters.
.IP "frequency=\fI{coefficient1,coefficient2}\fR"
Only for KP625AP, Trust, Egys
A pair to convert the raw data to human readable frequency reading. The
default is type dependant and is given below. Do note that the braces
and commas are mandatory as well, as the lack of white space characters.
.IP "batteryPercentage=\fI{coefficient1,coefficient2,coefficient3,coefficient4,coefficient5}\fR"
Only for KP625AP, Trust, Egys, BNT-other
A 5 tuple to convert the raw data to human readable battery percentage
reading. The default is type dependant and is given below. Do note that
the braces and commas are mandatory, as the lack of white space
characters.
.IP "loadPercentage=\fI{coefficient1,coefficient2,coefficient3,coefficient4}\fR"
Only for KP625AP, Trust, Egys, BNT-other
A quad to convert the raw data to human readable load percentage
reading. The default is type dependant and is given below. Do note that
the braces and commas are mandatory, as the lack of white space
characters.
.IP "validationSequence=\fI{{index1,value1},{index2,value2},{index3,value3}}\fR"
Only for KP625AP, Trust, Egys, BNT-other
3 pairs to be used for validating the UPS by comparing bytes of the raw
data with constant values. The default is type dependant and is given
below. The braces and commas are mandatory, as the lack of white space
characters.
.SH DEFAULT VALUES FOR THE EXTRA ARGUMENTS
.IP "linevoltage = \fI230\fR"
.IP "manufacturer = \fIPowerCom\fR"
.IP "modelname = \fIUnknown\fR"
.IP "serialnumber = \fIUnknown\fR"
.IP "type = \fITrust\fR"
.P
The rest of the default values for the extra arguments are type
dependant:
.IP "Trust"
.RS
.IP "numOfBytesFromUPS = 11"
.IP "methodOfFlowControl = dtr0rts1"
.IP "validationSequence = {{5,0},{7,0},{8,0}}"
.IP "shutdownArguments = {{0,10},n}"
.IP "frequency = {0.00020997,0.00020928}"
.IP "loadPercentage = {6.1343,\-0.3808,4.3110,0.1811}"
.IP "batteryPercentage = {5.0000,0.3268,\-825.00,4.5639,\-835.82}"
.IP "voltage = {1.9216,\-0.0977,0.9545,0.0000}"
.RE
.IP "KP625AP"
.RS
.IP "numOfBytesFromUPS = 16"
.IP "methodOfFlowControl = dtr0rts1"
.IP "validationSequence = {{5,0x80},{7,0},{8,0}}"
.IP "shutdownArguments = {{0,10},n}"
.IP "frequency = {0.00020997,0.00020928}"
.IP "loadPercentage = {6.1343,\-0.3808,4.3110,0.1811}"
.IP "batteryPercentage = {5.0000,0.3268,\-825.00,4.5639,\-835.82}"
.IP "voltage = {1.9216,\-0.0977,0.9545,0.0000}"
.RE
.IP "Egys"
.RS
.IP "numOfBytesFromUPS = 16"
.IP "methodOfFlowControl = no_flow_control"
.IP "validationSequence = {{5,0x80},{7,0},{8,0}}"
.IP "shutdownArguments = {{0,10},n}"
.IP "frequency = {0.00020997,0.00020928}"
.IP "loadPercentage = {6.1343,\-0.3808,1.3333,0.6667}"
.IP "batteryPercentage = {5.0000,0.3268,\-825.00,2.2105,\-355.37}"
.IP "voltage = {1.9216,\-0.0977,0.9545,0.0000}"
.RE
.IP "IMP"
.RS
.IP "numOfBytesFromUPS = 16"
.IP "methodOfFlowControl = no_flow_control"
.IP "validationSequence = {{5,0xFF},{7,0},{8,0}}"
.IP "shutdownArguments = {{1,30},y}"
.RE
.IP "KIN"
.RS
.IP "numOfBytesFromUPS = 16"
.IP "methodOfFlowControl = no_flow_control"
.IP "validationSequence = {{11,0x4b},{8,0},{8,0}}"
.IP "shutdownArguments = {{1,30},y}"
.RE
.IP "BNT"
.RS
.IP "numOfBytesFromUPS = 16"
.IP "methodOfFlowControl = no_flow_control"
.IP "validationSequence = {{11,0x42},{8,0},{8,0}}"
.IP "shutdownArguments = {{1,30},y}"
.RE
.IP "BNT-other"
.RS
.IP "numOfBytesFromUPS = 16"
.IP "methodOfFlowControl = no_flow_control"
.IP "validationSequence = {{8,0},{8,0},{8,0}}"
.IP "shutdownArguments = {{1,30},y}"
.IP "loadPercentage = {1.4474,0.0,0.8594,0.0}"
.IP "batteryPercentage = {5.0000,0.3268,\-825.00,0.46511,0}"
.IP "voltage = {1.9216,\-0.0977,0.82857,0.0000}"
.RE
.SH AUTHOR
Peter Bieringer <pb@bieringer.de>
Alexey Sidorov <alexsid@altlinux.org>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

62
man/powerman-pdu.8 Normal file
View file

@ -0,0 +1,62 @@
.TH powerman\-pdu 8 "Wed Dec 24 2008" "" "Network UPS Tools (NUT)"
.SH NAME
powerman-pdu \- Driver for Powerman PDU
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
powerman-pdu driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
This driver supports a wide range of PDUs through the Powerman project.
This includes various models from APC, Baytech, Cyclades, but also support
IPMI and various blade management modules from HP, IBM and Sun.
.SH EXTRA ARGUMENTS
This driver doesn't support any optional setting.
.SH VARIABLES
This driver doesn't (yet) support any changeable variable.
.SH COMMANDS
The following commands are available for each outlet, with X for the outlet
number:
.TP 12
.B outlet.X.load.on
power on the outlet.
.TP
.B outlet.X.load.off
power off the outlet.
.TP
.B outlet.X.load.cycle
cycle the outlet (power off then power on, possibly with a delay).
.PD
.SH IMPLEMENTATION
The hostname of the Powerman server is specified using the "port" value in
\fBups.conf\fR, i.e.:
.nf
[pdu]
driver = powerman\-pdu
port = host.example.com:port
.fi
The port used to reach powermand is optional if the default port is used.
.SH KNOWN ISSUES
ups.status is still exposed, with the value "WAIT". Some other values from the
ups collection are also exposed.
.SH AUTHOR
Arnaud Quette <arnaud.quette@gmail.com>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/
The PowerMan home page: http://powerman.sourceforge.net/

122
man/powerpanel.8 Normal file
View file

@ -0,0 +1,122 @@
.TH POWERPANEL 8 "Tue Dec 23 2008" "" "Network UPS Tools (NUT)"
.SH NAME
powerpanel \- Driver for PowerPanel Plus compatible UPS equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
powerpanel driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
This driver supports CyberPower BC1200, PR2200 and many other similar
devices, both for the text and binary protocols. The driver will
autodetect which protocol is used.
.SH EXTRA ARGUMENTS
This driver supports the following optional settings in \fBups.conf\fR(5):
.IP "protocol=\fI[text,binary]\fR"
Override the default autodetection of the protocol.
.IP "manufacturer=\fIvalue\fR"
If you don't like the autodetected value, you can override this by setting
it here.
.IP "model=\fIvalue\fR"
Like manufacturer above.
.IP "serial=\fIvalue\fR"
Like manufacturer above.
.IP "ondelay=\fIvalue\fR"
Time to wait before switching on the UPS (1 - 9999 minutes, 0 indefinite).
Only available with the text protocol driver (see \fBSUPPORT STATUS\fR).
.IP "offdelay=\fIvalue\fR"
Time to wait before shutting down the UPS (6 - 600 seconds). Values below 60
seconds will be truncated to 6 seconds intervals, values above 60 seconds to
60 seconds intervals. Only available with the text protocol driver (see
\fBSUPPORT STATUS\fR).
.SH VARIABLES
Depending on the type of your UPS unit, some of the following variables may
be changed. If the driver can't read a variable from the UPS, it will not be
made available.
.TP 12
.B input.transfer.high
writable: high transfer voltage point in V
.TP
.B input.transfer.low
writable: low transfer voltage point in V
.TP
.B battery.charge.low
writable: remaining battery charge percentage for low battery warning
.TP
.B output.voltage.nominal
writable: nominal output voltage in V
.TP
.B ups.start.battery
writable: allow cold start from battery
.PD
.SH COMMANDS
Depending on the type of your UPS unit, some of the following commands may
be available.
.TP 12
.B test.battery.start.quick, test.battery.stop
.TP
.B beeper.enable, beeper.disable, beeper.toggle
.TP
.B shutdown.return, shutdown.reboot, shutdown.stayoff
On many devices, these commands are unreliable, so before using them you
must verify that these work as expected (see \fBSHUTDOWN ISSUES\fR).
.TP
.B shutdown.stop
.PD
.SH SUPPORT STATUS
Vendor support is absent for this driver, so if you need some features that
are currently not available, provide ample documentation on what the driver
should sent to the UPS in order to make this work. If more information
would be available on the binary protocol, it would probably be possible to
make ondelay and offdelay configurable. So far, nobody has taken the time
to investigate what we should tell the UPS to make this work and CyberPower
isn't willing to share this with us.
.SH SHUTDOWN ISSUES
If the \fBshutdown.return\fR command on your UPS doesn't seem to work,
chances are that your UPS is of an older model. Try a couple of different
settings for \fIoffdelay\fR. If no value in the range 6..600 works, your
UPS likely doesn't support this. In order to get the expected behaviour,
it requires \fBshutdown.stayoff\fR (when on battery) and \fBshutdown.reboot\fR
(when on mains). The driver will automatically fallback to these commands if
\fBshutdown.return\fR fails and tries to detect which one should be used when
called with the '\(hyk' option (or through \fBupsdrvctl shutdown\fR).
This isn't bullet proof however and you should be prepared that the
power will either not be shutdown or that it doesn't return when the
power comes back. All models supported by the binary protocol and many
supported through the text protocol are affected by this.
.SH KNOWN PROBLEMS
The CyberPower OP series don't offer direct voltage, charge, frequency
and temperature readings. Instead, they will return a binary value
that needs conversion to the actual value.
The exact conversion needed is unknown at the time of this writing,
hence an estimation was made based om readings from actual devices.
This may (probably will) be off, possibly a lot. Unless you can tell
us the exact mapping between values from the UPS and actual readings,
don't bother to complain. We've done the best we can based on the
limited information available. Remember, a UPS isn't a measuring
instrument.
.SH AUTHORS
Arjen de Korte <arjen@de\(hykorte.org>, Doug Reynolds <mav@wastegate.net>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

53
man/rhino.8 Normal file
View file

@ -0,0 +1,53 @@
.TH RHINO 8 "Wed Nov 30 2005" "" "Network UPS Tools (NUT)"
.SH NAME
rhino \- Driver for Brazilian Microsol RHINO UPS equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
rhino driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
This driver has been tested with :
Rhino 6000 VA
Rhino 7500 VA
Rhino 10000 VA
Rhino 20000 VA
All Rhino models are senoidal on\(hyline
.SH EXTRA ARGUMENTS
This driver support the following extra optional settings in the
\fBups.conf\fR(5). \fR
\fBbattext = n\fR \(hy (default = 0, no extra battery, where n = Ampere*hour )
.SH UPSCMD
load.on \(hy Turn on the load immediately
load.off \(hy Turn off the load immediately
bypass.start \(hy Put the UPS in bypass mode
bypass.stop \(hy Put the UPS out of bypass mode
shutdown.stayoff \(hy Shut down in 3 minutes and do not return
.SH AUTHOR
Silvino B. Magalh\[~a]es <sbm2yk@gmail.com>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

35
man/richcomm_usb.8 Normal file
View file

@ -0,0 +1,35 @@
.TH RICHCOMM_USB 8 "Sat Dec 27 2008" "" "Network UPS Tools (NUT)"
.SH NAME
richcomm_usb \- Driver UPS equipment using Richcomm dry\(hycontact to USB
solution
.SH NOTE
This man page only documents the specific features of the richcomm_usb
driver. For information about the core driver, see \fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
The Richcomm dry\(hycontact to USB solution is a generic interface that is
used to upgrade an existing (RS-232) contact closure UPS interface to USB.
As such, all the limitations of the underlying contact closure interface
apply. This means that you will only get the essentials in ups.status: OL,
OB, and LB. See also \fBgenericups\fR(8).
.SH BUGS
Most contact\(hyclosure UPSes will not power down the load if the line power
is present. This can create a race when using slave \fBupsmon\fR(8)
systems. See the \fBupsmon\fR(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.
.SH AUTHORS
Peter van Valderen <p.v.valderen at probu.nl>
Dirk Teurlings <dirk at upexia.nl>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

88
man/safenet.8 Normal file
View file

@ -0,0 +1,88 @@
.TH SAFENET 8 "Mon Dec 29 2008" "" "Network UPS Tools (NUT)"
.SH NAME
safenet \- Driver for SafeNet compatible UPS equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
safenet driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
This driver supports UPS equipment which can be controlled via
SafeNet v1.0 for Windows (serial interface only).
.SH EXTRA ARGUMENTS
This driver supports the following optional settings in the
\fBups.conf\fR(5):
.IP "manufacturer=\fIvalue\fR"
Autodetection of this parameter is not possible yet (and it probably
never will be). Therefore, this user defined string accepts any name. The
default is \fIunknown\fR.
.IP "modelname=\fIvalue\fR"
Like manufacturer above. The default is \fIunknown\fR.
.IP "serialnumber=\fIvalue\fR"
Like manufacturer above. The default is \fIunknown\fR.
.IP "ondelay=\fIvalue\fR"
Time to wait before switching on the UPS (minutes). Defaults to 1 minute.
.IP "offdelay=\fIvalue\fR"
Time to wait before shutting down the UPS (seconds). Defaults to 30 seconds.
.SH UPSCMD
This driver supports some instant commands (see \fBupscmd\fR(8)):
.IP "test.battery.start"
Start UPS self test
.IP "test.battery.stop"
Cancel UPS self test
.IP "test.failure.start"
Start simulated power failure
.IP "test.failure.stop"
Cancel simulated power failure
.IP "beeper.enable"
Enable the UPS beeper
.IP "beeper.mute"
Temporarily mute the UPS beeper
.IP "beeper.toggle"
Toggle the UPS beeper
.IP "shutdown.return"
Turn off the load and wait for the power to return. Uses the timer
defined by \fBoffdelay\fR.
.IP "shutdown.reboot"
Turn off the load and return. Uses the timers defined by \fBoffdelay\fR
and \fBondelay\fR.
.SH KNOWN PROBLEMS
If you run the \fBshutdown.return\fR command with mains present, the output
may stay on or switch off and not back on again. The \fBshutdown.reboot\fR
command will unconditionally switch on the load again (with or without mains
present).
If the driver is called with the '\(hyk' option (or through \fBupsdrvctl
shutdown\fR) it tries to detect which command should be used in an attempt
to stay off until mains is present again or to cycle the output if the
power returned in the mean time. This isn't bullet proof and you should be
prepared that the power will either not be shutdown or that it doesn't
return when the power comes back.
.SH AUTHOR
Arjen de Korte <adkorte\(hyguest at alioth.debian.org>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

82
man/skel.8 Normal file
View file

@ -0,0 +1,82 @@
.TH SKEL 8 "Sat Dec 23 2006" "" "Network UPS Tools (NUT)"
.\" This line is a comment.
.\"
.\" When copying this man page for your new driver, be sure to replace all
.\" occurrances of "skel" and "SKEL" by your actual driver name.
.\"
.\" Another option is to embed the man page information into your driver source
.\" code. See the tripplite_usb.c file for one way of doing this, using Perl's
.\" pod2man translator. The advantage of this is that you can keep the
.\" documentation near the source code, which may help remind you to update the
.\" documentation after changing the driver.
.\"
.\" On most systems, you can test the formatting of your man page by running:
.\" man ./skel.8
.\" (the dot-slash tells man not to search its usual path.)
.\"
.\" After writing a man page, be sure to add it to the appropriate variable in
.\" Makefile.am in this directory.
.\"
.\" On many systems, you can find a reference to the man macros by typing
.\" 'man 7 man'.
.\"
.\" In the "NAME" section, you must follow the format below, including
.\" separating the driver name from its description by "\-". This is to ensure
.\" that the apropos(8) database is properly rebuilt.
.SH NAME
skel \- skeleton driver man page
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
\fBskel\fR driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
.B skel
supports ...
.\" If the driver only works with certain cables, this is a good place to
.\" mention it:
.\" .SH CABLING
.SH EXTRA ARGUMENTS
This driver also supports the following optional settings:
.IP "option1=\fInum\fR"
Set the value of ... to \fInum\fR. Contrast with \fBoption2\fR.
.IP "option2=\fIstring\fR"
Some other option.
.\" Optional: list supported instant commands here:
.\" .SH INSTANT COMMANDS
.\" Optional: use INSTALLATION if you need special parameters to the configure
.\" script.
.\" .SH INSTALLATION
.\" You may leave this as "none known at this time", or describe any trouble
.\" encountered when implementing the protocol for your UPS.
.SH KNOWN ISSUES AND BUGS
.SS "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.
.\" An email address is not strictly necessary, but you may wish to provide
.\" some form of contact information so that users can report bugs.
.SH AUTHORS
J. Random User <user@example.org>
.\" If this driver is ever made obsolete by another driver, mention the
.\" replacement driver in the "SEE ALSO" section. You may also wish to point
.\" the user to other drivers which may better support their hardware, if there
.\" is ambiguity based on the driver name.
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

106
man/snmp-ups.8 Normal file
View file

@ -0,0 +1,106 @@
.TH snmp\-ups 8 "Fri May 15 2009" "" "Network UPS Tools (NUT)"
.SH NAME
snmp\(hyups \- Multi\(hyMIB Driver for SNMP UPS equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
snmp\(hyups driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
The snmp\(hyups driver automatically detects and supports a wide range of devices by loading various MIBS:
.IP "ietf:"
UPS that is RFC 1628 (UPS MIB) compliant, ie MGE UPS SYSTEMS, Liebert, perhaps others (default)
.IP "mge:"
MGE UPS SYSTEMS and MGE Office Protection Systems devices with SNMP cards (ref 66062, 66045, 66074 and 66244)
.IP "apcc:"
APC AP9606 APC Web/SNMP management card, perhaps others
.IP "netvision:"
Socomec Sicon UPS with Netvision Web/SNMP management card/external box
.IP "pw:"
Powerware devices with ConnectUPS SNMP cards
.IP "aphel_genesisII:"
Eaton Powerware ePDU Monitored
.IP "aphel_revelation:"
Eaton Powerware ePDU Managed
.IP "raritan:"
Various Raritan PDUs
.IP "baytech:"
Various BayTech PDUs
.IP "cpqpower:"
HP/Compaq AF401A management card, perhaps others
.SH EXTRA ARGUMENTS
This driver supports the following optional settings in the
\fBups.conf\fR(5):
.IP "mibs=\fIname\fR"
Set MIB compliance (default=auto, allowed entries: refer to the above SUPPORTED HARDWARE).
With auto the driver will try a select set of objets until it finds one
that the device responds to.
.IP "community=\fIname\fR"
Set community name (default = public).
Note that you require a RW community name to perform UPS settings (as for a powerdown).
.IP "snmp_version=\fIversion\fR"
Set SNMP version (default = v1, the other allowed value is v2c)
.IP "pollfreq=\fIvalue\fR"
Set polling frequency in seconds, to reduce network flow (default=30)
.IP "notransferoids"
Disable the monitoring of the low and high voltage transfer OIDs in
the hardware. This will remove input.transfer.low and input.transfer.high
from the list of variables. This should only be used on APCC Symmetra
equipment which has strangeness in the three\(hyphase power reporting.
.SH REQUIREMENTS
You will need to install the Net\(hySNMP package from
http://www.net\(hysnmp.org/ before building this driver.
.SH LIMITATION
.SS Shutdown
This driver does not provide a proper upsdrv_shutdown() function. There probably
never will be one, since at the time this script should run (near the end of
the system halt script), there will be no network capabilities anymore.
Probably the only way to shutdown an SNMP UPS is by sending it a shutdown
with delay command through \fBupscmd\fR(8) and hope for the best that the
system will have finished shutting down before the power is cut.
.SH INSTALLATION
This driver is only built if the Net SNMP development files are present on the system.
You can also force it to be built by using "configure \-\-with\-snmp=yes" before calling make.
.SH IMPLEMENTATION
The hostname of the UPS is specified with the "port" value in
\fBups.conf\fR, i.e.:
.nf
[snmp]
driver = snmp\-ups
port = snmp\-ups.example.com
community = public
snmp_version = v1
mibs = ietf
pollfreq = 15
.fi
.SH AUTHORS
Arnaud Quette, Dmitry Frolov
Sponsored by Eaton <http://www.eaton.com>
and originally by MGE UPS SYSTEMS <http://www.mgeups.com/>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS NUT SNMP Protocols Library
Available at: http://random.networkupstools.org/protocols/snmp/
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

49
man/solis.8 Normal file
View file

@ -0,0 +1,49 @@
.TH SOLIS 8 "Wed Apr 13 2005" "" "Network UPS Tools (NUT)"
.SH NAME
solis \- Driver for Brazilian Microsol SOLIS UPS equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
solis driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
This driver has been tested with :
Solis 1000 VA
Solis 1500 VA
Solis 2000 VA
Solis 3000 VA
All Solis models are senoidal on\(hyline
.SH EXTRA ARGUMENTS
This driver support the following extra optional settings in the
\fBups.conf\fR(5). \fR
\fBbattext = n\fR \(hy (default = 0, no extra battery, where n = Ampere*hour )
\fBprgshut = 1\fR \(hy (default = 0, no programable shutdown )
.SH UPSCMD
shutdown.return \(hy Shut down in .3 minutes and restart in .3 minutes
shutdown.stayoff \(hy Shut down in .3 minutes and do not return
.SH AUTHOR
Silvino B. Magalh\[~a]es <sbm2yk@gmail.com>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

47
man/tripplite.8 Normal file
View file

@ -0,0 +1,47 @@
.TH TRIPPLITE 8 "Sat Aug 21 2004" "" "Network UPS Tools (NUT)"
.SH NAME
tripplite \- Driver for Tripp\(hyLite SmartPro UPS equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
tripplite driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
This driver should work on the SmartPro line, including the SMART700
and SMART700SER. It only supports SmartPro models that communicate
using the serial port.
.SH EXTRA ARGUMENTS
This driver supports the following optional settings in the
\fBups.conf\fR(5):
.IP "offdelay=\fInum\fR"
Time to wait before the UPS is turned off after the kill power command is
sent.
The default value is 64 (in seconds).
.IP "rebootdelay=\fInum\fR"
Set the timer before the UPS is cycled after the reboot command is sent.
The default value is 64 (in seconds).
.IP "startdelay=\fInum\fR"
Set the time that the UPS waits before it turns itself back on after a
reboot command.
The default value is 60 (in seconds).
.SH KNOWN ISSUES AND BUGS
Battery charge information may not be correct for all UPSes. It is tuned
to be correct for a SMART700SER. Other models may not provide correct
information. Information from the manufacturer would be helpful.
.SH AUTHORS
Rickard E. (Rik) Faith <faith@alephnull.com>
Nicholas Kain <nicholas@kain.us>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

272
man/tripplite_usb.8 Normal file
View file

@ -0,0 +1,272 @@
.\" Automatically generated by Pod::Man 2.12 (Pod::Simple 3.05)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sh \" Subsection heading
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "TRIPPLITE_USB 8"
.TH TRIPPLITE_USB 8 "2009-05-04" "$Rev: 1836$" "Network UPS Tools (NUT)"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
tripplite_usb \- Driver for older Tripp Lite USB UPSes (not PDC HID)
.SH "NOTE"
.IX Header "NOTE"
This man page only documents the hardware-specific features of the
tripplite_usb driver. For information about the core driver, see
\&\fInutupsdrv\fR\|(8).
.SH "SUPPORTED HARDWARE"
.IX Header "SUPPORTED HARDWARE"
This driver should work with older Tripp Lite UPSes which are detected as \s-1USB\s0
HID-class devices, but are not true \s-1HID\s0 Power-Device Class devices. So far,
the devices supported by tripplite_usb have product \s-1ID\s0 0001, and the newer
units (such as those with \*(L"\s-1LCD\s0\*(R" in the model name) with product \s-1ID\s0 2001 require
the usbhid-ups driver instead. Please report success or failure to
the nut-upsuser mailing list. A key piece of information is the protocol
number, returned in ups.debug.0. Also, be sure to turn on debugging (\f(CW\*(C`\-DDD\*(C'\fR)
for more informative log messages. If your Tripp Lite \s-1UPS\s0 uses a serial port,
you may wish to investigate the \fItripplite\fR\|(8) or \fItripplite_su\fR\|(8) driver.
.PP
This driver has been tested with the following models:
.IP "\(bu" 4
\&\s-1INTERNETOFFICE700\s0
.IP "\(bu" 4
\&\s-1OMNISV1000\s0
.IP "\(bu" 4
\&\s-1OMNISV1500XL\s0 (some warnings)
.IP "\(bu" 4
\&\s-1SMART700USB\s0
.IP "\(bu" 4
\&\s-1SMART1500RM2U\s0
.IP "\(bu" 4
\&\s-1SMART2200RMXL2U\s0
.IP "\(bu" 4
\&\s-1SMART3000RM2U\s0
.PP
If you have used Tripp Lite's PowerAlert software to connect to your \s-1UPS\s0, there
is a good chance that \fItripplite_usb\fR\|(8) will work if it uses one of the
following protocols:
.IP "\(bu" 4
Protocol 0004
.IP "\(bu" 4
Protocol 1001
.IP "\(bu" 4
Protocol 2001
.IP "\(bu" 4
Protocol 3003
.SH "EXTRA ARGUMENTS"
.IX Header "EXTRA ARGUMENTS"
This driver supports the following optional setting in the \fIups.conf\fR\|(5) file
(or with \f(CW\*(C`\-x\*(C'\fR on the command line):
.IP "offdelay" 4
.IX Item "offdelay"
This setting controls the delay between receiving the \*(L"kill\*(R" command (\f(CW\*(C`\-k\*(C'\fR)
and actually cutting power to the computer.
.IP "bus" 4
.IX Item "bus"
This regular expression is used to match the \s-1USB\s0 bus (as seen in
\&\f(CW\*(C`/proc/bus/usb/devices\*(C'\fR or \fIlsusb\fR\|(8); including leading zeroes).
.IP "product" 4
.IX Item "product"
A regular expression to match the product string for the \s-1UPS\s0. This would be
useful if you have two different Tripp Lite \s-1UPS\s0 models connected to the
system, and you want to be sure that you shut them down in the correct order.
.Sp
Note that this regex is matched against the full \s-1USB\s0 product string as seen in
\&\fIlsusb\fR\|(8). The \f(CW\*(C`ups.model\*(C'\fR in the \f(CW\*(C`upsc\*(C'\fR output only lists the name after
\&\*(L"\s-1TRIPP\s0 \s-1LITE\s0\*(R", so to match a \s-1SMART2200RMXL2U\s0, you could use the regex
\&\*(L".*SMART2200.*\*(R".
.IP "productid" 4
.IX Item "productid"
The productid is a regular expression which matches the \s-1UPS\s0 \s-1PID\s0 as four
hexadecimal digits. So far, the only devices that work with this driver have
\&\s-1PID\s0 \f(CW0001\fR.
.IP "serial" 4
.IX Item "serial"
It does not appear that these particular Tripp Lite UPSes use the iSerial
descriptor field to return a serial number. However, in case your unit does,
you may specify it here.
.PP
For more information on regular expressions, see \fIregex\fR\|(7)
.SH "RUNTIME VARIABLES"
.IX Header "RUNTIME VARIABLES"
.IP "ups.delay.shutdown" 4
.IX Item "ups.delay.shutdown"
This variable is the same as the \f(CW\*(C`offdelay\*(C'\fR setting, but it can be changed at
runtime by \fIupsrw\fR\|(8).
.IP "ups.id" 4
.IX Item "ups.id"
Some \s-1SMARTPRO\s0 models feature an \s-1ID\s0 that can be set and retrieved. If your \s-1UPS\s0
supports this feature, this variable will be listed in the output of \fIupsrw\fR\|(8).
.IP "outlet.1.switch" 4
.IX Item "outlet.1.switch"
Some Tripp Lite units have a switchable outlet (usually outlet #1) which can be
turned on and off by writing \f(CW1\fR or \f(CW0\fR, respectively, to \f(CW\*(C`outlet.1.switch\*(C'\fR.
If your unit has multiple switchable outlets, substitute the outlet number for
\&\*(L"1\*(R" in the variable name. Be sure to test this first \- there is no other way to
be certain that the number used by the driver matches the label on the unit.
.SH "KNOWN ISSUES AND BUGS"
.IX Header "KNOWN ISSUES AND BUGS"
The driver was not developed with any official documentation from Tripp Lite,
so certain events may confuse the driver. If you observe any strange behavior,
please re-run the driver with \f(CW\*(C`\-DDD\*(C'\fR to increase the verbosity.
.PP
So far, the Tripp Lite UPSes do not seem to have any serial number or other
unique identifier accessible through \s-1USB\s0. Thus, when monitoring several Tripp
Lite \s-1USB\s0 UPSes, you should use either the \f(CW\*(C`bus\*(C'\fR or \f(CW\*(C`product\*(C'\fR configuration
options to uniquely specify which \s-1UPS\s0 a given driver instance should control.
.PP
For instance, you can easily monitor an \s-1OMNIVS1000\s0 and a \s-1SMART1500RM2U\s0 at the
same time, since they have different \s-1USB\s0 Product \s-1ID\s0 strings. If you have two
\&\s-1SMART1500RM2U\s0 units, you would have to find which \s-1USB\s0 bus number each unit is
on (via \f(CW\*(C`lsusb\*(C'\fR), which may result in ambiguities if the available \s-1USB\s0 ports
are on the same bus.
.PP
Some of the SMART*2U models have an \s-1ID\s0 number, but because this \s-1ID\s0 is not
exposed as a \s-1USB\s0 string descriptor, there is no easy way to use this \s-1ID\s0 to
distinguish between multiple \s-1UPS\s0 units on a single machine.
.SH "AUTHORS"
.IX Header "AUTHORS"
Charles Lepple <clepple+nut@gmail.com<gt>, based on the tripplite driver by
Rickard E. (Rik) Faith <faith@alephnull.com> and Nicholas Kain
<nicholas@kain.us>. Please do not email the authors directly \- use the
nut-upsdev mailing list.
.PP
A Tripp Lite \s-1OMNIVS1000\s0 was graciously donated to the \s-1NUT\s0 project by:
.Sp
.RS 4
Relevant Evidence, \s-1LLC\s0.
.Sp
http://www.relevantevidence.com
.Sp
Email: info@relevantevidence.com
.RE
.SH "SEE ALSO"
.IX Header "SEE ALSO"
.Sh "The core driver:"
.IX Subsection "The core driver:"
\&\fInutupsdrv\fR\|(8), \fIregex\fR\|(7), \fIusbhid\-ups\fR\|(8)
.Sh "Internet resources:"
.IX Subsection "Internet resources:"
The \s-1NUT\s0 (Network \s-1UPS\s0 Tools) home page: http://www.networkupstools.org/

31
man/tripplitesu.8 Normal file
View file

@ -0,0 +1,31 @@
.TH TRIPPLITESU 8 "Mon Jul 21 2003" "" "Network UPS Tools (NUT)"
.SH NAME
tripplitesu \- Driver for Tripp\(hyLite SmartOnline (SU) UPS equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
tripplitesu driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
This driver supports the Tripp Lite SmartOnline family.
.SH EXTRA ARGUMENTS
This driver supports the following optional settings in the
\fBups.conf\fR(5):
.IP "lowbatt=\fInum\fR"
Set the low battery warning threshold in percent at which shutdown is
initiated by
\fBupsmon\fR(8). By default the UPS may not report low battery until
there are only a few seconds left. Common values are around 25 \(hy 30.
.SH AUTHOR
Allan N. Hessenflow <allanh@kallisti.com>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

134
man/ups.conf.5 Normal file
View file

@ -0,0 +1,134 @@
.TH UPS.CONF 5 "Sun Aug 24 2003" "" "Network UPS Tools (NUT)"
.SH NAME
ups.conf \- UPS definitions for Network UPS Tools
.SH DESCRIPTION
This file is read by the driver controller upsdrvctl, the UPS drivers
that use the common core (see \fBnutupsdrv\fR(8)) and \fBupsd\fR(8).
The file begins with global directives, and then each UPS has a
section which contains a number of directives that set parameters for
that UPS.
A UPS section begins with the name of the ups in brackets, and continues
until the next UPS name in brackets or until EOF. The name "default" is
used internally in upsd, so you can't use it in this file.
You must define the "driver" and "port" elements for each entry. Anything
after that in a section is optional. A simple example might look like
this:
.IP
.nf
[myups]
driver = megatec
port = /dev/ttyS0
desc = "Web server UPS"
.fi
.LP
A slightly more complicated version includes some extras for the
hardware\(hyspecific part of the driver:
.IP
.nf
[bigups]
driver = apcsmart
port = /dev/cua00
cable = 940\-0095B
sdtype = 2
desc = "Database server UPS"
.fi
.LP
In this case, the \fBapcsmart\fR(8) driver will receive variables called
"cable" and "sdtype" which have special meanings. See the man pages of
your driver(s) to learn which variables are supported and what they do.
.SH GLOBAL DIRECTIVES
.IP chroot
Optional. The driver will \fBchroot\fR(2) to this directory during
initialization. This can be useful when securing systems.
.IP driverpath
Optional. Path name of the directory in which the UPS driver executables
reside. If you don't specify this, the programs look in a built\(hyin default
directory, which is often /usr/local/ups/bin.
.IP maxstartdelay
Optional. Same as the UPS field of the same name, but this is the
default for UPSes that don't have the field.
.IP pollinterval
Optional. The status of the UPS will be refreshed after a maximum
delay which is controlled by this setting. This is normally 2 seconds.
This may be useful if the driver is creating too much of a load on your
system or network.
.IP user
Optional. If started as root, the driver will \fBsetuid\fR(2) to the
user id associated with \fIusername\fR.
.SH UPS FIELDS
.IP driver
Required. This specifies which program will be monitoring this UPS. You
need to specify the one that is compatible with your hardware. See
\fBnutupsdrv\fR(8) for more information on drivers in general and pointers
to the man pages of specific drivers.
.IP port
Required. This is the serial port where the UPS is connected. On a Linux
system, the first serial port usually is /dev/ttyS0. On FreeBSD and
similar systems, it probably will be /dev/cuaa0.
.IP sdorder
Optional. When you have multiple UPSes on your system, you usually need
to turn them off in a certain order. upsdrvctl shuts down all the 0s,
then the 1s, 2s, and so on. To exclude a UPS from the shutdown sequence,
set this to \-1.
The default value for this parameter is 0.
.IP desc
Optional. This allows you to set a brief description that upsd will
provide to clients that ask for a list of connected equipment.
.IP nolock
Optional. When you specify this, the driver skips the port locking
routines every time it starts. This may allow other processes to seize
the port if you start more than one accidentally.
.IP
You should only use this if your system won't work without it.
.IP
This may be needed on Mac OS X systems.
.IP maxstartdelay
Optional. This can be set as a global variable above your first UPS
definition and it can also be set in a UPS section. This value controls
how long upsdrvctl will wait for the driver to finish starting. This
keeps your system from getting stuck due to a broken driver or UPS.
.IP
The default is 45 seconds.
.LP
All other fields are passed through to the hardware\(hyspecific part of the
driver. See those manuals for the list of what is allowed.
.SH INTEGRATION
\fBupsdrvctl\fR(8) uses this file to start and stop the drivers.
The drivers themselves also obtain configuration data from this file.
Each driver looks up its section and uses that to configure itself.
\fBupsd\fR(8) learns about which UPSes are installed on this system by
reading this file. If this system is called "doghouse" and you have
defined a UPS in your ups.conf called "snoopy", then you can monitor it
from \fBupsc\fR(8) or similar as "snoopy@doghouse".
.SH SEE ALSO
\fBupsd\fR(8), \fBnutupsdrv\fR(8), \fBupsdrvctl\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

86
man/upsc.8 Normal file
View file

@ -0,0 +1,86 @@
.TH UPSC 8 "Mon Mar 12 2007" "" "Network UPS Tools (NUT)"
.SH NAME
upsc \- example lightweight UPS client
.SH SYNOPSIS
.B upsc \-l | \-L [\fIhost\fB]
.B upsc \fIups\fB [\fIvariable\fB]
.SH DESCRIPTION
.B upsc
is provided as a quick way to poll the status of a UPS server. It can be
used inside shell scripts and other programs that need UPS data but don't
want to include the full interface.
.SH OPTIONS
.IP \-l\ \fIhost\fR
List all UPS names configured at \fIhost\fR, one name per line. The hostname
defaults to "localhost". You may optionally add a colon and a port number.
.IP \-L\ \fIhost\fR
As above, list all UPS names configured at \fIhost\fR, including their
description provided by the remote \fBupsd\fR(8) from \fBups.conf\fR(5). The
hostname defaults to "localhost". You may optionally add a colon and a port
number to override the default port.
.IP \fIups\fR
Display the status of that UPS. The format for this option is
upsname[@hostname[:port]]. The default hostname is "localhost".
.IP \fIvariable\fR
Display the value of this variable only. By default, upsc retrieves
the list of variables from the server and then displays the value for
each. This may be useful in shell scripts to save an additional pipe
into grep.
.SH EXAMPLES
To list all variables on an UPS named "myups" on a host
called "mybox", with \fBupsd\fR(8) running on port 1234:
.nf
$ upsc myups@mybox:1234
battery.charge: 100.0
battery.voltage: 13.9
battery.voltage.nominal: 13.6
. . .
.fi
To list the UPSes configured on this system, along with their descriptions:
.nf
$ upsc -L
apc: Back-UPS 500
ppro2: Patriot Pro II
.fi
To retrieve the status for all UPSes connected to mybox, using Bourne-shell
syntax:
.nf
$ for UPS in `upsc -l mybox:1234`; do
upsc $UPS ups.status
done
.fi
.SH DIAGNOSTICS
upsc will either print a list of UPS names, a list of all supported variables
and their values on the UPS, or an error message. If you receive an error,
make sure you have specified a valid UPS on the command line, that
\fBupsd\fR(8) is really running on the other host and that no firewalls are
blocking you.
.SH HISTORY
Earlier versions of this program used the \fBupsfetch\fR library and UDP
sockets to talk to upsd. This version of upsc uses the new
\fBupsclient\fR library, which only talks TCP. This is why \fBupsct\fR
no longer exists.
.SH SEE ALSO
\fBupsd\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

33
man/upscli_connect.3 Normal file
View file

@ -0,0 +1,33 @@
.TH UPSCLI_CONNECT 3 "Mon Jan 22 2007" "" "Network UPS Tools (NUT)"
.SH NAME
upscli_connect \- Open a connection to a NUT upsd
.SH SYNOPSIS
.nf
.B #include <upsclient.h>
.sp
.BI "int upscli_connect(UPSCONN *ups, const char *host, int port, int flags);"
.fi
.SH DESCRIPTION
The \fBupscli_connect()\fP function takes the pointer \fIups\fP to a
UPSCONN state structure and opens a TCP connection to the \fIhost\fP on
the given \fIport\fP.
.PP
\fIflags\fP may be either \fBUPSCLI_CONN_TRYSSL\fP to try a SSL
connection, or \fBUPSCLI_CONN_REQSSL\fP to require a SSL connection.
.PP
If SSL mode is required, this function will only return successfully if
it is able to establish a SSL connection with the server. Possible
reasons for failure include no SSL support on the server, and if
\fBupsclient\fR itself hasn't been compiled with SSL support.
.PP
You must call \fBupscli_disconnect\fP(3) when finished with a
connection, or your program will slowly leak memory and file
descriptors.
.SH "RETURN VALUE"
The \fBupscli_connect()\fP function modifies the UPSCONN structure and
returns 0 on success, or \-1 if an error occurs.
.SH "SEE ALSO"
.BR upscli_disconnect "(3), "upscli_fd "(3), "
.BR upscli_splitaddr "(3), "upscli_splitname "(3), "
.BR upscli_ssl "(3), "upscli_strerror "(3), "
.BR upscli_upserror "(3) "

23
man/upscli_disconnect.3 Normal file
View file

@ -0,0 +1,23 @@
.TH UPSCLI_DISCONNECT 3 "Mon Jan 22 2007" "" "Network UPS Tools (NUT)"
.SH NAME
upscli_disconnect \- disconnect from a UPS server
.SH SYNOPSIS
.nf
.B #include <upsclient.h>
.sp
.BI "int upscli_disconnect(UPSCONN *ups);"
.fi
.SH DESCRIPTION
The \fBupscli_disconnect()\fP function takes the pointer \fIups\fP to a
UPSCONN state structure, shuts down the connection to the server, and
frees dynamic memory used by the state structure. The UPSCONN structure
is no longer valid after this function is called.
.PP
This function must be called, or your program will leak memory and
file descriptors.
.SH "RETURN VALUE"
The \fBupscli_disconnect()\fP function returns 0 on success, or \-1 if an
error occurs.
.SH "SEE ALSO"
.BR upscli_connect "(3), "upscli_fd "(3), "
.BR upscli_strerror "(3), "upscli_upserror "(3) "

22
man/upscli_fd.3 Normal file
View file

@ -0,0 +1,22 @@
.TH UPSCLI_FD 3 "Mon Jan 22 2007" "" "Network UPS Tools (NUT)"
.SH NAME
upscli_fd \- Get file descriptor for connection
.SH SYNOPSIS
.nf
.B #include <upsclient.h>
.sp
.BI "int upscli_fd(UPSCONN *ups);"
.fi
.SH DESCRIPTION
The \fBupscli_fd()\fP function takes the pointer \fIups\fP to a
UPSCONN state structure and returns the value of the file descriptor
for that connection, if any.
.PP
This may be useful for determining if the connection to \fBupsd\fR(8)
has been lost.
.PP
.SH "RETURN VALUE"
The \fBupscli_fd()\fP function returns the file descriptor, which
may be any non\(hynegative number. It returns \-1 if an error occurs.
.SH "SEE ALSO"
.BR upscli_connect "(3), "upscli_strerror "(3), "upscli_upserror "(3) "

91
man/upscli_get.3 Normal file
View file

@ -0,0 +1,91 @@
.TH UPSCLI_GET 3 "Mon Jan 22 2007" "" "Network UPS Tools (NUT)"
.SH NAME
upscli_get \- retrieve data from a UPS
.SH SYNOPSIS
.nf
.B #include <upsclient.h>
.sp
.BI "int upscli_get(UPSCONN *ups, int numq, const char **query,"
.BI " int *numa, char ***answer)"
.fi
.SH DESCRIPTION
The \fBupscli_get()\fP function takes the pointer \fIups\fP to a
UPSCONN state structure, and the pointer \fIquery\fP to an array of
\fInumq\fP query elements. It builds a properly\(hyformatted request from
those elements and transmits it to \fBupsd\fP(8).
.PP
Upon success, the response will be split into separate components. A
pointer to those components will be returned in \fIanswer\fP. The
number of usable answer components will be returned in \fInuma\fP.
.PP
.SH "USES"
This function implements the "GET" command in the protocol. As a
result, you can use it to request many different things from the server.
Some examples are:
.PP
\(hy GET NUMLOGINS <ups>
\(hy GET UPSDESC <ups>
\(hy GET VAR <ups> <var>
\(hy GET TYPE <ups> <var>
\(hy GET DESC <ups> <var>
\(hy GET CMDDESC <ups> <cmd>
.SH QUERY FORMATTING
To generate a request for "GET NUMLOGINS su700", you would populate
query and numq as follows:
.PP
.nf
int numq;
const char *query[2];
query[0] = "NUMLOGINS";
query[1] = "su700";
numq = 2;
.fi
.PP
All escaping of special characters and quoting of elements with spaces
is handled for you inside this function.
.PP
.SH ANSWER FORMATTING
The raw response from upsd to the above query would be "NUMLOGINS su700
1". Since this is split up for you, the values work out like this:
.PP
.nf
numa = 3;
answer[0] = "NUMLOGINS"
answer[1] = "su700"
answer[2] = "1"
.fi
.PP
Notice that the value which you seek typically starts at answer[numq].
.PP
.SH "ERROR CHECKING"
This function will check your query against the response from
\fBupsd\fP. For example, if you send "VAR" "su700" "ups.status", it
will expect to see those at the beginning of the response.
.PP
If the results from \fBupsd\fP do not pass this case\(hyinsensitive test
against your request, this function will return an error. When this
happens, \fBupscli_upserror\fP(3) will return \fIUPSCLI_ERR_PROTOCOL\fP.
.PP
.SH ANSWER ARRAY LIFETIME
The pointers contained within the \fIanswer\fP array are only valid
until the next call to a \fBupsclient\fP function which references them.
If you need to use data from multiple calls, you must copy it somewhere
else first.
.PP
The \fIanswer\fP array and its elements may change locations, so you
must not rely on previous addresses. You must only use the addresses
which were returned by the most recent call. You also must not attempt
to use more than \fInuma\fP elements in \fIanswer\fP. Such behavior is
undefined, and may yield bogus data or a crash.
.PP
The array will be deleted after calling \fBupscli_disconnect\fP(3). Any
access after that point is also undefined.
.PP
.SH "RETURN VALUE"
The \fBupscli_get()\fP function returns 0 on success, or \-1 if an
error occurs.
.SH "SEE ALSO"
.BR upscli_list_start "(3), "upscli_list_next "(3), "
.BR upscli_strerror "(3), "upscli_upserror "(3) "

52
man/upscli_list_next.3 Normal file
View file

@ -0,0 +1,52 @@
.TH UPSCLI_LIST_NEXT 3 "Tue May 13 2003" "" "Network UPS Tools (NUT)"
.SH NAME
upscli_list_next \- retrieve list items from a UPS
.SH SYNOPSIS
.nf
.B #include <upsclient.h>
.sp
.BI "int upscli_list_next(UPSCONN *ups, int numq, const char **query,
.BI " int *numa, char ***answer)"
.fi
.SH DESCRIPTION
The \fBupscli_list_next()\fP function takes the pointer \fIups\fP to a
UPSCONN state structure, and the pointer \fIquery\fP to an array of
\fInumq\fP query elements. It performs a read from the network and
expects to find either another list item or the end of a list.
.PP
You must call \fBupscli_list_start\fP(3) before calling this function.
.PP
This function will return 1 and set values in \fInuma\fP and
\fIanswer\fP if a list item is received. If the list is done, it will
return 0, and the values in \fInuma\fP and \fIanswer\fP are undefined.
.PP
Calling this function after it returns something other than 1 is
undefined.
.PP
.SH QUERY FORMATTING
You may not change the values of \fInumq\fP or \fIquery\fP between the
call to \fBupscli_list_start\fP(3) and the first call to this function.
You also may not change the values between calls to this function.
.PP
.SH ANSWER FORMATTING
The contents of \fInuma\fP and \fIanswer\fP work just like a call to
\fBupscli_get\fP(3). The values returned by \fBupsd\fP are identical to
a single item request, so this is not surprising.
.PP
.SH "ERROR CHECKING"
This function checks the response from \fBupsd\fP against your query.
If the response is not part of the list you have requested, it will
return an error code.
.PP
When this happens, \fBupscli_upserror\fP(3) will return
\fIUPSCLI_ERR_PROTOCOL\fP.
.PP
.SH "RETURN VALUE"
The \fBupscli_list_next()\fP function returns 1 when list data is
present, 0 if the list is finished, or \-1 if an error occurs.
.PP
It is possible to have an empty list. The function will return 0 for
its first call in that case.
.SH "SEE ALSO"
.BR upscli_list_start "(3), "
.BR upscli_strerror "(3), "upscli_upserror "(3) "

65
man/upscli_list_start.3 Normal file
View file

@ -0,0 +1,65 @@
.TH UPSCLI_LIST_START 3 "Mon Jan 22 2007" "" "Network UPS Tools (NUT)"
.SH NAME
upscli_list_start \- begin multi\(hyitem retrieval from a UPS
.SH SYNOPSIS
.nf
.B #include <upsclient.h>
.sp
.BI "int upscli_list_start(UPSCONN *ups, int numq, const char **query)"
.fi
.SH DESCRIPTION
The \fBupscli_list_start()\fP function takes the pointer \fIups\fP to a
UPSCONN state structure, and the pointer \fIquery\fP to an array of
\fInumq\fP query elements. It builds a properly\(hyformatted request from
those elements and transmits it to \fBupsd\fP(8).
.PP
Upon success, the caller must call \fBupscli_list_next\fP(3) to retrieve
the elements of the list. Failure to retrieve the list will most likely
result in the client getting out of sync with the server due to buffered
data.
.PP
.SH "USES"
This function implements the "LIST" command in the protocol. As a
result, you can use it to request many different things from the server.
Some examples are:
.PP
\(hy LIST UPS
\(hy LIST VAR <ups>
\(hy LIST RW <ups>
\(hy LIST CMD <ups>
\(hy LIST ENUM <ups> <var>
.SH QUERY FORMATTING
To see the list of variables on a UPS called su700, the protocol command
would be "LIST VAR su700". To start that list with this function, you
would populate query and numq as follows:
.PP
.nf
int numq;
const char *query[2];
query[0] = "VAR";
query[1] = "su700";
numq = 2;
.fi
.PP
All escaping of special characters and quoting of elements with spaces
is handled for you inside this function.
.PP
.SH "ERROR CHECKING"
This function checks the response from \fBupsd\fP against your query.
If it is not starting a list, or is starting the wrong type of list, it
will return an error code.
.PP
When this happens, \fBupscli_upserror\fP(3) will return
\fIUPSCLI_ERR_PROTOCOL\fP.
.PP
.SH "RETURN VALUE"
The \fBupscli_list_start()\fP function returns 0 on success, or \-1 if an
error occurs.
.SH "SEE ALSO"
.BR upscli_fd "(3), "upscli_get "(3), "
.BR upscli_readline "(3), "upscli_sendline "(3), "
.BR upscli_ssl "(3), "
.BR upscli_strerror "(3), "upscli_upserror "(3) "

26
man/upscli_readline.3 Normal file
View file

@ -0,0 +1,26 @@
.TH UPSCLI_READLINE 3 "Mon Jan 22 2007" "" "Network UPS Tools (NUT)"
.SH NAME
upscli_readline \- read a single response from a UPS
.SH SYNOPSIS
.nf
.B #include <upsclient.h>
.sp
.BI "int upscli_readline(UPSCONN *ups, char *buf, size_t buflen);"
.fi
.SH DESCRIPTION
The \fBupscli_readline()\fP function takes the pointer \fIups\fP to a
UPSCONN state structure, receives a single line from the server, and
copies up to \fIbuflen\fP bytes of the response into the buffer
\fIbuf\fP.
.PP
Some parsing of the string occurs during reception. In particular,
ERR messages from \fBupsd\fR(8) are detected and will cause this
function to return \-1.
.SH "RETURN VALUE"
The \fBupscli_readline()\fP function returns 0 on success, or \-1 if an
error occurs.
.SH "SEE ALSO"
.BR upscli_fd "(3), "upscli_get "(3), "
.BR upscli_readline "(3), "upscli_sendline "(3), "
.BR upscli_ssl "(3), "
.BR upscli_strerror "(3), "upscli_upserror "(3) "

24
man/upscli_sendline.3 Normal file
View file

@ -0,0 +1,24 @@
.TH UPSCLI_SENDLINE 3 "Mon Jan 22 2007" "" "Network UPS Tools (NUT)"
.SH NAME
upscli_sendline \- send a single command to a UPS
.SH SYNOPSIS
.nf
.B #include <upsclient.h>
.sp
.BI "int upscli_sendline(UPSCONN *ups, const char *buf, size_t buflen);"
.fi
.SH DESCRIPTION
The \fBupscli_sendline()\fP function takes the pointer \fIups\fP to a
UPSCONN state structure and transmits a buffer \fIbuf\fP of size
\fIbuflen\fP to the server.
.PP
The data in \fIbuf\fP must be a fully formatted protocol command as no
parsing of the buffer occurs within this function.
.SH "RETURN VALUE"
The \fBupscli_sendline()\fP function returns 0 on success, or \-1 if an
error occurs.
.SH "SEE ALSO"
.BR upscli_fd "(3), "upscli_get "(3), "
.BR upscli_readline "(3), "upscli_sendline "(3), "
.BR upscli_ssl "(3), "
.BR upscli_strerror "(3), "upscli_upserror "(3) "

33
man/upscli_splitaddr.3 Normal file
View file

@ -0,0 +1,33 @@
.TH UPSCLI_SPLITADDR 3 "Mon Jan 22 2007" "" "Network UPS Tools (NUT)"
.SH NAME
upscli_splitaddr \- split a listening address into its components
.SH SYNOPSIS
.nf
.B #include <upsclient.h>
.sp
.BI "int upscli_splitaddr(const char *buf, char **hostname, "
.BI " int *port)"
.fi
.SH DESCRIPTION
The \fBupscli_splitaddr()\fP function takes a pointer to the raw UPS
definition \fIbuf\fP and returns pointers to dynamically allocated
memory in \fIupsname\fP and \fIhostname\fP. It also copies the port
number into \fIport\fP.
.SH FORMATTING
A listening address definition is specified according to this format:
.PP
<hostname>[:<port>]
.PP
Definitions without an explicit port value receive the default value of
3493.
.SH "MEMORY USAGE"
You must \fBfree\fP(3) the pointer \fIhostname\fP when you are done
with it to avoid memory leaks.
.SH "RETURN VALUE"
The \fBupscli_splitaddr()\fP function returns 0 on success, or \-1 if an
error occurs.
.SH "SEE ALSO"
.BR upscli_fd "(3), "upscli_get "(3), "
.BR upscli_readline "(3), "upscli_sendline "(3), "
.BR upscli_splitname "(3), "upscli_ssl "(3), "
.BR upscli_strerror "(3), "upscli_upserror "(3) "

36
man/upscli_splitname.3 Normal file
View file

@ -0,0 +1,36 @@
.TH UPSCLI_SPLITNAME 3 "Mon Jan 22 2007" "" "Network UPS Tools (NUT)"
.SH NAME
upscli_splitname \- split a UPS definition into its components
.SH SYNOPSIS
.nf
.B #include <upsclient.h>
.sp
.BI "int upscli_splitname(const char *buf, char **upsname, "
.BI " char **hostname, int *port)"
.fi
.SH DESCRIPTION
The \fBupscli_splitname()\fP function takes a pointer to the raw UPS
definition \fIbuf\fP and returns pointers to dynamically allocated
memory in \fIupsname\fP and \fIhostname\fP. It also copies the port
number into \fIport\fP.
.SH FORMATTING
A UPS definition is specified according to this format:
.PP
<upsname>[@<hostname>[:<port>]]
.PP
When the UPS name is not given, this function will print an error to
stderr and return \-1 without changing anything.
.PP
Definitions without an explicit port value receive the default value of
3493. The default hostname is "localhost".
.SH "MEMORY USAGE"
You must \fBfree\fP(3) the pointers to \fIupsname\fP and \fIhostname\fP
when you are done with them to avoid memory leaks.
.SH "RETURN VALUE"
The \fBupscli_splitname()\fP function returns 0 on success, or \-1 if an
error occurs.
.SH "SEE ALSO"
.BR upscli_fd "(3), "upscli_get "(3), "
.BR upscli_readline "(3), "upscli_sendline "(3), "
.BR upscli_splitaddr "(3), "upscli_ssl "(3), "
.BR upscli_strerror "(3), "upscli_upserror "(3) "

23
man/upscli_ssl.3 Normal file
View file

@ -0,0 +1,23 @@
.TH UPSCLI_SSL 3 "Mon Jan 22 2007" "" "Network UPS Tools (NUT)"
.SH NAME
upscli_ssl \- Check SSL mode for current connection
.SH SYNOPSIS
.nf
.B #include <upsclient.h>
.sp
.BI "int upscli_ssl(UPSCONN *ups);"
.fi
.SH DESCRIPTION
The \fBupscli_ssl()\fP function takes the pointer \fIups\fP to a
UPSCONN state structure. It only returns 1 if SSL support has been
compiled into the \fBupsclient\fR library, and if it was successfully
enabled for this connection.
.PP
.SH "RETURN VALUE"
The \fBupscli_ssl()\fP function returns 1 if SSL is running, and 0 if
not. It returns \-1 in the event of an error.
.SH "SEE ALSO"
.BR upscli_fd "(3), "upscli_get "(3), "
.BR upscli_readline "(3), "upscli_sendline "(3), "
.BR upscli_ssl "(3), "
.BR upscli_strerror "(3), "upscli_upserror "(3) "

22
man/upscli_strerror.3 Normal file
View file

@ -0,0 +1,22 @@
.TH UPSCLI_STRERROR 3 "Mon Jan 22 2007" "" "Network UPS Tools (NUT)"
.SH NAME
upscli_strerror \- return string describing error condition
.SH SYNOPSIS
.nf
.B #include <upsclient.h>
.sp
.BI "char *upscli_strerror(UPSCONN *ups);"
.fi
.SH DESCRIPTION
The \fBupscli_strerror()\fP function takes the pointer \fIups\fP to a
UPSCONN state structure and returns a string describing the last error
which occurred on this connection. The string is valid until the next
call to \fBupscli_strerror()\fP.
.SH "RETURN VALUE"
The \fBupscli_strerror()\fP function returns a description of the error,
or an unknown error message if the error code is not recognized.
.SH "SEE ALSO"
.BR upscli_fd "(3), "upscli_get "(3), "
.BR upscli_readline "(3), "upscli_sendline "(3), "
.BR upscli_ssl "(3), "
.BR upscli_strerror "(3), "upscli_upserror "(3) "

27
man/upscli_upserror.3 Normal file
View file

@ -0,0 +1,27 @@
.TH UPSCLI_UPSERROR 3 "Mon Jan 22 2007" "" "Network UPS Tools (NUT)"
.SH NAME
upscli_upserror \- Get current error number for connection
.SH SYNOPSIS
.nf
.B #include <upsclient.h>
.sp
.BI "int upscli_upserror(UPSCONN *ups);"
.fi
.SH DESCRIPTION
The \fBupscli_upserror()\fP function takes the pointer \fIups\fP to a
UPSCONN state structure and returns the value of the internal error
number, if any.
.PP
This is typically used to check for certain error values like
UPSCLI_ERR_UNKCOMMAND. That specific error can be used for detecting
older versions of \fBupsd\fR(8) which might not support a given command.
.PP
Some error messages have additional meanings, so you should use
\fBupscli_strerror\fR(3) to obtain readable error messages.
.PP
.SH "RETURN VALUE"
The \fBupscli_upserror()\fP function returns one of the UPSCLI_ERR_*
values from \fBupsclient.h\fR, or 0 if no error has occurred.
.SH "SEE ALSO"
.BR upscli_readline "(3), "upscli_sendline "(3), "
.BR upscli_strerror (3)

53
man/upsclient.3 Normal file
View file

@ -0,0 +1,53 @@
.TH UPSCLIENT 3 "Mon Jan 22 2007" "" "Network UPS Tools (NUT)"
.SH NAME
upsclient \- Network UPS Tools client access library
.SH SYNOPSIS
.SH DESCRIPTION
The Network UPS Tools (NUT) \fBupsclient\fP library provides a number of
useful functions for programs to use when communicating with
\fBupsd\fP(8). Many of the low\(hylevel socket and protocol details are
handled automatically when using this interface.
.PP
State is maintained across calls in an opaque structure called UPSCONN.
Callers are expected to create one per connection. These will be
provided to most of the \fBupsclient\fP functions. The format of this
structure is subject to change, and client programs must not reference
elements within it directly.
.PP
.SH NETWORK FUNCTIONS
To create a new connection, use \fBupscli_connect\fP(3). This will also
initialize the UPSCONN structure. To verify that a connection has been
established later, \fBupscli_fd\fP(3) can be used to return the
file descriptor. Clients wishing to check for the presence and
operation of SSL on a connection may call \fBupscli_ssl\fR(3).
.PP
The majority of clients will use \fBupscli_get\fP(3) to retrieve single
items from the server. To retrieve a list, use
\fBupscli_list_start\fP(3) to get it started, then call
\fBupscli_list_next\fP(3) for each element.
.PP
Raw lines of text may be sent to \fBupsd\fP with
\fBupscli_sendline\fP(3). Reading raw lines is possible with
\fBupscli_readline\fP(3). Client programs are expected to format these
lines according to the protocol, as no checking will be performed before
transmission.
.PP
At the end of a connection, you must call \fBupsclient_disconnect\fR(3)
to disconnect from \fBupsd\fP and release any dynamic memory associated
with the UPSCONN structure. Failure to call this function will result
in memory and file descriptor leaks in your program.
.PP
.SH ERROR HANDLING
In the event of an error, \fBupscli_strerror\fR(3) will provide
human\(hyreadable details on what happened. \fBupscli_upserror\fR(3) may
also be used to retrieve the error number. These numbers are defined in
\fBupsclient.h\fP as \fIUPSCLI_ERR_*\fP.
.PP
.SH "SEE ALSO"
.BR upscli_connect "(3), "upscli_disconnect "(3), "upscli_fd "(3), "
.BR upscli_getvar "(3), "upscli_list_next "(3), "
.BR upscli_list_start "(3), "upscli_readline "(3), "
.BR upscli_sendline "(3), "
.BR upscli_splitaddr "(3), "upscli_splitname "(3), "
.BR upscli_ssl "(3), "upscli_strerror "(3), "
.BR upscli_upserror "(3) "

84
man/upscmd.8 Normal file
View file

@ -0,0 +1,84 @@
.TH UPSCMD 8 "Mon Jan 22 2007" "" "Network UPS Tools (NUT)"
.SH NAME
upscmd \- UPS administration program for instant commands
.SH SYNOPSIS
.B upscmd \-h
.B upscmd \-l \fIups\fR
.B upscmd [\-u \fIusername\fB] [\-p \fIpassword\fB] \fIups\fB \fIcommand\fR
.SH DESCRIPTION
.B upscmd
allows you to invoke "instant commands" in your UPS hardware.
Not all hardware supports this, so check the list with \-l to see if
anything will work on your equipment.
On hardware that supports it, you can use this program to start and stop
battery tests, invoke a front panel test (beep!), turn the load on or off,
and more.
.SH OPTIONS
.IP \-h
Display the help message.
.IP "\-l \fIups\fR"
Show the list of supported instant commands on that UPS. Some hardware
may not support any of them.
.IP "\-u \fIusername\fR"
Set the username for the connection to the server. This is optional, and
you will be prompted for this when invoking a command if \-u is not used.
.IP "\-p \fIpassword\fR"
Set the password to authenticate to the server. This is also optional
like \-u, and you will be prompted for it if necessary.
.IP \fIups\fR
Connect to this UPS. The format is upsname[@hostname[:port]]. The default
hostname is "localhost".
.SH UNATTENDED MODE
If you run this program inside a shell script or similar to invoke
a command, you will need to specify all of the information on the command
line. This means using \-u and \-p. Otherwise it will put up a prompt and
your program will hang.
This is not necessary when displaying the list, as the username and
password are not required for read\(hyonly mode.
.SH DANGEROUS COMMANDS
Some drivers like \fBapcsmart\fR(8) have built\(hyin paranoia for the
dangerous commands like load.off. To make them actually turn off the
load, you will have to send the command twice within a short window.
That is, you will have to send it once, then send it again after 3
seconds elapse but before 15 seconds pass.
This paranoia is entirely defined within the driver. upsd and upscmd have
no control over the timing.
.SH DIAGNOSTICS
upscmd won't work unless you provide a valid username and password. If
you get "access denied" errors, make sure that your \fBupsd.users\fR(5) has
an entry for you, and that the username you are using has permissions to
SET variables.
.SH BUGS
There is currently no way to tell the user when the driver requires
confirmation to invoke a command such as load.off. Similarly, there is
not yet a way to tell the user if a command succeeds or fails.
This is on the list of things to fix in the future, so don't despair.
It involves magic cookies.
.SH SEE ALSO
\fBupsd\fR(8), \fBupsrw\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

87
man/upscode2.8 Normal file
View file

@ -0,0 +1,87 @@
.TH UPSCODE2 8 "Tue Oct 19 2004" "" "Network UPS Tools (NUT)"
.SH NAME
upscode2 \- Driver for UPScode II compatible UPS equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
upscode2 driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
This driver supports UPS equipment which can be controlled via
the UPScode II protocol.
This is mainly Fiskars, Powerware equipment, but also some (probably OEM'ed)
products from Compaq.
.SH EXTRA ARGUMENTS
This driver supports the following optional settings in the
\fBups.conf\fR(5):
.IP "manufacturer=\fIvalue\fR"
Autodetection of this parameter is not possible yet (and it probably
never will be). Therefore this user defined string accepts any name. The
default is \fIunknown\fR.
.IP "input_timeout=\fIvalue\fR"
The timeout waiting for a response from the UPS. Some UPS models have
shown to be rather slow, resulting in frequent messages about empty
responses from the UPS. If you see this, try increasing this value.
.IP "output_pace=\fIvalue\fR"
Delay between characters sent to the UPS. This was added for completeness
with the above parameter. It has not shown to be needed yet.
.IP "baudrate=\fIvalue\fR"
The default baudrate is 1200, which is the standard for the UPScode II
protocol.
.IP "full_update_timer=\fIvalue\fR"
Number of seconds between collection of normative values.
.IP "use_crlf"
Flag to set if commands towards to UPS need to be terminated with CR-LF,
and not just CR.
.IP "use_pre_lf"
Flag to set if commands towards to UPS need to be introduced with an LF.
A Compaq T1500h is known to need this.
.SH UPSCMD
The driver supports the following commands for those UPSen that support them.
The available commands are autodetected during initialization,
so you should check availability with \fIupscmd -l\fR.
test.panel.start \(hy Start UPS self test
test.battery.start \(hy Start battery self test
beeper.enable \(hy Enable UPS beeper
beeper.disable \(hy Disable UPS beeper
shutdown.return \(hy Shut down in 1 second and wait for power to return
shutdown.stayoff \(hy Shut down in 1 seconds
shutdown.reboot \(hy Shut down in 1 seconds and reboot after 1 minute
shutdown.reboot.graceful \(hy Shut down in 20 seconds and reboot after 1 minute
.SH NOTES
The Powerware UPS models that this driver has been tested against until now
has not returned a value for \fIbattery.charge\fR. Therefore the driver will
guesstimate a value based on the nominal battery min/max and the current
battery voltage.
.SH AUTHOR
H\[oa]vard Lygre <hklygre@online.no>,
Niels Baggesen <niels@baggesen.net>
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

158
man/upsd.8 Normal file
View file

@ -0,0 +1,158 @@
.TH UPSD 8 "Mon Nov 30 2009" "" "Network UPS Tools (NUT)"
.SH NAME
upsd \- UPS information server
.SH SYNOPSIS
.B upsd \-h
.B upsd [OPTIONS]
.SH DESCRIPTION
.B upsd
is responsible for serving the data from the drivers to the clients. It
connects to each driver and maintains a local cache of the current
state. Queries from the clients are served from this cache, so delays
are minimal.
It also conveys administrative messages from the clients such as
starting tests or setting values back to the drivers.
This program is essential, and must be running at all times to actually
make any use out of the drivers and clients.
Controls in the configuration files allow you to limit access to the
server, but you should also use a firewall for extra protection. Client
processes such as \fBupsmon\fR(8) trust upsd for status information about
the UPS hardware, so keep it secure.
.SH OPTIONS
.IP "\-c \fIcommand\fR"
Send \fIcommand\fR to the background process as a signal. Valid commands
are:
.IP
.nf
reload \(hy reread configuration files
stop \(hy stop process and exit
.fi
.LP
.IP "\-D"
Raise the debug level. Use this multiple times for additional details.
.IP "\-h"
Display the help text.
.IP "\-r \fIdirectory\fR"
upsd will \fBchroot\fR(2) to \fIdirectory\fR shortly after startup
and before parsing any configuration files with this option set. You
can use this to create a "jail" for greater security.
You must coordinate this with your drivers, as upsd must be able to find
the state path within \fIdirectory\fR. See \fBupsdrvctl\fR(8) and
\fBnutupsdrv\fR(8).
.IP "\-u \fIuser\fR"
Switch to user \fIuser\fR after startup if started as root. This
overrides whatever you may have compiled in with 'configure
\-\-with\-user'.
.IP "\-V"
Display the version of the program.
.SH RELOADING
upsd can reload its configuration files without shutting down the process
if you send it a SIGHUP or start it again with '\-c reload'. This only works
if the background process is able to read those files.
If you think that upsd can't reload, check your syslogs for error messages.
If it's complaining about not being able to read the files, then you need
to adjust your system to make it possible. Either change the permissions
on the files, or run upsd as another user that will be able to read them.
DO NOT make your upsd.conf or upsd.users world\(hyreadable, as those files
hold important authentication information. In the wrong hands, it could
be used by some evil person to spoof your master upsmon and command your
systems to shut down.
.SH DIAGNOSTICS
upsd expects the drivers to either update their status regularly or at
least answer periodic queries, called pings. If a driver doesn't
answer, upsd will declare it "stale" and no more information will be
provided to the clients.
If upsd complains about staleness when you start it, then either your
driver or configuration files are probably broken. Be sure that the
driver is actually running, and that the UPS definition in
\fBups.conf\fR(5) is correct. Also make sure that you start your
driver(s) before starting upsd.
Data can also be marked stale if the driver can no longer communicate
with the UPS. In this case, the driver should also provide diagnostic
information in the syslog. If this happens, check the serial or
USB cabling, or inspect the network path in the case of a SNMP UPS.
.SH ACCESS CONTROL
If the server is build with tcp-wrappers support enabled, it will check if
the NUT username is allowed to connect from the client address through the
\fB/etc/hosts.allow\fR and \fB/etc/hosts.deny\fR files. Note that this will
only be done for commands that require to be logged into the server.
.IP
.nf
hosts.allow:
------------
upsd : admin@127.0.0.1/32
upsd : monslave@127.0.0.1/32 monslave@192.168.1.0/24
hosts.deny:
-----------
upsd : ALL
.fi
.LP
Further details are described in \fBhosts_access\fR(5).
.SH FILES
The general upsd configuration file is \fBupsd.conf\fR(5). The
administrative functions like SET and INSTCMD for users are defined and
controlled in \fBupsd.users\fR(5). UPS definitions are found in
\fBups.conf\fR(5).
.SH ENVIRONMENT VARIABLES
\fBNUT_CONFPATH\fR is the path name of the directory that contains
\fBupsd.conf\fR and other configuration files. If this variable is not set,
\fBupsd\fR uses a built\(hyin default, which is often \fB/usr/local/ups/etc\fR.
\fBNUT_STATEPATH\fR is the path name of the directory in which
\fBupsd\fR keeps state information. If this variable is not set,
\fBupsd\fR uses a built\(hyin default, which is often \fB/var/state/ups\fR.
The \fBSTATEPATH\fR directive in \fBupsd.conf\fR overrides this variable.
.SH SEE ALSO
.SS Clients:
\fBupsc\fR(8), \fBupscmd\fR(8),
\fBupsrw\fR(8), \fBupslog\fR(8), \fBupsmon\fR(8)
.SS CGI programs:
\fBupsset.cgi\fR(8), \fBupsstats.cgi\fR(8), \fBupsimage.cgi\fR(8)
.SS Drivers:
\fBnutupsdrv\fR(8),
\fBapcsmart\fR(8), \fBbelkin\fR(8), \fBbelkinunv\fR(8),
\fBbestuferrups\fR(8), \fBbestups\fR(8),
\fBcyberpower\fR(8), \fBenergizerups\fR(8), \fBetapro\fR(8),
\fBeverups\fR(8), \fBgenericups\fR(8),
\fBisbmex\fR(8), \fBliebert\fR(8), \fBmasterguard\fR(8),
\fBmge\(hyshut\fR(8), \fBmge\(hyutalk\fR(8), \fBoneac\fR(8),
\fBpowercom\fR(8), \fBsafenet\fR(8), \fBsnmp\-ups\fR(8),
\fBtripplite\fR(8), \fBtripplitesu\fR(8), \fBvictronups\fR(8),
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

67
man/upsd.conf.5 Normal file
View file

@ -0,0 +1,67 @@
.TH UPSD.CONF 5 "Mon Nov 30 2009" "" "Network UPS Tools (NUT)"
.SH NAME
upsd.conf \- Configuration for Network UPS Tools upsd
.SH DESCRIPTION
upsd uses this file to control access to the server and set some other
miscellaneous configuration values. This file contains details on
access controls, so keep it secure. Ideally, only the upsd process
should be able to read it.
.SH CONFIGURATION DIRECTIVES
.IP "MAXAGE \fIseconds\fR"
upsd usually allows a driver to stop responding for up to 15 seconds
before declaring the data "stale". If your driver takes a very long
time to process updates but is otherwise operational, you can use MAXAGE
to make upsd wait longer.
Most users should leave this at the default value.
.IP "STATEPATH \fIpath\fR"
Tell upsd to look for the driver state sockets in \fIpath\fR rather
than the default that was compiled into the program.
.IP "LISTEN \fIinterface\fR \fIport\fR"
Bind a listening port to the interface specified by its Internet
address. This may be useful on hosts with multiple interfaces.
You should not rely exclusively on this for security, as it can be
subverted on many systems.
Listen on TCP port \fIport\fR instead of the default value which was
compiled into the code. This overrides any value you may have set
with 'configure \-\-with\-port'. If you don't change it with configure
or this value, upsd will listen on port 3493 for this interface.
Multiple LISTEN addresses may be specified. The default is to bind to
127.0.0.1 if no LISTEN addresses are specified (and ::1 if IPv6 support is
compiled in).
.IP
.nf
LISTEN 127.0.0.1
LISTEN 192.168.50.1
LISTEN ::1
LISTEN 2001:0db8:1234:08d3:1319:8a2e:0370:7344
.fi
.LP
This parameter will only be read at startup. You'll need to restart
(rather than reload) upsd to apply any changes made here.
.SH UPGRADING FROM OLDER VERSIONS
The ACL/ACCEPT/REJECT mechanism that existed in versions before
nut-2.4.0 has been removed. You'll want to use the LISTEN directive
to limit the addresses the server listens at on multihomed systems.
If this is not fine grained enough, use a firewall.
.SH SEE ALSO
\fBupsd\fR(8), \fBnutupsdrv\fR(8), \fBupsd.users\fR(5)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

89
man/upsd.users.5 Normal file
View file

@ -0,0 +1,89 @@
.TH UPSD.USERS 5 "Mon Nov 30 2009" "" "Network UPS Tools (NUT)"
.SH NAME
upsd.users \- Administrative user definitions for NUT upsd
.SH DESCRIPTION
Administrative commands such as setting variables and the instant
commands are powerful, and access to them needs to be restricted. This
file defines who may access them, and what is available.
Each user gets its own section. The fields in that section set the
parameters associated with that user's privileges. The section begins
with the name of the user in brackets, and continues until the next user
name in brackets or EOF.
Here are some examples to get you started:
.IP
.nf
[admin]
password = mypass
actions = set
instcmds = all
[pfy]
password = duh
instcmds = test.panel.start
[monmaster]
password = blah
upsmon master
[monslave]
password = abcd
upsmon slave
.fi
.LP
.SH FIELDS
.IP password
Set the password for this user.
.IP actions
Allow the user to do certain things with upsd.
Valid actions are:
SET \(hy change the value of certain variables in the UPS
FSD \(hy set the forced shutdown flag in the UPS. This is
equivalent to an "on battery + low battery" situation for the purposes
of monitoring.
The list of actions is expected to grow in the future.
.IP instcmds
Let a user initiate specific instant commands. Use "ALL" to grant all
commands automatically. For the full list of what your UPS supports,
use "upscmd \-l".
The \fBcmdvartab\fR file supplied with the distribution contains a list
of most of the known command names.
.IP upsmon
Add the necessary actions for a upsmon process to work. This is either
set to "master" or "slave".
Do not attempt to assign actions to upsmon by hand, as you may miss
something important. This method of designating a "upsmon user" was
created so internal capabilities could be changed later on without
breaking existing installations.
.SH UPGRADING FROM OLDER VERSIONS
The \fIallowfrom\fR mechanism that existed in versions before nut-2.4.0
has been replaced by tcp-wrappers. Further details are described in
\fBupsd\fR(8).
.SH SEE ALSO
\fBupsd\fR(8), \fBupsd.conf\fR(5)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

86
man/upsdrvctl.8 Normal file
View file

@ -0,0 +1,86 @@
.TH UPSDRVCTL 8 "Sat Jan 31 2004" "" "Network UPS Tools (NUT)"
.SH NAME
upsdrvctl \- UPS driver controller
.SH SYNOPSIS
.B upsdrvctl \-h
.B upsdrvctl [OPTIONS] {start | stop | shutdown} [\fIups\fB]
.SH DESCRIPTION
upsdrvctl provides a uniform interface for controlling your UPS drivers.
You should use upsdrvctl instead of direct calls to the drivers
whenever possible.
When used properly, upsdrvctl lets you maintain identical startup
scripts across multiple systems with different UPS configurations.
.SH OPTIONS
.IP \-h
Display the help message.
.IP "\-r \fIdirectory\fR"
If starting a driver, this value will direct it to \fBchroot\fR(2) into
\fIdirectory\fR. This can be useful when securing systems.
This may be set in the ups.conf with "chroot" in the global section.
.IP \-t
Enable testing mode. This also enables debug mode. Testing mode makes
upsdrvctl display the actions it would execute without actually doing them.
Use this to test out your configuration without actually doing anything
to your UPS drivers. This may be helpful when defining the 'sdorder'
directive in your \fBups.conf\fR(5).
.IP "\-u \fIusername\fR"
If starting a driver, this value will direct it to \fBsetuid\fR(2) to
the user id associated with \fIusername\fR.
If the driver is started as root without specifying this value, it will
use the username that was compiled into the binary. This defaults to
"nobody", and is far from ideal.
This may be set in ups.conf with "user" in the global section.
.IP "\-D"
Raise the debug level. Use this multiple times for additional details.
.SH COMMANDS
upsdrvctl supports three commands \(hy start, stop and shutdown. They take
an optional argument which is a UPS name from \fBups.conf\fR(5).
Without that argument, they operate on every UPS that is currently
configured.
.IP start
Start the UPS driver(s).
.IP stop
Stop the UPS driver(s).
.IP shutdown
Command the UPS driver(s) to run their shutdown sequence. Drivers are
stopped according to their sdorder value \(hy see \fBups.conf\fR(5).
WARNING: this will probably power off your computers, so don't
play around with this option. Only use it when your systems are prepared
to lose power.
.SH ENVIRONMENT VARIABLES
\fBNUT_CONFPATH\fR is the path name of the directory that contains
\fBups.conf\fR. If this variable is not set, \fBupsdrvctl\fR and the
driver use a built\(hyin default, which is often \fB/usr/local/ups/etc\fR.
.SH DIAGNOSTICS
upsdrvctl will return a nonzero exit code if it encounters an error
while performing the desired operation. This will also happen if a
driver takes longer than the \fImaxstartdelay\fR period to enter the
background.
.SH SEE ALSO
\fBnutupsdrv\fR(8), \fBupsd\fR(8) \fBups.conf\fR(5)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

36
man/upsimage.cgi.8 Normal file
View file

@ -0,0 +1,36 @@
.TH upsimage.cgi 8 "Wed Oct 16 2002" "" "Network UPS Tools (NUT)"
.SH NAME
upsimage.cgi \- Image\(hygenerating helper for upsstats.cgi
.SH SYNOPSIS
.B upsimage.cgi
.SH NOTE
As a CGI program, this should be invoked through your web server.
If you run it from the command line, it will either complain about
unauthorized access or spew a PNG at you.
.SH DESCRIPTION
.B upsimage.cgi
generates the graphical bars that make up the right side
of the page generated by \fBupsstats.cgi\fR(8). These represent the
current battery charge, utility voltage, and UPS load where available.
The images are in PNG format, and are created by linking to Boutell's
excellent gd library.
.SH ACCESS CONTROL
upsstats will only talk to \fBupsd\fR(8) servers that have been defined
in your \fBhosts.conf\fR(5). If it complains about "Access to that host
is not authorized", check that file first.
.SH FILES
\fBhosts.conf\fR(5)
.SH SEE ALSO
\fBupsstats.cgi\fR(8)
.SS Internet resources:
The gd home page: http://www.boutell.com/gd/
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

96
man/upslog.8 Normal file
View file

@ -0,0 +1,96 @@
.TH UPSLOG 8 "Mon Jan 22 2007" "" "Network UPS Tools (NUT)"
.SH NAME
upslog \- UPS status logger
.SH SYNOPSIS
.B upslog \-h
.B upslog [OPTIONS]
.SH DESCRIPTION
.B upslog
is a daemon that will poll a UPS at periodic intervals, fetch the
variables that interest you, format them, and write them to a file.
The default format string includes variables that are supported by many
common UPS models. See the description below to make your own.
.SH OPTIONS
.IP \-h
Display the help message.
.IP "\-f \fIformat\fR"
Monitor the UPS using this format string. Be sure to enclose
\fIformat\fR in quotes so your shell doesn't split it up. Valid escapes
within this string are:
%% \(hy insert a single %
%TIME format% \(hy insert the time with strftime formatting
%ETIME% \(hy insert the number of seconds, ala time_t. This is now a
10 digit number.
%HOST% \(hy insert the local hostname
%UPSHOST% \(hy insert the host of the UPS being monitored
%PID% \(hy insert the pid of upslog
%VAR varname% \(hy insert the value of variable varname
The default format string is:
%TIME @Y@m@d @H@M@S% %VAR battery.charge% %VAR input.voltage%
%VAR ups.load% [%VAR ups.status%] %VAR ups.temperature%
%VAR input.frequency%
.IP "\-i \fIinterval\fR"
Wait this many seconds between polls. This defaults to 30 seconds.
If you require tighter timing, you should write your own logger using
the upsclient library.
.IP "\-l \fIlogfile\fR"
Store the results in this file.
You can use \(hy for stdout, but upslog will remain in the foreground.
.IP "\-s \fIups\fR"
Monitor this UPS. The format for this option is
upsname[@hostname[:port]]. The default hostname is "localhost".
.IP "\-u \fIusername\fR"
If started as root, upsmon will \fBsetuid\fR(2) to the user id
associated with \fIusername\fR for security.
If it is not defined, it will use the value that was compiled into the
program. This defaults to 'nobody', which is less than ideal.
.SH SERVICE DELAYS
The interval value is merely the number given to sleep() after running
through the format string. Therefore, a query will actually take slightly
longer than the interval depending on the speed of your system.
.SH LOG ROTATION
upslog writes its pid to upslog.pid, and will reopen the log file if you
send it a SIGHUP. This allows it to keep running when the log is rotated
by an external program.
.SH SEE ALSO
.SS Server:
\fBupsd\fR(8)
.SS Clients:
\fBupsc\fR(8), \fBupscmd\fR(8),
\fBupsrw\fR(8), \fBupsmon\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

422
man/upsmon.8 Normal file
View file

@ -0,0 +1,422 @@
.TH UPSMON 8 "Mon Jan 22 2007" "" "Network UPS Tools (NUT)"
.SH NAME
upsmon \- UPS monitor and shutdown controller
.SH SYNOPSIS
.B upsmon \-h
.B upsmon \-c \fIcommand\fR
.B upsmon [\-D] [\-p] [\-u \fIuser\fR]
.SH DESCRIPTION
.B upsmon
is the client process that is responsible for the most important part of
UPS monitoring \(hy shutting down the system when the power goes out. It
can call out to other helper programs for notification purposes during
power events.
upsmon can monitor multiple systems using a single process. Every UPS
that is defined in the \fBupsmon.conf\fR(5) configuration file is assigned
a power value and a type (slave or master).
.SH OPTIONS
.IP \-h
Display the help message.
.IP "\-c \fIcommand\fR"
Send the command \fIcommand\fR to the existing upsmon process. Valid
commands are:
fsd \(hy shutdown all master UPSes (use with caution)
stop \(hy stop monitoring and exit
reload \(hy reread \fBupsmon.conf\fR(5) configuration file. See
"reloading nuances" below if this doesn't work.
.IP \-D
Raise the debugging level. upsmon will run in the foreground and prints
information on stdout about the monitoring process. Use this multiple
times for more details.
.IP \-K
Test for the shutdown flag. If it exists and contains the magic string
from upsmon, then upsmon will exit with EXIT_SUCCESS. Any other condition
will make upsmon exit with EXIT_FAILURE.
You can test for a successful exit from upsmon \-K in your shutdown
scripts to know when to call \fBupsdrvctl\fR(8) to shut down the UPS.
.IP \-p
Run privileged all the time. Normally upsmon will split into two
processes. The majority of the code runs as an unprivileged user, and
only a tiny stub runs as root. This switch will disable that mode, and
run the old "all root all the time" system.
This is not the recommended mode, and you should not use this unless you
have a very good reason.
.IP "\-u \fIuser\fR"
Set the user for the unprivileged monitoring process. This has no effect
when using \-p.
.IP
The default user is set at configure time with 'configure
\-\-with\-user=...'. Typically this is 'nobody', but other distributions
will probably have a specific 'nut' user for this task. If your
notification scripts need to run as a specific user, set it here.
.IP
You can also set this in the \fBupsmon.conf\fR(5) file with the
RUN_AS_USER directive.
.SH UPS DEFINITIONS
In the \fBupsmon.conf\fR(5), you must specify at least one UPS that will
be monitored. Use the MONITOR directive.
MONITOR \fIsystem\fR \fIpowervalue\fR \fIusername\fR
\fIpassword\fR \fItype\fR
The \fIsystem\fR refers to a \fBupsd\fR(8) server, in the form
upsname[@hostname[:port]]. The default hostname is "localhost". Some
examples follow:
\(hy "su700@mybox" means a UPS called "su700" on a system called "mybox".
This is the normal form.
\(hy "fenton@bigbox:5678" is a UPS called "fenton" on a system called
"bigbox" which runs \fBupsd\fR(8) on port "5678".
The \fIpowervalue\fR refers to how many power supplies on this system are
being driven this UPS. This is typically set to 1, but see the section
on power values below.
The \fIusername\fR is a section in your \fBupsd.users\fR(5) file.
Whatever password you set in that section must match the \fIpassword\fR
set in this file.
The type set in that section must also match the \fItype\fR here \(hy
\fBmaster\fR or \fBslave\fR. In general, a master process is one
running on the system with the UPS actually plugged into a serial
port, and a slave is drawing power from the UPS but can't talk to it
directly. See the section on UPS types for more.
.SH NOTIFY EVENTS
upsmon senses several events as it monitors each UPS. They are called
notify events as they can be used to tell the users and admins about the
change in status. See the additional NOTIFY\(hyrelated sections below for
information on customizing the delivery of these messages.
.IP ONLINE
The UPS is back on line.
.IP ONBATT
The UPS is on battery.
.IP LOWBATT
The UPS battery is low (as determined by the driver).
.IP FSD
The UPS has been commanded into the "forced shutdown" mode.
.IP COMMOK
Communication with the UPS has been established.
.IP COMMBAD
Communication with the UPS was just lost.
.IP SHUTDOWN
The local system is being shut down.
.IP REPLBATT
The UPS needs to have its battery replaced.
.IP NOCOMM
The UPS can't be contacted for monitoring.
.SH NOTIFY COMMAND
In \fBupsmon.conf\fR(5), you can configure a program called the NOTIFYCMD
that will handle events that occur.
NOTIFYCMD "\fIpath to program\fR"
NOTIFYCMD "/usr/local/bin/notifyme"
Remember to wrap the path in "quotes" if it contains any spaces.
The program you run as your NOTIFYCMD can use the environment variables
NOTIFYTYPE and UPSNAME to know what has happened and on which UPS. It
also receives the notification message (see below) as the first (and
only) argument, so you can deliver a preformatted message too.
Note that the NOTIFYCMD will only be called for a given event when you set
the EXEC flag by using the notify flags, below:
.SH NOTIFY FLAGS
By default, all notify events (see above) generate a global message
(wall) to all users, plus they are logged via the syslog. You can change
this with the NOTIFYFLAG directive in the configuration file:
NOTIFYFLAG \fInotifytype\fR \fIflags\fR
Examples:
NOTIFYFLAG ONLINE SYSLOG
NOTIFYFLAG ONBATT SYSLOG+WALL
NOTIFYFLAG LOWBATT SYSLOG+WALL+EXEC
The flags that can be set on a given notify event are:
.IP SYSLOG
Write this message to the syslog.
.IP WALL
Send this message to all users on the system via 'wall'.
.IP EXEC
Execute the NOTIFYCMD.
.IP IGNORE
Don't do anything. If you use this, don't use any of the other flags.
.P
You can mix these flags. "SYSLOG+WALL+EXEC" does all three for a given
event.
.SH NOTIFY MESSAGES
upsmon comes with default messages for each of the NOTIFY events. These
can be changed with the NOTIFYMSG directive.
NOTIFYMSG \fItype\fR "\fImessage\fR"
Examples:
NOTIFYMSG ONLINE "UPS %s is getting line power"
NOTIFYMSG ONBATT "Someone pulled the plug on %s"
The first instance of %s is replaced with the identifier of the UPS that
generated the event. These messages are used when sending walls to the
users directly from upsmon, and are also passed to the NOTIFYCMD.
.SH POWER VALUES
The "current overall power value" is the sum of all UPSes that are
currently able to supply power to the system hosting upsmon. Any
UPS that is either on line or just on battery contributes to this
number. If a UPS is critical (on battery and low battery) or has been
put into "forced shutdown" mode, it no longer contributes.
A "power value" on a MONITOR line in the config file is the number of
power supplies that the UPS runs on the current system.
MONITOR \fIupsname\fR \fIpowervalue\fR \fIusername\fR \fIpassword\fR \fItype\fR
Normally, you only have one power supply, so it will be set to 1.
MONITOR myups@myhost 1 username mypassword master
On a large server with redundant power supplies, the power value for a UPS
may be greater than 1. You may also have more than one of them defined.
MONITOR ups\-alpha@myhost 2 username mypassword master
MONITOR ups\-beta@myhost 2 username mypassword master
You can also set the power value for a UPS to 0 if it does not supply any
power to that system. This is generally used when you want to use the
upsmon notification features for a UPS even though it's not actually
running the system that hosts upsmon. Don't set this to "master" unless
you really want to power this UPS off when this instance of upsmon needs
to shut down for its own reasons.
MONITOR faraway@anotherbox 0 username mypassword slave
The "minimum power value" is the number of power supplies that must be
receiving power in order to keep the computer running.
MINSUPPLIES \fIvalue\fR
Typical PCs only have 1, so most users will leave this at the default.
MINSUPPLIES 1
If you have a server or similar system with redundant power, then this
value will usually be set higher. One that requires three power supplies
to be running at all times would simply set it to 3.
MINSUPPLIES 3
When the current overall power value drops below the minimum power value,
upsmon starts the shutdown sequence. This design allows you to lose some
of your power supplies in a redundant power environment without bringing
down the entire system while still working properly for smaller systems.
.SH UPS TYPES
upsmon and \fBupsd\fR(8) don't always run on the same system. When they
do, any UPSes that are directly attached to the upsmon host should be
monitored in "master" mode. This makes upsmon take charge of that
equipment, and it will wait for slaves to disconnect before shutting
down the local system. This allows the distant systems (monitoring over
the network) to shut down cleanly before \fBupsdrvctl shutdown\fR runs
and turns them all off.
When upsmon runs as a slave, it is relying on the distant system to tell
it about the state of the UPS. When that UPS goes critical (on battery
and low battery), it immediately invokes the local shutdown command. This
needs to happen quickly. Once it disconnects from the distant
\fBupsd\fR(8) server, the master upsmon will start its own shutdown
process. Your slaves must all shut down before the master turns off the
power or filesystem damage may result.
upsmon deals with slaves that get wedged, hang, or otherwise fail to
disconnect from \fBupsd\fR(8) in a timely manner with the HOSTSYNC
timer. During a shutdown situation, the master upsmon will give up after
this interval and it will shut down anyway. This keeps the master from
sitting there forever (which would endanger that host) if a slave should
break somehow. This defaults to 15 seconds.
If your master system is shutting down too quickly, set the FINALDELAY
interval to something greater than the default 15 seconds. Don't set
this too high, or your UPS battery may run out of power before the
master upsmon process shuts down that system.
.SH TIMED SHUTDOWNS
For those rare situations where the shutdown process can't be completed
between the time that low battery is signalled and the UPS actually powers
off the load, use the \fBupssched\fR(8) helper program. You can use it
along with upsmon to schedule a shutdown based on the "on battery" event.
upssched can then come back to upsmon to initiate the shutdown once it's
run on battery too long.
This can be complicated and messy, so stick to the default critical UPS
handling if you can.
.SH REDUNDANT POWER SUPPLIES
If you have more than one power supply for redundant power, you may also
have more than one UPS feeding your computer. upsmon can handle this. Be
sure to set the UPS power values appropriately and the MINSUPPLIES value
high enough so that it keeps running until it really does need to shut
down.
For example, the HP NetServer LH4 by default has 3 power supplies
installed, with one bay empty. It has two power cords, one per side of
the box. This means that one power cord powers two power supply bays,
and that you can only have two UPSes supplying power.
Connect UPS "alpha" to the cord feeding two power supplies, and UPS
"beta" to the cord that feeds the third and the empty slot. Define alpha
as a powervalue of 2, and beta as a powervalue of 1. Set the MINSUPPLIES
to 2.
When alpha goes on battery, your current overall power value will stay
at 3, as it's still supplying power. However, once it goes critical (on
battery and low battery), it will stop contributing to the current overall
power value. That means the value will be 1 (beta alone), which is less
than 2. That is insufficient to run the system, and upsmon will invoke
the shutdown sequence.
However, if beta goes critical, subtracting its contribution will take the
current overall value from 3 to 2. This is just high enough to satisfy
the minimum, so the system will continue running as before. If beta
returns later, it will be re\(hyadded and the current value will go back to
3. This allows you to swap out UPSes, change a power configuration, or
whatever, as long as you maintain the minimum power value at all times.
.SH MIXED OPERATIONS
Besides being able to monitor multiple UPSes, upsmon can also monitor them
as different roles. If you have a system with multiple power supplies
serviced by separate UPS batteries, it's possible to be a master on one
and a slave on the other. This usually happens when you run out of serial
ports and need to do the monitoring through another system nearby.
This is also complicated, especially when it comes time to power down a
UPS that has gone critical but doesn't supply the local system. You can
do this with some scripting magic in your notify command script, but it's
beyond the scope of this manual.
.SH FORCED SHUTDOWNS
When upsmon is forced to bring down the local system, it sets the
"FSD" (forced shutdown) flag on any UPSes that it is running in master
mode. This is used to synchronize slaves in the event that a master UPS
that is otherwise OK needs to be brought down due to some pressing event
on the master.
You can manually invoke this mode on the master upsmon by starting another
copy with '\-c fsd'. This is useful when you want to initiate a shutdown
before the critical stage through some external means, such as
\fBupssched\fR(8).
.SH DEAD UPSES
In the event that upsmon can't reach \fBupsd\fR(8), it declares that UPS
"dead" after some interval controlled by DEADTIME in the
\fBupsmon.conf\fR(5). If this happens while that UPS was last known to be
on battery, it is assumed to have gone critical and no longer contributes
to the overall power value.
upsmon will alert you to a UPS that can't be contacted for monitoring
with a "NOCOMM" notifier by default every 300 seconds. This can be
changed with the NOCOMMWARNTIME setting.
.SH RELOADING NUANCES
upsmon usually gives up root powers for the process that does most of
the work, including handling signals like SIGHUP to reload the configuration
file. This means your \fBupsmon.conf\fR(8) file must be readable by
the non\(hyroot account that upsmon switches to.
If you want reloads to work, upsmon must run as some user that has
permissions to read the configuration file. I recommend making a new
user just for this purpose, as making the file readable by "nobody"
(the default user) would be a bad idea.
See the RUN_AS_USER section in \fBupsmon.conf\fR(8) for more on this topic.
Additionally, you can't change the SHUTDOWNCMD or POWERDOWNFLAG
definitions with a reload due to the split\(hyprocess model. If you change
those values, you \fBmust\fR stop upsmon and start it back up. upsmon
will warn you in the syslog if you make changes to either of those
values during a reload.
.SH SIMULATING POWER FAILURES
To test a synchronized shutdown without pulling the plug on your UPS(es),
you need only set the forced shutdown (FSD) flag on them. You can do this
by calling upsmon again to set the flag \(hy i.e.:
upsmon \-c fsd
After that, the master and the slaves will do their usual shutdown sequence
as if the battery had gone critical. This is much easier on your UPS
equipment, and it beats crawling under a desk to find the plug.
.SH FILES
\fBupsmon.conf\fR(5)
.SH SEE ALSO
.SS Server:
\fBupsd\fR(8)
.SS Clients:
\fBupsc\fR(8), \fBupscmd\fR(8),
\fBupsrw\fR(8), \fBupsmon\fR(8)
.SS CGI programs:
\fBupsset.cgi\fR(8), \fBupsstats.cgi\fR(8), \fBupsimage.cgi\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

327
man/upsmon.conf.5 Normal file
View file

@ -0,0 +1,327 @@
.TH UPSMON.CONF 5 "Mon Jan 22 2007" "" "Network UPS Tools (NUT)"
.SH NAME
upsmon.conf \- Configuration for Network UPS Tools upsmon
.SH DESCRIPTION
This file's primary job is to define the systems that \fBupsmon\fR(8)
will monitor and to tell it how to shut down the system when necessary.
It will contain passwords, so keep it secure. Ideally,only the upsmon
process should be able to read it.
Additionally, other optional configuration values can be set in this
file.
.SH CONFIGURATION DIRECTIVES
.IP "DEADTIME \fIseconds\fR"
upsmon allows a UPS to go missing for this many seconds before declaring
it "dead". The default is 15 seconds.
upsmon requires a UPS to provide status information every few seconds
(see POLLFREQ and POLLFREQALERT) to keep things updated. If the status
fetch fails, the UPS is marked stale. If it stays stale for more than
DEADTIME seconds, the UPS is marked dead.
A dead UPS that was last known to be on battery is assumed to have
changed to a low battery condition. This may force a shutdown if it is
providing a critical amount of power to your system. This seems
disruptive, but the alternative is barreling ahead into oblivion and
crashing when you run out of power.
Note: DEADTIME should be a multiple of POLLFREQ and POLLFREQALERT.
Otherwise, you'll have "dead" UPSes simply because upsmon isn't polling
them quickly enough. Rule of thumb: take the larger of the two POLLFREQ
values, and multiply by 3.
.IP "FINALDELAY \fIseconds\fR"
When running in master mode, upsmon waits this long after sending the
NOTIFY_SHUTDOWN to warn the users. After the timer elapses, it then
runs your SHUTDOWNCMD. By default this is set to 5 seconds.
If you need to let your users do something in between those events,
increase this number. Remember, at this point your UPS battery is
almost depleted, so don't make this too big.
Alternatively, you can set this very low so you don't wait around when
it's time to shut down. Some UPSes don't give much warning for low
battery and will require a value of 0 here for a safe shutdown.
Note: If FINALDELAY on the slave is greater than HOSTSYNC on the master,
the master will give up waiting for the slave to disconnect.
.IP "HOSTSYNC \fIseconds\fR"
upsmon will wait up to this many seconds in master mode for the slaves
to disconnect during a shutdown situation. By default, this is 15
seconds.
When a UPS goes critical (on battery + low battery, or "FSD" \(hy forced
shutdown), the slaves are supposed to disconnect and shut down right
away. The HOSTSYNC timer keeps the master upsmon from sitting there
forever if one of the slaves gets stuck.
This value is also used to keep slave systems from getting stuck if
the master fails to respond in time. After a UPS becomes critical,
the slave will wait up to HOSTSYNC seconds for the master to set the
FSD flag. If that timer expires, the slave will assume that the master
is broken and will shut down anyway.
This keeps the slaves from shutting down during a short\(hylived status
change to "OB LB" that the slaves see but the master misses.
.IP "MINSUPPLIES \fInum\fR"
Set the number of power supplies that must be receiving power to keep
this system running. Normal computers have just one power supply, so
the default value of 1 is acceptable.
Large/expensive server type systems usually have more, and can run
with a few missing. The HP NetServer LH4 can run with 2 out of 4, for
example, so you'd set it to 2. The idea is to keep the box running
as long as possible, right?
Obviously you have to put the redundant supplies on different UPS
circuits for this to make sense! See big\(hyservers.txt in the docs
subdirectory for more information and ideas on how to use this
feature.
Also see the section on "power values" in \fBupsmon\fR(8).
.IP "MONITOR \fIsystem\fR \fIpowervalue\fR \fIusername\fR \fIpassword\fR \fItype\fR"
Each UPS that you need to be monitor should have a MONITOR line. Not
all of these need supply power to the system that is running upsmon.
You may monitor other systems if you want to be able to send
notifications about status changes on them.
You must have at least one MONITOR directive in this file.
\fIsystem\fR is a UPS identifier. It is in this form:
<upsname>[@<hostname>[:<port>]]
The default hostname is "localhost". Some examples:
\(hy "su700@mybox" means a UPS called "su700" on a system called "mybox".
This is the normal form.
\(hy "fenton@bigbox:5678" is a UPS called "fenton" on a system called
"bigbox" which runs \fBupsd\fR(8) on port "5678".
\fIpowervalue\fR is an integer representing the number of power supplies
that the UPS feeds on this system. Most normal computers have one power
supply, and the UPS feeds it, so this value will be 1. You need a very
large or special system to have anything higher here.
You can set the \fIpowervalue\fR to 0 if you want to monitor a UPS that
doesn't actually supply power to this system. This is useful when you
want to have upsmon do notifications about status changes on a UPS
without shutting down when it goes critical.
The \fIusername\fR and \fIpassword\fR on this line must match an entry
in that system's \fBupsd.users\fR(5). If your username is "monmaster"
and your password is "blah", the MONITOR line might look like this:
MONITOR myups@bigserver 1 monmaster blah master
Meanwhile, the upsd.users on 'bigserver' would look like this:
[monmaster]
password = blah
upsmon master (or slave)
The \fItype\fR refers to the relationship with \fBupsd\fR(8). It can
be either "master" or "slave". See \fBupsmon\fR(8) for more information
on the meaning of these modes. The mode you pick here also goes in
the upsd.users file, as seen in the example above.
.IP "NOCOMMWARNTIME \fIseconds\fR"
upsmon will trigger a NOTIFY_NOCOMM after this many seconds if it can't
reach any of the UPS entries in this configuration file. It keeps
warning you until the situation is fixed. By default this is 300
seconds.
.IP "NOTIFYCMD \fIcommand\fR"
upsmon calls this to send messages when things happen.
This command is called with the full text of the message as one
argument. The environment string NOTIFYTYPE will contain the type
string of whatever caused this event to happen.
If you need to use \fBupssched\fR(8), then you must make it your
NOTIFYCMD by listing it here.
Note that this is only called for NOTIFY events that have EXEC set with
NOTIFYFLAG. See NOTIFYFLAG below for more details.
Making this some sort of shell script might not be a bad idea. For
more information and ideas, see pager.txt in the docs directory.
Remember, this also needs to be one element in the configuration file,
so if your command has spaces, then wrap it in quotes.
NOTIFYCMD "/path/to/script \-\-foo \-\-bar"
This script is run in the background \(hy that is, upsmon forks before it
calls out to start it. This means that your NOTIFYCMD may have multiple
instances running simultaneously if a lot of stuff happens all at once.
Keep this in mind when designing complicated notifiers.
.IP "NOTIFYMSG \fItype\fR \fImessage\fR\"
upsmon comes with a set of stock messages for various events. You can
change them if you like.
NOTIFYMSG ONLINE "UPS %s is getting line power"
NOTIFYMSG ONBATT "Someone pulled the plug on %s"
Note that %s is replaced with the identifier of the UPS in question.
Possible values for \fItype\fR:
ONLINE \(hy UPS is back online
ONBATT \(hy UPS is on battery
LOWBATT \(hy UPS is on battery and has a low battery (is critical)
FSD \(hy UPS is being shutdown by the master (FSD = "Forced Shutdown")
COMMOK \(hy Communications established with the UPS
COMMBAD \(hy Communications lost to the UPS
SHUTDOWN \(hy The system is being shutdown
REPLBATT \(hy The UPS battery is bad and needs to be replaced
NOCOMM \(hy A UPS is unavailable (can't be contacted for monitoring)
The message must be one element in the configuration file, so if it
contains spaces, you must wrap it in quotes.
NOTIFYMSG NOCOMM "Someone stole UPS %s"
.IP "NOTIFYFLAG \fItype\fR \fIflag\fR[+\fIflag\fR][+\fIflag\fR]..."
By default, upsmon sends walls global messages to all logged in users)
via /bin/wall and writes to the syslog when things happen. You can
change this.
Examples:
NOTIFYFLAG ONLINE SYSLOG
NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC
Possible values for the flags:
SYSLOG \(hy Write the message to the syslog
WALL \(hy Write the message to all users with /bin/wall
EXEC \(hy Execute NOTIFYCMD (see above) with the message
IGNORE \(hy Don't do anything
If you use IGNORE, don't use any other flags on the same line.
.IP "POLLFREQ \fIseconds\fR"
Normally upsmon polls the \fBupsd\fR(8) server every 5 seconds. If this
is flooding your network with activity, you can make it higher. You can
also make it lower to get faster updates in some cases.
There are some catches. First, if you set the POLLFREQ too high, you
may miss short\(hylived power events entirely. You also risk triggering
the DEADTIME (see above) if you use a very large number.
Second, there is a point of diminishing returns if you set it too low.
While upsd normally has all of the data available to it instantly, most
drivers only refresh the UPS status once every 2 seconds. Polling any
more than that usually doesn't get you the information any faster.
.IP "POLLFREQALERT \fIseconds\fR"
This is the interval that upsmon waits between polls if any of its UPSes
are on battery. You can use this along with POLLFREQ above to slow down
polls during normal behavior, but get quicker updates when something bad
happens.
This should always be equal to or lower than the POLLFREQ value. By
default it is also set 5 seconds.
The warnings from the POLLFREQ entry about too\(hyhigh and too\(hylow values
also apply here.
.IP "POWERDOWNFLAG \fIfilename\fR"
upsmon creates this file when running in master mode when the UPS needs
to be powered off. You should check for this file in your shutdown
scripts and call \fBupsdrvctl shutdown\fR if it exists.
This is done to forcibly reset the slaves, so they don't get stuck at
the "halted" stage even if the power returns during the shutdown
process. This usually does not work well on contact\(hyclosure UPSes that
use the genericups driver.
See the shutdown.txt file in the docs subdirectory for more information.
.IP "RBWARNTIME \fIseconds\fR"
When a UPS says that it needs to have its battery replaced, upsmon will
generate a NOTIFY_REPLBATT event. By default this happens every 43200
seconds \(hy 12 hours.
If you need another value, set it here.
.IP "RUN_AS_USER \fIusername\fR"
upsmon normally runs the bulk of the monitoring duties under another user
ID after dropping root privileges. On most systems this means it runs
as "nobody", since that's the default from compile\(hytime.
The catch is that "nobody" can't read your upsmon.conf, since by default
it is installed so that only root can open it. This means you won't be
able to reload the configuration file, since it will be unavailable.
The solution is to create a new user just for upsmon, then make it run
as that user. I suggest "nutmon", but you can use anything that isn't
already taken on your system. Just create a regular user with no special
privileges and an impossible password.
Then, tell upsmon to run as that user, and make upsmon.conf readable by it.
Your reloads will work, and your config file will stay secure.
This file should not be writable by the upsmon user, as it would be
possible to exploit a hole, change the SHUTDOWNCMD to something
malicious, then wait for upsmon to be restarted.
.IP "SHUTDOWNCMD \fIcommand\fR"
upsmon runs this command when the system needs to be brought down. If
it is a slave, it will do that immediately whenever the current overall
power value drops below the MINSUPPLIES value above.
When upsmon is a master, it will allow any slaves to log out before
starting the local shutdown procedure.
Note that the command needs to be one element in the config file. If
your shutdown command includes spaces, then put it in quotes to keep it
together, i.e.:
SHUTDOWNCMD "/sbin/shutdown \-h +0"
.SH SEE ALSO
\fBupsmon\fR(8), \fBupsd\fR(8), \fBnutupsdrv\fR(8).
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

83
man/upsrw.8 Normal file
View file

@ -0,0 +1,83 @@
.TH UPSRW 8 "Mon Jan 22 2007" "" "Network UPS Tools (NUT)"
.SH NAME
upsrw \- UPS variable administration tool
.SH SYNOPSIS
.B upsrw \fIups\fR
.B upsrw \-h
.B upsrw \-s \fIvariable\fB [\-u \fIusername\fB] [\-p \fIpassword\fB]
\fIups\fR
.SH DESCRIPTION
.B upsrw
allows you to view and change the read/write variables inside your UPS.
It sends commands via the server \fBupsd\fR(8) to your driver, which
configures the hardware for you.
The list of variables that allow you to change their values is based on
the capabilities of your UPS equipment. Not all models support this
feature. Typically, cheaper hardware does not support any of them.
Run upsrw with a UPS identifier to see what will work for you.
.SH OPTIONS
.IP \-h
Display the help message.
.IP "\-s \fIvariable\fR"
Specify the variable to be changed inside the UPS. For unattended
mode such as in shell scripts, use the format VAR=VALUE to specify both
the variable and the value, for example:
\-s input.transfer.high=129
Without this argument, upsrw will just display the list of the variables
and their possible values.
Some variables are strings, and can be set to any value within the
length limit. Others are enumerated types and can only be set to one of
those values. Refer to the list to know what's available in your
hardware.
.IP "\-u \fIusername\fR"
Set the username for the connection to the server. This is optional,
and you will be prompted for this when using the \-s option if you don't
specify \-u on the command line.
.IP "\-p \fIpassword\fR"
Set the password to authenticate to the server. This is also optional
like \-u, and you will be prompted for it if necessary.
.IP \fIups\fR
View or change the settings on this UPS. The format for this option is
upsname[@hostname[:port]]. The default hostname is "localhost".
.SH UNATTENDED MODE
If you run this program inside a shell script or similar to set
variables, you will need to specify all of the information on the
command line. This means using \-s VAR=VALUE, \-u and \-p. Otherwise it
will put up a prompt and your program will hang.
This is not necessary when displaying the list, as the username and
password are not required for read\(hyonly mode.
.SH DIAGNOSTICS
upsrw can't set variables on your UPS unless you provide a valid
username and password. If you get "access denied" errors, make sure
that your \fBupsd.users\fR(5) has an entry for you, and that the
username you are using has permissions to SET variables.
.SH HISTORY
This program used to be called upsct2, which was ambiguous and
confusing.
.SH SEE ALSO
\fBupsd\fR(8), \fBupscmd\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

105
man/upssched.8 Normal file
View file

@ -0,0 +1,105 @@
.TH UPSSCHED 8 "Wed Feb 6 2002" "" "Network UPS Tools (NUT)"
.SH NAME
upssched \- Timer helper for scheduling events from upsmon
.SH SYNOPSIS
.B upssched
.SH NOTE
\fBupssched\fR should be run from \fBupsmon\fR(8) via the NOTIFYCMD.
You should never run it directly during normal operations.
.SH DESCRIPTION
\fBupssched\fR was created to allow users to execute programs at times
relative to events being monitored by \fBupsmon\fR(8). The original
purpose was to allow for a shutdown to occur after some fixed period
on battery, but there are other uses that are possible.
.SH INTEGRATION
upssched needs to be called as the NOTIFYCMD in your \fBupsmon.conf\fR(5).
It determines what is happening based on the UPSNAME and NOTIFYTYPE
environment variables. You should never have to deal with them directly.
Set the EXEC flag on the events that you want to see in upssched.
For example, to make sure that upssched hears about ONLINE, ONBATT and
LOWBATT events, the flags would look like this:
.IP
.nf
NOTIFYFLAG ONLINE EXEC
NOTIFYFLAG ONBATT EXEC
NOTIFYFLAG LOWBATT EXEC
.fi
.LP
If you also want to continue writing to the syslog, just add it in:
.IP
.nf
NOTIFYFLAG ONLINE SYSLOG+EXEC
NOTIFYFLAG ONBATT SYSLOG+EXEC
NOTIFYFLAG LOWBATT SYSLOG+EXEC
.fi
.LP
For a full list of notify flags, see the \fBupsmon\fR(8) documentation.
.SH CONFIGURATION
See \fBupssched.conf\fR(5) for information on configuring this program.
.SH EARLY SHUTDOWNS
To shut down the system early, define a timer that starts due to an ONBATT
condition. When it triggers, make your CMDSCRIPT call your shutdown
routine. It should finish by calling "upsmon \-c fsd" so that upsmon gets
to shut down the slaves in a controlled manner.
Be sure you cancel the timer if power returns (ONLINE).
.SH DEBOUNCING EVENTS
If your UPS goes on and off battery frequently, you can use this program
to reduce the number of pager messages that are sent out. Rather than
sending pages directly from \fBupsmon\fR(8), use a short timer here.
If the timer triggers with the UPS still on battery, then send the page.
If the power returns before then, the timer can be cancelled and no page
is necessary.
.SH BACKGROUND
This program was written primarily to fulfill the requests of users for
the early shutdown scenario. The "outboard" design of the program
(relative to upsmon) was intended to reduce the load on the average
system. Most people don't have the requirement of shutting down after n
seconds on battery, since the usual OB+LB testing is sufficient.
This program was created separately so those people don't have to spend
CPU time and RAM on something that will never be used in their
environments.
The design of the timer handler is also geared towards minimizing impact.
It will come and go from the process list as necessary. When a new timer
is started, a process will be forked to actually watch the clock and
eventually start the CMDSCRIPT. When a timer triggers, it is removed from
the queue. Cancelling a timer will also remove it from the queue. When
no timers are present in the queue, the background process exits.
This means that you will only see upssched running when one of two things
is happening:
\(hy There's a timer of some sort currently running
\(hy upsmon just called it, and you managed to catch the brief instance
The final optimization handles the possibility of trying to cancel a timer
when there are none running. If the timer daemon isn't running, there
are no timers to cancel, and furthermore there is no need to start
a clock\(hywatcher. So, it skips that step and exits sooner.
.SH FILES
\fBupssched.conf\fR(5)
.SH SEE ALSO
\fBupsmon\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

127
man/upssched.conf.5 Normal file
View file

@ -0,0 +1,127 @@
.TH UPSSCHED.CONF 5 "Wed Sep 2 2009" "" "Network UPS Tools (NUT)"
.SH NAME
upssched.conf \- Configuration for upssched timer program
.SH DESCRIPTION
This file controls the operations of \fBupssched\fR(8), the timer\(hybased
helper program for \fBupsmon\fR(8).
.SH CONFIGURATION DIRECTIVES
.IP "CMDSCRIPT \fIscriptname\fR"
Required. This must be above any AT lines. This script is used to
invoke commands when your timers are triggered. It receives a single
argument which is the name of the timer that caused it to trigger.
.IP "PIPEFN \fIfilename\fR"
Required. This sets the file name of the socket which will be used for
interprocess communications. This should be in a directory where normal
users can't create the file, due to the possibility of symlinking
and other evil.
.IP
Note: if you are running Solaris or similar, the permissions that
upssched sets on this file \fBare not enough\fR to keep you safe. If
your OS ignores the permissions on a FIFO, then you MUST put this in a
protected directory!
.IP
Note 2: by default, \fBupsmon\fR(8) will run upssched as whatever user
you have defined with RUN_AS_USER in \fBupsmon.conf\fR(8). Make sure
that user can create files and write to files in the path you use for
PIPEFN and LOCKFN.
.IP
My recommendation: create a special directory for upssched, make it
owned by your upsmon user, then use it for both.
.IP
The stock version of the upssched.conf ships with PIPEFN disabled
to make you visit this portion of the documentation and think about how
your system works before potentially opening a security hole.
.IP "LOCKFN \fIfilename\fR"
Required. upssched attempts to create this file in order to avoid a
race condition when two events are dispatched from upsmon at nearly
the same time. This file will only exist briefly. It must not be
created by any other process.
.IP
You should put this in the same directory as PIPEFN.
.IP "AT \fInotifytype\fR \fIupsname\fR \fIcommand\fR"
Define a handler for a specific event \fInotifytype\fR on UPS
\fIupsname\fR. \fIupsname\fR can be the special value * to apply this
handler to every UPS.
.IP
This will perform the command \fIcommand\fR when the \fInotifytype\fR
and \fIupsname\fR match the current activity. Possible values for
\fIcommand\fR are:
.IP
START\-TIMER \fItimername\fR \fIinterval\fR
.IP
.nf
Start a timer of \fIinterval\fR seconds. When it triggers, it
will pass the argument \fItimername\fR as an argument to your
CMDSCRIPT.
.fi
.LP
.IP
Example:
.IP
.nf
Start a timer that'll execute when any UPS (*) has been
gone for 10 seconds
AT COMMBAD * START\-TIMER upsgone 10
.fi
.LP
.IP
CANCEL\-TIMER \fItimername\fR [cmd]
.IP
.nf
Cancel a running timer called <timername>, if possible.
If the timer has passed then pass the optional argument
<cmd> to CMDSCRIPT.
.fi
.LP
.IP
Example:
.IP
.nf
If a specific UPS (myups@localhost) comes back online, then
stop the timer before it triggers
AT COMMOK myups@localhost CANCEL\-TIMER upsgone
.fi
.LP
.IP
EXECUTE \fIcommand\fR
.IP
.nf
Immediately pass <command> as an argument to CMDSCRIPT.
.fi
.LP
.IP
Example:
.IP
.nf
If any UPS (*) reverts to utility power, then execute
'ups\-back\-on\-line' via CMDSCRIPT.
AT ONLINE * EXECUTE ups\-back\-on\-line
.fi
.LP
.IP
Note that any AT that matches both the \fInotifytype\fR and the
\fIupsname\fR for the current event will be used.
For a complete list of \fInotifytype\fR possible values, refer to the section
NOTIFY EVENTS in \fBupsmon\fR(8).
.SH SEE ALSO
\fBupssched\fR(8), \fBupsmon\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

78
man/upsset.cgi.8 Normal file
View file

@ -0,0 +1,78 @@
.TH upsset.cgi 8 "Sat Aug 31 2002" "" "Network UPS Tools (NUT)"
.SH NAME
upsset.cgi \- Web\(hybased UPS administration program
.SH SYNOPSIS
.B upsset.cgi
.SH NOTE
As a CGI program, this should be invoked through your web server.
If you run it from the command line, it will sit there until you
give it input resembling a POST request.
.SH DESCRIPTION
.B upsset.cgi
lets you access many administrative functions within the UPS software
from your web browser. You can change settings and invoke instant
commands where available.
.SH CHANGING SETTINGS
Some UPS hardware allows you to change certain variables to other values.
To see what's available, pick a UPS from the chooser and select "settings",
then select "View" to update the page.
You should see a list of items with the descriptions on the left side
and the possible options or input spaces on the right. After changing
something, be sure to "Save changes" to update the values in your UPS.
If your UPS doesn't support any read/write variables, there will be
nothing to do on this page.
Setting values in read/write variables can also be done from the command
line with \fBupsrw\fR(8).
.SH INSTANT COMMANDS
Some UPS hardware also has provisions for performing certain actions at the
user's command. These include battery tests, battery calibration, front
panel tests (beep!) and more. To access this section, do as above, but
pick "Commands" as the function.
If your UPS supports any instant commands, they will be listed in a
chooser widget. Pick the one you like and "Issue command" to make it
happen.
Note \(hy some dangerous commands like "Turn off load" may not happen right
away. This is a feature, not a bug. The apcsmart driver and some
others require that you send this command twice within a short window in
order to make it happen. This is to keep you from accidentally killing
your systems by picking the wrong one.
To actually turn off the load, you have to send the command once, then
send it again after 3 seconds elapse but before 15 seconds pass. If
you do it too quickly or slowly, you have to wait at least 3 seconds
but not 15 seconds again.
You can also invoke instant commands from the command line with
\fBupscmd\fR(8).
.SH ACCESS CONTROL
upsset will only talk to \fBupsd\fR(8) servers that have been defined
in your \fBhosts.conf\fR(8). If it complains about "Access to that host
is not authorized", check your hosts.conf first.
.SH SECURITY
upsset will not run until you convince it that your CGI directory has
been secured. This is due to the possibility of someone using upsset
to try password combinations against your \fBupsd\fR(8) server.
See the example upsset.conf file for more information on how you do this.
The short explanation is \(hy if you can't lock it down, don't try to run it.
.SH FILES
\fBhosts.conf\fR(5)
.SH SEE ALSO
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

58
man/upsset.conf.5 Normal file
View file

@ -0,0 +1,58 @@
.TH UPSSET.CONF 5 "Wed Nov 26 2003" "" "Network UPS Tools (NUT)"
.SH NAME
upsset.conf \- Configuration for Network UPS Tools upsset.cgi
.SH DESCRIPTION
This file only does one job \(hy it lets you convince \fBupsset.cgi\fR(8)
that your system's CGI directory is secure. The program will not run
until this file has been properly defined.
.SH SECURITY REQUIREMENTS
\fBupsset.cgi\fR(8) allows you to try login name and password combinations.
There is no rate limiting, as the program shuts down between every request.
Such is the nature of CGI programs.
Normally, attackers would not be able to access your \fBupsd\fR(8) server
directly as it would be protected by the ACL/ACCEPT/REJECT directives in
your \fBupsd.conf\fR(5) file and hopefully local firewall settings in
your OS.
upsset runs on your web server, so upsd will see it as a connection from
a host on an internal network. It doesn't know that the connection is
actually coming from someone on the outside. This is why you must
secure it.
On Apache, you can use the .htaccess file or put the directives in your
httpd.conf. It looks something like this, assuming the .htaccess
method:
.IP
.nf
<Files upsset.cgi>
deny from all
allow from your.network.addresses
</Files>
.fi
.LP
You will probably have to set "AllowOverride Limit" for this directory
in your server\(hylevel configuration file as well.
If this doesn't make sense, then stop reading and leave this program
alone. It's not something you absolutely need to have anyway.
Assuming you have all this done, and it actually works (test it!), then
you may add the following directive to this file:
I_HAVE_SECURED_MY_CGI_DIRECTORY
If you lie to the program and someone beats on your upsd through your
web server, don't blame me.
.SH SEE ALSO
\fBupsset.cgi\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

46
man/upsstats.cgi.8 Normal file
View file

@ -0,0 +1,46 @@
.TH upsstats.cgi 8 "Mon Sep 2 2002" "" "Network UPS Tools (NUT)"
.SH NAME
upsstats.cgi \- Web\(hybased UPS status viewer
.SH SYNOPSIS
.B upsstats.cgi
.SH NOTE
As a CGI program, this should be invoked through your web server.
If you run it from the command line, it will either complain about
unauthorized access or spew a bunch of HTML at you.
.SH DESCRIPTION
.B upsstats.cgi
uses template files to build web pages containing status information
from UPS hardware. It can repeat sections of those template files to
monitor several UPSes simultaneously, or focus on a single UPS.
These templates can also include references to \fBupsimage.cgi\fR(8)
for graphical displays of battery charge levels, voltage readings, and
the UPS load.
.SH ACCESS CONTROL
upsstats will only talk to \fBupsd\fR(8) servers that have been defined
in your \fBhosts.conf\fR(5). If it complains that "Access to that host
is not authorized", check that file first.
.SH TEMPLATES
The web page that is displayed is actually a template containing
commands to upsstats which are replaced by status information. The
default file used for the overview is upsstats.html.
When monitoring a single UPS, the file displayed is
upsstats\-single.html.
The format of these files, including the possible commands, is
documented in \fBupsstats.html\fR(5).
.SH FILES
\fBhosts.conf\fR(5) \fBupsstats.html\fR(5)
.SH SEE ALSO
\fBupsimage.cgi\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

234
man/upsstats.html.5 Normal file
View file

@ -0,0 +1,234 @@
.TH upsstats.html 5 "Thu Feb 9 2006" "" "Network UPS Tools (NUT)"
.SH NAME
upsstats.html \- HTML template for Network UPS Tools upsstats
.SH DESCRIPTION
This file is used by \fBupsstats.cgi\fR(8) to generate status pages.
Certain commands are recognized, and will be replaced with various
status elements on the fly.
.SH FORMATTING
Commands can be placed anywhere on a line, but must start and end with @.
Any extra characters before or after the commands will be passed through
unchanged. It is allowed to use more than one command on a single line,
as long as each command has its own start and end character. If you need
to use the @ sign, use &#64; to prevent it from being treated as a start
character.
.SH BLOCK CONTROL
Some commands begin blocks - sections of the template that will be
included, excluded, or repeated depending on certain parameters.
.SH BLOCK CONTROL - ITERATION
.IP @FOREACHUPS@
Starts a block that will be repeated for each MONITOR directive in the
\fBhosts.conf\fR(5). This is how you can generate pages that monitor
all of your systems simultaneously.
.IP @ENDFOR@
Ends a FOREACHUPS block.
.SH BLOCK CONTROL - MATCHING SPECIFIC CASES
.IP "@IFSUPP var@"
Starts a block that will only be printed if the variable var is
supported by the current UPS. This is generally used to suppress "not
supported" messages by avoiding the label and variable call entirely.
.IP "@IFEQ var value@"
Starts a block if the value returned from the variable var matches
value.
.IP "@IFBETWEEN varlow varhigh varvalue@"
Starts a block if the value returned by the variable varvalue is between
the values returned by the variables varlow and varhigh.
.IP @ELSE@
If the previous IF-command did not match, perform this instead.
.IP @ENDIF@
Ends an IF/ELSE-block.
.SH BLOCK CONTROL - ADVANCED EXPRESSIONS
Even though the parser is pretty limited, it's still possible to create
rather advanced expressions. The key to this is the fact that
multiple block control commands are AND:ed. This is illustrated with an
example (more examples are available in upsstats.html).
@IFSUPP ambient.humidity@
@IFSUPP ambient.temperature@
This UPS knows both ambient temperature and humidity.
@ELSE@
@IFSUPP ambient.humidity@
This UPS only knows ambient humidity.
@ELSE@
@IFSUPP ambient.temperature@
This UPS only knows ambient temperature.
@ELSE
This UPS knows nothing, how annoying.
@ENDIF@
.P
.SH OTHER COMMANDS
.IP @AMBTEMP@
Insert the ambient temperature in the current temperature scale.
.IP "@DATE format@"
Insert the current date and time. The format string is passed to strftime,
so almost anything is possible. See \fBstrftime\fR(3) for possible values.
.IP @DEGREES@
Insert the entity for degrees (&deg;) and either C or F depending on
the current temperature scale.
.IP @HOST@
Insert the designation of the host being monitored, like myups@localhost.
.IP @HOSTDESC@
Insert the host's description from \fBhosts.conf\fR(5).
.IP @HOSTLINK@
Insert a link to upsstats.cgi with the "host" variable set to the
current UPS. This is only useful within a FOREACHUPS block.
.IP "@IMG varname [\fIextra\fR]@"
Insert an IMG SRC to \fBupsimage.cgi\fR(8) for one of these
status variables:
battery.charge - Battery charge - a percentage
battery.voltage - The charge on the battery in volts
input.frequency - Incoming utility frequency (Hz)
input.voltage - Incoming utility voltage
input.L1-L2.voltage - Incoming voltage, L1-L2 (3phase)
input.L2-L3.voltage - Incoming voltage, L2-L3 (3phase)
input.L3-L1.voltage - Incoming voltage, L3-L1 (3phase)
output.frequency - Outgoing utility frequency (Hz)
output.voltage - Outgoing voltage (from the UPS)
output.L1-L2.voltage - Outgoing voltage, L1-L2 (3phase)
output.L2-L3.voltage - Outgoing voltage, L2-L3 (3phase)
output.L3-L1.voltage - Outgoing voltage, L3-L1 (3phase)
output.L1.power.percent - UPS load, L1 (3phase)
output.L2.power.percent - UPS load, L2 (3phase)
output.L3.power.percent - UPS load, L3 (3phase)
ups.load - UPS load - percentage
ups.temperature - UPS temperature
\fIextra\fR is where you can put additional definitions. Right now
the valid definitions are colors for various parts of the bars drawn
by upsimage.cgi. Possible color names are:
back_col - background color
scale_num_col - scale number color
summary_col - summary color (number at the bottom)
ok_zone_maj_col - major scale color for the normal ("ok") zone
ok_zone_min_col - minor scale color for the normal ("ok") zone
neutral_zone_maj_col - major scale color for the neutral zone
neutral_zone_min_col - minor scale color for the neutral zone
warn_zone_maj_col - major scale color for the warning zone
warn_zone_min_col - minor scale color for the warning zone
bar_col - the color of the bar in the middle
All colors are hex triplets - 0xff0000 is red, 0x00ff00 is green, and
0x0000ff is blue.
Examples:
@IMG battery.charge@
@IMG battery.charge back_col=0xff00ff bar_col=0xaabbcc@
@IMG input.voltage ok_zone_maj_col=0x123456@
.IP @REFRESH@
Insert the META header magic for refreshing the page if that variable
has been set by the browser. This needs to be in the HEAD section of
the page.
.IP @STATUS@
Expand the abbreviations in the ups.status variable - OL becomes
"On line", OB becomes "On battery", and so on.
.IP @STATUSCOLOR@
Insert red, green, or yellow color triplets depending on the severity of
the current UPS status. Normal operations are green, warnings like
voltage trim/boost or "off" are yellow, and other events like being on
battery or having a low battery are red.
.IP "@VAR varname@"
Insert the current value of the status variable varname on the host being
monitored, or "Not supported".
.IP @RUNTIME@
Inserts the current runtime, in hh:mm:ss format.
.IP @TEMPC@
Use the Celsius scale for temperature data (default).
.IP @TEMPF@
Use the Fahrenheit scale for temperature data.
.IP @UPSTEMP@
Insert the UPS temperature in the current scale.
.IP @BATTTEMP@
Insert the battery temperature in the current scale.
.IP @UTILITYCOLOR@
Obsoleted. Use IFBETWEEN instead (see example in upsstats.html).
.IP @VERSION@
Insert the version number of the software.
.SH OTHER TEMPLATES
\fBupsstats.cgi\fR(8) will also open a file called upsstats-single.html
if you call it with "host=" set in the URL. That file uses the same
rules and techniques documented here.
.SH SEE ALSO
\fBupsstats.cgi\fR(8), \fBupsimage.cgi\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

189
man/usbhid-ups.8 Normal file
View file

@ -0,0 +1,189 @@
.TH USBHID-UPS 8 "Tue Nov 10 2009" "" "Network UPS Tools (NUT)"
.SH NAME
usbhid-ups \- Driver for USB/HID UPS equipment
.SH NOTE
This man page only documents the hardware\(hyspecific features of the
usbhid-ups driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
This driver replaces the legacy hidups driver, which only supported
Linux systems, and was formerly called newhidups.
.SH SUPPORTED HARDWARE
.B usbhid-ups
brings USB/HID UPS monitoring to NUT on all platform supporting USB
through libusb.It should detect any UPS that uses the HID power device
class, but the amount of data will vary depending on the manufacturer
and model.
At the present time, usbhid-ups supports:
the newer Eaton USB models,
all MGE USB models,
all the Dell USB models,
some APC models,
some Belkin models,
some Cyber Power Systems models.
some TrippLite models
For a more complete list, refer to the NUT hardware compatibility list,
available in the source distribution as data/drivers.list, or on the
NUT website. You may use the "explore" driver option to gather
information from HID UPSes which are not yet supported; see below for
details.
This driver is known to work on:
most Linux systems,
FreeBSD (beta stage) and maybe other *BSD,
Darwin / Mac OS X,
Solaris 10.
.SH EXTRA ARGUMENTS
This driver also supports the following optional settings:
.IP "offdelay=\fInum\fR"
Set the timer before the UPS is turned off after the kill power command is
sent (via the \fB\-k\fR switch).
The default value is 20 (in seconds). Usually this \fBmust be lower\fR than
ondelay, but the driver will \fBnot\fR warn you upon startup if it isn't.
.IP "ondelay=\fInum\fR"
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 \fBmust be greater\fR
than offdelay, but the driver will \fBnot\fR 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 \fBups.conf\fR helps.
.IP "pollfreq=\fInum\fR"
Set polling frequency, in seconds, to reduce the USB data flow.
Between two polling requests, the driver will wait for interrupts (aka UPS
notifications), which are data changes returned by the UPS by itself.
This mechanism allow to avoid or reduce staleness message, due to the UPS
being temporarily overloaded with too much polling requests.
The default value is 30 (in seconds).
.IP "pollonly"
If this flag is set, the driver will ignore interrupts it receives from the
UPS (not recommended, but needed if these reports are broken on your UPS).
.IP "vendor=\fIregex\fR"
.IP "product=\fIregex\fR"
.IP "serial=\fIregex\fR"
.IP "vendorid=\fIregex\fR"
.IP "productid=\fIregex\fR"
Select a specific UPS, in case there is more than one connected via
USB. Each option specifies an extended regular expression (see
\fBregex(7)\fR) 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 \fB-DD\fR for
finding out the strings to match.
Examples:
\fB-x vendor="Foo.Corporation.*"\fR
\fB-x vendorid=051d\fR (APC)
\fB-x product=".*(Smart|Back)-?UPS.*"\fR
.IP "bus=\fIregex\fR"
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]").
.IP "explore"
With this option, the driver will connect to any device, including
ones that are not yet supported. This must always be combined with the
"vendorid" option. In this mode, the driver will not do anything
useful except for printing debugging information (typically used with
\fB-DD\fR).
.SH 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 legacy hotplug files (libhidups
and libhid.usermap, generally in /etc/hotplug/usb/), or the udev file
(nut-usbups.rules, generally in /etc/udev/rules.d/)to address the
permission settings problem. For more information, refer to the README
file in nut/scripts/hotplug or nut/scripts/udev.
On Linux with MGE equipment, you will need at least a 2.4.25 or 2.6.2 kernel as
well as libusb-0.1.8 or later to disable hiddev support and avoid conflict.
.SH IMPLEMENTATION
The driver ignores the "port" value in \fBups.conf\fR. Unlike previous
versions of this driver, it is now possible to control multiple UPS
units simultaneously with this driver, provided they can be distinguished
by setting some combination of the "vendor", "product", "serial",
"vendorid", and "productid" options. For instance:
.nf
[mge]
driver = usbhid-ups
port = auto
vendorid = 0463
[tripplite]
driver = usbhid-ups
port = auto
vendorid = 09ae
.fi
.SH KNOWN ISSUES AND BUGS
.SS "Repetitive timeout and staleness"
Some models tends to be unresponsive with the default polling frequency.
The result is that your system log will have lots of messages like:
.nf
usb 2-1: control timeout on ep0in
usb 2-1: usbfs: USBDEVFS_CONTROL failed cmd usbhid-ups rqt 128 rq 6 len 256
ret -110
.fi
In this case, simply modify the general parameter "pollinterval" to a higher
value (like 10 for 10 seconds). This should solve the issue.
.SS "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.
.SS "Unattended shutdowns"
The hardware which was used for development of this driver is almost
certainly different from what you have and not all manufacturers follow
the USB HID Power Device Class specifications to the letter. You don't
want to find out that yours has issues here when a power failure hits
your server room and you're not around to manually restart your servers.
If you rely on the UPS to shutdown your systems in case of mains failure
and to restart them when the power returns, you \fBmust\fR test this. You
can do so by running 'upsmon -c fsd'. With the mains present, this should
bring your systems down and then cycle the power to restart them again.
If you do the same without mains present, it should do the same, but in
this case, the outputs shall remain off until mains power is applied
again.
.SH AUTHORS
.SS Sponsored by MGE UPS SYSTEMS <http://opensource.mgeups.com/>
Arnaud Quette, Peter Selinger, Arjen de Korte
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/

47
man/victronups.8 Normal file
View file

@ -0,0 +1,47 @@
.TH VICTRONUPS 8 "Wed Oct 16 2002" "" "Network UPS Tools (NUT)"
.SH NAME
victronups \- Driver for IMV/Victron UPS unit Match, Match Lite, NetUps
.SH NOTE
This man page only documents the hardware\(hyspecific features of the the
victronups driver. For information about the core driver, see
\fBnutupsdrv\fR(8).
.SH SUPPORTED HARDWARE
victronups should recognize all Victron models that use a serial protocol at
1200 bps. These include Match Lite, Match and the NetUps line.
The Match Lite line may only report a handful of variables. This is
usually not a bug \(hy they just don't support anything else.
.SH CABLING
If your Victron cable is broken or missing, use this diagram to build
a clone:
docs/cables/victron.txt
.SH EXTRA ARGUMENTS
This driver supports the following optional setting in the
\fBups.conf\fR(5):
.IP "modelname=<name>"
Set model name
.IP "usd=\fIdelay\fR"
Set delay before shutdown on UPS
.SH BUGS
The protocol for this UPS is not officially documented.
.SH AUTHOR
Radek Benedikt <benedikt@lphard.cz>,
Daniel Prynych <Daniel.Prynych@hornet.cz
.SH SEE ALSO
.SS The core driver:
\fBnutupsdrv\fR(8)
.SS Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/