first step of processing
This commit is contained in:
10
env
10
env
@ -19,17 +19,17 @@ export BOXES='{
|
||||
"box1": {
|
||||
"label": "living_room",
|
||||
"windows": [
|
||||
{ "topic": "street_side_topic", "label": "street_side" },
|
||||
{ "topic": "garden_side_topic", "label": "garden_side" }
|
||||
{ "topic": "window/living_room/street_side", "label": "street_side" },
|
||||
{ "topic": "window/living_room/garden_side", "label": "garden_side" }
|
||||
],
|
||||
"output_topic": "output/living_room"
|
||||
},
|
||||
"box2": {
|
||||
"label": "kitchen",
|
||||
"windows": [
|
||||
{ "topic": "street_side_topic", "label": "street_side" },
|
||||
{ "topic": "garden_side_topic", "label": "garden_side" },
|
||||
{ "topic": "garden_door_topic", "label": "garden_door" }
|
||||
{ "topic": "window/kitchen/street_side", "label": "street_side" },
|
||||
{ "topic": "window/kitchen/garden_side", "label": "garden_side" },
|
||||
{ "topic": "window/kitchen/garden_door", "label": "garden_door" }
|
||||
],
|
||||
"output_topic": "output/kitchen"
|
||||
}
|
||||
|
@ -25,6 +25,8 @@ def prepare_context(box_name, context):
|
||||
for w in context['boxes'][box_name]['windows']:
|
||||
local_context['window_state'][w['label']] = 'closed'
|
||||
|
||||
local_context['mode'] = 'high'
|
||||
|
||||
local_context['output_temperature'] = local_context['high_temperature']
|
||||
|
||||
return local_context
|
||||
@ -61,20 +63,28 @@ def process_message(box_name, topic_key, payload, context):
|
||||
logger.error(f"[{box_name}] Error processing '{topic_key}': {e}")
|
||||
|
||||
|
||||
def process_general_off(box_name, context, local_context, payload):
|
||||
return ("general off", False)
|
||||
|
||||
def process_maintenance_mode(box_name, context, local_context, payload):
|
||||
return ("maintenance mode", False)
|
||||
|
||||
def process_status(box_name, context, local_context, payload):
|
||||
return (f"{local_context}", True)
|
||||
|
||||
def process_general_off(box_name, context, local_context, payload):
|
||||
local_context['general_off'] = (payload.lower() in ('true'))
|
||||
return (local_context['output_temperature'], False)
|
||||
|
||||
def process_maintenance_mode(box_name, context, local_context, payload):
|
||||
local_context['maintenance_mode'] = (payload.lower() in ('true'))
|
||||
return (local_context['output_temperature'], False)
|
||||
|
||||
def process_cmd(box_name, context, local_context, payload):
|
||||
return (f"cmd: {payload}", False)
|
||||
if payload.lower() in ('high', 'low', 'off'):
|
||||
local_context['mode'] = payload.lower()
|
||||
else:
|
||||
logger.error(f"Invalid cmd for {box_name} received: {payload}")
|
||||
return (local_context['output_temperature'], False)
|
||||
|
||||
def process_high_temp(box_name, context, local_context, payload):
|
||||
return (f"high_temp: {payload}", False)
|
||||
local_context['high_temperature'] = payload
|
||||
return (local_context['output_temperature'], False)
|
||||
|
||||
def process_window(box_name, context, local_context, sub_key, payload):
|
||||
return (f"window: {sub_key}, {payload}", False)
|
||||
local_context['window_state'][sub_key] = 'closed' if (payload.lower() in ('true', 'close', 'closed')) else 'open'
|
||||
return (local_context['output_temperature'], False)
|
||||
|
Reference in New Issue
Block a user