Dashboard 2:Switchdaten ergänzt
This commit is contained in:
parent
0f8cf14af8
commit
43976aa667
1 changed files with 176 additions and 19 deletions
195
down.py
195
down.py
|
|
@ -167,6 +167,18 @@ from(bucket: "{INFLUX_BUCKET}")
|
|||
|
||||
return -1
|
||||
|
||||
def get_us24_temp():
|
||||
|
||||
try:
|
||||
|
||||
return int(get_url_value(
|
||||
"http://10.0.1.122:8087/getPlainValue/unifi.2.default.devices.f4:92:bf:79:ce:8b.general_temperature"
|
||||
))
|
||||
|
||||
except:
|
||||
|
||||
return 0
|
||||
|
||||
# -------------------------------------------------
|
||||
# Verlauf der letzten Downloads
|
||||
# -------------------------------------------------
|
||||
|
|
@ -372,6 +384,30 @@ def get_proxmox_load():
|
|||
|
||||
return (0, 0, 0)
|
||||
|
||||
def get_us24_cpu():
|
||||
|
||||
try:
|
||||
|
||||
return float(get_url_value(
|
||||
"http://10.0.1.122:8087/getPlainValue/unifi.2.default.devices.f4:92:bf:79:ce:8b.system-stats.cpu"
|
||||
))
|
||||
|
||||
except:
|
||||
|
||||
return 0
|
||||
|
||||
def get_us24_ram():
|
||||
|
||||
try:
|
||||
|
||||
return float(get_url_value(
|
||||
"http://10.0.1.122:8087/getPlainValue/unifi.2.default.devices.f4:92:bf:79:ce:8b.system-stats.mem"
|
||||
))
|
||||
|
||||
except:
|
||||
|
||||
return 0
|
||||
|
||||
# -------------------------------------------------
|
||||
# Speedtest aus InfluxDB lesen
|
||||
# -------------------------------------------------
|
||||
|
|
@ -732,14 +768,16 @@ def draw_dashboard_1():
|
|||
|
||||
def draw_dashboard_2():
|
||||
|
||||
img = Image.new("RGB", (WIDTH, HEIGHT), "black")
|
||||
|
||||
draw = ImageDraw.Draw(img)
|
||||
|
||||
stats = get_unifi_stats()
|
||||
|
||||
us24_cpu = get_us24_cpu()
|
||||
us24_ram = get_us24_ram()
|
||||
us24_temp = get_us24_temp()
|
||||
|
||||
# Header wie Dashboard 1
|
||||
img = Image.new("RGB", (WIDTH, HEIGHT), "black")
|
||||
draw = ImageDraw.Draw(img)
|
||||
|
||||
# Header
|
||||
|
||||
draw.text(
|
||||
(10, 5),
|
||||
|
|
@ -783,30 +821,149 @@ def draw_dashboard_2():
|
|||
(10, 60, WIDTH - 10, 60),
|
||||
fill="white"
|
||||
)
|
||||
|
||||
# Temperaturfarbe
|
||||
|
||||
if us24_temp < 50:
|
||||
temp_color = "lime"
|
||||
elif us24_temp < 65:
|
||||
temp_color = "yellow"
|
||||
else:
|
||||
temp_color = "red"
|
||||
|
||||
# Titel
|
||||
|
||||
title = "HUBOBEL's NETZWERK"
|
||||
|
||||
bbox = draw.textbbox(
|
||||
(0, 0),
|
||||
title,
|
||||
font=font_title
|
||||
)
|
||||
|
||||
title_width = bbox[2] - bbox[0]
|
||||
|
||||
draw.text(
|
||||
(20, 90),
|
||||
"UNIFI GATEWAY MAX",
|
||||
((WIDTH - title_width) // 2, 75),
|
||||
title,
|
||||
fill="cyan",
|
||||
font=font_title
|
||||
)
|
||||
|
||||
draw.text((20, 145), "LAN CLIENTS", fill="white", font=font_small_bold)
|
||||
draw.text((220, 145), str(stats["lan"]), fill="lime", font=font_small_bold)
|
||||
# Uptime
|
||||
|
||||
draw.text((20, 175), "WLAN CLIENTS", fill="white", font=font_small_bold)
|
||||
draw.text((220, 175), str(stats["wlan"]), fill="lime", font=font_small_bold)
|
||||
uptime_text = format_uptime(stats["uptime"])
|
||||
|
||||
draw.text((20, 205), "CLIENTS GES.", fill="white", font=font_small_bold)
|
||||
draw.text((220, 205), str(stats["clients"]), fill="lime", font=font_small_bold)
|
||||
bbox = draw.textbbox(
|
||||
(0, 0),
|
||||
uptime_text,
|
||||
font=font_small_bold
|
||||
)
|
||||
|
||||
draw.text((20, 235), "UXG CPU", fill="white", font=font_small_bold)
|
||||
draw.text((220, 235), f"{stats['cpu']:.0f} %", fill="lime", font=font_small_bold)
|
||||
uptime_width = bbox[2] - bbox[0]
|
||||
|
||||
draw.text((20, 265), "UXG RAM", fill="white", font=font_small_bold)
|
||||
draw.text((220, 265), f"{stats['ram']:.0f} %", fill="lime", font=font_small_bold)
|
||||
draw.text(
|
||||
((WIDTH - uptime_width) // 2, 105),
|
||||
uptime_text,
|
||||
fill="orange",
|
||||
font=font_small_bold
|
||||
)
|
||||
|
||||
draw.text((20, 295), "UPTIME", fill="white", font=font_small_bold)
|
||||
draw.text((220, 295), format_uptime(stats["uptime"]), fill="lime", font=font_small_bold)
|
||||
# Clients
|
||||
|
||||
draw.text(
|
||||
(20, 140),
|
||||
"CLIENTS",
|
||||
fill="white",
|
||||
font=font_small_bold
|
||||
)
|
||||
|
||||
draw.text(
|
||||
(220, 140),
|
||||
f"{stats['clients']} ({stats['lan']} / {stats['wlan']})",
|
||||
fill="lime",
|
||||
font=font_small_bold
|
||||
)
|
||||
|
||||
# UXG CPU
|
||||
|
||||
draw.text(
|
||||
(20, 175),
|
||||
"UXG CPU",
|
||||
fill="white",
|
||||
font=font_small_bold
|
||||
)
|
||||
|
||||
draw.text(
|
||||
(220, 175),
|
||||
f"{stats['cpu']:.1f} %",
|
||||
fill="yellow",
|
||||
font=font_small_bold
|
||||
)
|
||||
|
||||
# UXG RAM
|
||||
|
||||
draw.text(
|
||||
(20, 205),
|
||||
"UXG RAM",
|
||||
fill="white",
|
||||
font=font_small_bold
|
||||
)
|
||||
|
||||
draw.text(
|
||||
(220, 205),
|
||||
f"{stats['ram']:.1f} %",
|
||||
fill="cyan",
|
||||
font=font_small_bold
|
||||
)
|
||||
|
||||
# US24 CPU
|
||||
|
||||
draw.text(
|
||||
(20, 235),
|
||||
"US24 CPU",
|
||||
fill="white",
|
||||
font=font_small_bold
|
||||
)
|
||||
|
||||
draw.text(
|
||||
(220, 235),
|
||||
f"{us24_cpu:.1f} %",
|
||||
fill="yellow",
|
||||
font=font_small_bold
|
||||
)
|
||||
|
||||
# US24 RAM
|
||||
|
||||
draw.text(
|
||||
(20, 265),
|
||||
"US24 RAM",
|
||||
fill="white",
|
||||
font=font_small_bold
|
||||
)
|
||||
|
||||
draw.text(
|
||||
(220, 265),
|
||||
f"{us24_ram:.1f} %",
|
||||
fill="cyan",
|
||||
font=font_small_bold
|
||||
)
|
||||
|
||||
# US24 Temperatur
|
||||
|
||||
draw.text(
|
||||
(20, 295),
|
||||
"US24 TEMP",
|
||||
fill="white",
|
||||
font=font_small_bold
|
||||
)
|
||||
|
||||
draw.text(
|
||||
(220, 295),
|
||||
f"{us24_temp} °C",
|
||||
fill=temp_color,
|
||||
font=font_small_bold
|
||||
)
|
||||
|
||||
return img
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue