domotik/myapp.py
2022-12-17 19:57:26 +01:00

39 lines
1.1 KiB
Python

import flask
import requests
import threading
app = flask.Flask(import_name=__name__)
@app.route(rule="/")
def index():
return "200 OK (working)\n"
lock = threading.Lock()
def opener(lck):
with lck:
for _ in range(5):
requests.get("http://192.168.0.103/open")
@app.route(rule="/receiving", methods=["POST"])
def receiver():
data = flask.request.get_data(as_text=True)
parts = data.split("&")
data_dict = {}
for part in parts:
parameter_name, parameter_value = part.split("=")
data_dict[parameter_name] = parameter_value
print(data_dict)
#---action=incoming / message_type=sms---
if data_dict["action"]=="incoming":
if "please" in data_dict["message"].lower():
op = threading.Thread(target=opener, args=(lock,))
op.start()
return flask.jsonify({"events":[{"event":"log","message":"Server received "+data_dict["message_type"]+" from "+data_dict["from"]}]})
#---action=incoming---
#---action=incoming---
#---action=incoming---
#---action=incoming---
#---action=incoming---
if __name__=="__main__":
app.run(host="0.0.0.0", debug=True)