From 057889c9a6feb287f56db9be5790eb047eaf3fa0 Mon Sep 17 00:00:00 2001 From: Mohit Rathore Date: Mon, 14 Jan 2019 23:47:45 +0530 Subject: [PATCH] rpi home automation --- app.py | 2 +- client/app.py | 20 ++++++++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/app.py b/app.py index 54b5776..0df827b 100644 --- a/app.py +++ b/app.py @@ -141,7 +141,7 @@ def process_df_api(): parameters = json_request['queryResult']['parameters'] action = json_request['queryResult']['action'] - print("Sending query {} with params {} and action {} to {}".format(url, query, parameters, action)) + print("Sending query {} with params {} and action {} to {}".format(query, parameters, action, url)) requests.post(url=url, data=json.dumps(json_request), headers=headers) return return_text(json_request['queryResult']['fulfillmentText']), 200 diff --git a/client/app.py b/client/app.py index 3feea47..b78d83f 100644 --- a/client/app.py +++ b/client/app.py @@ -13,13 +13,25 @@ def take_action(data): query = data['queryResult']['queryText'] parameters = data['queryResult']['parameters'] action = data['queryResult']['action'] - + print(query) print(parameters) with open("key_mapping.json") as km: key_map = json.load(km) + if action == 'home_automation' and parameters['state'] != '' and parameters['switch'][0] != '': + import RPi.GPIO as GPIO + switch = int(parameters['switch'][0]) + + GPIO.setmode(GPIO.BCM) + GPIO.setwarnings(False) + GPIO.setup(switch, GPIO.OUT) + + if parameters['state'] == 'off': + GPIO.output(switch,GPIO.HIGH) + else: + GPIO.output(switch,GPIO.LOW) if action == 'open_app' and parameters['app'] != '': print(parameters['app']) pyautogui.press('apps') @@ -41,7 +53,7 @@ def take_action(data): else: if keystroke in key_map: keystroke = key_map[keystroke] - + print("Pressing {}".format(keystroke)) pyautogui.press(keystroke) @@ -60,9 +72,9 @@ def process_update(): js.write(json.dumps(json_request['queryResult']['queryText']) + '\n') else: take_action(json_request) - + return "ok got your post!", 200 - + if request.method == "GET": return "ok GOT it", 200