[[outlet_management]]
NUT outlets management and PDU notes
====================================

//////////////////////////////////////////////////////////////////////////////
// You can find a rendered variant of this document on the web at
// https://networkupstools.org/docs/user-manual.chunked/outlet_management.html
//////////////////////////////////////////////////////////////////////////////

NUT supports advanced outlets management for any kind of device that proposes
it. This chapter introduces how to manage outlets in general, and how to take
advantage of the provided features.

Introduction
------------

Outlets are the core of Power Distribution Units. They allow you to turn on,
turn off or cycle the load on each outlet.

Some UPS models also provide manageable outlets (Eaton, MGE, Powerware,
Tripplite, ...) that help save power in various ways, and manage loads more
intelligently.

Finally, some devices can be managed in a PDU-like way. Consider blade systems:
the blade chassis can be controlled remotely to turn on, turn off or
cycle the power on individual blade servers.

NUT allows you to control all these devices!


NUT outlet data collection
--------------------------

NUT provides a complete and uniform integration of outlets related data,
through the 'outlet' collection.

First, there is a special outlet, called 'main outlet'.
You can access it through 'outlet.{id, desc, ...}' without any index.

Any modification through the 'main outlet' will affect *all* outlets.
For example, calling the command 'outlet.load.cycle' will cycle all outlets.

Next, outlets index starts from *1*. Index '0' is implicitly reserved to
the 'main outlet'. So the first outlet is 'outlet.1.*'.

For a complete list of outlet data and commands, refer to the
<<nut-names,NUT command and variable naming scheme>>.

An example upsc output (data/epdu-managed.dev) is available in the source
archive.

NOTE: The variables supported depend on the exact device type.


Outlets on PDU
--------------

Smart Power Distribution Units provide at least various meters, related to
current, power and voltage.

Some more advanced devices also provide control through the 'load.off',
'load.on' and 'load.cycle' commands.

Outlets on UPS
--------------

Some advanced Uninterruptible Power Supplies provide smart outlet management.

This allows to program a limited backup time to non-critical loads in order
to keep the maximum of the battery reserve for critical equipment.

This also allows the same remote electrical management of devices provided
by PDUs, which can be very interesting in Data Centers.

For example, on small setup, you can plug printers, USB devices, hubs, (...)
into managed outlets. Depending on your UPS's capabilities, you will be able
to turn off those loads:

- after some minutes of back-up time using 'outlet.n.delay.start',
- when reaching a percentage battery charge using
'outlet.n.autoswitch.charge.low'.

This will ensure a maximum runtime for the computer.

On bigger systems, with bigger UPSs, this is the same thing with servers
instead of small devices.

NOTE: If you need the scheduling function and your device doesn't support
it, you can still use
<<Advanced_usage_scheduling_notes,NUT scheduling features>>.

WARNING: Do not plug the UPS's communication cable (USB or network) on a
managed outlet. Otherwise, all computers will be stopped as soon as the
communication is lost.

Other type of devices
---------------------

As mentioned in the introduction, some other devices can be considered and
managed like PDUs. This is the case in most blade systems, where the blade
chassis offers power management services.

This way, you can control remotely each blade server as if it were a PDU
outlet.

This category of devices is generally called Remote Power Controls --
or "RPC" in NUT.
