[Nut-upsdev] nutdrv_qx and Best Power equipment

Charles Lepple clepple at gmail.com
Sat Nov 1 13:35:40 UTC 2014

Hi Daniele,

I finally got a Best Power Patriot Pro II fixed up with a new battery and cable, and tried it with nutdrv_qx (since it uses a variant of the Q1 protocol). It auto-detected the use of Q1.

It looks like things mostly work:


battery.charge: 100.0
battery.voltage: 13.9
battery.voltage.nominal: 12
device.mfr: Best Power
device.model: Patriot Pro II 400
device.type: ups
driver.name: bestups
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/ttyUSB0
driver.version: 2.6.4
driver.version.internal: 1.06
input.frequency: 60.0
input.voltage: 119.9
input.voltage.nominal: 120
output.voltage: 119.9
output.voltage.nominal: 120
ups.load: 000
ups.mfr: Best Power
ups.model: Patriot Pro II 400
ups.status: OL


battery.voltage: 13.90
device.type: ups
driver.name: nutdrv_qx
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/ttyUSB0
driver.version: 2.7.2-signed-65-gefa7bc9
driver.version.data: Q1 0.03
driver.version.internal: 0.12
input.frequency: 60.0
input.voltage: 119.9
input.voltage.fault: 119.9
output.voltage: 119.9
ups.beeper.status: disabled
ups.delay.shutdown: 30
ups.delay.start: 180
ups.load: 0
ups.status: OL BYPASS
ups.type: offline / line interactive

A few observations:

1) The bestups driver uses an "ID" command to retrieve the model and rating. I didn't see that exact string in the nutdrv_qx source - would the best place for that be in nutdrv_qx_q1.c, or a new source file? (I don't think there are too many differences with the other Q1 models, but I defer to your opinion on this.)

2) The Patriot Pro models have an inverted BYPASS bit: https://github.com/networkupstools/nut/blob/master/drivers/bestups.c#L63 (nutdrv_qx does log a message that the fault voltage is not as expected, but with the ID string, this bit could be inverted in the driver for those models)

3) I don't think the UPS has a serial command for setting the beeper status. (There is a button on the front panel.) At least, bestups.c does not mention it, and neither does the protocol document: http://www.networkupstools.org/protocols/sola.html

Still haven't tried the instant commands or LB, but I should have some time for that later.

Also, if you would like, I can generate and send some logs of Q1 responses to integrate into the "#ifdef TESTING" block.


Charles Lepple
clepple at gmail

More information about the Nut-upsdev mailing list