Proxmoxwerte aud Dash3 hinzugefügt
This commit is contained in:
parent
e707e0a71c
commit
b426069afb
1 changed files with 125 additions and 10 deletions
135
down.py
135
down.py
|
|
@ -171,6 +171,39 @@ from(bucket: "{INFLUX_BUCKET}")
|
||||||
# Verlauf der letzten Downloads
|
# Verlauf der letzten Downloads
|
||||||
# -------------------------------------------------
|
# -------------------------------------------------
|
||||||
|
|
||||||
|
def get_influx_value(measurement):
|
||||||
|
|
||||||
|
try:
|
||||||
|
|
||||||
|
client = InfluxDBClient(
|
||||||
|
url=INFLUX_URL,
|
||||||
|
token=INFLUX_TOKEN,
|
||||||
|
org=INFLUX_ORG
|
||||||
|
)
|
||||||
|
|
||||||
|
query_api = client.query_api()
|
||||||
|
|
||||||
|
query = f'''
|
||||||
|
from(bucket: "{INFLUX_BUCKET}")
|
||||||
|
|> range(start: -24h)
|
||||||
|
|> filter(fn: (r) => r["_measurement"] == "{measurement}")
|
||||||
|
|> filter(fn: (r) => r["_field"] == "value")
|
||||||
|
|> group()
|
||||||
|
|> sort(columns: ["_time"])
|
||||||
|
|> tail(n:1)
|
||||||
|
'''
|
||||||
|
|
||||||
|
tables = query_api.query(query)
|
||||||
|
|
||||||
|
for table in tables:
|
||||||
|
for record in table.records:
|
||||||
|
return float(record.get_value())
|
||||||
|
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
return 0
|
||||||
|
|
||||||
def get_download_history():
|
def get_download_history():
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|
@ -640,11 +673,27 @@ def draw_dashboard_2():
|
||||||
# -------------------------------------------------
|
# -------------------------------------------------
|
||||||
|
|
||||||
def draw_dashboard_3():
|
def draw_dashboard_3():
|
||||||
|
cpu_freq = get_influx_value("Proxmox_Frequ")
|
||||||
|
cpu_load = get_influx_value("Proxmox_CPU_Auslastung")
|
||||||
|
ram_load = get_influx_value("Proxmox_RAM_Auslastung")
|
||||||
|
cpu_temp = get_influx_value("Proxmox_Temp")
|
||||||
img = Image.new("RGB", (WIDTH, HEIGHT), "black")
|
img = Image.new("RGB", (WIDTH, HEIGHT), "black")
|
||||||
|
server_temp = get_influx_value("Temp_Server_oben")
|
||||||
|
|
||||||
draw = ImageDraw.Draw(img)
|
draw = ImageDraw.Draw(img)
|
||||||
|
|
||||||
|
cpu_color = "green"
|
||||||
|
if cpu_load > 80:
|
||||||
|
cpu_color = "red"
|
||||||
|
elif cpu_load > 50:
|
||||||
|
cpu_color = "yellow"
|
||||||
|
|
||||||
|
temp_color = "green"
|
||||||
|
if cpu_temp > 70:
|
||||||
|
temp_color = "red"
|
||||||
|
elif cpu_temp > 50:
|
||||||
|
temp_color = "yellow"
|
||||||
|
|
||||||
# Header wie Dashboard 1
|
# Header wie Dashboard 1
|
||||||
|
|
||||||
draw.text(
|
draw.text(
|
||||||
|
|
@ -693,23 +742,89 @@ def draw_dashboard_3():
|
||||||
# Inhalt Dashboard 3
|
# Inhalt Dashboard 3
|
||||||
|
|
||||||
draw.text(
|
draw.text(
|
||||||
(20, 110),
|
(20, 95),
|
||||||
"Bereit fuer weitere",
|
"CPU-FREQUENZ",
|
||||||
fill="green",
|
fill="cyan",
|
||||||
font=font_small
|
font=font_small
|
||||||
)
|
)
|
||||||
|
|
||||||
draw.text(
|
draw.text(
|
||||||
(20, 140),
|
(20, 115),
|
||||||
"Informationen",
|
f"{cpu_freq:.0f} MHz",
|
||||||
fill="green",
|
fill="green",
|
||||||
font=font_small
|
font=font_download
|
||||||
)
|
)
|
||||||
|
|
||||||
draw.text(
|
draw.text(
|
||||||
(20, 210),
|
(20, 185),
|
||||||
"GPIO21 aktiv",
|
"CPU-LAST",
|
||||||
fill="orange",
|
fill="white",
|
||||||
|
font=font_small_bold
|
||||||
|
)
|
||||||
|
|
||||||
|
draw.text(
|
||||||
|
(200, 185),
|
||||||
|
f"{cpu_load:.0f} %",
|
||||||
|
fill=cpu_color,
|
||||||
|
font=font_small_bold
|
||||||
|
)
|
||||||
|
|
||||||
|
ram_total = 30.77
|
||||||
|
ram_used = ram_total * ram_load / 100
|
||||||
|
|
||||||
|
if ram_load < 60:
|
||||||
|
ram_color = "lime"
|
||||||
|
elif ram_load < 80:
|
||||||
|
ram_color = "yellow"
|
||||||
|
else:
|
||||||
|
ram_color = "red"
|
||||||
|
|
||||||
|
draw.text(
|
||||||
|
(20, 215),
|
||||||
|
"RAM-LAST",
|
||||||
|
fill="white",
|
||||||
|
font=font_small_bold
|
||||||
|
)
|
||||||
|
|
||||||
|
draw.text(
|
||||||
|
(145, 215),
|
||||||
|
f"{ram_load:.0f} % ({ram_used:.1f} / {ram_total:.1f} GB)",
|
||||||
|
fill=ram_color,
|
||||||
|
font=font_small_bold
|
||||||
|
)
|
||||||
|
|
||||||
|
draw.text(
|
||||||
|
(20, 245),
|
||||||
|
"CPU-TEMP",
|
||||||
|
fill="white",
|
||||||
|
font=font_small_bold
|
||||||
|
)
|
||||||
|
|
||||||
|
draw.text(
|
||||||
|
(200, 245),
|
||||||
|
f"{cpu_temp:.0f} °C",
|
||||||
|
fill=temp_color,
|
||||||
|
font=font_small_bold
|
||||||
|
)
|
||||||
|
|
||||||
|
draw.text(
|
||||||
|
(20, 275),
|
||||||
|
"RAUM-TEMP",
|
||||||
|
fill="white",
|
||||||
|
font=font_small_bold
|
||||||
|
)
|
||||||
|
|
||||||
|
if server_temp < 25:
|
||||||
|
room_color = "lime"
|
||||||
|
elif server_temp < 30:
|
||||||
|
room_color = "yellow"
|
||||||
|
else:
|
||||||
|
room_color = "red"
|
||||||
|
|
||||||
|
draw.text(
|
||||||
|
(200, 275),
|
||||||
|
f"{server_temp:.1f} °C",
|
||||||
|
fill=room_color,
|
||||||
font=font_small_bold
|
font=font_small_bold
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue