Deploy to docker PLS
This commit is contained in:
parent
bde886da72
commit
9e93b732ec
58
main.py
58
main.py
@ -2,6 +2,51 @@
|
||||
## Requires NUT2 from PIP
|
||||
from nut2 import PyNUTClient
|
||||
import os
|
||||
import requests
|
||||
import json
|
||||
from datetime import datetime
|
||||
from influxdb import InfluxDBClient
|
||||
from time import sleep
|
||||
|
||||
|
||||
|
||||
|
||||
### telegram logging
|
||||
# API Key
|
||||
apikey = '1857016076:AAGVag6tEtEpJHNpPtLyHYU-JsnN7arwDRk'
|
||||
# Key of your chat.
|
||||
chatid = '840699197'
|
||||
|
||||
def logTelegram(message):
|
||||
os.system("curl --silent -X POST https://api.telegram.org/bot" + apikey + "/sendMessage -d chat_id=" + chatid +" -d text=\""+ message +"\"")
|
||||
### end telegram logging
|
||||
|
||||
|
||||
def uploadInflux(data, host='192.168.0.13', port=8086): # Main upload
|
||||
for UPS in data:
|
||||
# bind_params = {'host': str(UPS)}
|
||||
json_body = [
|
||||
{
|
||||
"measurement": "data",
|
||||
"tags": {
|
||||
'ups': str(UPS),
|
||||
},
|
||||
|
||||
"fields": {
|
||||
"battery": data[UPS]["battery.charge"],
|
||||
"runtime-s": data[UPS]["battery.runtime"],
|
||||
"load": data[UPS]["ups.load"],
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
client = InfluxDBClient(host, port, database = "telegraf") # Init connection to Influx Server
|
||||
client.write_points(json_body) # Write Speedtest results
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# try:
|
||||
# hostList = os.environ["hosts"]
|
||||
@ -21,13 +66,20 @@ for host in hostList:
|
||||
for UPS in client.list_ups():
|
||||
upslist[host].append(UPS)
|
||||
|
||||
print(upslist)
|
||||
# print(upslist)
|
||||
|
||||
data = {}
|
||||
|
||||
## Pull whatever data we would like into a dict of each ups
|
||||
for host in upslist:
|
||||
client = PyNUTClient(host, '3493')
|
||||
for UPS in upslist[host]:
|
||||
print()
|
||||
print("{} Battery Percent: {}%".format(UPS, client.list_vars(UPS)['battery.charge']))
|
||||
data[UPS] = client.list_vars(UPS)
|
||||
|
||||
uploadInflux(data)
|
||||
|
||||
|
||||
|
||||
|
||||
# client = PyNUTClient('10.0.5.181', '3493')
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user