first step of processing
This commit is contained in:
10
env
10
env
@ -19,17 +19,17 @@ export BOXES='{
|
|||||||
"box1": {
|
"box1": {
|
||||||
"label": "living_room",
|
"label": "living_room",
|
||||||
"windows": [
|
"windows": [
|
||||||
{ "topic": "street_side_topic", "label": "street_side" },
|
{ "topic": "window/living_room/street_side", "label": "street_side" },
|
||||||
{ "topic": "garden_side_topic", "label": "garden_side" }
|
{ "topic": "window/living_room/garden_side", "label": "garden_side" }
|
||||||
],
|
],
|
||||||
"output_topic": "output/living_room"
|
"output_topic": "output/living_room"
|
||||||
},
|
},
|
||||||
"box2": {
|
"box2": {
|
||||||
"label": "kitchen",
|
"label": "kitchen",
|
||||||
"windows": [
|
"windows": [
|
||||||
{ "topic": "street_side_topic", "label": "street_side" },
|
{ "topic": "window/kitchen/street_side", "label": "street_side" },
|
||||||
{ "topic": "garden_side_topic", "label": "garden_side" },
|
{ "topic": "window/kitchen/garden_side", "label": "garden_side" },
|
||||||
{ "topic": "garden_door_topic", "label": "garden_door" }
|
{ "topic": "window/kitchen/garden_door", "label": "garden_door" }
|
||||||
],
|
],
|
||||||
"output_topic": "output/kitchen"
|
"output_topic": "output/kitchen"
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,8 @@ def prepare_context(box_name, context):
|
|||||||
for w in context['boxes'][box_name]['windows']:
|
for w in context['boxes'][box_name]['windows']:
|
||||||
local_context['window_state'][w['label']] = 'closed'
|
local_context['window_state'][w['label']] = 'closed'
|
||||||
|
|
||||||
|
local_context['mode'] = 'high'
|
||||||
|
|
||||||
local_context['output_temperature'] = local_context['high_temperature']
|
local_context['output_temperature'] = local_context['high_temperature']
|
||||||
|
|
||||||
return local_context
|
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}")
|
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):
|
def process_status(box_name, context, local_context, payload):
|
||||||
return (f"{local_context}", True)
|
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):
|
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):
|
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):
|
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