diff --git a/lib/ovenDisplay.py b/lib/ovenDisplay.py index 7967b2c..69a96c5 100644 --- a/lib/ovenDisplay.py +++ b/lib/ovenDisplay.py @@ -47,50 +47,53 @@ class OvenDisplay(threading.Thread): #oven_state = self.oven.get_state() #update_display(oven_state) if (x_pressed): + log.info("Aborting run") self.oven.abort_run() + log.info("Updating state") + self.update_display(self.oven.get_state()) time.sleep(self.sleep_time) # {'cost': 0, 'runtime': 0, 'temperature': 23.176953125, 'target': 0, 'state': 'IDLE', 'heat': 0, 'totaltime': 0, 'kwh_rate': 0.33631, 'currency_type': '£', 'profile': None, 'pidstats': {}} # {'cost': 0.003923616666666667, 'runtime': 0.003829, 'temperature': 23.24140625, 'target': 100.00079770833334, 'state': 'RUNNING', 'heat': 1.0, 'totaltime': 3600, 'kwh_rate': 0.33631, 'currency_type': '£', 'profile': 'test-200-250', 'pidstats': {'time': 1686902305.0, 'timeDelta': 5.027144, 'setpoint': 100.00079770833334, 'ispoint': 23.253125, 'err': 76.74767270833334, 'errDelta': 0, 'p': 1918.6918177083335, 'i': 0, 'd': 0, 'kp': 25, 'ki': 10, 'kd': 200, 'pid': 0, 'out': 1}} - def update_display(self, oven_state_json): + def update_display(self, oven_state): draw.rectangle((0, 0, width, height), (0, 0, 0)) - log.info(oven_state_json) - state = json.loads(oven_state_json) - log.info(state) - if (state['temperature'] is not None): - self.text("{0:2.0f}°C".format(state['temperature']), (25, 25), fnt75, (255, 255, 255)) + log.info(oven_state) + if (oven_state['temperature'] is not None): + self.text("{0:2.0f}°C".format(oven_state['temperature']), (25, 25), fnt75, (255, 255, 255)) else: self.text("---°C", (25, 25), fnt75, (255, 255, 255)) - if (state['target'] is not None): - self.text("Target: {0:2.0f}°C".format(state['target']), (25, 100), fnt25, (255, 255, 255)) + if (oven_state['target'] is not None): + self.text("Target: {0:2.0f}°C".format(oven_state['target']), (25, 100), fnt25, (255, 255, 255)) else: self.text("Target: ---°C", (25, 100), fnt25, (255, 255, 255)) - if (state['profile'] is not None): - self.text(state['profile'], (25, 150), fnt25, (255, 255, 255)) + if (oven_state['profile'] is not None): + self.text(oven_state['profile'], (25, 150), fnt25, (255, 255, 255)) else: self.text("No Programme", (25, 150), fnt25, (255, 255, 255)) - if (state['state'] is None): + if (oven_state['state'] is None): self.text("Initialising", (25, 175), fnt25, (255, 255, 255)) displayhatmini.set_led(0.0, 0.0, 0.0) else: - self.text(state['state'], (25, 175), fnt25, (255, 255, 255)) - if (state['state'] == 'IDLE'): - self.text(state['state'], (25, 175), fnt25, (255, 255, 255)) + self.text(oven_state['state'], (25, 175), fnt25, (255, 255, 255)) + if (oven_state['state'] == 'IDLE'): + self.text(oven_state['state'], (25, 175), fnt25, (255, 255, 255)) displayhatmini.set_led(0.0, 0.2, 0.0) else: - self.text(state['state'], (25, 175), fnt25, (255, 255, 255)) - if (state['heat'] == 1.0): + self.text(oven_state['state'], (25, 175), fnt25, (255, 255, 255)) + if (oven_state['heat'] == 1.0): displayhatmini.set_led(1.0, 0.0, 0.0) else: displayhatmini.set_led(0.0, 0.0, 1.0) displayhatmini.display() - def send(self,oven_state): + def send(self,oven_state_json): + log.info(oven_state_json) + oven_state = json.loads(oven_state_json) self.update_display(oven_state) def text(self, text, position, fnt, color):