jeet
This commit is contained in:
@@ -51,3 +51,24 @@ def toggle_machine():
|
|||||||
client.disconnect()
|
client.disconnect()
|
||||||
|
|
||||||
return jsonify({"status": json.dumps(fullCommand)})
|
return jsonify({"status": json.dumps(fullCommand)})
|
||||||
|
|
||||||
|
@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()
|
||||||
|
|
||||||
|
cursor.execute("""
|
||||||
|
INSERT INTO commands (command, status, command_id)
|
||||||
|
VALUES (?, ?, ?)
|
||||||
|
""", (fullCommand["command"], fullCommand["status"], fullCommand["command_id"]))
|
||||||
|
|
||||||
|
conn.commit()
|
||||||
|
conn.close()
|
||||||
|
client = mqtt.Client()
|
||||||
|
client.connect(MQTT_BROKER, MQTT_PORT, 60)
|
||||||
|
client.publish(MQTT_TOPIC, json.dumps(fullCommand))
|
||||||
|
client.disconnect()
|
||||||
|
|
||||||
|
return jsonify({"status": json.dumps(fullCommand)})
|
||||||
@@ -41,6 +41,7 @@ def on_connect(client, userdata, flags, rc):
|
|||||||
def on_message(client, userdata, msg):
|
def on_message(client, userdata, msg):
|
||||||
if msg.topic == MQTT_TOPIC_SUB:
|
if msg.topic == MQTT_TOPIC_SUB:
|
||||||
print(f"[MQTT] Nachricht empfangen: {msg.topic} -> {msg.payload.decode()}")
|
print(f"[MQTT] Nachricht empfangen: {msg.topic} -> {msg.payload.decode()}")
|
||||||
|
esp_conn_infos["last_seen"] = datetime.now()
|
||||||
refactor_and_use_esp_data(msg.payload.decode())
|
refactor_and_use_esp_data(msg.payload.decode())
|
||||||
elif msg.topic == MQTT_TOPIC_RETURN:
|
elif msg.topic == MQTT_TOPIC_RETURN:
|
||||||
print(f"[MQTT] Nachricht empfangen: {msg.topic} -> {msg.payload.decode()}")
|
print(f"[MQTT] Nachricht empfangen: {msg.topic} -> {msg.payload.decode()}")
|
||||||
@@ -123,7 +124,7 @@ def monitor_esp_connection():
|
|||||||
while True:
|
while True:
|
||||||
if esp_conn_infos["last_seen"]:
|
if esp_conn_infos["last_seen"]:
|
||||||
time_diff = datetime.now() - esp_conn_infos["last_seen"]
|
time_diff = datetime.now() - esp_conn_infos["last_seen"]
|
||||||
if time_diff > timedelta(minutes=30):
|
if time_diff > timedelta(minutes=3):
|
||||||
esp_conn_infos["connection_valid"] = False
|
esp_conn_infos["connection_valid"] = False
|
||||||
resend_static_data()
|
resend_static_data()
|
||||||
time.sleep(60) # einmal pro Minute die Verbindung zum ESP prüfen
|
time.sleep(60) # einmal pro Minute die Verbindung zum ESP prüfen
|
||||||
|
|||||||
@@ -15,24 +15,25 @@ socket.on('static_data', (data) => {
|
|||||||
gebId("ip_local").innerText = data.esp_conn_infos.ip_local
|
gebId("ip_local").innerText = data.esp_conn_infos.ip_local
|
||||||
gebId("valid_connection").innerText = data.esp_conn_infos.connection_valid
|
gebId("valid_connection").innerText = data.esp_conn_infos.connection_valid
|
||||||
gebId("last_seen").innerText = data.esp_conn_infos.last_seen
|
gebId("last_seen").innerText = data.esp_conn_infos.last_seen
|
||||||
|
stBut = gebId("machine-status-butt")
|
||||||
switch (data.machine.state) {
|
switch (data.machine.state) {
|
||||||
case "ON":
|
case "ON":
|
||||||
gebId("machine-status").innerText = "AN";
|
gebId("machine-status").innerText = "AN";
|
||||||
gebId("machine-status-butt").classList.remove("blink-orange");
|
stBut.classList.remove("blink-orange");
|
||||||
gebId("machine-status-butt").classList.remove("initBackRed");
|
stBut.classList.remove("initBackRed");
|
||||||
gebId("machine-status-butt").classList.add("initBackGreen");
|
stBut.classList.add("initBackGreen");
|
||||||
break;
|
break;
|
||||||
case "PENDING":
|
case "PENDING":
|
||||||
gebId("machine-status").innerText = "WARTEN";
|
gebId("machine-status").innerText = "WARTEN";
|
||||||
gebId("machine-status-butt").classList.add("blink-orange");
|
stBut.classList.add("blink-orange");
|
||||||
gebId("machine-status-butt").classList.remove("initBackRed");
|
stBut.classList.remove("initBackRed");
|
||||||
gebId("machine-status-butt").classList.remove("initBackGreen");
|
stBut.classList.remove("initBackGreen");
|
||||||
break;
|
break;
|
||||||
case "OFF":
|
case "OFF":
|
||||||
gebId("machine-status").innerText = "AUS";
|
gebId("machine-status").innerText = "AUS";
|
||||||
gebId("machine-status-butt").classList.remove("blink-orange");
|
stBut.classList.remove("blink-orange");
|
||||||
gebId("machine-status-butt").classList.add("initBackRed");
|
stBut.classList.add("initBackRed");
|
||||||
gebId("machine-status-butt").classList.remove("initBackGreen");
|
stBut.classList.remove("initBackGreen");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -60,11 +61,11 @@ socket.on('static_data', (data) => {
|
|||||||
}
|
}
|
||||||
if(data.machine.berror){
|
if(data.machine.berror){
|
||||||
gebId("machine-error-butt").classList.add("initBackRed");
|
gebId("machine-error-butt").classList.add("initBackRed");
|
||||||
gebId("machiene-error-text").innerText = machine.error;
|
gebId("machiene-error-text").innerText = data.machine.error;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
gebId("machine-error-butt").classList.remove("initBackRed");
|
gebId("machine-error-butt").classList.remove("initBackRed");
|
||||||
gebId("machiene-error-text").innerText = "";
|
gebId("machiene-error-text").innerText = "Keiner";
|
||||||
}
|
}
|
||||||
machienReady = gebId("machine-ready-butt")
|
machienReady = gebId("machine-ready-butt")
|
||||||
makeCoffee = gebId("make-coffee-butt")
|
makeCoffee = gebId("make-coffee-butt")
|
||||||
@@ -74,12 +75,12 @@ socket.on('static_data', (data) => {
|
|||||||
makeCoffee.classList.add("deniePress");
|
makeCoffee.classList.add("deniePress");
|
||||||
}
|
}
|
||||||
if(data.machine.ready){
|
if(data.machine.ready){
|
||||||
machienReady.classList.add("initBackRed");
|
|
||||||
machienReady.classList.remove("initBackGreen");
|
|
||||||
gebId("machiene-ready-text").innerText = "Bereit";
|
|
||||||
}else {
|
|
||||||
machienReady.classList.remove("initBackRed");
|
machienReady.classList.remove("initBackRed");
|
||||||
machienReady.classList.add("initBackGreen");
|
machienReady.classList.add("initBackGreen");
|
||||||
|
gebId("machiene-ready-text").innerText = "Bereit";
|
||||||
|
}else {
|
||||||
|
machienReady.classList.add("initBackRed");
|
||||||
|
machienReady.classList.remove("initBackGreen");
|
||||||
gebId("machiene-ready-text").innerText = "Nicht bereit";
|
gebId("machiene-ready-text").innerText = "Nicht bereit";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user