Skip to content

Commit

Permalink
Merge pull request networkupstools#2620 from masterwishx/master
Browse files Browse the repository at this point in the history
Add missing values for ECO Mode Eaton
  • Loading branch information
jimklimov authored Sep 13, 2024
2 parents 945b4bb + b8abfc1 commit 501bbdc
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 2 deletions.
7 changes: 7 additions & 0 deletions data/cmdvartab
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,13 @@ VARDESC input.voltage.nominal "Nominal input voltage (V)"
VARDESC input.transfer.reason "Reason for last transfer to battery"
VARDESC input.transfer.low "Low voltage transfer point (V)"
VARDESC input.transfer.high "High voltage transfer point (V)"
VARDESC input.transfer.eco.low "Low voltage ECO transfer point (V)"
VARDESC input.transfer.bypass.low "Low voltage Bypass transfer point (V)"
VARDESC input.transfer.eco.high "High voltage ECO transfer point (V)"
VARDESC input.transfer.bypass.high "High voltage Bypass transfer point (V)"
VARDESC input.transfer.frequency.bypass.range "Frequency range Bypass transfer point (percent of nominal Hz)"
VARDESC input.transfer.frequency.eco.range "Frequency range ECO transfer point (percent of nominal Hz)"
VARDESC input.transfer.hysteresis "Threshold of switching protection modes, voltage transfer point (V)"
VARDESC input.transfer.low.min "smallest settable low voltage transfer point (V)"
VARDESC input.transfer.low.max "greatest settable low voltage transfer point (V)"
VARDESC input.transfer.high.min "smallest settable high voltage transfer point (V)"
Expand Down
40 changes: 40 additions & 0 deletions docs/nut-names.txt
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,20 @@ input: Incoming line/power information
transfer point (V) | 230
| input.transfer.trim.high | High voltage trimming
transfer point (V) | 240
| input.transfer.eco.low | Low voltage ECO
transfer point (V) | 218
| input.transfer.bypass.low | Low voltage Bypass
transfer point (V) | 184
| input.transfer.eco.high | High voltage ECO
transfer point (V) | 241
| input.transfer.bypass.high | High voltage Bypass
transfer point (V) | 264
| input.transfer.frequency.bypass.range | Frequency range Bypass transfer
point (percent of nominal Hz) | 10
| input.transfer.frequency.eco.range | Frequency range ECO transfer
point (percent of nominal Hz) | 5
| input.transfer.hysteresis | Threshold of switching protection modes,
voltage transfer point (V) | 10
| input.load | Load on (ePDU) input (percent
of full) | 25
| input.realpower | Current sum value of all (ePDU)
Expand All @@ -305,6 +319,32 @@ input: Incoming line/power information
sources (degrees) | 181
|=================================================================================

[NOTE]
.Input Voltage Hysteresis
======
The input voltage hysteresis concept refers to a specific behavior related
to how some UPS models can handle changes in input voltage.

When the UPS is running normally (powered by utility or generator), it
maintains a steady output voltage for your critical equipment. But what
if the input voltage "wiggles" a bit due to fluctuations or other minor
disturbances?

Rapid switching between UPS protection modes (utility power to battery
and vice versa) can stress both the UPS and its connected devices.

So, some UPS models set up thresholds: If the input voltage drops below
a certain "Low" level, the UPS won't immediately switch to battery mode.
Instead, it waits until it is sure the voltage stays consistently low
for a bit. Similarly, if the input voltage rises above another threshold
(the "High" level), the UPS won't rush back to normal mode. It waits for
stability.

By introducing hysteresis, such an UPS avoids unnecessary toggling, ensuring
smoother transitions and better protection for your sensitive and expensive
gear.
======

output: Outgoing power/inverter information
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Expand Down
11 changes: 9 additions & 2 deletions drivers/mge-hid.c
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
# endif
#endif

#define MGE_HID_VERSION "MGE HID 1.48"
#define MGE_HID_VERSION "MGE HID 1.49"

/* (prev. MGE Office Protection Systems, prev. MGE UPS SYSTEMS) */
/* Eaton */
Expand Down Expand Up @@ -995,7 +995,7 @@ static usage_lkp_t mge_usage_lkp[] = {
{ "DataValid", 0xffff0099 },
{ "ToggleTimer", 0xffff009a },
{ "BypassTransferDelay", 0xffff009b },
{ "HysteresysVoltageTransfer", 0xffff009c },
{ "HysteresisVoltageTransfer", 0xffff009c },
{ "SlewRate", 0xffff009d },
/* 0xffff009e-0xffff009f => Reserved */
{ "PDU", 0xffff00a0 },
Expand Down Expand Up @@ -1404,11 +1404,18 @@ static hid_info_t mge_hid2nut[] =
{ "input.frequency.nominal", 0, 0, "UPS.Flow.[1].ConfigFrequency", NULL, "%.0f", HU_FLAG_STATIC, NULL },
/* same as "input.transfer.boost.low" */
{ "input.transfer.low", ST_FLAG_RW | ST_FLAG_STRING, 5, "UPS.PowerConverter.Output.LowVoltageTransfer", NULL, "%.0f", HU_FLAG_SEMI_STATIC, NULL },
{ "input.transfer.eco.low", ST_FLAG_RW | ST_FLAG_STRING, 5, "UPS.PowerConverter.Output.LowVoltageEcoTransfer", NULL, "%.0f", HU_FLAG_SEMI_STATIC, NULL },
{ "input.transfer.bypass.low", ST_FLAG_RW | ST_FLAG_STRING, 5, "UPS.PowerConverter.Output.LowVoltageBypassTransfer", NULL, "%.0f", HU_FLAG_SEMI_STATIC, NULL },
{ "input.transfer.boost.low", ST_FLAG_RW | ST_FLAG_STRING, 5, "UPS.PowerConverter.Output.LowVoltageBoostTransfer", NULL, "%.0f", HU_FLAG_SEMI_STATIC, NULL },
{ "input.transfer.boost.high", ST_FLAG_RW | ST_FLAG_STRING, 5, "UPS.PowerConverter.Output.HighVoltageBoostTransfer", NULL, "%.0f", HU_FLAG_SEMI_STATIC, NULL },
{ "input.transfer.trim.low", ST_FLAG_RW | ST_FLAG_STRING, 5, "UPS.PowerConverter.Output.LowVoltageBuckTransfer", NULL, "%.0f", HU_FLAG_SEMI_STATIC, NULL },
/* same as "input.transfer.trim.high" */
{ "input.transfer.high", ST_FLAG_RW | ST_FLAG_STRING, 5, "UPS.PowerConverter.Output.HighVoltageTransfer", NULL, "%.0f", HU_FLAG_SEMI_STATIC, NULL },
{ "input.transfer.eco.high", ST_FLAG_RW | ST_FLAG_STRING, 5, "UPS.PowerConverter.Output.HighVoltageEcoTransfer", NULL, "%.0f", HU_FLAG_SEMI_STATIC, NULL },
{ "input.transfer.bypass.high", ST_FLAG_RW | ST_FLAG_STRING, 5, "UPS.PowerConverter.Output.HighVoltageBypassTransfer", NULL, "%.0f", HU_FLAG_SEMI_STATIC, NULL },
{ "input.transfer.frequency.bypass.range", ST_FLAG_RW | ST_FLAG_STRING, 5, "UPS.PowerConverter.Output.FrequencyRangeBypassTransfer", NULL, "%.0f", HU_FLAG_SEMI_STATIC, NULL },
{ "input.transfer.frequency.eco.range", ST_FLAG_RW | ST_FLAG_STRING, 5, "UPS.PowerConverter.Output.FrequencyRangeEcoTransfer", NULL, "%.0f", HU_FLAG_SEMI_STATIC, NULL },
{ "input.transfer.hysteresis", ST_FLAG_RW | ST_FLAG_STRING, 5, "UPS.PowerConverter.Output.HysteresisVoltageTransfer", NULL, "%.0f", HU_FLAG_SEMI_STATIC, NULL },
{ "input.transfer.trim.high", ST_FLAG_RW | ST_FLAG_STRING, 5, "UPS.PowerConverter.Output.HighVoltageBuckTransfer", NULL, "%.0f", HU_FLAG_SEMI_STATIC, NULL },
{ "input.sensitivity", ST_FLAG_RW | ST_FLAG_STRING, 10, "UPS.PowerConverter.Output.SensitivityMode", NULL, "%s", HU_FLAG_SEMI_STATIC, mge_sensitivity_info },
{ "input.voltage.extended", ST_FLAG_RW | ST_FLAG_STRING, 5, "UPS.PowerConverter.Output.ExtendedVoltageMode", NULL, "%s", HU_FLAG_SEMI_STATIC, yes_no_info },
Expand Down

0 comments on commit 501bbdc

Please sign in to comment.