Added aunt emma
This commit is contained in:
parent
a5ef4a8192
commit
dfc9b8687f
@ -28,7 +28,7 @@ class pi_face(object):
|
||||
|
||||
PF_OUT_NAMES = ['Output 0', # 0
|
||||
'Output 1', # 1
|
||||
'Output 2', # 2
|
||||
'Aunt Emma', # 2
|
||||
'Ploenlein', # 3
|
||||
'Bakery', # 4
|
||||
'Mill', # 5
|
||||
@ -72,8 +72,11 @@ class pi_face(object):
|
||||
def get_output(self, index):
|
||||
return self.__pf_output_states__[index]
|
||||
|
||||
def get_ploenlein(self):
|
||||
return self.get_output(3)
|
||||
def set_aunt_emma(self, state):
|
||||
self.set_output(2, state)
|
||||
|
||||
def get_aunt_emma(self):
|
||||
return self.get_output(2)
|
||||
|
||||
def set_bakery(self, state):
|
||||
self.set_output(4, state)
|
||||
@ -87,6 +90,9 @@ class pi_face(object):
|
||||
def get_mill(self):
|
||||
return self.get_output(5)
|
||||
|
||||
def get_ploenlein(self):
|
||||
return self.get_output(3)
|
||||
|
||||
def set_ploenlein(self, state):
|
||||
self.set_output(3, state)
|
||||
|
||||
@ -294,6 +300,7 @@ class state_machine_day_state(state_machine.state_machine):
|
||||
class leyk(object):
|
||||
LOG_PREFIX = 'Leyk:'
|
||||
|
||||
TOPIC_AUNT_EMMA = config.MQTT_TOPIC + '/status/Aunt Emma'
|
||||
TOPIC_BAKE_HOUSE = config.MQTT_TOPIC + '/status/Bake House'
|
||||
TOPIC_BAKERY = config.MQTT_TOPIC + '/status/Bakery'
|
||||
TOPIC_MILL = config.MQTT_TOPIC + '/status/Mill'
|
||||
@ -304,6 +311,7 @@ class leyk(object):
|
||||
TOPIC_STATE = config.MQTT_TOPIC + '/status/state'
|
||||
|
||||
|
||||
RX_TOPIC_AUNT_EMMA = config.MQTT_TOPIC + '/set/Aunt Emma'
|
||||
RX_TOPIC_BAKE_HOUSE = config.MQTT_TOPIC + '/set/Bake House'
|
||||
RX_TOPIC_BAKERY = config.MQTT_TOPIC + '/set/Bakery'
|
||||
RX_TOPIC_MILL = config.MQTT_TOPIC + '/set/Mill'
|
||||
@ -312,6 +320,7 @@ class leyk(object):
|
||||
RX_TOPIC_REESE_HOUSE = config.MQTT_TOPIC + '/set/Reese House'
|
||||
|
||||
RX_TOPICS = [
|
||||
RX_TOPIC_AUNT_EMMA,
|
||||
RX_TOPIC_BAKE_HOUSE,
|
||||
RX_TOPIC_BAKERY,
|
||||
RX_TOPIC_MILL,
|
||||
@ -323,6 +332,7 @@ class leyk(object):
|
||||
|
||||
def __init__(self):
|
||||
self.__client__ = mqtt.mqtt_client(config.APP_NAME, config.MQTT_SERVER, 1883, config.MQTT_USER, config.MQTT_PASS)
|
||||
self.__client__.add_callback(self.RX_TOPIC_AUNT_EMMA, self.__rx_aunt_emma__)
|
||||
self.__client__.add_callback(self.RX_TOPIC_BAKE_HOUSE, self.__rx_bake_house__)
|
||||
self.__client__.add_callback(self.RX_TOPIC_BAKERY, self.__rx_bakery__)
|
||||
self.__client__.add_callback(self.RX_TOPIC_MILL, self.__rx_mill__)
|
||||
@ -331,6 +341,7 @@ class leyk(object):
|
||||
self.__client__.add_callback(self.RX_TOPIC_MODE, self.__rx_mode__)
|
||||
|
||||
self.TOPIC_DATA = {
|
||||
self.TOPIC_AUNT_EMMA: self.get_aunt_emma,
|
||||
self.TOPIC_BAKE_HOUSE: self.get_bake_house,
|
||||
self.TOPIC_BAKERY: self.get_bakery,
|
||||
self.TOPIC_MILL: self.get_mill,
|
||||
@ -366,6 +377,9 @@ class leyk(object):
|
||||
self.publish(self.TOPIC_MODE_BOOL)
|
||||
self.publish(self.TOPIC_STATE)
|
||||
|
||||
def __rx_aunt_emma__(self, client, userdata, message):
|
||||
self.set_aunt_emma(message.payload == b'true')
|
||||
|
||||
def __rx_bake_house__(self, client, userdata, message):
|
||||
self.set_bake_house(message.payload == b'true')
|
||||
|
||||
@ -427,6 +441,17 @@ class leyk(object):
|
||||
def get_ploenlein(self):
|
||||
return self.__pf__.get_ploenlein()
|
||||
|
||||
def set_aunt_emma(self, state, force=False):
|
||||
if force or self.sm_mode.this_state_is(self.sm_mode.STATE_MANUAL):
|
||||
self.__pf__.set_aunt_emma(state)
|
||||
self.publish(self.TOPIC_AUNT_EMMA)
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
def get_aunt_emma(self):
|
||||
return self.__pf__.get_aunt_emma()
|
||||
|
||||
def set_bakery(self, state, force=False):
|
||||
if force or self.sm_mode.this_state_is(self.sm_mode.STATE_MANUAL):
|
||||
self.__pf__.set_bakery(state)
|
||||
@ -527,13 +552,15 @@ class leyk(object):
|
||||
# WAKE
|
||||
self._queue.enqueue(1, self.__queue_wrapper__, self.set_bakery, True, True)
|
||||
self._queue.enqueue(2, self.wait, 0 if no_delay else 5 * 60)
|
||||
self._queue.enqueue(3, self.__queue_wrapper__, self.set_bake_house, True, True)
|
||||
self._queue.enqueue(4, self.wait, 0 if no_delay else 10 * 60)
|
||||
self._queue.enqueue(5, self.__queue_wrapper__, self.set_reese_house, True, True)
|
||||
self._queue.enqueue(6, self.wait, 0 if no_delay else 7 * 60)
|
||||
self._queue.enqueue(7, self.__queue_wrapper__, self.set_ploenlein, True, True)
|
||||
self._queue.enqueue(8, self.wait, 0 if no_delay else 8 * 60)
|
||||
self._queue.enqueue(9, self.__queue_wrapper__, self.set_mill, True, True)
|
||||
self._queue.enqueue(3, self.__queue_wrapper__, self.set_aunt_emma, True, True)
|
||||
self._queue.enqueue(4, self.wait, 0 if no_delay else 5 * 60)
|
||||
self._queue.enqueue(5, self.__queue_wrapper__, self.set_bake_house, True, True)
|
||||
self._queue.enqueue(6, self.wait, 0 if no_delay else 10 * 60)
|
||||
self._queue.enqueue(7, self.__queue_wrapper__, self.set_reese_house, True, True)
|
||||
self._queue.enqueue(8, self.wait, 0 if no_delay else 7 * 60)
|
||||
self._queue.enqueue(9, self.__queue_wrapper__, self.set_ploenlein, True, True)
|
||||
self._queue.enqueue(10, self.wait, 0 if no_delay else 8 * 60)
|
||||
self._queue.enqueue(11, self.__queue_wrapper__, self.set_mill, True, True)
|
||||
|
||||
def fill_sunrise_queue(self):
|
||||
no_delay = self.sm_day_state.previous_state_was(self.sm_day_state.STATE_IDLE)
|
||||
@ -543,21 +570,25 @@ class leyk(object):
|
||||
self._queue.enqueue(3, self.wait, 0 if no_delay else 5 * 60)
|
||||
self._queue.enqueue(4, self.__queue_wrapper__, self.set_mill, False, True)
|
||||
self._queue.enqueue(5, self.wait, 0 if no_delay else 8 * 60)
|
||||
self._queue.enqueue(6, self.__queue_wrapper__, self.set_bakery, False, True)
|
||||
self._queue.enqueue(7, self.wait, 0 if no_delay else 12 * 60)
|
||||
self._queue.enqueue(8, self.__queue_wrapper__, self.set_reese_house, False, True)
|
||||
self._queue.enqueue(6, self.__queue_wrapper__, self.set_aunt_emma, False, True)
|
||||
self._queue.enqueue(7, self.wait, 0 if no_delay else 8 * 60)
|
||||
self._queue.enqueue(8, self.__queue_wrapper__, self.set_bakery, False, True)
|
||||
self._queue.enqueue(9, self.wait, 0 if no_delay else 12 * 60)
|
||||
self._queue.enqueue(10, self.__queue_wrapper__, self.set_reese_house, False, True)
|
||||
|
||||
def fill_sunset_queue(self):
|
||||
no_delay = self.sm_day_state.previous_state_was(self.sm_day_state.STATE_IDLE)
|
||||
# SUNSET
|
||||
self._queue.enqueue(1, self.__queue_wrapper__, self.set_bake_house, True, True)
|
||||
self._queue.enqueue(2, self.__queue_wrapper__, self.set_bakery, True, True)
|
||||
self._queue.enqueue(2, self.__queue_wrapper__, self.set_aunt_emma, True, True)
|
||||
self._queue.enqueue(3, self.wait, 0 if no_delay else 10 * 60)
|
||||
self._queue.enqueue(4, self.__queue_wrapper__, self.set_reese_house, True, True)
|
||||
self._queue.enqueue(5, self.wait, 0 if no_delay else 8 * 60)
|
||||
self._queue.enqueue(6, self.__queue_wrapper__, self.set_mill, True, True)
|
||||
self._queue.enqueue(7, self.wait, 0 if no_delay else 7 * 60)
|
||||
self._queue.enqueue(8, self.__queue_wrapper__, self.set_ploenlein, True, True)
|
||||
self._queue.enqueue(4, self.__queue_wrapper__, self.set_bakery, True, True)
|
||||
self._queue.enqueue(5, self.wait, 0 if no_delay else 10 * 60)
|
||||
self._queue.enqueue(6, self.__queue_wrapper__, self.set_reese_house, True, True)
|
||||
self._queue.enqueue(7, self.wait, 0 if no_delay else 8 * 60)
|
||||
self._queue.enqueue(8, self.__queue_wrapper__, self.set_mill, True, True)
|
||||
self._queue.enqueue(9, self.wait, 0 if no_delay else 7 * 60)
|
||||
self._queue.enqueue(10, self.__queue_wrapper__, self.set_ploenlein, True, True)
|
||||
|
||||
def fill_sleep_queue(self):
|
||||
no_delay = self.sm_day_state.previous_state_was(self.sm_day_state.STATE_IDLE)
|
||||
@ -566,11 +597,13 @@ class leyk(object):
|
||||
self._queue.enqueue(2, self.wait, 0 if no_delay else 5 * 60)
|
||||
self._queue.enqueue(3, self.__queue_wrapper__, self.set_bakery, False, True)
|
||||
self._queue.enqueue(4, self.wait, 0 if no_delay else 9 * 60)
|
||||
self._queue.enqueue(5, self.__queue_wrapper__, self.set_ploenlein, False, True)
|
||||
self._queue.enqueue(5, self.__queue_wrapper__, self.set_aunt_emma, False, True)
|
||||
self._queue.enqueue(6, self.wait, 0 if no_delay else 9 * 60)
|
||||
self._queue.enqueue(7, self.__queue_wrapper__, self.set_mill, False, True)
|
||||
self._queue.enqueue(8, self.wait, 0 if no_delay else 6 * 60)
|
||||
self._queue.enqueue(9, self.__queue_wrapper__, self.set_reese_house, False, True)
|
||||
self._queue.enqueue(7, self.__queue_wrapper__, self.set_ploenlein, False, True)
|
||||
self._queue.enqueue(8, self.wait, 0 if no_delay else 9 * 60)
|
||||
self._queue.enqueue(9, self.__queue_wrapper__, self.set_mill, False, True)
|
||||
self._queue.enqueue(10, self.wait, 0 if no_delay else 6 * 60)
|
||||
self._queue.enqueue(11, self.__queue_wrapper__, self.set_reese_house, False, True)
|
||||
|
||||
def task_1s(self, task_inst):
|
||||
self.sm_mode.work()
|
||||
|
Loading…
x
Reference in New Issue
Block a user