Great! Thanks for the info, and hope the driver author can address the nits (forwarding now...)
Jim On Wed, Nov 22, 2023, 15:05 d tbsky <tbs...@gmail.com> wrote: > Jim Klimov via Nut-upsuser <nut-upsuser@alioth-lists.debian.net> > > > > Got an update for APC Modbus users: a new PR is waiting for real-life > testing for settable variables and instant commands support. > > > > https://github.com/networkupstools/nut/pull/2184 > > > > As before, a custom build of libmodbus may be needed for USB support > (detailed in the earlier PR), but Serial and TCP may already be well served > by a distro near you! > > Hi: > I got a new APC SRT3000XL and tested the new driver "apc_modbus". > the ups works fine with nut+apcupsd. the new driver "apc_modbus" has > result below: > > 1. upsrw can write the variable "battery.date". but the new value > will only show after restarting apc_modbus. and in my case the written > data will shift one day. eg the command "upsrw -s > battery.date=2023-09-13" will return "2023-09-12" later. > 2. the upscmd power-off related commands (like load.*, outlet.*, > shutdown.*) can not work. so it can not shutdown the ups. (I think > this is the most important feature which needs to be fixed) > 3. upscmd command works: beeper.mute, bypass.start, bypass.stop, > test.battery.start, test.battery.stop, test.panel.start > 4. I can't attach any load so I can not test calibrate.start. but I > found the new driver seems missing an import item which apcupsd have: > "ups.test.result" > > below are some raw data: > > data read from nut+apcupsd (for reference): > battery.charge: 99.0 > battery.charge.low: 5 > battery.date: 2023-11-21 > battery.runtime: 57000.0 > battery.runtime.low: 180 > battery.voltage: 109.0 > device.mfr: APC > device.model: Smart-UPS SRT 3000 > device.serial: AS2032296523 > device.type: ups > driver.debug: 0 > driver.flag.allow_killpower: 0 > driver.name: apcupsd-ups > driver.parameter.pollinterval: 10 > driver.parameter.port: localhost > driver.parameter.synchronous: auto > driver.state: quiet > driver.version: 2.8.1 > driver.version.internal: 0.71 > input.frequency: 60.0 > input.voltage: 224.7 > output.current: 0.00 > output.frequency: 60.0 > output.voltage: 207.6 > output.voltage.nominal: 208 > power.percent: 0.0 > ups.date: 2023-11-22 > ups.delay.shutdown: 0 > ups.delay.start: 0 > ups.firmware: UPS 15.5 > ups.firmware.aux: 00.5 > ups.id: APC UPS > ups.load: 0.0 > ups.mfr: APC > ups.mfr.date: 2020-08-10 > ups.model: Smart-UPS SRT 3000 > ups.power.nominal: 3000 > ups.realpower.nominal: 2700.0 > ups.serial: AS2032296523 > ups.status: OL > ups.temperature: 27.0 > ups.test.result: OK > ups.time: 17:24:25 > > > data read from new driver "apc_modbus" > battery.charge: 99.00 > battery.date: 2023-11-21 > battery.date.maintenance: 2028-05-21 > battery.runtime: 57425 > battery.temperature: 29.00 > battery.voltage: 108.69 > device.mfr: American Power Conversion > device.model: Smart-UPS SRT 3000 > device.serial: AS2032296523 > device.type: ups > driver.debug: 0 > driver.flag.allow_killpower: 0 > driver.name: apc_modbus > driver.parameter.pollinterval: 10 > driver.parameter.port: /dev/ttyS0 > driver.parameter.synchronous: yes > driver.state: quiet > driver.version: 2.8.1 > driver.version.internal: 0.10 > experimental.output.energy: 7 > input.transfer.high: 220 > input.transfer.low: 184 > input.transfer.reason: TestEnded > input.voltage: 224.77 > outlet.group.0.delay.reboot: 8 > outlet.group.0.delay.shutdown: 0 > outlet.group.0.delay.start: 0 > outlet.group.0.name: Unswitched Group > outlet.group.1.delay.reboot: 8 > outlet.group.1.delay.shutdown: 90 > outlet.group.1.delay.start: 0 > outlet.group.1.name: Outlet Group 1 > outlet.group.2.delay.reboot: 8 > outlet.group.2.delay.shutdown: 90 > outlet.group.2.delay.start: 0 > outlet.group.2.name: Outlet Group 2 > outlet.group.3.delay.reboot: 8 > outlet.group.3.delay.shutdown: 90 > outlet.group.3.delay.start: 0 > outlet.group.3.name: Outlet Group 3 > outlet.group.count: 2 > output.current: 0.00 > output.frequency: 60.00 > output.voltage: 207.62 > ups.delay.reboot: 8 > ups.delay.shutdown: 0 > ups.delay.start: 0 > ups.efficiency: LoadTooLow > ups.firmware: UPS 15.5 > ups.id: APC UPS > ups.load: 0.00 > ups.mfr: American Power Conversion > ups.mfr.date: 2020-08-10 > ups.model: Smart-UPS SRT 3000 > ups.power: 0.00 > ups.power.nominal: 3000 > ups.realpower: 0.00 > ups.realpower.nominal: 2700 > ups.serial: AS2032296523 > ups.status: OL > ups.timer.reboot: -1 > ups.timer.shutdown: -1 > ups.timer.start: -1 > > >upsrw -l myups > [battery.date] > Battery change date > Type: NUMBER > Value: 2023-11-21 > > [driver.debug] > Current debug verbosity level of the driver program > Type: NUMBER > Value: 0 > > [driver.flag.allow_killpower] > Safety flip-switch to allow the driver daemon to send UPS shutdown > command (accessible via driver.killpower) > Type: NUMBER > Value: 0 > > [input.transfer.high] > High voltage transfer point (V) > Type: NUMBER > Value: 220 > > [input.transfer.low] > Low voltage transfer point (V) > Type: NUMBER > Value: 184 > > [outlet.group.0.delay.reboot] > Description unavailable > Type: NUMBER > Value: 8 > > [outlet.group.0.delay.shutdown] > Description unavailable > Type: NUMBER > Value: 0 > > [outlet.group.0.delay.start] > Description unavailable > Type: NUMBER > Value: 0 > > [outlet.group.0.name] > Description unavailable > Type: STRING > Maximum length: 16 > Value: Unswitched Group > > [outlet.group.1.delay.reboot] > Description unavailable > Type: NUMBER > Value: 8 > > [outlet.group.1.delay.shutdown] > Description unavailable > Type: NUMBER > Value: 90 > > [outlet.group.1.delay.start] > Description unavailable > Type: NUMBER > Value: 0 > > [outlet.group.1.name] > Description unavailable > Type: STRING > Maximum length: 16 > Value: Outlet Group 1 > > [outlet.group.2.delay.reboot] > Description unavailable > Type: NUMBER > Value: 8 > > [outlet.group.2.delay.shutdown] > Description unavailable > Type: NUMBER > Value: 90 > > [outlet.group.2.delay.start] > Description unavailable > Type: NUMBER > Value: 0 > > [outlet.group.2.name] > Description unavailable > Type: STRING > Maximum length: 16 > Value: Outlet Group 2 > > [outlet.group.3.delay.reboot] > Description unavailable > Type: NUMBER > Value: 8 > > [outlet.group.3.delay.shutdown] > Description unavailable > Type: NUMBER > Value: 90 > > [outlet.group.3.delay.start] > Description unavailable > Type: NUMBER > Value: 0 > > [outlet.group.3.name] > Description unavailable > Type: STRING > Maximum length: 16 > Value: Outlet Group 3 > > [ups.delay.reboot] > Interval to wait before rebooting the UPS (seconds) > Type: NUMBER > Value: 8 > > [ups.delay.shutdown] > Interval to wait after shutdown with delay command (seconds) > Type: NUMBER > Value: 0 > > [ups.delay.start] > Interval to wait before (re)starting the load (seconds) > Type: NUMBER > Value: 0 > > [ups.id] > UPS system identifier > Type: STRING > Maximum length: 16 > Value: APC UPS > > > >upscmd -l myups > Instant commands supported on UPS [ftups]: > > beeper.mute - Temporarily mute the UPS beeper > bypass.start - Put the UPS in bypass mode > bypass.stop - Take the UPS out of bypass mode > calibrate.start - Start run time calibration > calibrate.stop - Stop run time calibration > driver.killpower - Tell the driver daemon to initiate UPS shutdown; > should be unlocked with driver.flag.allow_killpower option or variable > setting > driver.reload - Reload running driver configuration from the file > system (only works for changes in some options) > driver.reload-or-error - Reload running driver configuration from the > file system (only works for changes in some options); return an error > if something changed and could not be applied live (so the caller can > restart it with new options) > driver.reload-or-exit - Reload running driver configuration from the > file system (only works for changes in some options); exit the running > driver if something changed and could not be applied live (so service > management framework can restart it with new options) > load.off - Turn off the load immediately > load.off.delay - Turn off the load with a delay (seconds) > load.on - Turn on the load immediately > load.on.delay - Turn on the load with a delay (seconds) > outlet.0.load.cycle - Description unavailable > outlet.0.load.off - Description unavailable > outlet.0.load.on - Description unavailable > outlet.0.shutdown.return - Description unavailable > outlet.1.load.cycle - Description unavailable > outlet.1.load.off - Turn off the load on outlet 1 immediately > outlet.1.load.on - Turn on the load on outlet 1 immediately > outlet.1.shutdown.return - Turn off the outlet 1 and return when power is > back > outlet.2.load.cycle - Description unavailable > outlet.2.load.off - Turn off the load on outlet 2 immediately > outlet.2.load.on - Turn on the load on outlet 2 immediately > outlet.2.shutdown.return - Turn off the outlet 2 and return when power is > back > outlet.3.load.cycle - Description unavailable > outlet.3.load.off - Description unavailable > outlet.3.load.on - Description unavailable > outlet.3.shutdown.return - Description unavailable > shutdown.reboot - Shut down the load briefly while rebooting the UPS > shutdown.reboot.graceful - Delay briefly then shut down the load while > rebooting the UPS > shutdown.return - Turn off the load and return when power is back > shutdown.stayoff - Turn off the load and remain off > test.battery.start - Start a battery test > test.battery.stop - Stop the battery test > test.panel.start - Start testing the UPS panel >
_______________________________________________ Nut-upsuser mailing list Nut-upsuser@alioth-lists.debian.net https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser