GENERIC_MODBUS(8) NUT Manual GENERIC_MODBUS(8) (NAME) generic_modbus - () / (RIO) (SYNOPSIS) generic_modbus -h generic_modbus -a DEVICE_NAME [OPTIONS] (Note) generic_modbus . nutupsdrv(8) . (SUPPORTED HARDWARE) (modbus) (UPS) () RIO (/ ) TCP/IP . PULS ( UB40.241) MOXA ioLogikR1212 ( RS485) ioLogikE1212 ( TCP/IP) . : https://products.pulspower.com/ca/ubc10-241-n1.html Moxa ioLogik R1212 E1212 : https://www.moxa.com/en/products/industrial-edge-connectivity/controllers-and-ios PULS UPS UB40.241 : Ready contact (DO) <--> HB Buffering contact (DO) <--> OL | OB Battery-low (DO) <--> LB Replace Battery (DO) <--> RB Inhibit (DI) <--> FSD (DI/DO) . ( NUT ) . ups.conf . (HARDWARE INTERCONNECTION) / . : +------+ +----------------+ +------------+ +------------+ | UPSD | <---> | GENERIC_MODBUS | <---> | MODBUS RIO | <---> | UPS DEVICE | +------+ (1) +----------------+ (2) +------------+ (3) +------------+ | | +------------------+ HOST CONTROLLER (1) Unix IPC (2) RS232 | TCP/IP (3) contacts (EXTRA ARGUMENTS) ups.conf(5) : (Generic): device_mfr=value ( UNKNOWN). device_model=value ( UNKNOWN). (Serial): ser_baud_rate=value ( 9600). ser_data_bit=value ( 8). ser_parity=value ( N). ser_stop_bit=value ( 1). (Modbus): rio_slave_id=value RIO ( 1). (States) (X = OL, OB, LB, HB, RB, CHRG, DISCHRG, FSD) _addr=value X . _regtype=value X . : 1 for X = OL, OB, LB ,HB, RB, CHRG, DISCHRG 0 for X = FSD : 0:COIL, 1:INPUT_B, 2:INPUT_R, 3:HOLDING _noro=value X ( 1). : 0:NC, 1:NO (Note) NO (normally open) NC (normally closed) . (Shutdown) FSD_pulse_duration=value . FSD_noro . FSD: FSD_noro = 1 FSD_pulse_duration = 150 +-----+ | | inhibit pulse >-----+ +------------------> <---> 150ms FSD_noro = 0 inhibit pulse >-----+ | +------------------------> (CONFIGURATION) generic_modbus ups.conf : [generic_modbus] driver = generic_modbus port = /dev/ttyUSB0 desc = "generic ups driver" # device info device_mfr = "PULS" device_model = "UB40.241" # serial settings ser_baud_rate = 9600 ser_parity = N ser_data_bit = 8 ser_stop_bit = 1 # modbus slave id rio_slave_id = 5 # UPS signal state attributes OB_addr = 0x0 OB_regtype = 1 OB_noro = 0 LB_addr = 0x1 LB_regtype = 1 HB_addr = 0x2 HB_regtype = 1 RB_addr = 0x3 RB_regtype = 1 FSD_addr = 0x0 FSD_regtype = 0 FSD_pulse_duration = 150 (INSTANT COMMANDS) : load.off << >> (instant poweroff) . (INSTALLATION) . libmodbus configure --with-modbus=yes . ( /dev/ttyUSB0) NUT . (OTHER NOTES) generic_modbus TCP/RTU ( RIO -- / ) . : [UPSD] <--- IPC ---> [GENERIC_UPS] <--- modbus TCP/RTU ---> MODBUS-RIO <--- contacts ---> [UPS DEVICE] generic_modbus . NUT ( OL OB HB ) . (KNOWN ISSUES) NMC (Using host names for UPS NMC) (NMC) IP ( DHCP) . . DHCP/DNS ( / ). IP ( /etc/hosts ). (AUTHOR) Dimitris Economou (SEE ALSO) (The core driver): nutupsdrv(8), ups.conf(5) (Internet resources): o NUT ( ): https://www.networkupstools.org/historic/v2.8.5 o libmodbus: http://libmodbus.org Network UPS Tools 2.8.5 06/21/2026 GENERIC_MODBUS(8)