diff --git a/db/commands.db b/db/commands.db index 118b91a..81ebbf9 100644 Binary files a/db/commands.db and b/db/commands.db differ diff --git a/modules/db.py b/modules/db.py index 564dde3..766d7c9 100644 --- a/modules/db.py +++ b/modules/db.py @@ -1,11 +1,13 @@ import sqlite3 import os from datetime import datetime, timedelta +from modules.socketio import resend_static_data +import random DB_PATH = os.path.join(os.path.dirname(__file__), '../db/commands.db') DB_PATH_COFFEE = os.path.join(os.path.dirname(__file__), '../db/coffee.db') -### THIS CODE IS NOT PROOFED BUT LOOKS RIGHT### + def update_command_status(command_id, status): conn = sqlite3.connect(DB_PATH) cursor = conn.cursor() @@ -20,7 +22,6 @@ def update_command_status(command_id, status): conn.close() print(f"[DB] Befehl {command_id} auf {status} aktualisiert.") return status -### THIS CODE IS NOT PROOFED BUT LOOKS RIGHT### def get_coffee_count(): conn = sqlite3.connect(DB_PATH_COFFEE) @@ -40,4 +41,45 @@ def get_coffees(): coffees = cursor.fetchall() conn.close() - return coffees \ No newline at end of file + return coffees +def create_toggle_machine(): + randID = random.randint(1000, 9999) + fullCommand = {'command': 'toggle_machine', 'status': 'pending', 'command_id': randID} + conn = sqlite3.connect(DB_PATH) + cursor = conn.cursor() + + cursor.execute(""" + INSERT INTO commands (command, status, command_id) + VALUES (?, ?, ?) + """, (fullCommand["command"], fullCommand["status"], fullCommand["command_id"])) + + resend_static_data() + + conn.commit() + conn.close() + return fullCommand + +def create_make_coffee(): + randID = random.randint(1000, 9999) + fullCommand = {'command': 'make_coffee', 'status': 'pending', 'command_id': randID} + conn = sqlite3.connect(DB_PATH) + cursor = conn.cursor() + + cursor.execute(""" + INSERT INTO commands (command, status, command_id) + VALUES (?, ?, ?) + """, (fullCommand["command"], fullCommand["status"], fullCommand["command_id"])) + + conn.commit() + conn.close() + return fullCommand + +def create_coffee_entry(): + conn = sqlite3.connect(DB_PATH_COFFEE) + cursor = conn.cursor() + cursor.execute(""" + INSERT INTO coffee (user, status) + VALUES (?, ?) + """, ("admin", "served")) + conn.commit() + conn.close() \ No newline at end of file diff --git a/modules/other.py b/modules/other.py index a808075..0b1239d 100644 --- a/modules/other.py +++ b/modules/other.py @@ -20,6 +20,7 @@ from modules.persistence import load_dict, save_dict from modules.socketio import resend_static_data +from modules.db import create_coffee_entry import os import sqlite3 @@ -30,15 +31,18 @@ def track_coffee_made(data, flanksUp, flanksDown): #logic for tracking coffee made if coffee_made: - conn = sqlite3.connect(DB_PATH_COFFEE) - cursor = conn.cursor() - cursor.execute(""" - INSERT INTO coffee (user, status) - VALUES (?, ?) - """, ("admin", "served")) - conn.commit() - conn.close() + create_coffee_entry() + #change to insert coffee at modules.db + # conn = sqlite3.connect(DB_PATH_COFFEE) + # cursor = conn.cursor() + # cursor.execute(""" + # INSERT INTO coffee (user, status) + # VALUES (?, ?) + # """, ("admin", "served")) + # conn.commit() + # conn.close() print("Coffee made detected, data saved.") + # update water fill and beans fill and coffeeOn water and beans return def track_error_water(data, flanksUp, flanksDown): diff --git a/persistence/machine.json b/persistence/machine.json index a17408b..4e01bcd 100644 --- a/persistence/machine.json +++ b/persistence/machine.json @@ -1,5 +1,5 @@ { - "state": "OFF", + "state": "PENDING", "connected": false, "ready": false, "peding_command": false, diff --git a/routes/esp_routes.py b/routes/esp_routes.py index 9c7dbc3..1e301ce 100644 --- a/routes/esp_routes.py +++ b/routes/esp_routes.py @@ -9,6 +9,7 @@ from modules.persistence import esp_conn_infos from datetime import datetime, timedelta from modules.socketio import resend_static_data from modules.persistence import load_dict, save_dict +from modules.db import create_toggle_machine, create_make_coffee esp = Blueprint('eps', __name__, url_prefix='/unsecure/esp') @@ -34,25 +35,27 @@ def esp_online(): @esp.route('/toggle-machine', methods=['POST']) def toggle_machine(): - randID = random.randint(1000, 9999) - fullCommand = {'command': 'toggle_machine', 'status': 'pending', 'command_id': randID} - conn = sqlite3.connect(DB_PATH) - cursor = conn.cursor() + fullCommand = create_toggle_machine() + # randID = random.randint(1000, 9999) + # fullCommand = {'command': 'toggle_machine', 'status': 'pending', 'command_id': randID} + # conn = sqlite3.connect(DB_PATH) + # cursor = conn.cursor() - cursor.execute(""" - INSERT INTO commands (command, status, command_id) - VALUES (?, ?, ?) - """, (fullCommand["command"], fullCommand["status"], fullCommand["command_id"])) + # cursor.execute(""" + # INSERT INTO commands (command, status, command_id) + # VALUES (?, ?, ?) + # """, (fullCommand["command"], fullCommand["status"], fullCommand["command_id"])) new_status = load_dict("machine") new_status["state"] = "PENDING" save_dict("machine", new_status) - resend_static_data() + # resend_static_data() + + # conn.commit() + # conn.close() - conn.commit() - conn.close() client = mqtt.Client() client.connect(MQTT_BROKER, MQTT_PORT, 60) client.publish(MQTT_TOPIC, json.dumps(fullCommand)) @@ -62,18 +65,19 @@ def toggle_machine(): @esp.route('/make_coffee', methods=['POST']) def make_coffee(): - randID = random.randint(1000, 9999) - fullCommand = {'command': 'make_coffee', 'status': 'pending', 'command_id': randID} - conn = sqlite3.connect(DB_PATH) - cursor = conn.cursor() + fullCommand = create_make_coffee() + # randID = random.randint(1000, 9999) + # fullCommand = {'command': 'make_coffee', 'status': 'pending', 'command_id': randID} + # conn = sqlite3.connect(DB_PATH) + # cursor = conn.cursor() - cursor.execute(""" - INSERT INTO commands (command, status, command_id) - VALUES (?, ?, ?) - """, (fullCommand["command"], fullCommand["status"], fullCommand["command_id"])) + # cursor.execute(""" + # INSERT INTO commands (command, status, command_id) + # VALUES (?, ?, ?) + # """, (fullCommand["command"], fullCommand["status"], fullCommand["command_id"])) - conn.commit() - conn.close() + # conn.commit() + # conn.close() client = mqtt.Client() client.connect(MQTT_BROKER, MQTT_PORT, 60) client.publish(MQTT_TOPIC, json.dumps(fullCommand)) diff --git a/static/script.js b/static/script.js index 2b0d9b9..db2471f 100644 --- a/static/script.js +++ b/static/script.js @@ -80,14 +80,14 @@ switch (machine.state) { } // All there function toggleMachine() { - if (gebId("machine-status-butt").classList.contains("deniePress")){ - return; - } - // console.log("toggleMachine"); - const result = confirm("Möchtest du den Vorgang wirklich ausführen?"); - if (!result) { - return; - } + // if (gebId("machine-status-butt").classList.contains("deniePress")){ + // return; + // } + // // console.log("toggleMachine"); + // const result = confirm("Möchtest du den Vorgang wirklich ausführen?"); + // if (!result) { + // return; + // } // console.log("toggleMachine"); fetch('/unsecure/esp/toggle-machine', { method: 'POST' }) .then(res => res.json())