Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions NEWS.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,9 @@ https://github.com/networkupstools/nut/milestone/13
an initialization failure with certain UPS models (e.g., SVC
VP-1250-LCD) that return a 7-byte report instead of the standard 6 bytes,
allowing the Megatec payload to be successfully reconstructed. [PR #3485]
* Modified `voltronic-qs` subdriver to request the QI command, supplying
NUT with battery charge, runtime, input frequency, output current, and
input transfer low/high values.

- Introduced a new NUT driver named `ragtech` which provides support for the
Ragtech "Easy Pro" family of line-interactive UPS units (also sold under
Expand Down
1 change: 1 addition & 0 deletions data/driver.list.in
Original file line number Diff line number Diff line change
Expand Up @@ -1233,6 +1233,7 @@
"Powermatic" "ups" "2" "Cleanline L-1000C" "USB" "nutdrv_qx" # https://alioth-lists.debian.net/pipermail/nut-upsdev/2024-September/008015.html

"PowerShield" "ups" "2" "Defender 1200VA" "USB" "blazer_usb"
"PowerShield" "ups" "2" "PSDR800" "USB" "nutdrv_qx protocol=voltronic-qs"

"PowerTech" "ups" "1" "Comp1000" "DTR cable power" "genericups upstype=3"
"PowerTech" "ups" "2" "SMK-800" "" "blazer_ser"
Expand Down
3 changes: 2 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 3783 utf-8
personal_ws-1.1 en 3784 utf-8
AAC
AAS
ABI
Expand Down Expand Up @@ -1088,6 +1088,7 @@ QFRE
QGR
QGS
QHE
QI
QID
QLDL
QMD
Expand Down
15 changes: 15 additions & 0 deletions drivers/nutdrv_qx_voltronic-qs.c
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,20 @@ static item_t voltronic_qs_qx2nut[] = {
{ "battery.voltage.nominal", 0, NULL, "F\r", "", 22, '#', "", 11, 15, "%.1f", QX_FLAG_STATIC, NULL, NULL, NULL },
{ "output.frequency.nominal", 0, NULL, "F\r", "", 22, '#', "", 17, 20, "%.0f", QX_FLAG_STATIC, NULL, NULL, NULL },

/* Query UPS for charge and runtime
* > [QI\r]
* < [(100 00979 50.0 000.3 177 290 0 0000010000112000\r]
* 0123456789012345678901234567890123456789012345678
* 0 1 2 3 4
*/

{ "battery.charge", 0, NULL, "QI\r", "", 49, '(', "", 1, 3, "%.0f", 0, NULL, NULL, NULL },
{ "battery.runtime", 0, NULL, "QI\r", "", 49, '(', "", 5, 9, "%.0f", 0, NULL, NULL, NULL },
{ "input.frequency", 0, NULL, "QI\r", "", 49, '(', "", 11, 14, "%.1f", 0, NULL, NULL, NULL },
{ "output.current", 0, NULL, "QI\r", "", 49, '(', "", 16, 20, "%.1f", 0, NULL, NULL, NULL },
{ "input.transfer.low", 0, NULL, "QI\r", "", 49, '(', "", 22, 24, "%.0f", QX_FLAG_STATIC, NULL, NULL, NULL },
{ "input.transfer.high", 0, NULL, "QI\r", "", 49, '(', "", 26, 28, "%.0f", QX_FLAG_STATIC, NULL, NULL, NULL },

/* Instant commands */
{ "beeper.toggle", 0, NULL, "Q\r", "", 0, 0, "", 1, 3, NULL, QX_FLAG_CMD, NULL, NULL, NULL },
{ "load.off", 0, NULL, "S00R0000\r", "", 0, 0, "", 1, 3, NULL, QX_FLAG_CMD, NULL, NULL, NULL },
Expand All @@ -123,6 +137,7 @@ static item_t voltronic_qs_qx2nut[] = {
static testing_t voltronic_qs_testing[] = {
{ "QS\r", "(215.0 195.0 230.0 014 49.0 22.7 30.0 00000000\r", -1 },
{ "F\r", "#220.0 003 12.00 50.0\r", -1 },
{ "QI\r", "(100 00979 50.0 000.3 177 290 0 0000010000112000\r", -1}
{ "M\r", "V\r", -1 },
{ "Q\r", "", -1 },
{ "C\r", "", -1 },
Expand Down
Loading