123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- /* Licensed to the public under the Apache License 2.0. */
- 'use strict';
- 'require baseclass';
- return baseclass.extend({
- title: _('UPS'),
- rrdargs: function(graph, host, plugin, plugin_instance, dtype) {
- var definitions = [];
- var instances;
- function find_instances(dtype, wanted) {
- var matching = graph.dataInstances(host, plugin, plugin_instance, dtype).filter(function(instance) {
- return wanted.indexOf(instance) > -1;
- });
- return matching.length ? { [dtype]: matching } : null;
- }
- if ((instances = find_instances('voltage', [ 'input', 'output' ])) != null) {
- definitions.push({
- title: "%H: AC voltages on UPS \"%pi\"",
- vlabel: "V",
- number_format: "%5.1lfV",
- data: {
- instances: instances,
- options: {
- voltage_output : { color: "00e000", title: "Output voltage", noarea: true, overlay: true },
- voltage_input : { color: "ffb000", title: "Input voltage", noarea: true, overlay: true }
- }
- }
- });
- }
- if ((instances = find_instances('voltage', [ 'battery' ])) != null) {
- definitions.push({
- title: "%H: Battery voltage on UPS \"%pi\"",
- vlabel: "V",
- number_format: "%5.1lfV",
- data: {
- instances: instances,
- options: {
- voltage: { color: "0000ff", title: "Battery voltage", noarea: true, overlay: true }
- }
- }
- });
- }
- if ((instances = find_instances('current', [ 'battery', 'output' ])) != null) {
- definitions.push({
- title: "%H: Current on UPS \"%pi\"",
- vlabel: "A",
- number_format: "%5.3lfA",
- data: {
- instances: instances,
- options: {
- current_output : { color: "00e000", title: "Output current", noarea: true, overlay: true },
- current_battery: { color: "0000ff", title: "Battery current", noarea: true, overlay: true }
- }
- }
- });
- }
- if ((instances = find_instances('percent', [ 'charge', 'load' ])) != null) {
- definitions.push({
- title: "%H: Battery charge/load on UPS \"%pi\"",
- vlabel: "Percent",
- y_min: "0",
- y_max: "100",
- number_format: "%5.1lf%%",
- data: {
- instances: instances,
- options: {
- percent_charge: { color: "00ff00", title: "Charge level", noarea: true, overlay: true },
- percent_load: { color: "ff0000", title: "Load", noarea: true, overlay: true }
- }
- }
- });
- }
- if ((instances = find_instances('temperature', [ 'battery' ])) != null) {
- /* Note: This is in ISO8859-1 for rrdtool. Welcome to the 20th century. */
- definitions.push({
- title: "%H: Battery temperature on UPS \"%pi\"",
- vlabel: "\u00b0C",
- number_format: "%5.1lf\u00b0C",
- data: {
- instances: instances,
- options: {
- temperature_battery: { color: "ffb000", title: "Battery temperature", noarea: true }
- }
- }
- });
- }
- if ((instances = find_instances('timeleft', [ 'battery' ])) != null) {
- definitions.push({
- title: "%H: Time left on UPS \"%pi\"",
- vlabel: "Minutes",
- number_format: "%.1lfm",
- data: {
- instances: instances,
- options: {
- timeleft_battery: { color: "0000ff", title: "Time left", transform_rpn: "60,/", noarea: true }
- }
- }
- });
- }
- if ((instances = find_instances('power', [ 'watt-ups' ])) != null) {
- definitions.push({
- title: "%H: Power on UPS \"%pi\"",
- vlabel: "Watt",
- number_format: "%5.1lf%%",
- data: {
- instances: instances,
- options: {
- ['power_watt-ups']: { color: "00ff00", title: "Power level (Watt)" }
- }
- }
- });
- }
- if ((instances = find_instances('power', [ 'ups' ])) != null) {
- definitions.push({
- title: "%H: Power on UPS \"%pi\"",
- vlabel: "VA",
- number_format: "%5.1lf%%",
- data: {
- instances: instances,
- options: {
- power_ups: { color: "00ff00", title: "Power level (VA)" }
- }
- }
- });
- }
- if ((instances = find_instances('frequency', [ 'input', 'output' ])) != null) {
- definitions.push({
- title: "%H: Frequencies on UPS \"%pi\"",
- vlabel: "Hz",
- number_format: "%5.1lfHz",
- data: {
- instances: instances,
- options: {
- frequency_output : { color: "00e000", title: "Output frequency", noarea: true, overlay: true },
- frequency_input : { color: "ffb000", title: "Input frequency", noarea: true, overlay: true }
- }
- }
- });
- }
- return definitions;
- }
- });
|