diff --git a/main.py b/main.py index 38575ab..08dce01 100644 --- a/main.py +++ b/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')