aboutsummaryrefslogtreecommitdiffstats
path: root/upsmartmonitor.py
diff options
context:
space:
mode:
Diffstat (limited to 'upsmartmonitor.py')
-rw-r--r--upsmartmonitor.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/upsmartmonitor.py b/upsmartmonitor.py
index 360f375..db8d622 100644
--- a/upsmartmonitor.py
+++ b/upsmartmonitor.py
@@ -1,6 +1,7 @@
from influxdb_client import InfluxDBClient, Point, WritePrecision
from influxdb_client.client.write_api import SYNCHRONOUS
import dotenv
+import datetime
import pytesseract
import subprocess
import tempfile
@@ -18,7 +19,8 @@ ROIS = {
"temperature": ((356, 312, 92, 27), True),
"battery_capacity": ((566, 312, 90, 26), True),
"ups_status": ((304, 429, 87, 23), False),
- "utility_status": ((523, 427, 121, 32), False)
+ "utility_status": ((523, 427, 121, 32), False),
+ "discharge_time": ((217, 385, 58, 16), False)
}
def get_window_geometries():
@@ -62,6 +64,7 @@ def read_image(im_path):
fields[field] = ocr
fields["on_battery"] = int(fields["utility_status"] != 'Utility Normal')
+ fields["discharge_time"] = datetime.timedelta(**dict(zip(["hours", "minutes", "seconds"], [int(i) for i in fields["discharge_time"].split(":")]))).seconds
return fields
def influx_write(fields):
@@ -77,20 +80,21 @@ def influx_write(fields):
os.environ["DOCKER_INFLUXDB_INIT_BUCKET"],
os.environ["DOCKER_INFLUXDB_INIT_ORG"],
[{
- "measurement": "ups_status",
+ "measurement": "upsmartmonitor",
"fields": fields
}],
write_precision = WritePrecision.S
)
def main():
- focus_upsmart()
+ # focus_upsmart()
with tempfile.TemporaryDirectory() as td:
- fp = os.path.join(td, "upsmart.png")
- subprocess.run(["gnome-screenshot", "--file=%s" % fp, "-w"])
+ # fp = os.path.join(td, "upsmart.png")
+ # subprocess.run(["gnome-screenshot", "--file=%s" % fp, "-w"])
- fields = read_image(fp)
+ fields = read_image("upsmart.jpg")
+ # fields = read_image(fp)
print(json.dumps(fields, indent = 4))
influx_write(fields)