Compare commits
4 Commits
6534419381
...
9d7accc746
| Author | SHA1 | Date | |
|---|---|---|---|
| 9d7accc746 | |||
| c2e3dc1d46 | |||
| d81cf5d4e4 | |||
| 75e13387c8 |
@@ -129,6 +129,7 @@
|
|||||||
if (data.status === 'success' || lastReceivedProgress >= 98) {
|
if (data.status === 'success' || lastReceivedProgress >= 98) {
|
||||||
clearTimeout(wsReconnectTimer);
|
clearTimeout(wsReconnectTimer);
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
window.location.reload(true);
|
||||||
window.location.href = '/';
|
window.location.href = '/';
|
||||||
}, 30000);
|
}, 30000);
|
||||||
}
|
}
|
||||||
@@ -164,6 +165,7 @@
|
|||||||
status.className = 'status success';
|
status.className = 'status success';
|
||||||
status.style.display = 'block';
|
status.style.display = 'block';
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
window.location.reload(true);
|
||||||
window.location.href = '/';
|
window.location.href = '/';
|
||||||
}, 30000);
|
}, 30000);
|
||||||
}
|
}
|
||||||
|
|||||||
+56
-50
@@ -553,30 +553,34 @@ void reconnect() {
|
|||||||
oledShowTopRow();
|
oledShowTopRow();
|
||||||
|
|
||||||
// Attempt to connect
|
// Attempt to connect
|
||||||
if (client.connect(bambu_serialnr, bambu_username, bambu_accesscode)) {
|
String clientId = String(bambu_serialnr) + "_" + String(random(0, 100));
|
||||||
Serial.println("MQTT re/connected");
|
if (client.connect(clientId.c_str(), bambu_username, bambu_accesscode)){
|
||||||
|
Serial.println("MQTT re/connected");
|
||||||
|
|
||||||
client.subscribe(report_topic.c_str());
|
client.subscribe(report_topic.c_str());
|
||||||
bambu_connected = true;
|
bambu_connected = true;
|
||||||
oledShowTopRow();
|
oledShowTopRow();
|
||||||
} else {
|
|
||||||
Serial.print("failed, rc=");
|
|
||||||
Serial.print(client.state());
|
|
||||||
Serial.println(" try again in 5 seconds");
|
|
||||||
bambu_connected = false;
|
|
||||||
oledShowTopRow();
|
|
||||||
|
|
||||||
yield();
|
|
||||||
vTaskDelay(5000 / portTICK_PERIOD_MS);
|
|
||||||
if (retries > 5) {
|
|
||||||
Serial.println("Disable Bambu MQTT Task after 5 retries");
|
|
||||||
//vTaskSuspend(BambuMqttTask);
|
|
||||||
vTaskDelete(BambuMqttTask);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Serial.print("failed, rc=");
|
||||||
|
Serial.print(client.state());
|
||||||
|
Serial.println(" try again in 5 seconds");
|
||||||
|
bambu_connected = false;
|
||||||
|
oledShowTopRow();
|
||||||
|
|
||||||
retries++;
|
yield();
|
||||||
}
|
vTaskDelay(5000 / portTICK_PERIOD_MS);
|
||||||
|
if (retries > 5)
|
||||||
|
{
|
||||||
|
Serial.println("Disable Bambu MQTT Task after 5 retries");
|
||||||
|
// vTaskSuspend(BambuMqttTask);
|
||||||
|
vTaskDelete(BambuMqttTask);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
retries++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -619,38 +623,40 @@ bool setupMqtt() {
|
|||||||
|
|
||||||
// Verbinden mit dem MQTT-Server
|
// Verbinden mit dem MQTT-Server
|
||||||
bool connected = true;
|
bool connected = true;
|
||||||
if (client.connect(bambu_serialnr, bambu_username, bambu_accesscode))
|
String clientId = String(bambu_serialnr) + "_" + String(random(0, 100));
|
||||||
{
|
if (client.connect(clientId.c_str(), bambu_username, bambu_accesscode))
|
||||||
client.setCallback(mqtt_callback);
|
{
|
||||||
client.setBufferSize(5120);
|
client.setCallback(mqtt_callback);
|
||||||
client.subscribe(report_topic.c_str());
|
client.setBufferSize(5120);
|
||||||
//client.subscribe(request_topic.c_str());
|
client.subscribe(report_topic.c_str());
|
||||||
Serial.println("MQTT-Client initialisiert");
|
// client.subscribe(request_topic.c_str());
|
||||||
|
Serial.println("MQTT-Client initialisiert");
|
||||||
|
|
||||||
oledShowMessage("Bambu Connected");
|
oledShowMessage("Bambu Connected");
|
||||||
bambu_connected = true;
|
bambu_connected = true;
|
||||||
oledShowTopRow();
|
oledShowTopRow();
|
||||||
|
|
||||||
xTaskCreatePinnedToCore(
|
xTaskCreatePinnedToCore(
|
||||||
mqtt_loop, /* Function to implement the task */
|
mqtt_loop, /* Function to implement the task */
|
||||||
"BambuMqtt", /* Name of the task */
|
"BambuMqtt", /* Name of the task */
|
||||||
10240, /* Stack size in words */
|
10240, /* Stack size in words */
|
||||||
NULL, /* Task input parameter */
|
NULL, /* Task input parameter */
|
||||||
mqttTaskPrio, /* Priority of the task */
|
mqttTaskPrio, /* Priority of the task */
|
||||||
&BambuMqttTask, /* Task handle. */
|
&BambuMqttTask, /* Task handle. */
|
||||||
mqttTaskCore); /* Core where the task should run */
|
mqttTaskCore); /* Core where the task should run */
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Serial.println("Fehler: Konnte sich nicht beim MQTT-Server anmelden");
|
Serial.println("Fehler: Konnte sich nicht beim MQTT-Server anmelden");
|
||||||
oledShowMessage("Bambu Connection Failed");
|
oledShowMessage("Bambu Connection Failed");
|
||||||
vTaskDelay(2000 / portTICK_PERIOD_MS);
|
vTaskDelay(2000 / portTICK_PERIOD_MS);
|
||||||
connected = false;
|
connected = false;
|
||||||
oledShowTopRow();
|
oledShowTopRow();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!connected)
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!connected) return false;
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Serial.println("Fehler: Keine MQTT-Daten vorhanden");
|
Serial.println("Fehler: Keine MQTT-Daten vorhanden");
|
||||||
|
|||||||
@@ -98,6 +98,10 @@ void loop() {
|
|||||||
|
|
||||||
// Wenn Bambu auto set Spool aktiv
|
// Wenn Bambu auto set Spool aktiv
|
||||||
if (autoSendToBambu && autoSetToBambuSpoolId > 0) {
|
if (autoSendToBambu && autoSetToBambuSpoolId > 0) {
|
||||||
|
if (!bambu_connected)
|
||||||
|
{
|
||||||
|
bambu_restart();
|
||||||
|
}
|
||||||
if (intervalElapsed(currentMillis, lastAutoSetBambuAmsTime, autoSetBambuAmsInterval))
|
if (intervalElapsed(currentMillis, lastAutoSetBambuAmsTime, autoSetBambuAmsInterval))
|
||||||
{
|
{
|
||||||
if (hasReadRfidTag == 0)
|
if (hasReadRfidTag == 0)
|
||||||
|
|||||||
+11
-1
@@ -286,6 +286,16 @@ void setupWebserver(AsyncWebServer &server) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String url = request->getParam("url")->value();
|
String url = request->getParam("url")->value();
|
||||||
|
if (url.indexOf("http://") == -1 && url.indexOf("https://") == -1)
|
||||||
|
{
|
||||||
|
url = "http://" + url;
|
||||||
|
}
|
||||||
|
// Remove trailing slash if exists
|
||||||
|
if (url.length() > 0 && url.charAt(url.length() - 1) == '/')
|
||||||
|
{
|
||||||
|
url = url.substring(0, url.length() - 1);
|
||||||
|
}
|
||||||
|
|
||||||
bool octoEnabled = (request->getParam("octoEnabled")->value() == "true") ? true : false;
|
bool octoEnabled = (request->getParam("octoEnabled")->value() == "true") ? true : false;
|
||||||
String octoUrl = request->getParam("octoUrl")->value();
|
String octoUrl = request->getParam("octoUrl")->value();
|
||||||
String octoToken = (request->getParam("octoToken")->value() != "") ? request->getParam("octoToken")->value() : "";
|
String octoToken = (request->getParam("octoToken")->value() != "") ? request->getParam("octoToken")->value() : "";
|
||||||
@@ -300,7 +310,7 @@ void setupWebserver(AsyncWebServer &server) {
|
|||||||
request->send(200, "application/json", jsonResponse);
|
request->send(200, "application/json", jsonResponse);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Route für das Überprüfen der Spoolman-Instanz
|
// Route für das Überprüfen der Bambu-Instanz
|
||||||
server.on("/api/bambu", HTTP_GET, [](AsyncWebServerRequest *request){
|
server.on("/api/bambu", HTTP_GET, [](AsyncWebServerRequest *request){
|
||||||
if (!request->hasParam("bambu_ip") || !request->hasParam("bambu_serialnr") || !request->hasParam("bambu_accesscode")) {
|
if (!request->hasParam("bambu_ip") || !request->hasParam("bambu_serialnr") || !request->hasParam("bambu_accesscode")) {
|
||||||
request->send(400, "application/json", "{\"success\": false, \"error\": \"Missing parameter\"}");
|
request->send(400, "application/json", "{\"success\": false, \"error\": \"Missing parameter\"}");
|
||||||
|
|||||||
Reference in New Issue
Block a user