Always On Mode
This commit is contained in:
22
ug/button.py
22
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)
|
||||
|
||||
Reference in New Issue
Block a user