add CPU temp to standby display
This commit is contained in:
parent
a9e3bfcf98
commit
9128e8ce87
@ -7,11 +7,28 @@ import warnings
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import yaml
|
import yaml
|
||||||
from typing import Dict
|
from typing import Dict
|
||||||
|
import subprocess
|
||||||
|
|
||||||
from spotiplayer_pi.lib import LCD_2inch
|
from spotiplayer_pi.lib import LCD_2inch
|
||||||
from spotiplayer_pi.api import Api
|
from spotiplayer_pi.api import Api
|
||||||
|
|
||||||
|
|
||||||
|
def get_cpu_temp():
|
||||||
|
try:
|
||||||
|
result = subprocess.run(
|
||||||
|
["vcgencmd", "measure_temp"], capture_output=True, text=True, check=True
|
||||||
|
)
|
||||||
|
temp_str = result.stdout.strip()
|
||||||
|
temp_value = temp_str.split("=")[1].replace("'C", "")
|
||||||
|
return float(temp_value)
|
||||||
|
except subprocess.CalledProcessError as e:
|
||||||
|
warnings.warn(f"Error executing vcgencmd: {e}")
|
||||||
|
return "None"
|
||||||
|
except (IndexError, ValueError) as e:
|
||||||
|
warnings.warn(f"Error parsing temperature: {e}")
|
||||||
|
return "None"
|
||||||
|
|
||||||
|
|
||||||
def parse_config(path="spotiplayer_pi/config.yaml"):
|
def parse_config(path="spotiplayer_pi/config.yaml"):
|
||||||
with open(path, "r") as file:
|
with open(path, "r") as file:
|
||||||
data = yaml.safe_load(file)
|
data = yaml.safe_load(file)
|
||||||
@ -78,7 +95,7 @@ def display_loop(api: Api, cfg: Dict):
|
|||||||
elif data == "not-playing":
|
elif data == "not-playing":
|
||||||
draw = ImageDraw.Draw(not_playing_img)
|
draw = ImageDraw.Draw(not_playing_img)
|
||||||
current_time = datetime.now().time()
|
current_time = datetime.now().time()
|
||||||
draw.rectangle([(00, 120), (119, 170)], fill=(0, 0, 0))
|
draw.rectangle([(00, 120), (119, 190)], fill=(0, 0, 0))
|
||||||
offset = 10 if current_time.hour < 9 else 0
|
offset = 10 if current_time.hour < 9 else 0
|
||||||
draw.text(
|
draw.text(
|
||||||
(10 + offset, 120),
|
(10 + offset, 120),
|
||||||
@ -87,11 +104,17 @@ def display_loop(api: Api, cfg: Dict):
|
|||||||
fill=(255, 255, 255),
|
fill=(255, 255, 255),
|
||||||
)
|
)
|
||||||
draw.text(
|
draw.text(
|
||||||
(20, 152),
|
(25, 152),
|
||||||
current_time.strftime("%a %d"),
|
current_time.strftime("%a %d"),
|
||||||
font=Font2,
|
font=Font2,
|
||||||
fill=(255, 255, 255),
|
fill=(255, 255, 255),
|
||||||
)
|
)
|
||||||
|
draw.text(
|
||||||
|
(20, 175),
|
||||||
|
f"CPU: {get_cpu_temp():.2f}°",
|
||||||
|
font=Font0,
|
||||||
|
fill=(255, 255, 255),
|
||||||
|
)
|
||||||
if current_mode != 0:
|
if current_mode != 0:
|
||||||
current_mode = 0
|
current_mode = 0
|
||||||
print("Standby mode")
|
print("Standby mode")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user