From b33329b523e20d664fc80a1b513456b67665268e Mon Sep 17 00:00:00 2001 From: James H Date: Mon, 8 Aug 2022 22:44:12 +0100 Subject: [PATCH] Show min max --- src/api/node.py | 31 +++++++++++++++++++++++++++++++ src/main.py | 3 ++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/api/node.py b/src/api/node.py index 99e70d5..5b11e34 100644 --- a/src/api/node.py +++ b/src/api/node.py @@ -8,12 +8,30 @@ class Node: self.temperature_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): 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): 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]]: return self.temperature_readings @@ -26,6 +44,19 @@ class Node: def set_name(self, name: str): 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: state["max_id"] += 1 id = state["max_id"] diff --git a/src/main.py b/src/main.py index 525f95a..906f01a 100644 --- a/src/main.py +++ b/src/main.py @@ -20,7 +20,8 @@ def home(): most_recent_humidity = node.get_humidity_readings()[-1] out += f"

{node.get_name()}

\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