I've recently been working a bit on adding PDU
(http://en.wikipedia.org/wiki/Power_distribution_unit) support in NUT.
Some of you might have seen the Powerman thread, which also deals with
adding more PDUs support:
http://powerman.sourceforge.net/supported.html

The result is that we now have support for 2 Eaton | Powerware ePDUs
(Managed and Monitored iirc, check http://www.epdu.com).
I plan on adding the 2 other models soon.
It is using snmp-ups and I've attached an upsc/upscmd output of the
managed unit for info.
The patch isn't commited yet, but it's limited to adding a xx-mib.h
file, and some doc update. I've also switched to a 2 decimal
resolution in snmp-ups.

The things to be noticed are:
- since NUT is UPS centric, the ups collection doesn't fit for the
purpose (ups.status most of all)
- a new collection ("device") has to be created, to make NUT more generic.
This would consist of the following generic / common data extracted
from the ups collection:
       device.model
       device.mfr
       device.serial
       device.type (while keeping ups.status for single / three phase)
and possibly
       device.id
       device.firmware
       device.temperature

    * the outlet collection has to be extended with the following data:
       outlet.n.current: Current (milliamps RMS)
       outlet.n.current.maximum: Maximum seen current (milliamps RMS)
       outlet.n.realpower: Current value of real power (Watts)
       outlet.n.voltage: Voltage (V)
       outlet.n.powerfactor: Power Factor (dimensionless value between
0.00 and 1.00)
       outlet.n.power: Apparent power (VA)

- status_{}() needs only to process when device.type=ups


More generally, I think that NUT is able to handle the smart power
devices that will appear in the future.
And the above change will help in going in that direction.

comments / feedback?

Arnaud
-- 
Linux / Unix Expert R&D - MGE Office Protection Systems - http://www.mgeops.com
Network UPS Tools (NUT) Project Leader - http://www.networkupstools.org/
Debian Developer - http://people.debian.org/~aquette/
Free Software Developer - http://arnaud.quette.free.fr/
$ upsc aphel
driver.name: snmp-ups
driver.parameter.pollinterval: 2
driver.parameter.port: 166.99.250.76
driver.version: 2.3.0-1540MS
driver.version.internal: 0.44 (mib: aphel_revelation 0.2)
outlet.1.current: 0.00
outlet.1.current.maximum: 0.00
outlet.1.desc: Outlet 1
outlet.1.id: 1
outlet.1.power: 0.00
outlet.1.powerfactor: 0.05
outlet.1.realpower: 0.00
outlet.1.status: on
outlet.1.switchable: 0.00
outlet.1.voltage: 247.00
outlet.2.current: 0.00
outlet.2.current.maximum: 0.16
outlet.2.desc: Outlet 2
outlet.2.id: 2
outlet.2.power: 0.00
outlet.2.powerfactor: 0.01
outlet.2.realpower: 0.00
outlet.2.status: on
outlet.2.switchable: 1.00
outlet.2.voltage: 247.00
outlet.3.current: 0.00
outlet.3.current.maximum: 0.16
outlet.3.desc: Outlet 3
outlet.3.id: 3
outlet.3.power: 0.00
outlet.3.powerfactor: 0.13
outlet.3.realpower: 0.00
outlet.3.status: on
outlet.3.switchable: 2.00
outlet.3.voltage: 247.00
outlet.4.current: 0.19
outlet.4.current.maximum: 0.56
outlet.4.desc: Outlet 4
outlet.4.id: 2
outlet.4.power: 46.00
outlet.4.powerfactor: 0.60
outlet.4.realpower: 28.00
outlet.4.status: on
outlet.4.switchable: 3.00
outlet.4.voltage: 247.00
outlet.count: 4.00
outlet.current: 0.19
outlet.desc: All outlets
outlet.id: 0
outlet.power: 46.00
outlet.realpower: 28.00
outlet.voltage: 247.00
ups.firmware: 01.01.00
ups.id: my_device234
ups.macaddr: 
ups.mfr: EATON | Powerware
ups.model: DBQ10634/5
ups.serial: ADO6750531
ups.status: 
ups.temperature: 49.00
ups.type: pdu


$ upscmd -l aphel
Instant commands supported on UPS [aphel]:

outlet.1.load.cycle - Description unavailable
outlet.1.load.off - Turn off the load on outlet 1 immediately
outlet.1.load.on - Turn on the load on outlet 1 immediately
outlet.2.load.cycle - Description unavailable
outlet.2.load.off - Turn off the load on outlet 2 immediately
outlet.2.load.on - Turn on the load on outlet 2 immediately
outlet.3.load.cycle - Description unavailable
outlet.3.load.off - Description unavailable
outlet.3.load.on - Description unavailable
outlet.4.load.cycle - Description unavailable
outlet.4.load.off - Description unavailable
outlet.4.load.on - Description unavailable
_______________________________________________
Nut-upsdev mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/nut-upsdev

Reply via email to