Show min max

This commit is contained in:
James H
2022-08-08 22:44:12 +01:00
parent 81e0d96b06
commit b33329b523
2 changed files with 33 additions and 1 deletions

View File

@@ -8,12 +8,30 @@ class Node:
self.temperature_readings = [] self.temperature_readings = []
self.humidity_readings = [] self.humidity_readings = []
self.temperature_minimum = 1000
self.temperature_maximum = -1000
self.humidity_minimum = -1
self.humidity_maximum = 100
def add_temperature_reading(self, temperature: float): def add_temperature_reading(self, temperature: float):
self.temperature_readings.append((temperature, time())) self.temperature_readings.append((temperature, time()))
if temperature > self.temperature_maximum:
self.temperature_maximum = temperature
if temperature < self.temperature_minimum:
self.temperature_minimum = temperature
def add_humidity_reading(self, humidity: float): def add_humidity_reading(self, humidity: float):
self.humidity_readings.append((humidity, time())) self.humidity_readings.append((humidity, time()))
if humidity > self.humidity_maximum:
self.humidity_maximum = humidity
if humidity < self.humidity_minimum:
self.humidity_minimum = humidity
def get_temperature_readings(self) -> list[tuple[float, float]]: def get_temperature_readings(self) -> list[tuple[float, float]]:
return self.temperature_readings return self.temperature_readings
@@ -26,6 +44,19 @@ class Node:
def set_name(self, name: str): def set_name(self, name: str):
self.name = name self.name = name
def get_min_temperature(self) -> float:
return self.temperature_minimum
def get_max_temperature(self) -> float:
return self.temperature_maximum
def get_min_humidity(self) -> float:
return self.humidity_minimum
def get_max_humidity(self) -> float:
return self.humidity_maximum
def node_register(request: request, state: dict) -> str: def node_register(request: request, state: dict) -> str:
state["max_id"] += 1 state["max_id"] += 1
id = state["max_id"] id = state["max_id"]

View File

@@ -20,7 +20,8 @@ def home():
most_recent_humidity = node.get_humidity_readings()[-1] most_recent_humidity = node.get_humidity_readings()[-1]
out += f"<h2>{node.get_name()}</h2>\n" out += f"<h2>{node.get_name()}</h2>\n"
out += f"Temperature: {most_recent_temperature[0]}C Humidity: {most_recent_humidity[0]}%\n" out += f"Temperature: {most_recent_temperature[0]}C (Minimum: {node.get_min_temperature()}C, Maximum: {node.get_max_temperature()}C\n"
out += f"Humidity: {most_recent_humidity[0]}% (Minimum: {node.get_min_humidity()}%, Maximum: {node.get_max_humidity()}%)\n"
return out return out