diff --git a/frigate/stats.py b/frigate/stats.py index 7370d7a53..f83b2ae46 100644 --- a/frigate/stats.py +++ b/frigate/stats.py @@ -4,6 +4,7 @@ import threading import time import psutil import shutil +import os from frigate.config import FrigateConfig from frigate.const import RECORD_DIR, CLIPS_DIR, CACHE_DIR @@ -30,6 +31,24 @@ def get_fs_type(path): bestMatch = part.mountpoint return fsType +def read_temperature(path): + if os.path.isfile(path): + with open(path) as f: + line=f.readline().strip() + return int(line)/1000 + return None + +def get_temperatures(): + temps={} + + # Get temperatures for all attached Corals + base="/sys/class/apex/" + for apex in os.listdir(base): + temp=read_temperature(os.path.join(base,apex,"temp")) + if temp is not None: + temps[apex]=temp + + return temps def stats_snapshot(stats_tracking): camera_metrics = stats_tracking["camera_metrics"] @@ -61,6 +80,7 @@ def stats_snapshot(stats_tracking): "uptime": (int(time.time()) - stats_tracking["started"]), "version": VERSION, "storage": {}, + "temperatures" : get_temperatures() } for path in [RECORD_DIR, CLIPS_DIR, CACHE_DIR, "/dev/shm"]: