49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
from flask import Flask, jsonify
|
|
import requests
|
|
|
|
app = Flask(__name__)
|
|
|
|
# Liste der IP-Adressen der 3D-Drucker
|
|
printers = [
|
|
"192.168.0.10",
|
|
"192.168.0.11",
|
|
"192.168.0.12"
|
|
]
|
|
|
|
@app.route('/printer_status', methods=['GET'])
|
|
def get_printer_status():
|
|
printer_status = []
|
|
|
|
for printer_ip in printers:
|
|
try:
|
|
# Sende eine GET-Anfrage an den 3D-Drucker, um den Status abzufragen
|
|
response = requests.get(f"http://{printer_ip}/api/printer/status")
|
|
|
|
if response.status_code == 200:
|
|
status_data = response.json()
|
|
printer_status.append({
|
|
"ip": printer_ip,
|
|
"status": status_data["status"],
|
|
"progress": status_data["progress"],
|
|
"temperature": status_data["temperature"]
|
|
})
|
|
else:
|
|
printer_status.append({
|
|
"ip": printer_ip,
|
|
"status": "Fehler bei der Abfrage",
|
|
"progress": None,
|
|
"temperature": None
|
|
})
|
|
except:
|
|
printer_status.append({
|
|
"ip": printer_ip,
|
|
"status": "Drucker nicht erreichbar",
|
|
"progress": None,
|
|
"temperature": None
|
|
})
|
|
|
|
return jsonify(printer_status)
|
|
|
|
if __name__ == '__main__':
|
|
app.run(host='0.0.0.0', port=5000)
|