Skip to content

Commit

Permalink
Merge branch 'master' into issue-415
Browse files Browse the repository at this point in the history
  • Loading branch information
jimklimov authored Dec 4, 2024
2 parents 1ac8b9a + 8514451 commit d6f2e81
Show file tree
Hide file tree
Showing 10 changed files with 2,579 additions and 11 deletions.
4 changes: 4 additions & 0 deletions NEWS.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,10 @@ https://github.com/networkupstools/nut/milestone/11
- liebert-gxe: added new driver with support for Liebert GXE Series UPS
(serial or USB posing as a serial port). [#2629]
- nhs_ser: added new driver for numerous NHS Nobreaks, senoidal line -- UPS
models with serial port, made by NHS Sistemas Eletronicos LTDA and popular
in Brazil. Currently this driver only builds on Linux. [#2692]
- `usbhid-ups` and `netxml-ups` updated to handle "No battery installed!"
alarm also to set the `RB` (Replace Battery) value in `ups.status`.
This may cause dual triggering of notifications (as an `ALARM` generally
Expand Down
4 changes: 4 additions & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -795,6 +795,10 @@ CODE_TIMEINCL="
#endif
"

dnl TEMPORARY to allow certain linux-only buildable drivers
AC_CHECK_HEADERS_ONCE([linux/serial.h])
AM_CONDITIONAL(HAVE_LINUX_SERIAL_H, test x"${ac_cv_header_linux_serial_h}" = xyes)

AC_CHECK_HEADERS_ONCE([fcntl.h sys/stat.h sys/socket.h netdb.h])
AC_CHECK_FUNCS(flock lockf fcvt fcvtl dup dup2 abs_val abs)

Expand Down
111 changes: 111 additions & 0 deletions data/driver.list.in
Original file line number Diff line number Diff line change
Expand Up @@ -922,6 +922,117 @@
"NHS Sistemas de Energia" "ups" "5" "Expert S Online 10000" "" "gamatronic"
"NHS Sistemas de Energia" "ups" "5" "Laser Senoidal 5000VA" "USB" "gamatronic" # http://www.nhs.com.br/produtos_interna/id/T0RrPQ==

# Large block coming from https://github.com/networkupstools/nut/pulls/2692 :
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS COMPACT PLUS" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS COMPACT PLUS SENOIDAL" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS COMPACT PLUS RACK" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS PREMIUM PDV" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS PREMIUM PDV SENOIDAL" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS PREMIUM 1500VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS PREMIUM 2200VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS PREMIUM SENOIDAL" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS LASER 2600VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS LASER 3300VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS LASER 2600VA ISOLADOR" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS LASER SENOIDAL" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS LASER ON-LINE" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS COMPACT PLUS 2003" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "COMPACT PLUS SENOIDAL 2003" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "COMPACT PLUS RACK 2003" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM PDV 2003" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM PDV SENOIDAL 2003" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM 1500VA 2003" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM 2200VA 2003" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM SENOIDAL 2003" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER 2600VA 2003" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER 3300VA 2003" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER 2600VA ISOLADOR 2003" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER SENOIDAL 2003" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PDV ONLINE 2003" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER ONLINE 2003" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "EXPERT ONLINE 2003" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "MINI 2" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "COMPACT PLUS 2" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER ON-LINE" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PDV SENOIDAL 1500VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PDV SENOIDAL 1000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER ONLINE 3750VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER ONLINE 5000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM SENOIDAL 2000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER SENOIDAL 3500VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM PDV 1200VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM 1500VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM 2200VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER 2600VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER 3300VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "COMPACT PLUS SENOIDAL 700VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM ONLINE 2000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "EXPERT ONLINE 10000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER SENOIDAL 4200VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS COMPACT PLUS EXTENDIDO 1500VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER ONLINE 6000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER EXT 3300VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS COMPACT PLUS 1200VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER SENOIDAL 3000VA GII" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER SENOIDAL 3500VA GII" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER SENOIDAL 4200VA GII" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER ONLINE 3000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER ONLINE 3750VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER ONLINE 5000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER ONLINE 6000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM ONLINE 2000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM ONLINE 1500VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM ONLINE 1200VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "COMPACT PLUS II MAX 1400VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM PDV MAX 2200VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM PDV 3000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM SENOIDAL 2200VA GII" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER PRIME SENOIDAL 3200VA GII" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM RACK ONLINE 3000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM ONLINE 3000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER ONLINE 4000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER ONLINE 7500VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER ONLINE BIFASICO 5000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER ONLINE BIFASICO 6000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER ONLINE BIFASICO 7500VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS MINI ST" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS MINI 120" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS MINI BIVOLT" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PDV 600" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS MINI MAX" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS MINI EXT" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS AUTONOMY PDV 4T" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS AUTONOMY PDV 8T" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS COMPACT PLUS RACK 1200VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PDV SENOIDAL ISOLADOR 1500VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS PDV RACK 1500VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS PDV 1400VA S GII" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PDV SENOIDAL ISOLADOR 1500VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER PRIME SENOIDAL ISOLADOR 2000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM SENOIDAL 2400VA GII" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS PDV 1400VA S 8T GII" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM ONLINE 2000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER PRIME ONLINE 2200VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM RACK ONLINE 2200VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM SENOIDAL 2400VA GII" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER ONLINE 10000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER ONLINE BIFASICO 10000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER SENOIDAL 3300VA GII" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER SENOIDAL 2600VA GII" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM SENOIDAL 3000VA GII" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PREMIUM SENOIDAL 2200VA GII" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER ONLINE BIFASICO 4000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER ONLINE 12000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER ONLINE 8000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PDV SENOIDAL ISOLADOR 1000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "MINI SENOIDAL 500VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER SENOIDAL 5000VA GII" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "COMPACT PLUS SENOIDAL 1000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "QUAD_COM 80A" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "LASER ONLINE 5000VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "PDV SENOIDAL ISOLADOR 700VA" "Serial port" "nhs_ser"
"NHS Sistemas Eletronicos LTDA" "ups" "2" "NHS UNKNOWN" "Serial port" "nhs_ser"

"Nitram" "ups" "1" "Elite 500" "" "genericups upstype=8"
"Nitram" "ups" "1" "Elite 2002" "" "genericups upstype=16"
"Nitram" "ups" "1" "Elite 2005" "" "powerpanel"
Expand Down
21 changes: 21 additions & 0 deletions docs/man/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -521,6 +521,12 @@ SRC_SERIAL_PAGES = \
victronups.txt \
apcupsd-ups.txt

if HAVE_LINUX_SERIAL_H
# Temporary, until ported to more OSes
SRC_SERIAL_PAGES += \
nhs_ser.txt
endif HAVE_LINUX_SERIAL_H

if ! SOME_DRIVERS
if WITH_MANS
MAN_SERIAL_PAGES = \
Expand Down Expand Up @@ -569,8 +575,16 @@ MAN_SERIAL_PAGES = \
upscode2.8 \
victronups.8 \
apcupsd-ups.8

if HAVE_LINUX_SERIAL_H
# Temporary, until ported to more OSes
MAN_SERIAL_PAGES += \
nhs_ser.8
endif HAVE_LINUX_SERIAL_H

endif WITH_MANS


if WITH_SERIAL
man8_MANS += $(MAN_SERIAL_PAGES)
endif WITH_SERIAL
Expand Down Expand Up @@ -621,6 +635,13 @@ HTML_SERIAL_MANS = \
upscode2.html \
victronups.html \
apcupsd-ups.html

if HAVE_LINUX_SERIAL_H
# Temporary, until ported to more OSes
HTML_SERIAL_MANS += \
nhs_ser.html
endif HAVE_LINUX_SERIAL_H

endif ! SOME_DRIVERS

# (--with-snmp)
Expand Down
89 changes: 89 additions & 0 deletions docs/man/nhs_ser.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
NHS_SER(8)
==========

NAME
----

nhs_ser - driver for NHS Nobreaks, senoidal line, with serial port

SYNOPSIS
--------

*nhs_ser* -h

*nhs_ser* -a 'UPS_NAME' ['OPTIONS']

NOTE: This man page only documents the hardware-specific features of the
*nhs_ser* driver. For information about the core driver, see
linkman:nutupsdrv[8].

SUPPORTED HARDWARE
------------------

*nhs_ser* supports numerous UPS models made by NHS Sistemas Eletronicos LTDA
and marketed in Brazil. They feature a serial port and a binary wire protocol.

NOTE: Currently this driver only builds on Linux. This is expected to change
in future revisions of the code.

EXTRA ARGUMENTS
---------------

This driver also supports the following optional settings:

*baud*='num'::
Set the value of serial port baud rate (default: 2400)

*ah*='num'::
Battery discharge capacity in Ampere/hour.

*va*='num'::
Nobreak NOMINAL POWER in VA.

*pf*='num'::
Power Factor to use in calculations of battery time (default: 0.90).

*vin_low_warn_perc*='num'::
Voltage In Percentage to calculate warning low level (default: 2.00).

*vin_low_crit_perc*='num'::
Voltage In Percentage to calculate critical low level (default: 2.00).

*vin_high_warn_perc*='num'::
Voltage In Percentage to calculate warning high level (default: 2.00).

*vin_high_crit_perc*='num'::
Voltage In Percentage to calculate critical high level (default: 2.00).

*numbatteries*='num'::
Num Batteries (override value from nobreak).

*vbat*='num'::
Battery Voltage (default: 12.00).

*debug_pkt_raw*::
Optional flag to enable debug logging of packet bytes.

*debug_pkt_data*::
Optional flag to enable debug logging of data packet decoding.

*debug_pkt_hwinfo*::
Optional flag to enable debug logging of hwinfo packet decoding.

AUTHORS
-------

Lucas Willian Bocchi <[email protected]>

SEE ALSO
--------

The core driver:
~~~~~~~~~~~~~~~~

linkman:nutupsdrv[8]

Internet resources:
~~~~~~~~~~~~~~~~~~~

The NUT (Network UPS Tools) home page: https://www.networkupstools.org/
15 changes: 14 additions & 1 deletion docs/nut.dict
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
personal_ws-1.1 en 3247 utf-8
personal_ws-1.1 en 3260 utf-8
AAC
AAS
ABI
Expand Down Expand Up @@ -129,6 +129,7 @@ BlackOut
BladeUPS
BlueOcean
Bo
Bocchi
Bohe
Borns
Borri
Expand Down Expand Up @@ -338,6 +339,7 @@ Effekta
Egys
Ekkehard
Electrys
Eletronicos
Elio
Elizarov
Eltek
Expand Down Expand Up @@ -605,6 +607,7 @@ LOADPCT
LOCKFN
LOCKNAME
LOTRANS
LTDA
LTS
LUA
LVM
Expand Down Expand Up @@ -778,6 +781,7 @@ Neus
Niels
Niklas
Niro
Nobreak
Nobreaks
Nom
NotePad
Expand Down Expand Up @@ -1378,6 +1382,7 @@ Wextra
WhizBang
WiX
Wikipedia
Willian
WinMerge
WinNUT
WinPower
Expand Down Expand Up @@ -1714,6 +1719,7 @@ cpqpower
cpsups
cr
crestfactor
crit
criticality
crlf
cron
Expand Down Expand Up @@ -2048,6 +2054,7 @@ huawei
hudson
hunnox
hwdb
hwinfo
hwmon
hwmonX
hypervisor
Expand Down Expand Up @@ -2437,6 +2444,7 @@ newvictronups
nf
ng
nhnl
nhs
nielchiano
nitram
nl
Expand All @@ -2448,6 +2456,7 @@ nn
nnn
noAuthNoPriv
nobody's
nobreak
nobt
nodev
nodownload
Expand Down Expand Up @@ -2481,6 +2490,7 @@ nuget
num
numOfBytesFromUPS
numa
numbatteries
numlogins
numq
nutclient
Expand Down Expand Up @@ -2561,6 +2571,7 @@ pe
peasy
peername
pem
perc
perl
pfSense
pfexec
Expand Down Expand Up @@ -2776,6 +2787,7 @@ sendmail
sendsignal
sendsignalfn
sendsignalpid
senoidal
sequentialized
ser
seria
Expand Down Expand Up @@ -3146,6 +3158,7 @@ variadic
varlow
varname
varvalue
vbat
vbatt
vc
vendorid
Expand Down
Loading

0 comments on commit d6f2e81

Please sign in to comment.