OpenWRT/LEDE support for APC UPSes is only partial: although the collectd apcups plugin is included, related lua/luci code is missing. These changes add the lua side and have been used for ~2 years, both on OpenWRT and LEDE. Reworked from patches submitted by James Klaas to the luci development list in 2015. Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
101 lines
2.2 KiB
Lua
101 lines
2.2 KiB
Lua
-- Copyright 2015 Jo-Philipp Wich <jow@openwrt.org>
|
|
-- Licensed to the public under the Apache License 2.0.
|
|
|
|
module("luci.statistics.rrdtool.definitions.apcups",package.seeall)
|
|
|
|
function rrdargs( graph, plugin, plugin_instance, dtype )
|
|
|
|
local voltages = {
|
|
title = "%H: Voltages on APC UPS ",
|
|
vlabel = "V",
|
|
number_format = "%5.1lfV",
|
|
data = {
|
|
instances = {
|
|
voltage = { "battery", "input", "output" }
|
|
},
|
|
|
|
options = {
|
|
voltage_output = { color = "00e000", title = "Output voltage", noarea=true, overlay=true },
|
|
voltage_battery = { color = "0000ff", title = "Battery voltage", noarea=true, overlay=true },
|
|
voltage_input = { color = "ffb000", title = "Input voltage", noarea=true, overlay=true }
|
|
}
|
|
}
|
|
}
|
|
|
|
local percentload = {
|
|
title = "%H: Load on APC UPS ",
|
|
vlabel = "Percent",
|
|
y_min = "0",
|
|
y_max = "100",
|
|
number_format = "%5.1lf%%",
|
|
data = {
|
|
sources = {
|
|
percent_load = { "value" }
|
|
},
|
|
instances = {
|
|
percent = "load"
|
|
},
|
|
options = {
|
|
percent_load = { color = "00ff00", title = "Load level" }
|
|
}
|
|
}
|
|
}
|
|
|
|
local charge_percent = {
|
|
title = "%H: Battery charge on APC UPS ",
|
|
vlabel = "Percent",
|
|
y_min = "0",
|
|
y_max = "100",
|
|
number_format = "%5.1lf%%",
|
|
data = {
|
|
types = { "charge" },
|
|
options = {
|
|
charge = { color = "00ff0b", title = "Charge level" }
|
|
}
|
|
}
|
|
}
|
|
|
|
local temperature = {
|
|
title = "%H: Battery temperature on APC UPS ",
|
|
vlabel = "\176C",
|
|
number_format = "%5.1lf\176C",
|
|
data = {
|
|
types = { "temperature" },
|
|
options = {
|
|
temperature = { color = "ffb000", title = "Battery temperature" } }
|
|
}
|
|
}
|
|
|
|
local timeleft = {
|
|
title = "%H: Time left on APC UPS ",
|
|
vlabel = "Minutes",
|
|
number_format = "%.1lfm",
|
|
data = {
|
|
sources = {
|
|
timeleft = { "value" }
|
|
},
|
|
options = {
|
|
timeleft = { color = "0000ff", title = "Time left" }
|
|
}
|
|
}
|
|
}
|
|
|
|
local frequency = {
|
|
title = "%H: Incoming line frequency on APC UPS ",
|
|
vlabel = "Hz",
|
|
number_format = "%5.0lfhz",
|
|
data = {
|
|
sources = {
|
|
frequency_input = { "value" }
|
|
},
|
|
instances = {
|
|
frequency = "frequency"
|
|
},
|
|
options = {
|
|
frequency_frequency = { color = "000fff", title = "Line frequency" }
|
|
}
|
|
}
|
|
}
|
|
|
|
return { voltages, percentload, charge_percent, temperature, timeleft, frequency }
|
|
end
|