Files
cksd/services/render.py
2025-12-18 11:27:16 +08:00

46 lines
1.3 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import time
from services.statistics import get_ammeter_left_ele, get_water_left
from services.plot import plot_line
async def render_ammeter_chart():
times, left_ele, left_free_ele = await get_ammeter_left_ele(limit=24)
if not times:
return None
out = "data/ammeter.png"
time_range = f'{time.strftime("%Y-%m-%d %H:%M", time.localtime(times[0] / 1000))} {time.strftime("%Y-%m-%d %H:%M", time.localtime(times[-1] / 1000))}'
plot_line(
times=[time.strftime("%H:%M", time.localtime(t / 1000)) for t in times],
normal_values=left_ele,
title=f"宿舍电量剩余趋势({time_range}",
ylabel="剩余电量(度)",
out_path=out,
)
return out
async def render_water_chart():
times, left_water, left_free_water = await get_water_left(limit=24)
if not times:
return None
out = "data/water.png"
time_range = f'{time.strftime("%Y-%m-%d %H:%M", time.localtime(times[0] / 1000))} {time.strftime("%Y-%m-%d %H:%M", time.localtime(times[-1] / 1000))}'
plot_line(
times=[time.strftime("%H:%M", time.localtime(t / 1000)) for t in times],
normal_values=left_water,
title=f"宿舍水量剩余趋势({time_range}",
ylabel="剩余水量(吨)",
out_path=out,
)
return out