Skip to content

Commit cda313b

Browse files
authored
Merge pull request #46 from MaxVRAM/non-pi-os-patch
Replaced vcgencmd temperature with generic #45
2 parents c25092f + 35c1ad6 commit cda313b

File tree

1 file changed

+28
-14
lines changed

1 file changed

+28
-14
lines changed

src/system_sensors.py

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import psutil
1414
import pytz
1515
import yaml
16+
import csv
1617
from pytz import timezone
1718

1819
try:
@@ -24,6 +25,14 @@
2425
UTC = pytz.utc
2526
DEFAULT_TIME_ZONE = None
2627

28+
# Get OS information
29+
OS_DATA = {}
30+
with open("/etc/os-release") as f:
31+
reader = csv.reader(f, delimiter="=")
32+
for row in reader:
33+
if row:
34+
OS_DATA[row[0]] = row[1]
35+
2736
mqttClient = None
2837
SYSFILE = "/sys/devices/platform/soc/soc:firmware/get_throttled"
2938
WAIT_TIME_SECONDS = 60
@@ -130,10 +139,16 @@ def get_updates():
130139
return str(cache.get_changes().__len__())
131140

132141

142+
# Temperature method depending on system distro
133143
def get_temp():
134-
temp = check_output(["vcgencmd", "measure_temp"]).decode("UTF-8")
135-
return str(findall("\d+\.\d+", temp)[0])
136-
144+
temp = "";
145+
if "rasp" in OS_DATA["ID"]:
146+
reading = check_output(["vcgencmd", "measure_temp"]).decode("UTF-8")
147+
temp = str(findall("\d+\.\d+", reading)[0])
148+
else:
149+
reading = check_output(["cat", "/sys/class/thermal/thermal_zone0/temp"]).decode("UTF-8")
150+
temp = str(reading[0] + reading[1] + "." + reading[2])
151+
return temp
137152

138153
def get_disk_usage(path):
139154
return str(psutil.disk_usage(path).percent)
@@ -152,17 +167,16 @@ def get_swap_usage():
152167

153168

154169
def get_wifi_strength(): # check_output(["/proc/net/wireless", "grep wlan0"])
155-
return (
156-
check_output(
157-
[
158-
"bash",
159-
"-c",
160-
"cat /proc/net/wireless | grep wlan0: | awk '{print int($4)}'",
161-
]
162-
)
163-
.decode("utf-8")
164-
.rstrip()
165-
)
170+
wifi_strength_value = check_output(
171+
[
172+
"bash",
173+
"-c",
174+
"cat /proc/net/wireless | grep wlan0: | awk '{print int($4)}'",
175+
]
176+
).decode("utf-8").rstrip()
177+
if not wifi_strength_value:
178+
wifi_strength_value = "0"
179+
return (wifi_strength_value)
166180

167181

168182
def get_rpi_power_status():

0 commit comments

Comments
 (0)