Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PowerWalker VFI 1500 CG PF1 - Shows battery.runtime = 0 #2765

Open
hexproxy opened this issue Jan 15, 2025 · 12 comments · May be fixed by #2768
Open

PowerWalker VFI 1500 CG PF1 - Shows battery.runtime = 0 #2765

hexproxy opened this issue Jan 15, 2025 · 12 comments · May be fixed by #2768
Labels
impacts-release-2.7.4 Issues reported against NUT release 2.7.4 (maybe vanilla or with minor packaging tweaks) impacts-release-2.8.0 Issues reported against NUT release 2.8.0 (maybe vanilla or with minor packaging tweaks) impacts-release-2.8.1 Issues reported against NUT release 2.8.1 (maybe vanilla or with minor packaging tweaks) impacts-release-2.8.2 Issues reported against NUT release 2.8.2 (maybe vanilla or with minor packaging tweaks) Incorrect or missing readings On some devices driver-reported values are systemically off (e.g. x10, x0.1, const+Value, etc.) PowerWalker PowerWalker and BlueWalker branded devices Qx protocol driver Driver based on Megatec Q<number> such as new nutdrv_qx, or obsoleted blazer and some others unraid Integration of NUT into unraid OS USB
Milestone

Comments

@hexproxy
Copy link

After installing NUT with different versions, like 2.8.2, 2.8.1, 2.8.0 and 2.7.4
I still having problem with the Runtime left always says 00:00:00 (and in the NUT details is says battery.runtime 0.
Because of this I don't know how much runtime left I have if i run on battery.

[ups]
driver = "nutdrv_qx"
port = "auto"
protocol = voltronic
novendor
vendorid = "0665"
productid = "5161"
product = "OLHV1K5"
desc = "PowerWalker VFI 1500 CG PF1"
pollinterval = 15
serial = "XXXXXXXXXXX"
bus = "001"

Even if i try to add this line in the ups.conf
default.battery.runtime = 1800

It goes to 00:00:00 after a few seconds. Everything else seems to work.

Screenshot 2025-01-15 142735

@jimklimov
Copy link
Member

What does driver log with debug say? IIRC there should be some "guesstimation" report, so it can evaluate remaining capacity based on voltage and amount of batteries and load. If it can not figure out the battery counts, that's what you need to default/override.

@hexproxy
Copy link
Author

hexproxy commented Jan 15, 2025

Hi,

The battery.packs = 0 so I added it on the ups.conf.

[ups]
driver = "nutdrv_qx"
port = "auto"
protocol = voltronic
novendor
vendorid = "0665"
productid = "5161"
product = "OLHV1K5"
desc = "PowerWalker VFI 1500 CG PF1"
pollinterval = 15
serial = "xxxxxxxxxxxx"
bus = "001"
runtimecal = 180,100,600,50
#default.battery.runtime = 1800
default.battery.packs = 3

But still nothing change, have reboot system etc. I have installed the ViewPower Software, and there is shows the runtime.
So I don't belive nothing is wrong with my UPS. So something is missing, some information with NUT's drivers.

Info of my UPS: https://powerwalker.com/product/10122109/

`

NUT Details
Key Value Key Value
battery.charge 100 battery.energysave yes
battery.packs 3 battery.protection yes
battery.runtime 0 battery.voltage 41.00
battery.voltage.nominal 36.0 device.model OLHV1K5
device.serial xxxxxxxxxxxxx device.type ups
driver.flag.novendor enabled driver.name nutdrv_qx
driver.parameter.bus 001 driver.parameter.pollfreq 30
driver.parameter.pollinterval 15 driver.parameter.port auto
driver.parameter.product OLHV1K5 driver.parameter.productid 5161
driver.parameter.protocol voltronic driver.parameter.runtimecal 180,100,600,50
driver.parameter.serial xxxxxxxxxxxxx driver.parameter.synchronous auto
driver.parameter.vendorid 0665 driver.version 2.8.0
driver.version.data Voltronic 0.06 driver.version.internal 0.32
driver.version.usb libusb-1.0.27 (API: 0x100010a) input.current.nominal 6.0
input.frequency 50.0 input.frequency.high 53.0
input.frequency.low 47.0 input.frequency.nominal 50.0
input.phases 1 input.transfer.high 237
input.transfer.high.max 254 input.transfer.high.min 237
input.transfer.low 218 input.transfer.low.max 223
input.transfer.low.min 206 input.voltage 243.3
input.voltage.nominal 230.0 outlet.0.switchable no
output.current 1.5 output.current.nominal 6
output.frequency 50.0 output.frequency.nominal 50.0
output.phases 1 output.power.maximum.percent 22
output.power.minimum.percent 16 output.powerfactor 1.0
output.voltage 229.8 output.voltage.nominal 230.0
ups.beeper.status enabled ups.delay.shutdown 30
ups.delay.start 180 ups.firmware 01574.05
ups.firmware.aux P01 ups.load 23
ups.power.nominal 1500 ups.productid 5161
ups.start.auto yes ups.start.battery yes
ups.status OL ups.temperature 16.5
ups.type online ups.vendorid 0665
`

@jimklimov
Copy link
Member

Seems this last test was with NUT v2.8.0; I am thinking about some fixes for CPS that went into 2.8.1 or 2.8.2 - I believe you have a chance to try the newer versions too?

@hexproxy
Copy link
Author

I have now tested both 2.8.1 and 2.8.2 and both give me the same info.
Here i s the log from 2.8.1, same with 2.8.2

Jan 16 07:01:21 Tower plugin-manager: running: 'anonymous'
Jan 16 07:01:21 Tower plugin-manager: nut-dw.plg installed
Jan 16 07:01:40 Tower ool www[2470582]: /usr/local/emhttp/plugins/nut-dw/scripts/start
Jan 16 07:01:41 Tower rc.nut: Writing NUT configuration...
Jan 16 07:01:43 Tower rc.nut: Updating permissions for NUT...
Jan 16 07:01:43 Tower rc.nut: Checking if the NUT Runtime Statistics Module should be enabled...
Jan 16 07:01:43 Tower rc.nut: Disabling the NUT Runtime Statistics Module...
Jan 16 07:01:44 Tower rc.nut: Using protocol: Voltronic 0.08
Jan 16 07:01:50 Tower nutdrv_qx[2470966]: battery_number: 3
Jan 16 07:01:50 Tower rc.nut: battery_number: 3
Jan 16 07:01:50 Tower nutdrv_qx[2470966]: battery_number, settable range: 1..9
Jan 16 07:01:50 Tower rc.nut: battery_number, settable range: 1..9
Jan 16 07:01:50 Tower nutdrv_qx[2470966]: bypass_alarm: enabled
Jan 16 07:01:50 Tower nutdrv_qx[2470966]: battery_alarm: enabled
Jan 16 07:01:50 Tower nutdrv_qx[2470966]: bypass_when_off: disabled
Jan 16 07:01:50 Tower nutdrv_qx[2470966]: alarm_control: enabled
Jan 16 07:01:50 Tower nutdrv_qx[2470966]: converter_mode: disabled
Jan 16 07:01:50 Tower nutdrv_qx[2470966]: eco_mode: enabled
Jan 16 07:01:50 Tower nutdrv_qx[2470966]: bypass_forbidding: disabled
Jan 16 07:01:50 Tower nutdrv_qx[2470966]: site_fault_detection: disabled
Jan 16 07:01:50 Tower rc.nut: bypass_alarm: enabled
Jan 16 07:01:50 Tower rc.nut: battery_alarm: enabled
Jan 16 07:01:50 Tower rc.nut: bypass_when_off: disabled
Jan 16 07:01:50 Tower rc.nut: alarm_control: enabled
Jan 16 07:01:50 Tower rc.nut: converter_mode: disabled
Jan 16 07:01:50 Tower rc.nut: eco_mode: enabled
Jan 16 07:01:50 Tower rc.nut: bypass_forbidding: disabled
Jan 16 07:01:50 Tower rc.nut: site_fault_detection: disabled
Jan 16 07:01:52 Tower nutdrv_qx[2470966]: max_bypass_volt: 260
Jan 16 07:01:52 Tower nutdrv_qx[2470966]: max_bypass_volt, settable range: 230..264
Jan 16 07:01:52 Tower nutdrv_qx[2470966]: min_bypass_volt: 170
Jan 16 07:01:52 Tower nutdrv_qx[2470966]: min_bypass_volt, settable range: 170..220
Jan 16 07:01:52 Tower rc.nut: max_bypass_volt: 260
Jan 16 07:01:52 Tower rc.nut: max_bypass_volt, settable range: 230..264
Jan 16 07:01:52 Tower rc.nut: min_bypass_volt: 170
Jan 16 07:01:52 Tower rc.nut: min_bypass_volt, settable range: 170..220
Jan 16 07:01:53 Tower nutdrv_qx[2470966]: max_bypass_freq: 53.0
Jan 16 07:01:53 Tower nutdrv_qx[2470966]: max_bypass_freq, settable range: 51.0..60.0
Jan 16 07:01:53 Tower nutdrv_qx[2470966]: min_bypass_freq: 47.0
Jan 16 07:01:53 Tower nutdrv_qx[2470966]: min_bypass_freq, settable range: 40.0..49.0
Jan 16 07:01:53 Tower rc.nut: max_bypass_freq: 53.0
Jan 16 07:01:53 Tower rc.nut: max_bypass_freq, settable range: 51.0..60.0
Jan 16 07:01:53 Tower rc.nut: min_bypass_freq: 47.0
Jan 16 07:01:53 Tower rc.nut: min_bypass_freq, settable range: 40.0..49.0
Jan 16 07:01:54 Tower nutdrv_qx[2470966]: No values for battery high/low voltages
Jan 16 07:01:54 Tower nutdrv_qx[2470966]: Using 'guesstimation' (low: 31.200000, high: 39.000000)!
Jan 16 07:01:54 Tower rc.nut: No values for battery high/low voltages
Jan 16 07:01:54 Tower rc.nut: Using 'guesstimation' (low: 31.200000, high: 39.000000)!
Jan 16 07:01:54 Tower nutdrv_qx[2471233]: Startup successful
Jan 16 07:01:54 Tower rc.nut: Network UPS Tools - UPS driver controller 2.8.1
Jan 16 07:01:55 Tower rc.nut: fopen /var/run/nut/upsd.pid: No such file or directory
Jan 16 07:01:55 Tower rc.nut: Could not find PID file '/var/run/nut/upsd.pid' to see if previous upsd instance is already running!
Jan 16 07:01:55 Tower rc.nut: listening on 0.0.0.0 port 3493
Jan 16 07:01:55 Tower upsd[2471247]: listening on 0.0.0.0 port 3493
Jan 16 07:01:55 Tower upsd[2471247]: Connected to UPS [ups]: nutdrv_qx-ups
Jan 16 07:01:55 Tower upsd[2471247]: Found 1 UPS defined in ups.conf
Jan 16 07:01:55 Tower rc.nut: Connected to UPS [ups]: nutdrv_qx-ups
Jan 16 07:01:55 Tower nutdrv_qx[2471233]: sock_connect: enabling asynchronous mode (auto)
Jan 16 07:01:55 Tower rc.nut: Found 1 UPS defined in ups.conf
Jan 16 07:01:55 Tower upsd[2471248]: Startup successful
Jan 16 07:01:55 Tower rc.nut: fopen /var/run/nut/upsmon.pid: No such file or directory
Jan 16 07:01:55 Tower rc.nut: Could not find PID file to see if previous upsmon instance is already running!
Jan 16 07:01:55 Tower rc.nut: UPS: [email protected] (primary) (power value 1)
Jan 16 07:01:55 Tower rc.nut: Using power down flag file /etc/nut/no_killpower
Jan 16 07:01:55 Tower upsmon[2471251]: Startup successful
Jan 16 07:01:55 Tower upsmon[2471251]: Warning: running as one big root process by request (upsmon -p)
Jan 16 07:01:55 Tower upsd[2471248]: User [email protected] logged into UPS [ups]

`

Key Value Key Value
battery.charge 100 battery.energysave yes
battery.packs 3 battery.protection yes
battery.runtime 0 battery.voltage 041.0
battery.voltage.high 39.00 battery.voltage.low 31.20
battery.voltage.nominal 36.0 device.model OLHV1K5
device.serial xxxxxxxxxxxxxx device.type ups
driver.debug 0 driver.flag.allow_killpower 0
driver.flag.novendor enabled driver.name nutdrv_qx
driver.parameter.bus 001 driver.parameter.default.battery.packs 3
driver.parameter.pollfreq 30 driver.parameter.pollinterval 15
driver.parameter.port auto driver.parameter.product OLHV1K5
driver.parameter.productid 5161 driver.parameter.protocol voltronic
driver.parameter.runtimecal 180,100,600,50 driver.parameter.serial xxxxxxxxxxxxxx
driver.parameter.synchronous auto driver.parameter.vendorid 0665
driver.state quiet driver.version 2.8.2
driver.version.data Voltronic 0.08 driver.version.internal 0.36
driver.version.usb libusb-1.0.27 (API: 0x100010a) input.current.nominal 6.0
input.frequency 50.0 input.frequency.high 53.0
input.frequency.low 47.0 input.frequency.nominal 50.0
input.phases 1 input.transfer.high 237
input.transfer.high.max 254 input.transfer.high.min 237
input.transfer.low 218 input.transfer.low.max 223
input.transfer.low.min 206 input.voltage 241.6
input.voltage.nominal 230.0 outlet.0.switchable no
output.current 1.4 output.current.nominal 6
output.frequency 50.0 output.frequency.nominal 50.0
output.phases 1 output.power.maximum.percent 22
output.power.minimum.percent 15 output.powerfactor 1.0
output.voltage 229.3 output.voltage.nominal 230.0
ups.beeper.status enabled ups.delay.shutdown 30
ups.delay.start 180 ups.firmware 01574.05
ups.firmware.aux P01 ups.load 21
ups.power.nominal 1500 ups.productid 5161
ups.start.auto yes ups.start.battery yes
ups.status OL ups.temperature 16.0
ups.type online ups.vendorid 0665
`

@jimklimov jimklimov added USB PowerWalker PowerWalker and BlueWalker branded devices Qx protocol driver Driver based on Megatec Q<number> such as new nutdrv_qx, or obsoleted blazer and some others impacts-release-2.8.0 Issues reported against NUT release 2.8.0 (maybe vanilla or with minor packaging tweaks) impacts-release-2.7.4 Issues reported against NUT release 2.7.4 (maybe vanilla or with minor packaging tweaks) Incorrect or missing readings On some devices driver-reported values are systemically off (e.g. x10, x0.1, const+Value, etc.) impacts-release-2.8.1 Issues reported against NUT release 2.8.1 (maybe vanilla or with minor packaging tweaks) impacts-release-2.8.2 Issues reported against NUT release 2.8.2 (maybe vanilla or with minor packaging tweaks) labels Jan 16, 2025
@jimklimov
Copy link
Member

jimklimov commented Jan 16, 2025

"What a curious case!.." (something you never want to hear from a doctor)

Looking back at the post history, noted one more point to clarify:

Even if i try to add this line in the ups.conf
default.battery.runtime = 1800
It goes to 00:00:00 after a few seconds. Everything else seems to work.

The point of default.* is just that - to set an initial value, which the driver can overwrite if it has something more up to date from the device, or keep indefinitely if not (as with battery.packs=3 later on); conversely override.* prefix to readings would ignore what the device says, if it ever does. The driver here for some reason actively decides that the remaining runtime is 0, and so sets it.

In the latest report table (apparently from 2.8.2, thanks) I see that battery.voltage and runtimecal are set, high/low voltages also... Actually the battery.voltage=41 exceeds battery.voltage.high=39 (3x13V) but fits in 42 (3x14V -- where 13.8V is a common figure for charged and idling PbAc; maybe you want an override.battery.voltage.high=42 for that one), however I think the "charge over 100%" should just get truncated to 100% as we see in the report too.

The older reports and PRs I had in mind that might have dealt with this logic, now that I've found them, included (probably a lot of these discussions lead to other tickets):

On the logical side, https://github.com/networkupstools/nut/blob/master/drivers/nutdrv_qx.c#L449-L475 in current codebase is responsible for setting the internal variables (or deciding it won't handle the runtime calibration and report that), and under https://github.com/networkupstools/nut/blob/master/drivers/nutdrv_qx.c#L4089 applies them (the -1 values are set for the full update walk at https://github.com/networkupstools/nut/blob/master/drivers/nutdrv_qx.c#L3891).

Can you log onto your server to run the driver program directly with raised debug verbosity (ideally 2.8.2 or a newer custom build from master branch), to see in better detail what numbers it juggles?

@hexproxy
Copy link
Author

Hi there,

After adding this line: (I have changed the password)

upsrw -u admin -p passw0rd -s driver.debug=6 ups
OK

The I start seeing this in my logs. Not sure if it relevant but I add it here. I have also added the new override line you wrote earlier.

Jan 16 16:35:32 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO driver.state "updateinfo"
Jan 16 16:35:32 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 34 bytes to socket 5 succeeded (ret=34): SETINFO driver.state "updateinfo"
Jan 16 16:35:32 Tower nutdrv_qx[752011]: [D1:752011] upsdrv_updateinfo...
Jan 16 16:35:32 Tower nutdrv_qx[752011]: [D1:752011] Quick update...
Jan 16 16:35:32 Tower nutdrv_qx[752011]: [D3:752011] send: QGS
Jan 16 16:35:32 Tower nutdrv_qx[752011]: [D5:752011] read [ 0]: (8 bytes) => 28 32 33 39 2e 31 20 35
Jan 16 16:35:32 Tower nutdrv_qx[752011]: [D5:752011] read [ 8]: (8 bytes) => 30 2e 30 20 32 32 39 2e
Jan 16 16:35:32 Tower nutdrv_qx[752011]: [D5:752011] read [ 16]: (8 bytes) => 31 20 35 30 2e 30 20 30
Jan 16 16:35:32 Tower nutdrv_qx[752011]: [D5:752011] read [ 24]: (8 bytes) => 30 31 2e 34 20 30 32 31
Jan 16 16:35:32 Tower nutdrv_qx[752011]: [D5:752011] read [ 32]: (8 bytes) => 20 33 38 36 2e 34 20 33
Jan 16 16:35:32 Tower nutdrv_qx[752011]: [D5:752011] read [ 40]: (8 bytes) => 39 30 2e 38 20 30 34 31
Jan 16 16:35:32 Tower nutdrv_qx[752011]: [D5:752011] read [ 48]: (8 bytes) => 2e 30 20 2d 2d 2d 2e 2d
Jan 16 16:35:32 Tower nutdrv_qx[752011]: [D5:752011] read [ 56]: (8 bytes) => 20 30 31 37 2e 30 20 31
Jan 16 16:35:32 Tower nutdrv_qx[752011]: [D5:752011] read [ 64]: (8 bytes) => 30 30 30 30 30 30 30 30
Jan 16 16:35:32 Tower nutdrv_qx[752011]: [D5:752011] read [ 72]: (8 bytes) => 30 30 31 0d 00 00 00 00
Jan 16 16:35:32 Tower nutdrv_qx[752011]: [D3:752011] read: (239.1 50.0 229.1 50.0 001.4 021 386.4 390.8 041.0 ---.- 017.0 100000000001
Jan 16 16:35:32 Tower nutdrv_qx[752011]: [D5:752011] update_status: OL
Jan 16 16:35:32 Tower nutdrv_qx[752011]: [D5:752011] update_status: !LB
Jan 16 16:35:32 Tower nutdrv_qx[752011]: [D5:752011] update_status: !CAL
Jan 16 16:35:32 Tower nutdrv_qx[752011]: [D5:752011] update_status: !FSD
Jan 16 16:35:32 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO driver.state "quiet"
Jan 16 16:35:32 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 29 bytes to socket 5 succeeded (ret=29): SETINFO driver.state "quiet"
Jan 16 16:35:38 Tower nutdrv_qx[752011]: [D6:752011] Driver on /var/run/nut/nutdrv_qx-ups is now handling PING with 1 args
Jan 16 16:35:38 Tower nutdrv_qx[752011]: [D2:752011] send_to_one: sending PONG
Jan 16 16:35:38 Tower nutdrv_qx[752011]: [D5:752011] send_to_one: PONG
Jan 16 16:35:38 Tower nutdrv_qx[752011]: [D6:752011] send_to_one: write 5 bytes to socket 5 succeeded (ret=5): PONG
Jan 16 16:35:44 Tower nutdrv_qx[752011]: [D6:752011] Driver on /var/run/nut/nutdrv_qx-ups is now handling PING with 1 args
Jan 16 16:35:44 Tower nutdrv_qx[752011]: [D2:752011] send_to_one: sending PONG
Jan 16 16:35:44 Tower nutdrv_qx[752011]: [D5:752011] send_to_one: PONG
Jan 16 16:35:44 Tower nutdrv_qx[752011]: [D6:752011] send_to_one: write 5 bytes to socket 5 succeeded (ret=5): PONG
Jan 16 16:35:47 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO driver.state "updateinfo"
Jan 16 16:35:47 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 34 bytes to socket 5 succeeded (ret=34): SETINFO driver.state "updateinfo"
Jan 16 16:35:47 Tower nutdrv_qx[752011]: [D1:752011] upsdrv_updateinfo...
Jan 16 16:35:47 Tower nutdrv_qx[752011]: [D1:752011] Quick update...
Jan 16 16:35:47 Tower nutdrv_qx[752011]: [D3:752011] send: QGS
Jan 16 16:35:47 Tower nutdrv_qx[752011]: [D5:752011] read [ 0]: (8 bytes) => 28 32 34 30 2e 31 20 35
Jan 16 16:35:47 Tower nutdrv_qx[752011]: [D5:752011] read [ 8]: (8 bytes) => 30 2e 30 20 32 32 39 2e
Jan 16 16:35:47 Tower nutdrv_qx[752011]: [D5:752011] read [ 16]: (8 bytes) => 37 20 35 30 2e 30 20 30
Jan 16 16:35:47 Tower nutdrv_qx[752011]: [D5:752011] read [ 24]: (8 bytes) => 30 31 2e 34 20 30 32 32
Jan 16 16:35:47 Tower nutdrv_qx[752011]: [D5:752011] read [ 32]: (8 bytes) => 20 33 38 31 2e 36 20 33
Jan 16 16:35:47 Tower nutdrv_qx[752011]: [D5:752011] read [ 40]: (8 bytes) => 39 31 2e 38 20 30 34 31
Jan 16 16:35:47 Tower nutdrv_qx[752011]: [D5:752011] read [ 48]: (8 bytes) => 2e 30 20 2d 2d 2d 2e 2d
Jan 16 16:35:47 Tower nutdrv_qx[752011]: [D5:752011] read [ 56]: (8 bytes) => 20 30 31 36 2e 35 20 31
Jan 16 16:35:47 Tower nutdrv_qx[752011]: [D5:752011] read [ 64]: (8 bytes) => 30 30 30 30 30 30 30 30
Jan 16 16:35:47 Tower nutdrv_qx[752011]: [D5:752011] read [ 72]: (8 bytes) => 30 30 31 0d 00 00 00 00
Jan 16 16:35:47 Tower nutdrv_qx[752011]: [D3:752011] read: (240.1 50.0 229.7 50.0 001.4 022 381.6 391.8 041.0 ---.- 016.5 100000000001
Jan 16 16:35:47 Tower nutdrv_qx[752011]: [D5:752011] update_status: OL
Jan 16 16:35:47 Tower nutdrv_qx[752011]: [D5:752011] update_status: !LB
Jan 16 16:35:47 Tower nutdrv_qx[752011]: [D5:752011] update_status: !CAL
Jan 16 16:35:47 Tower nutdrv_qx[752011]: [D5:752011] update_status: !FSD
Jan 16 16:35:47 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO driver.state "quiet"
Jan 16 16:35:47 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 29 bytes to socket 5 succeeded (ret=29): SETINFO driver.state "quiet"
Jan 16 16:35:53 Tower nutdrv_qx[752011]: [D6:752011] Driver on /var/run/nut/nutdrv_qx-ups is now handling PING with 1 args
Jan 16 16:35:53 Tower nutdrv_qx[752011]: [D2:752011] send_to_one: sending PONG
Jan 16 16:35:53 Tower nutdrv_qx[752011]: [D5:752011] send_to_one: PONG
Jan 16 16:35:53 Tower nutdrv_qx[752011]: [D6:752011] send_to_one: write 5 bytes to socket 5 succeeded (ret=5): PONG
Jan 16 16:36:00 Tower nutdrv_qx[752011]: [D6:752011] Driver on /var/run/nut/nutdrv_qx-ups is now handling PING with 1 args
Jan 16 16:36:00 Tower nutdrv_qx[752011]: [D2:752011] send_to_one: sending PONG
Jan 16 16:36:00 Tower nutdrv_qx[752011]: [D5:752011] send_to_one: PONG
Jan 16 16:36:00 Tower nutdrv_qx[752011]: [D6:752011] send_to_one: write 5 bytes to socket 5 succeeded (ret=5): PONG
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO driver.state "updateinfo"
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 34 bytes to socket 5 succeeded (ret=34): SETINFO driver.state "updateinfo"
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D1:752011] upsdrv_updateinfo...
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D1:752011] Full update...
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D3:752011] send: QGS
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D5:752011] read [ 0]: (8 bytes) => 28 32 34 30 2e 30 20 35
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D5:752011] read [ 8]: (8 bytes) => 30 2e 30 20 32 32 39 2e
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D5:752011] read [ 16]: (8 bytes) => 39 20 35 30 2e 30 20 30
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D5:752011] read [ 24]: (8 bytes) => 30 31 2e 34 20 30 32 33
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D5:752011] read [ 32]: (8 bytes) => 20 33 38 31 2e 36 20 33
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D5:752011] read [ 40]: (8 bytes) => 38 38 2e 39 20 30 34 31
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D5:752011] read [ 48]: (8 bytes) => 2e 30 20 2d 2d 2d 2e 2d
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D5:752011] read [ 56]: (8 bytes) => 20 30 31 37 2e 34 20 31
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D5:752011] read [ 64]: (8 bytes) => 30 30 30 30 30 30 30 30
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D5:752011] read [ 72]: (8 bytes) => 30 30 31 0d 00 00 00 00
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D3:752011] read: (240.0 50.0 229.9 50.0 001.4 023 381.6 388.9 041.0 ---.- 017.4 100000000001
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO input.voltage "240.0"
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 30 bytes to socket 5 succeeded (ret=30): SETINFO input.voltage "240.0"
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO output.voltage "229.9"
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 31 bytes to socket 5 succeeded (ret=31): SETINFO output.voltage "229.9"
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO output.current "1.4"
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 29 bytes to socket 5 succeeded (ret=29): SETINFO output.current "1.4"
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO ups.load "23"
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 22 bytes to socket 5 succeeded (ret=22): SETINFO ups.load "23"
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO ups.temperature "17.4"
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 31 bytes to socket 5 succeeded (ret=31): SETINFO ups.temperature "17.4"
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D5:752011] update_status: OL
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D5:752011] update_status: !LB
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D5:752011] update_status: !CAL
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D5:752011] update_status: !FSD
Jan 16 16:36:02 Tower nutdrv_qx[752011]: [D3:752011] send: QMOD
Jan 16 16:36:03 Tower nutdrv_qx[752011]: [D5:752011] read [ 0]: (8 bytes) => 28 4c 0d 00 00 00 00 00
Jan 16 16:36:03 Tower nutdrv_qx[752011]: [D3:752011] read: (L
Jan 16 16:36:03 Tower nutdrv_qx[752011]: [D5:752011] update_status: OL
Jan 16 16:36:03 Tower nutdrv_qx[752011]: [D3:752011] send: QWS
Jan 16 16:36:03 Tower nutdrv_qx[752011]: [D5:752011] read [ 0]: (8 bytes) => 28 30 30 30 30 30 30 30
Jan 16 16:36:03 Tower nutdrv_qx[752011]: [D5:752011] read [ 8]: (8 bytes) => 30 30 30 30 30 30 30 30
Jan 16 16:36:03 Tower nutdrv_qx[752011]: [D5:752011] read [ 16]: (8 bytes) => 30 30 30 30 30 30 30 30
Jan 16 16:36:03 Tower nutdrv_qx[752011]: [D5:752011] read [ 24]: (8 bytes) => 30 30 30 30 30 30 30 30
Jan 16 16:36:03 Tower nutdrv_qx[752011]: [D5:752011] read [ 32]: (8 bytes) => 30 30 30 30 30 30 30 30
Jan 16 16:36:03 Tower nutdrv_qx[752011]: [D5:752011] read [ 40]: (8 bytes) => 30 30 30 30 30 30 30 30
Jan 16 16:36:03 Tower nutdrv_qx[752011]: [D5:752011] read [ 48]: (8 bytes) => 30 30 30 30 30 30 30 30
Jan 16 16:36:03 Tower nutdrv_qx[752011]: [D5:752011] read [ 56]: (8 bytes) => 30 30 30 30 30 30 30 30
Jan 16 16:36:03 Tower nutdrv_qx[752011]: [D5:752011] read [ 64]: (8 bytes) => 30 0d 00 00 00 00 00 00
Jan 16 16:36:03 Tower nutdrv_qx[752011]: [D3:752011] read: (0000000000000000000000000000000000000000000000000000000000000000
Jan 16 16:36:03 Tower nutdrv_qx[752011]: [D3:752011] send: QBV
Jan 16 16:36:04 Tower nutdrv_qx[752011]: [D5:752011] read [ 0]: (8 bytes) => 28 30 34 31 2e 30 20 30
Jan 16 16:36:04 Tower nutdrv_qx[752011]: [D5:752011] read [ 8]: (8 bytes) => 33 20 30 31 20 31 30 30
Jan 16 16:36:04 Tower nutdrv_qx[752011]: [D5:752011] read [ 16]: (8 bytes) => 20 30 30 30 33 37 0d 00
Jan 16 16:36:04 Tower nutdrv_qx[752011]: [D3:752011] read: (041.0 03 01 100 00037
Jan 16 16:36:04 Tower nutdrv_qx[752011]: [D3:752011] send: QLDL
Jan 16 16:36:04 Tower nutdrv_qx[752011]: [D5:752011] read [ 0]: (8 bytes) => 28 30 31 36 20 30 32 32
Jan 16 16:36:04 Tower nutdrv_qx[752011]: [D5:752011] read [ 8]: (8 bytes) => 0d 00 00 00 00 00 00 00
Jan 16 16:36:04 Tower nutdrv_qx[752011]: [D3:752011] read: (016 022
Jan 16 16:36:04 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO driver.state "quiet"
Jan 16 16:36:04 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 29 bytes to socket 5 succeeded (ret=29): SETINFO driver.state "quiet"
Jan 16 16:36:10 Tower nutdrv_qx[752011]: [D6:752011] Driver on /var/run/nut/nutdrv_qx-ups is now handling PING with 1 args
Jan 16 16:36:10 Tower nutdrv_qx[752011]: [D2:752011] send_to_one: sending PONG
Jan 16 16:36:10 Tower nutdrv_qx[752011]: [D5:752011] send_to_one: PONG
Jan 16 16:36:10 Tower nutdrv_qx[752011]: [D6:752011] send_to_one: write 5 bytes to socket 5 succeeded (ret=5): PONG
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D6:752011] Driver on /var/run/nut/nutdrv_qx-ups is now handling PING with 1 args
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D2:752011] send_to_one: sending PONG
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D5:752011] send_to_one: PONG
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D6:752011] send_to_one: write 5 bytes to socket 5 succeeded (ret=5): PONG
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO driver.state "updateinfo"
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 34 bytes to socket 5 succeeded (ret=34): SETINFO driver.state "updateinfo"
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D1:752011] upsdrv_updateinfo...
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D1:752011] Quick update...
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D3:752011] send: QGS
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D5:752011] read [ 0]: (8 bytes) => 28 32 33 39 2e 33 20 35
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D5:752011] read [ 8]: (8 bytes) => 30 2e 30 20 32 32 39 2e
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D5:752011] read [ 16]: (8 bytes) => 39 20 35 30 2e 30 20 30
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D5:752011] read [ 24]: (8 bytes) => 30 31 2e 35 20 30 32 33
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D5:752011] read [ 32]: (8 bytes) => 20 33 38 30 2e 37 20 33
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D5:752011] read [ 40]: (8 bytes) => 39 31 2e 39 20 30 34 31
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D5:752011] read [ 48]: (8 bytes) => 2e 30 20 2d 2d 2d 2e 2d
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D5:752011] read [ 56]: (8 bytes) => 20 30 31 36 2e 36 20 31
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D5:752011] read [ 64]: (8 bytes) => 30 30 30 30 30 30 30 30
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D5:752011] read [ 72]: (8 bytes) => 30 30 31 0d 00 00 00 00
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D3:752011] read: (239.3 50.0 229.9 50.0 001.5 023 380.7 391.9 041.0 ---.- 016.6 100000000001
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D5:752011] update_status: OL
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D5:752011] update_status: !LB
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D5:752011] update_status: !CAL
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D5:752011] update_status: !FSD
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO driver.state "quiet"
Jan 16 16:36:17 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 29 bytes to socket 5 succeeded (ret=29): SETINFO driver.state "quiet"
Jan 16 16:36:23 Tower nutdrv_qx[752011]: [D6:752011] Driver on /var/run/nut/nutdrv_qx-ups is now handling PING with 1 args
Jan 16 16:36:23 Tower nutdrv_qx[752011]: [D2:752011] send_to_one: sending PONG
Jan 16 16:36:23 Tower nutdrv_qx[752011]: [D5:752011] send_to_one: PONG
Jan 16 16:36:23 Tower nutdrv_qx[752011]: [D6:752011] send_to_one: write 5 bytes to socket 5 succeeded (ret=5): PONG
Jan 16 16:36:29 Tower nutdrv_qx[752011]: [D6:752011] Driver on /var/run/nut/nutdrv_qx-ups is now handling PING with 1 args
Jan 16 16:36:29 Tower nutdrv_qx[752011]: [D2:752011] send_to_one: sending PONG
Jan 16 16:36:29 Tower nutdrv_qx[752011]: [D5:752011] send_to_one: PONG
Jan 16 16:36:29 Tower nutdrv_qx[752011]: [D6:752011] send_to_one: write 5 bytes to socket 5 succeeded (ret=5): PONG
Jan 16 16:36:32 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO driver.state "updateinfo"
Jan 16 16:36:32 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 34 bytes to socket 5 succeeded (ret=34): SETINFO driver.state "updateinfo"
Jan 16 16:36:32 Tower nutdrv_qx[752011]: [D1:752011] upsdrv_updateinfo...
Jan 16 16:36:32 Tower nutdrv_qx[752011]: [D1:752011] Quick update...
Jan 16 16:36:32 Tower nutdrv_qx[752011]: [D3:752011] send: QGS
Jan 16 16:36:32 Tower nutdrv_qx[752011]: [D5:752011] read [ 0]: (8 bytes) => 28 32 33 39 2e 38 20 35
Jan 16 16:36:32 Tower nutdrv_qx[752011]: [D5:752011] read [ 8]: (8 bytes) => 30 2e 30 20 32 32 39 2e
Jan 16 16:36:32 Tower nutdrv_qx[752011]: [D5:752011] read [ 16]: (8 bytes) => 33 20 35 30 2e 30 20 30
Jan 16 16:36:32 Tower nutdrv_qx[752011]: [D5:752011] read [ 24]: (8 bytes) => 30 31 2e 34 20 30 32 31
Jan 16 16:36:32 Tower nutdrv_qx[752011]: [D5:752011] read [ 32]: (8 bytes) => 20 33 38 31 2e 39 20 33
Jan 16 16:36:32 Tower nutdrv_qx[752011]: [D5:752011] read [ 40]: (8 bytes) => 39 31 2e 36 20 30 34 31
Jan 16 16:36:32 Tower nutdrv_qx[752011]: [D5:752011] read [ 48]: (8 bytes) => 2e 30 20 2d 2d 2d 2e 2d
Jan 16 16:36:32 Tower nutdrv_qx[752011]: [D5:752011] read [ 56]: (8 bytes) => 20 30 31 37 2e 31 20 31
Jan 16 16:36:32 Tower nutdrv_qx[752011]: [D5:752011] read [ 64]: (8 bytes) => 30 30 30 30 30 30 30 30
Jan 16 16:36:32 Tower nutdrv_qx[752011]: [D5:752011] read [ 72]: (8 bytes) => 30 30 31 0d 00 00 00 00
Jan 16 16:36:32 Tower nutdrv_qx[752011]: [D3:752011] read: (239.8 50.0 229.3 50.0 001.4 021 381.9 391.6 041.0 ---.- 017.1 100000000001
Jan 16 16:36:32 Tower nutdrv_qx[752011]: [D5:752011] update_status: OL
Jan 16 16:36:32 Tower nutdrv_qx[752011]: [D5:752011] update_status: !LB
Jan 16 16:36:32 Tower nutdrv_qx[752011]: [D5:752011] update_status: !CAL
Jan 16 16:36:32 Tower nutdrv_qx[752011]: [D5:752011] update_status: !FSD
Jan 16 16:36:32 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO driver.state "quiet"
Jan 16 16:36:32 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 29 bytes to socket 5 succeeded (ret=29): SETINFO driver.state "quiet"
Jan 16 16:36:38 Tower nutdrv_qx[752011]: [D6:752011] Driver on /var/run/nut/nutdrv_qx-ups is now handling PING with 1 args
Jan 16 16:36:38 Tower nutdrv_qx[752011]: [D2:752011] send_to_one: sending PONG
Jan 16 16:36:38 Tower nutdrv_qx[752011]: [D5:752011] send_to_one: PONG
Jan 16 16:36:38 Tower nutdrv_qx[752011]: [D6:752011] send_to_one: write 5 bytes to socket 5 succeeded (ret=5): PONG
Jan 16 16:36:45 Tower nutdrv_qx[752011]: [D6:752011] Driver on /var/run/nut/nutdrv_qx-ups is now handling PING with 1 args
Jan 16 16:36:45 Tower nutdrv_qx[752011]: [D2:752011] send_to_one: sending PONG
Jan 16 16:36:45 Tower nutdrv_qx[752011]: [D5:752011] send_to_one: PONG
Jan 16 16:36:45 Tower nutdrv_qx[752011]: [D6:752011] send_to_one: write 5 bytes to socket 5 succeeded (ret=5): PONG
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO driver.state "updateinfo"
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 34 bytes to socket 5 succeeded (ret=34): SETINFO driver.state "updateinfo"
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D1:752011] upsdrv_updateinfo...
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D1:752011] Full update...
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D3:752011] send: QGS
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D5:752011] read [ 0]: (8 bytes) => 28 32 33 39 2e 38 20 35
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D5:752011] read [ 8]: (8 bytes) => 30 2e 30 20 32 33 30 2e
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D5:752011] read [ 16]: (8 bytes) => 31 20 35 30 2e 30 20 30
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D5:752011] read [ 24]: (8 bytes) => 30 31 2e 34 20 30 32 33
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D5:752011] read [ 32]: (8 bytes) => 20 33 38 31 2e 36 20 33
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D5:752011] read [ 40]: (8 bytes) => 39 30 2e 39 20 30 34 31
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D5:752011] read [ 48]: (8 bytes) => 2e 30 20 2d 2d 2d 2e 2d
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D5:752011] read [ 56]: (8 bytes) => 20 30 31 36 2e 36 20 31
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D5:752011] read [ 64]: (8 bytes) => 30 30 30 30 30 30 30 30
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D5:752011] read [ 72]: (8 bytes) => 30 30 31 0d 00 00 00 00
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D3:752011] read: (239.8 50.0 230.1 50.0 001.4 023 381.6 390.9 041.0 ---.- 016.6 100000000001
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO input.voltage "239.8"
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 30 bytes to socket 5 succeeded (ret=30): SETINFO input.voltage "239.8"
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO output.voltage "230.1"
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 31 bytes to socket 5 succeeded (ret=31): SETINFO output.voltage "230.1"
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO ups.temperature "16.6"
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 31 bytes to socket 5 succeeded (ret=31): SETINFO ups.temperature "16.6"
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D5:752011] update_status: OL
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D5:752011] update_status: !LB
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D5:752011] update_status: !CAL
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D5:752011] update_status: !FSD
Jan 16 16:36:47 Tower nutdrv_qx[752011]: [D3:752011] send: QMOD
Jan 16 16:36:48 Tower nutdrv_qx[752011]: [D5:752011] read [ 0]: (8 bytes) => 28 4c 0d 00 00 00 00 00
Jan 16 16:36:48 Tower nutdrv_qx[752011]: [D3:752011] read: (L
Jan 16 16:36:48 Tower nutdrv_qx[752011]: [D5:752011] update_status: OL
Jan 16 16:36:48 Tower nutdrv_qx[752011]: [D3:752011] send: QWS
Jan 16 16:36:48 Tower nutdrv_qx[752011]: [D5:752011] read [ 0]: (8 bytes) => 28 30 30 30 30 30 30 30
Jan 16 16:36:48 Tower nutdrv_qx[752011]: [D5:752011] read [ 8]: (8 bytes) => 30 30 30 30 30 30 30 30
Jan 16 16:36:48 Tower nutdrv_qx[752011]: [D5:752011] read [ 16]: (8 bytes) => 30 30 30 30 30 30 30 30
Jan 16 16:36:48 Tower nutdrv_qx[752011]: [D5:752011] read [ 24]: (8 bytes) => 30 30 30 30 30 30 30 30
Jan 16 16:36:48 Tower nutdrv_qx[752011]: [D5:752011] read [ 32]: (8 bytes) => 30 30 30 30 30 30 30 30
Jan 16 16:36:48 Tower nutdrv_qx[752011]: [D5:752011] read [ 40]: (8 bytes) => 30 30 30 30 30 30 30 30
Jan 16 16:36:48 Tower nutdrv_qx[752011]: [D5:752011] read [ 48]: (8 bytes) => 30 30 30 30 30 30 30 30
Jan 16 16:36:48 Tower nutdrv_qx[752011]: [D5:752011] read [ 56]: (8 bytes) => 30 30 30 30 30 30 30 30
Jan 16 16:36:48 Tower nutdrv_qx[752011]: [D5:752011] read [ 64]: (8 bytes) => 30 0d 00 00 00 00 00 00
Jan 16 16:36:48 Tower nutdrv_qx[752011]: [D3:752011] read: (0000000000000000000000000000000000000000000000000000000000000000
Jan 16 16:36:48 Tower nutdrv_qx[752011]: [D3:752011] send: QBV
Jan 16 16:36:48 Tower nutdrv_qx[752011]: [D5:752011] read [ 0]: (8 bytes) => 28 30 34 31 2e 30 20 30
Jan 16 16:36:49 Tower nutdrv_qx[752011]: [D5:752011] read [ 8]: (8 bytes) => 33 20 30 31 20 31 30 30
Jan 16 16:36:49 Tower nutdrv_qx[752011]: [D5:752011] read [ 16]: (8 bytes) => 20 30 30 30 33 37 0d 00
Jan 16 16:36:49 Tower nutdrv_qx[752011]: [D3:752011] read: (041.0 03 01 100 00037
Jan 16 16:36:49 Tower nutdrv_qx[752011]: [D3:752011] send: QLDL
Jan 16 16:36:49 Tower nutdrv_qx[752011]: [D5:752011] read [ 0]: (8 bytes) => 28 30 31 37 20 30 32 34
Jan 16 16:36:49 Tower nutdrv_qx[752011]: [D5:752011] read [ 8]: (8 bytes) => 0d 00 00 00 00 00 00 00
Jan 16 16:36:49 Tower nutdrv_qx[752011]: [D3:752011] read: (017 024
Jan 16 16:36:49 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO output.power.minimum.percent "17"
Jan 16 16:36:49 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 42 bytes to socket 5 succeeded (ret=42): SETINFO output.power.minimum.percent "17"
Jan 16 16:36:49 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO output.power.maximum.percent "24"
Jan 16 16:36:49 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 42 bytes to socket 5 succeeded (ret=42): SETINFO output.power.maximum.percent "24"
Jan 16 16:36:49 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO driver.state "quiet"
Jan 16 16:36:49 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 29 bytes to socket 5 succeeded (ret=29): SETINFO driver.state "quiet"
Jan 16 16:36:55 Tower nutdrv_qx[752011]: [D6:752011] Driver on /var/run/nut/nutdrv_qx-ups is now handling PING with 1 args
Jan 16 16:36:55 Tower nutdrv_qx[752011]: [D2:752011] send_to_one: sending PONG
Jan 16 16:36:55 Tower nutdrv_qx[752011]: [D5:752011] send_to_one: PONG
Jan 16 16:36:55 Tower nutdrv_qx[752011]: [D6:752011] send_to_one: write 5 bytes to socket 5 succeeded (ret=5): PONG
Jan 16 16:37:02 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO driver.state "updateinfo"
Jan 16 16:37:02 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 34 bytes to socket 5 succeeded (ret=34): SETINFO driver.state "updateinfo"
Jan 16 16:37:02 Tower nutdrv_qx[752011]: [D1:752011] upsdrv_updateinfo...
Jan 16 16:37:02 Tower nutdrv_qx[752011]: [D1:752011] Quick update...
Jan 16 16:37:02 Tower nutdrv_qx[752011]: [D3:752011] send: QGS
Jan 16 16:37:02 Tower nutdrv_qx[752011]: [D5:752011] read [ 0]: (8 bytes) => 28 32 34 30 2e 32 20 35
Jan 16 16:37:02 Tower nutdrv_qx[752011]: [D5:752011] read [ 8]: (8 bytes) => 30 2e 30 20 32 32 39 2e
Jan 16 16:37:02 Tower nutdrv_qx[752011]: [D5:752011] read [ 16]: (8 bytes) => 35 20 35 30 2e 30 20 30
Jan 16 16:37:02 Tower nutdrv_qx[752011]: [D5:752011] read [ 24]: (8 bytes) => 30 31 2e 35 20 30 32 33
Jan 16 16:37:02 Tower nutdrv_qx[752011]: [D5:752011] read [ 32]: (8 bytes) => 20 33 38 32 2e 31 20 33
Jan 16 16:37:02 Tower nutdrv_qx[752011]: [D5:752011] read [ 40]: (8 bytes) => 39 32 2e 39 20 30 34 31
Jan 16 16:37:02 Tower nutdrv_qx[752011]: [D5:752011] read [ 48]: (8 bytes) => 2e 30 20 2d 2d 2d 2e 2d
Jan 16 16:37:02 Tower nutdrv_qx[752011]: [D5:752011] read [ 56]: (8 bytes) => 20 30 31 37 2e 32 20 31
Jan 16 16:37:02 Tower nutdrv_qx[752011]: [D5:752011] read [ 64]: (8 bytes) => 30 30 30 30 30 30 30 30
Jan 16 16:37:02 Tower nutdrv_qx[752011]: [D5:752011] read [ 72]: (8 bytes) => 30 30 31 0d 00 00 00 00
Jan 16 16:37:02 Tower nutdrv_qx[752011]: [D3:752011] read: (240.2 50.0 229.5 50.0 001.5 023 382.1 392.9 041.0 ---.- 017.2 100000000001
Jan 16 16:37:02 Tower nutdrv_qx[752011]: [D5:752011] update_status: OL
Jan 16 16:37:02 Tower nutdrv_qx[752011]: [D5:752011] update_status: !LB
Jan 16 16:37:02 Tower nutdrv_qx[752011]: [D5:752011] update_status: !CAL
Jan 16 16:37:02 Tower nutdrv_qx[752011]: [D5:752011] update_status: !FSD
Jan 16 16:37:02 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO driver.state "quiet"
Jan 16 16:37:02 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 29 bytes to socket 5 succeeded (ret=29): SETINFO driver.state "quiet"
Jan 16 16:37:08 Tower nutdrv_qx[752011]: [D6:752011] Driver on /var/run/nut/nutdrv_qx-ups is now handling PING with 1 args
Jan 16 16:37:08 Tower nutdrv_qx[752011]: [D2:752011] send_to_one: sending PONG
Jan 16 16:37:08 Tower nutdrv_qx[752011]: [D5:752011] send_to_one: PONG
Jan 16 16:37:08 Tower nutdrv_qx[752011]: [D6:752011] send_to_one: write 5 bytes to socket 5 succeeded (ret=5): PONG
Jan 16 16:37:14 Tower nutdrv_qx[752011]: [D6:752011] Driver on /var/run/nut/nutdrv_qx-ups is now handling PING with 1 args
Jan 16 16:37:14 Tower nutdrv_qx[752011]: [D2:752011] send_to_one: sending PONG
Jan 16 16:37:14 Tower nutdrv_qx[752011]: [D5:752011] send_to_one: PONG
Jan 16 16:37:14 Tower nutdrv_qx[752011]: [D6:752011] send_to_one: write 5 bytes to socket 5 succeeded (ret=5): PONG
Jan 16 16:37:17 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO driver.state "updateinfo"
Jan 16 16:37:17 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 34 bytes to socket 5 succeeded (ret=34): SETINFO driver.state "updateinfo"
Jan 16 16:37:17 Tower nutdrv_qx[752011]: [D1:752011] upsdrv_updateinfo...
Jan 16 16:37:17 Tower nutdrv_qx[752011]: [D1:752011] Quick update...
Jan 16 16:37:17 Tower nutdrv_qx[752011]: [D3:752011] send: QGS
Jan 16 16:37:17 Tower nutdrv_qx[752011]: [D5:752011] read [ 0]: (8 bytes) => 28 32 33 38 2e 37 20 35
Jan 16 16:37:17 Tower nutdrv_qx[752011]: [D5:752011] read [ 8]: (8 bytes) => 30 2e 30 20 32 32 39 2e
Jan 16 16:37:17 Tower nutdrv_qx[752011]: [D5:752011] read [ 16]: (8 bytes) => 31 20 35 30 2e 30 20 30
Jan 16 16:37:17 Tower nutdrv_qx[752011]: [D5:752011] read [ 24]: (8 bytes) => 30 31 2e 35 20 30 32 33
Jan 16 16:37:17 Tower nutdrv_qx[752011]: [D5:752011] read [ 32]: (8 bytes) => 20 33 38 32 2e 35 20 33
Jan 16 16:37:17 Tower nutdrv_qx[752011]: [D5:752011] read [ 40]: (8 bytes) => 39 31 2e 36 20 30 34 31
Jan 16 16:37:17 Tower nutdrv_qx[752011]: [D5:752011] read [ 48]: (8 bytes) => 2e 30 20 2d 2d 2d 2e 2d
Jan 16 16:37:17 Tower nutdrv_qx[752011]: [D5:752011] read [ 56]: (8 bytes) => 20 30 31 36 2e 30 20 31
Jan 16 16:37:17 Tower nutdrv_qx[752011]: [D5:752011] read [ 64]: (8 bytes) => 30 30 30 30 30 30 30 30
Jan 16 16:37:17 Tower nutdrv_qx[752011]: [D5:752011] read [ 72]: (8 bytes) => 30 30 31 0d 00 00 00 00
Jan 16 16:37:17 Tower nutdrv_qx[752011]: [D3:752011] read: (238.7 50.0 229.1 50.0 001.5 023 382.5 391.6 041.0 ---.- 016.0 100000000001
Jan 16 16:37:17 Tower nutdrv_qx[752011]: [D5:752011] update_status: OL
Jan 16 16:37:17 Tower nutdrv_qx[752011]: [D5:752011] update_status: !LB
Jan 16 16:37:17 Tower nutdrv_qx[752011]: [D5:752011] update_status: !CAL
Jan 16 16:37:17 Tower nutdrv_qx[752011]: [D5:752011] update_status: !FSD
Jan 16 16:37:17 Tower nutdrv_qx[752011]: [D5:752011] send_to_all: SETINFO driver.state "quiet"
Jan 16 16:37:17 Tower nutdrv_qx[752011]: [D6:752011] send_to_all: write 29 bytes to socket 5 succeeded (ret=29): SETINFO driver.state "quiet"
Jan 16 16:37:23 Tower nutdrv_qx[752011]: [D6:752011] Driver on /var/run/nut/nutdrv_qx-ups is now handling PING with 1 args
Jan 16 16:37:23 Tower nutdrv_qx[752011]: [D2:752011] send_to_one: sending PONG
Jan 16 16:37:23 Tower nutdrv_qx[752011]: [D5:752011] send_to_one: PONG
Jan 16 16:37:23 Tower nutdrv_qx[752011]: [D6:752011] send_to_one: write 5 bytes to socket 5 succeeded (ret=5): PONG

My current ups.conf:

[ups]
driver = "nutdrv_qx"
port = "auto"
protocol = voltronic
novendor
vendorid = "0665"
productid = "5161"
product = "OLHV1K5"
desc = "PowerWalker VFI 1500 CG PF1"
pollinterval = 15
serial = "xxxxxxxxxxxxxxxxxx"
bus = "001"
runtimecal = 180,100,600,50
default.battery.packs = 3
override.battery.voltage.high = 42

nut details:

`

Key Value Key Value
battery.charge 100 battery.energysave yes
battery.packs 3 battery.protection yes
battery.runtime 0 battery.voltage 041.0
battery.voltage.high 42 battery.voltage.low 31.20
battery.voltage.nominal 36.0 device.model OLHV1K5
device.serial xxxxxxxxxxxxxxxx device.type ups
driver.debug 6 driver.flag.allow_killpower 0
driver.flag.novendor enabled driver.name nutdrv_qx
driver.parameter.bus 001 driver.parameter.default.battery.packs 3
driver.parameter.override.battery.voltage.high 42 driver.parameter.pollfreq 30
driver.parameter.pollinterval 15 driver.parameter.port auto
driver.parameter.product OLHV1K5 driver.parameter.productid 5161
driver.parameter.protocol voltronic driver.parameter.runtimecal 180,100,600,50
driver.parameter.serial xxxxxxxxxxxxxx driver.parameter.synchronous auto
driver.parameter.vendorid 0665 driver.state quiet
driver.version 2.8.2 driver.version.data Voltronic 0.08
driver.version.internal 0.36 driver.version.usb libusb-1.0.27 (API: 0x100010a)
input.current.nominal 6.0 input.frequency 50.0
input.frequency.high 53.0 input.frequency.low 47.0
input.frequency.nominal 50.0 input.phases 1
input.transfer.high 237 input.transfer.high.max 254
input.transfer.high.min 237 input.transfer.low 218
input.transfer.low.max 223 input.transfer.low.min 206
input.voltage 239.0 input.voltage.nominal 230.0
outlet.0.switchable no output.current 1.5
output.current.nominal 6 output.frequency 50.0
output.frequency.nominal 50.0 output.phases 1
output.power.maximum.percent 22 output.power.minimum.percent 16
output.powerfactor 1.0 output.voltage 229.2
output.voltage.nominal 230.0 ups.beeper.status enabled
ups.delay.shutdown 30 ups.delay.start 180
ups.firmware 01574.05 ups.firmware.aux P01
ups.load 23 ups.power.nominal 1500
ups.productid 5161 ups.start.auto yes
ups.start.battery yes ups.status OL
ups.temperature 16.8 ups.type online
ups.vendorid 0665  
`

@hexproxy
Copy link
Author

I was now testing this added this line into ups.conf:

override.battery.runtime = 1800

This line gave me an runtime left of 30 minutes. Not sure if that value is the right one. But when i use the override.* like you wrote.
The time stays and doesn't disappear like it did before when i only used default.*

@jimklimov
Copy link
Member

Well, at least that works. Unfortunately this time would also be misleading as it would stay at 30 minutes while the battery is drained (because override).

I think it would be helpful to log the driver start-up with debug, e.g. after stopping other driver instances (service or manual), run one data-dumping loop, e.g. (assuming Debian-ish paths):

:; /lib/nut/nutdrv_qx -DDDDDD -a ups -d 1

...to see how it initializes the values it decides to run with.

I wonder if that ---.- field in the protocol reply is the remaining runtime, and becomes the "reported" zero which disables guesstimation?

@jimklimov
Copy link
Member

jimklimov commented Jan 16, 2025

So... per https://github.com/networkupstools/nut/blob/master/drivers/nutdrv_qx_voltronic.c#L1126-L1137 the battery.runtime should be reported as part of the reply to of QBV query, expected in bytes 17..19 (inclusive), like this:

(026.5 02 01 068 255\r

The reply of your UPS however is longer:

(041.0 03 01 100 00037\r

So these 3 bytes are 000 which we see as what the driver considers a definitive answer of the zero runtime.

Does 37 min look realistic with your UPS and load in practice? (The driver then goes to call voltronic_batt_runtime() to report in seconds, as NUT standard goes, so the correct report would be 2220 or so).

FWIW, the other values are allegedly:

  • 041.0 - battery.voltage
  • 03 - battery_number (hm, non-standard); per man page this is only seen in this subdriver, also can be passed as a driver configuration parameter:

battery_number = 'value'::
Set number of batteries that make a pack to 'value' [+1..9+].
This setting will change the charge and runtime estimation reported by the UPS.

  • 01 - battery.packs
  • 100 - battery.charge
  • 00037 - battery.runtime (botched so far)

@jimklimov
Copy link
Member

jimklimov commented Jan 16, 2025

Ultimately, this promises to be an easy fix, but you would need a custom build of NUT to test and use it :)

https://github.com/networkupstools/nut/wiki/Building-NUT-for-in%E2%80%90place-upgrades-or-non%E2%80%90disruptive-tests should help you get started with a build environment...

To check out the tested code,

:; git clone https://github.com/jimklimov/nut -b issue-2765 nut-issue-2765
:; cd nut-issue-2765
:; ./ci_build.sh inplace
...

jimklimov added a commit to jimklimov/nut that referenced this issue Jan 16, 2025
@hexproxy
Copy link
Author

hexproxy commented Jan 16, 2025

Ultimately, this promises to be an easy fix, but you would need a custom build of NUT to test and use it :)

https://github.com/networkupstools/nut/wiki/Building-NUT-for-in%E2%80%90place-upgrades-or-non%E2%80%90disruptive-tests should help you get started with a build environment...

To check out the tested code,

:; git clone https://github.com/jimklimov/nut -b issue-2765 nut-issue-2765
:; cd nut-issue-2765
:; ./ci_build.sh inplace
...

Nice to see that you probably have an fix for this :). Look like I have to wait to NUT release 2.8.3 since i can't run the commands:

:; git clone https://github.com/jimklimov/nut -b issue-2765 nut-issue-2765
:; cd nut-issue-2765
:; ./ci_build.sh inplace
...

I'm running unRaid server with the NUT Plugin.

Image

I was also testing the preview (lastest build)
Network UPS Tools upsdrvctl - UPS driver controller 2.8.2.1 (development iteration after 2.8.2)

But still the same with no runtime.

Does 37 min look realistic with your UPS and load in practice? (The driver then goes to call voltronic_batt_runtime() to report in seconds, as NUT standard goes, so the correct report would be 2220 or so).

The time 37 minutes look right I believe. I have to fire up the ViewPower software and check. But I'm sure i have seen that time.

Image

@jimklimov
Copy link
Member

jimklimov commented Jan 16, 2025

Maybe @desertwitch can walk you through building a plugin, or would post a binary to try?

Although if you have another computer (or can spin up a VM with USB pass-through on, say, your laptop), you can try in that.

@jimklimov jimklimov added the unraid Integration of NUT into unraid OS label Jan 16, 2025
@jimklimov jimklimov added this to the 2.8.3 milestone Jan 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
impacts-release-2.7.4 Issues reported against NUT release 2.7.4 (maybe vanilla or with minor packaging tweaks) impacts-release-2.8.0 Issues reported against NUT release 2.8.0 (maybe vanilla or with minor packaging tweaks) impacts-release-2.8.1 Issues reported against NUT release 2.8.1 (maybe vanilla or with minor packaging tweaks) impacts-release-2.8.2 Issues reported against NUT release 2.8.2 (maybe vanilla or with minor packaging tweaks) Incorrect or missing readings On some devices driver-reported values are systemically off (e.g. x10, x0.1, const+Value, etc.) PowerWalker PowerWalker and BlueWalker branded devices Qx protocol driver Driver based on Megatec Q<number> such as new nutdrv_qx, or obsoleted blazer and some others unraid Integration of NUT into unraid OS USB
Projects
Status: Todo
Development

Successfully merging a pull request may close this issue.

2 participants