diff --git a/.gitignore b/.gitignore index f9606a3..5ca4726 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ +*kate-swp /venv diff --git a/doorcontrol.ini b/doorcontrol.ini new file mode 100644 index 0000000..f7ebef7 --- /dev/null +++ b/doorcontrol.ini @@ -0,0 +1,9 @@ +[mqtt] +Server = 172.16.1.70 +Port = 1883 +Topic = devices/main-door/open/open/set +User = th +Password = h82b7782 + +[api] +Key = c5S8De2TTPkDhkXREzSP diff --git a/readconfig.py b/readconfig.py new file mode 100644 index 0000000..6847dcc --- /dev/null +++ b/readconfig.py @@ -0,0 +1,29 @@ +import configparser + +def load_settings(): + config = configparser.ConfigParser() + config.read_file(open('doorcontrol.ini')) + + try: + mqtt_config = config['mqtt'] + except KeyError as k_error: + print("Missing section: ", k_error, "in config file") + raise + else: + MQTT_SERVER = mqtt_config.get("Server") + MQTT_PORT = mqtt_config.getint("Port", "1883") + MQTT_TOPIC = mqtt_config.get("Topic") + MQTT_USER = mqtt_config.get("User") + MQTT_PASSWD = mqtt_config.get("Password") + + try: + api_config = config['apip'] + except KeyError as k_error: + print("Missing section: ", k_error, " in config file") + raise + else: + API_KEY = api_config.get("Key") + + print("Hello") + + diff --git a/src/app.py b/src/app.py index 67b5e2b..1961f36 100644 --- a/src/app.py +++ b/src/app.py @@ -3,29 +3,39 @@ HTTP API to trigger unlock through MQTT ''' import time +import configparser from bottle import Bottle, get, request, run import paho.mqtt.client as mqtt +config = configparser.ConfigParser() -mqttc = mqtt.Client(client_id="", clean_session=True, userdata=None, transport="tcp") +try: + config.read_file(open('../doorcontrol.ini')) +except FileNotFoundError: + print("Can't find config file. \n\n") + raise + + +try: + mqttc = mqtt.Client(client_id="", clean_session=True, userdata=None, transport="tcp") + mqttc.username_pw_set(config['mqtt']['User'], password=config['mqtt']['Password']) + + mqttc.connect(config['mqtt']['Server'], int(config['mqtt']['Port'])) +except: + print("Error connecting to mqtt broker, check configuration.\n\n") + raise -mqttc.username_pw_set("th", password="h82b7782") -mqttc.connect("172.16.1.70", port=1883) mqttc.loop_start() app = application = Bottle() -@app.route('/') -def index(): - return "