diff options
| author | jwansek <eddie.atten.ea29@gmail.com> | 2026-01-03 19:16:43 +0000 |
|---|---|---|
| committer | jwansek <eddie.atten.ea29@gmail.com> | 2026-01-03 19:16:43 +0000 |
| commit | 1ad26728e8b0e7c539729b0176fd3ef8eb34bd87 (patch) | |
| tree | 546922129ad93e0fcdba2826faab5d829a27020b | |
| parent | 78e12d3b2a4a4d16988622bf3aa95d0305fb79d6 (diff) | |
| download | UPSMartMonitor-1ad26728e8b0e7c539729b0176fd3ef8eb34bd87.tar.gz UPSMartMonitor-1ad26728e8b0e7c539729b0176fd3ef8eb34bd87.zip | |
Added discharge time field
| -rw-r--r-- | upsmartmonitor.py | 16 |
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) |
