diff --git a/ug/button.py b/ug/button.py index df9f4fd..40d5f41 100644 --- a/ug/button.py +++ b/ug/button.py @@ -170,13 +170,13 @@ class FoodoorMQTT: class StateMenu: - OFF = 0 + LOW_POWER = 0 SHOW_STATE = 1 CHANGE = 2 PROGRESS = 3 def __init__(self): - self.state = StateMenu.OFF + self.state = StateMenu.LOW_POWER self.change_target = None self.target_state = None self.anim = [] @@ -205,7 +205,7 @@ class StateMenu: } def reset_state(self): - self.state = StateMenu.OFF + self.state = StateMenu.LOW_POWER self.change_target = None self.target_state = None self.anim.clear() @@ -213,11 +213,11 @@ class StateMenu: self.next_state = None def button_pressed(self, btn): - if self.state == StateMenu.OFF: - self.set_state(StateMenu.SHOW_STATE, 10) - elif btn not in self.doors: - pass # the following states should not be triggered by the door sensor - elif self.state == StateMenu.SHOW_STATE: + if btn not in self.doors: # door sensor + if self.state == StateMenu.LOW_POWER: + self.set_state(StateMenu.SHOW_STATE, 10) + + elif self.state in (StateMenu.LOW_POWER, StateMenu.SHOW_STATE): self.set_state(StateMenu.CHANGE, 10) self.change_target = btn elif self.state == StateMenu.CHANGE: @@ -246,9 +246,11 @@ class StateMenu: def draw(self): self.anim.clear() + self.strip.brightness = 0.5 # full brightness - if self.state == StateMenu.OFF: - self.strip.fill(color.BLACK) + if self.state == StateMenu.LOW_POWER: + # self.strip.fill(color.BLACK) + self.strip.brightness = 0.1 elif self.state == StateMenu.SHOW_STATE: self.strip_oben.fill(color.GREEN if self.mqtt.is_open("oben") else color.RED) self.strip_unten.fill(color.GREEN if self.mqtt.is_open("unten") else color.RED)