78 lines
2.1 KiB
Text
78 lines
2.1 KiB
Text
|
{
|
||
|
"properties": {
|
||
|
"model": {
|
||
|
"regex": "^\\s+Model Name\\.+ ([0-9A-Z]+)$"
|
||
|
},
|
||
|
|
||
|
},
|
||
|
"voltage": {
|
||
|
"regex": "^\\s+Rating Voltage\\.+ ([0-9]+) V$"
|
||
|
},
|
||
|
"wattage": {
|
||
|
"regex": "^\\s+Rating Power\\.+ ([0-9]+) Watt$"
|
||
|
}
|
||
|
},
|
||
|
"metrics": {
|
||
|
"state": {
|
||
|
"regex": "^\\s+State\\.+ ([A-Za-z ]+)$",
|
||
|
"index": [
|
||
|
"Normal",
|
||
|
"Power Failure"
|
||
|
],
|
||
|
"help": "The current state of the UPS.",
|
||
|
"type": "gauge"
|
||
|
},
|
||
|
"supply": {
|
||
|
"regex": "^\\s+Power Supply by\\.+ ([A-Za-z ])$",
|
||
|
"index": [
|
||
|
"Utility Power",
|
||
|
"Battery Power"
|
||
|
],
|
||
|
"help": "The current power source.",
|
||
|
"type": "gauge"
|
||
|
},
|
||
|
"in_volts": {
|
||
|
"regex": "^\\s+Utility Voltage\\.+ ([0-9]+) V$",
|
||
|
"help": "Input voltage measurement",
|
||
|
"type": "gauge"
|
||
|
},
|
||
|
"out_volts": {
|
||
|
"regex": "^\\s+Output Voltage\\.+ ([0-9]+) V$",
|
||
|
"help": "Output voltage measurement",
|
||
|
"type": "gauge"
|
||
|
},
|
||
|
"capacity": {
|
||
|
"regex": "^\\s+Battery Capacity\\.+ ([0-9]+) %$",
|
||
|
"help": "Remaining battery charge capacity.",
|
||
|
"type": "gauge"
|
||
|
},
|
||
|
"runtime": {
|
||
|
"regex": "^\\s+Remaining Runtime\\.+ ([0-9]+) ([a-z]+)\\.$",
|
||
|
"eval": "int(regex.group(1))*dict(min=60,sec=1).get(regex.group(2))",
|
||
|
"help": "Estimated remaining battery runtime in seconds.",
|
||
|
"type": "gauge"
|
||
|
},
|
||
|
"load": {
|
||
|
"regex": "^\\s+Load\\.+ ([0-9]+) Watt\\([0-9]+ %\\)$",
|
||
|
"help": "The current load on the UPS in watts.",
|
||
|
"type": "gauge"
|
||
|
},
|
||
|
"test_result": {
|
||
|
"regex": "^\\s+Test Result\\.+ ([A-Za-z]+)(?: at [0-9:/ ]+)$",
|
||
|
"index": [
|
||
|
"Passed",
|
||
|
"Failed",
|
||
|
"Unknown"
|
||
|
],
|
||
|
"help": "The test result of the last self test.",
|
||
|
"type": "gauge"
|
||
|
},
|
||
|
"test_age": {
|
||
|
"regex": "^\\s+Test Result\\.+ [A-Za-z]+ at ([0-9:/ ]+)$",
|
||
|
"eval": "int((datetime.now()-datetime.strptime(regex.group(1),'%Y/%m/%d %H:%M:%S')).total_seconds())",
|
||
|
"help": "The number of seconds since the last self test.",
|
||
|
"type": "gauge"
|
||
|
}
|
||
|
}
|
||
|
}
|