# 20020619 bog@deol.ru http://www.bog.pp.ru/hard/UPS.html#rrdtool
# $1 is UPS number
#
if [ -z "$1" ]
then
  echo Usage: ups_create.sh ups-number
  exit
fi
if [ "$1" = "1" ]
then
  host=адрес-хоста
  community=имя-сообщества
  index=имя-UPS
else
  echo Wrong UPS number
  exit
fi
rrdtool create ups.$index.rrd --step 60 DS:BatteryStatus:GAUGE:120:1:3 DS:BatteryCapacity:GAUGE:120:0:100 DS:BatteryTemperature:GAUGE:120:U:U DS:BatteryReplace:GAUGE:120:1:2 DS:InputLineVoltage:GAUGE:120:U:U DS:InputMaxLineVoltage:GAUGE:120:U:U DS:InputMinLineVoltage:GAUGE:120:U:U DS:InputFrequency:GAUGE:120:0:U DS:InputLineFailCause:GAUGE:120:1:10 DS:OutputStatus:GAUGE:120:1:12 DS:OutputVoltage:GAUGE:120:0:U DS:OutputFrequency:GAUGE:120:0:U DS:OutputLoad:GAUGE:120:0:100 DS:DiagnosticsResults:GAUGE:120:1:4 DS:CalibrationResults:GAUGE:120:1:3 DS:upsCommStatus:GAUGE:120:1:2 DS:BatteryTimeOnBatt:GAUGE:120:0:U DS:BatteryRemaining:GAUGE:120:0:U RRA:AVERAGE:0.5:1:6000 RRA:AVERAGE:0.5:6:7000 RRA:AVERAGE:0.5:24:7750 RRA:AVERAGE:0.5:288:8000

## TODO
## имена DS в основном соответствуют Object Description PowerNet-MIB,
##	но пришлось укоротить (имя DS должно быть короче 19 символов),
##      удалив upsBasic, upsAdv и что-нибудь еще
# 1234567890123456789
#
# BatteryStatus                    upsBasicBatteryStatus (enum)
# BatteryCapacity                  upsAdvBatteryCapacity
# BatteryTemperature               upsAdvBatteryTemperature
# BatteryReplace                   upsAdvBatteryReplaceIndicator (enum)
# InputLineVoltage                 upsAdvInputLineVoltage
# InputMaxLineVoltage              upsAdvInputMaxLineVoltage
# InputMinLineVoltage              upsAdvInputMinLineVoltage
# InputFrequency                   upsAdvInputFrequency
# InputLineFailCause               upsAdvInputLineFailCause (enum)
# OutputStatus                     upsBasicOutputStatus (enum)
# OutputVoltage                    upsAdvOutputVoltage
# OutputFrequency                  upsAdvOutputFrequency
# OutputLoad                       upsAdvOutputLoad
# DiagnosticsResults               upsAdvTestDiagnosticsResults (enum)
# CalibrationResults               upsAdvTestCalibrationResults (enum)
# upsCommStatus                    upsCommStatus (enum)

# snmpget возвращает значение в "человеческой форме" вместо тиков
## BatteryTimeOnBatt                upsBasicBatteryTimeOnBattery
## BatteryRemaining                 upsAdvBatteryRunTimeRemaining

