commit
1a08d27b4a
|
|
@ -23,14 +23,20 @@ SOFTWARE.
|
||||||
|
|
||||||
#include "OctoPrintClient.h"
|
#include "OctoPrintClient.h"
|
||||||
|
|
||||||
OctoPrintClient::OctoPrintClient(String ApiKey, String server, int port) {
|
OctoPrintClient::OctoPrintClient(String ApiKey, String server, int port, String user, String pass) {
|
||||||
updateOctoPrintClient(ApiKey, server, port);
|
updateOctoPrintClient(ApiKey, server, port, user, pass);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OctoPrintClient::updateOctoPrintClient(String ApiKey, String server, int port) {
|
void OctoPrintClient::updateOctoPrintClient(String ApiKey, String server, int port, String user, String pass) {
|
||||||
server.toCharArray(myServer, 100);
|
server.toCharArray(myServer, 100);
|
||||||
myApiKey = ApiKey;
|
myApiKey = ApiKey;
|
||||||
myPort = port;
|
myPort = port;
|
||||||
|
encodedAuth = "";
|
||||||
|
if (user != "") {
|
||||||
|
String userpass = user + ":" + pass;
|
||||||
|
base64 b64;
|
||||||
|
encodedAuth = b64.encode(userpass, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean OctoPrintClient::validate() {
|
boolean OctoPrintClient::validate() {
|
||||||
|
|
@ -59,21 +65,25 @@ WiFiClient OctoPrintClient::getSubmitRequest(String apiGetData) {
|
||||||
printClient.println(apiGetData);
|
printClient.println(apiGetData);
|
||||||
printClient.println("Host: " + String(myServer) + ":" + String(myPort));
|
printClient.println("Host: " + String(myServer) + ":" + String(myPort));
|
||||||
printClient.println("X-Api-Key: " + myApiKey);
|
printClient.println("X-Api-Key: " + myApiKey);
|
||||||
|
if (encodedAuth != "") {
|
||||||
|
printClient.print("Authorization: ");
|
||||||
|
printClient.println("Basic " + encodedAuth);
|
||||||
|
}
|
||||||
printClient.println("User-Agent: ArduinoWiFi/1.1");
|
printClient.println("User-Agent: ArduinoWiFi/1.1");
|
||||||
printClient.println("Connection: close");
|
printClient.println("Connection: close");
|
||||||
if (printClient.println() == 0) {
|
if (printClient.println() == 0) {
|
||||||
Serial.println("Connection to " + String(myServer) + ":" + String(myPort) + " failed.");
|
Serial.println("Connection to " + String(myServer) + ":" + String(myPort) + " failed.");
|
||||||
Serial.println();
|
Serial.println();
|
||||||
|
resetPrintData();
|
||||||
printerData.error = "Connection to " + String(myServer) + ":" + String(myPort) + " failed.";
|
printerData.error = "Connection to " + String(myServer) + ":" + String(myPort) + " failed.";
|
||||||
printerData.state = "";
|
|
||||||
return printClient;
|
return printClient;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Serial.println("Connection to OctoPrint failed: " + String(myServer) + ":" + String(myPort)); //error message if no client connect
|
Serial.println("Connection to OctoPrint failed: " + String(myServer) + ":" + String(myPort)); //error message if no client connect
|
||||||
Serial.println();
|
Serial.println();
|
||||||
|
resetPrintData();
|
||||||
printerData.error = "Connection to OctoPrint failed: " + String(myServer) + ":" + String(myPort);
|
printerData.error = "Connection to OctoPrint failed: " + String(myServer) + ":" + String(myPort);
|
||||||
printerData.state = "";
|
|
||||||
return printClient;
|
return printClient;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -177,6 +187,27 @@ void OctoPrintClient::getPrinterJobResults() {
|
||||||
printClient.stop(); //stop client
|
printClient.stop(); //stop client
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Reset all PrinterData
|
||||||
|
void OctoPrintClient::resetPrintData() {
|
||||||
|
printerData.averagePrintTime = "";
|
||||||
|
printerData.estimatedPrintTime = "";
|
||||||
|
printerData.fileName = "";
|
||||||
|
printerData.fileSize = "";
|
||||||
|
printerData.lastPrintTime = "";
|
||||||
|
printerData.progressCompletion = "";
|
||||||
|
printerData.progressFilepos = "";
|
||||||
|
printerData.progressPrintTime = "";
|
||||||
|
printerData.progressPrintTimeLeft = "";
|
||||||
|
printerData.state = "";
|
||||||
|
printerData.toolTemp = "";
|
||||||
|
printerData.toolTargetTemp = "";
|
||||||
|
printerData.filamentLength = "";
|
||||||
|
printerData.bedTemp = "";
|
||||||
|
printerData.bedTargetTemp = "";
|
||||||
|
printerData.isPrinting = false;
|
||||||
|
printerData.error = "";
|
||||||
|
}
|
||||||
|
|
||||||
String OctoPrintClient::getAveragePrintTime(){
|
String OctoPrintClient::getAveragePrintTime(){
|
||||||
return printerData.averagePrintTime;
|
return printerData.averagePrintTime;
|
||||||
}
|
}
|
||||||
|
|
@ -210,7 +241,11 @@ String OctoPrintClient::getProgressPrintTime() {
|
||||||
}
|
}
|
||||||
|
|
||||||
String OctoPrintClient::getProgressPrintTimeLeft() {
|
String OctoPrintClient::getProgressPrintTimeLeft() {
|
||||||
return printerData.progressPrintTimeLeft;
|
String rtnValue = printerData.progressPrintTimeLeft;
|
||||||
|
if (getProgressCompletion() == "100") {
|
||||||
|
rtnValue = "0"; // Print is done so this should be 0 this is a fix for OctoPrint
|
||||||
|
}
|
||||||
|
return rtnValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
String OctoPrintClient::getState() {
|
String OctoPrintClient::getState() {
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ SOFTWARE.
|
||||||
#pragma once
|
#pragma once
|
||||||
#include <ESP8266WiFi.h>
|
#include <ESP8266WiFi.h>
|
||||||
#include <ArduinoJson.h>
|
#include <ArduinoJson.h>
|
||||||
|
#include <base64.h>
|
||||||
|
|
||||||
class OctoPrintClient {
|
class OctoPrintClient {
|
||||||
|
|
||||||
|
|
@ -31,7 +32,9 @@ private:
|
||||||
char myServer[100];
|
char myServer[100];
|
||||||
int myPort = 80;
|
int myPort = 80;
|
||||||
String myApiKey = "";
|
String myApiKey = "";
|
||||||
|
String encodedAuth = "";
|
||||||
|
|
||||||
|
void resetPrintData();
|
||||||
boolean validate();
|
boolean validate();
|
||||||
WiFiClient getSubmitRequest(String apiGetData);
|
WiFiClient getSubmitRequest(String apiGetData);
|
||||||
|
|
||||||
|
|
@ -61,9 +64,9 @@ private:
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
OctoPrintClient(String ApiKey, String server, int port);
|
OctoPrintClient(String ApiKey, String server, int port, String user, String pass);
|
||||||
void getPrinterJobResults();
|
void getPrinterJobResults();
|
||||||
void updateOctoPrintClient(String ApiKey, String server, int port);
|
void updateOctoPrintClient(String ApiKey, String server, int port, String user, String pass);
|
||||||
|
|
||||||
String getAveragePrintTime();
|
String getAveragePrintTime();
|
||||||
String getEstimatedPrintTime();
|
String getEstimatedPrintTime();
|
||||||
|
|
|
||||||
|
|
@ -53,8 +53,11 @@ SOFTWARE.
|
||||||
|
|
||||||
// OctoPrint Monitoring -- Monitor your 3D printer OctoPrint Server
|
// OctoPrint Monitoring -- Monitor your 3D printer OctoPrint Server
|
||||||
String OctoPrintApiKey = ""; // ApiKey from your User Account on OctoPrint
|
String OctoPrintApiKey = ""; // ApiKey from your User Account on OctoPrint
|
||||||
|
String OctoPrintHostName = "octopi";// Default 'octopi' -- or hostname if different (optional if your IP changes)
|
||||||
String OctoPrintServer = ""; // IP or Address of your OctoPrint Server (DO NOT include http://)
|
String OctoPrintServer = ""; // IP or Address of your OctoPrint Server (DO NOT include http://)
|
||||||
int OctoPrintPort = 80; // the port you are running your OctoPrint server on (usually 80);
|
int OctoPrintPort = 80; // the port you are running your OctoPrint server on (usually 80);
|
||||||
|
String OctoAuthUser = ""; // only used if you have haproxy or basic athentintication turned on (not default)
|
||||||
|
String OctoAuthPass = ""; // only used with haproxy or basic auth (only needed if you must authenticate)
|
||||||
|
|
||||||
const int WEBSERVER_PORT = 80; // The port you can access this device on over HTTP
|
const int WEBSERVER_PORT = 80; // The port you can access this device on over HTTP
|
||||||
const boolean WEBSERVER_ENABLED = true; // Device will provide a web interface via http://[ip]:[port]/
|
const boolean WEBSERVER_ENABLED = true; // Device will provide a web interface via http://[ip]:[port]/
|
||||||
|
|
@ -69,6 +72,7 @@ boolean DISPLAYCLOCK = true; // true = Show Clock when not printing / false =
|
||||||
const int I2C_DISPLAY_ADDRESS = 0x3c; // I2C Address of your Display (usually 0x3c or 0x3d)
|
const int I2C_DISPLAY_ADDRESS = 0x3c; // I2C Address of your Display (usually 0x3c or 0x3d)
|
||||||
const int SDA_PIN = D2;
|
const int SDA_PIN = D2;
|
||||||
const int SCL_PIN = D5;
|
const int SCL_PIN = D5;
|
||||||
|
const boolean INVERT_DISPLAY = false; // true = pins at top | false = pins at the bottom
|
||||||
//#define DISPLAY_SH1106 // Uncomment this line to use the SH1106 display -- SSD1306 is used by default and is most common
|
//#define DISPLAY_SH1106 // Uncomment this line to use the SH1106 display -- SSD1306 is used by default and is most common
|
||||||
|
|
||||||
boolean ENABLE_OTA = true; // this will allow you to load firmware to the device over WiFi (see OTA for ESP8266)
|
boolean ENABLE_OTA = true; // this will allow you to load firmware to the device over WiFi (see OTA for ESP8266)
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ SOFTWARE.
|
||||||
|
|
||||||
#include "Settings.h"
|
#include "Settings.h"
|
||||||
|
|
||||||
#define VERSION "1.4"
|
#define VERSION "1.5"
|
||||||
|
|
||||||
#define HOSTNAME "OctMon-"
|
#define HOSTNAME "OctMon-"
|
||||||
#define CONFIG "/conf.txt"
|
#define CONFIG "/conf.txt"
|
||||||
|
|
@ -83,7 +83,7 @@ String lastReportStatus = "";
|
||||||
boolean displayOn = true;
|
boolean displayOn = true;
|
||||||
|
|
||||||
// OctoPrint Client
|
// OctoPrint Client
|
||||||
OctoPrintClient printerClient(OctoPrintApiKey, OctoPrintServer, OctoPrintPort);
|
OctoPrintClient printerClient(OctoPrintApiKey, OctoPrintServer, OctoPrintPort, OctoAuthUser, OctoAuthPass);
|
||||||
int printerCount = 0;
|
int printerCount = 0;
|
||||||
|
|
||||||
//declairing prototypes
|
//declairing prototypes
|
||||||
|
|
@ -100,13 +100,16 @@ const String WEB_ACTIONS = "<a class='w3-bar-item w3-button' href='/'><i class=
|
||||||
|
|
||||||
const String CHANGE_FORM = "<form class='w3-container' action='/updateconfig' method='get'><h2>Station Config:</h2>"
|
const String CHANGE_FORM = "<form class='w3-container' action='/updateconfig' method='get'><h2>Station Config:</h2>"
|
||||||
"<label>OctoPrint API Key (get from your server)</label><input class='w3-input w3-border w3-margin-bottom' type='text' name='octoPrintApiKey' value='%OCTOKEY%' maxlength='60'>"
|
"<label>OctoPrint API Key (get from your server)</label><input class='w3-input w3-border w3-margin-bottom' type='text' name='octoPrintApiKey' value='%OCTOKEY%' maxlength='60'>"
|
||||||
|
"<label>OctoPrint Host Name (usually octopi)</label><input class='w3-input w3-border w3-margin-bottom' type='text' name='octoPrintHostName' value='%OCTOHOST%' maxlength='60'>"
|
||||||
"<label>OctoPrint Address (do not include http://)</label><input class='w3-input w3-border w3-margin-bottom' type='text' name='octoPrintAddress' value='%OCTOADDRESS%' maxlength='60'>"
|
"<label>OctoPrint Address (do not include http://)</label><input class='w3-input w3-border w3-margin-bottom' type='text' name='octoPrintAddress' value='%OCTOADDRESS%' maxlength='60'>"
|
||||||
"<label>OctoPrint Port</label><input class='w3-input w3-border w3-margin-bottom' type='text' name='octoPrintPort' value='%OCTOPORT%' maxlength='5' onkeypress='return isNumberKey(event)'>"
|
"<label>OctoPrint Port</label><input class='w3-input w3-border w3-margin-bottom' type='text' name='octoPrintPort' value='%OCTOPORT%' maxlength='5' onkeypress='return isNumberKey(event)'>"
|
||||||
|
"<label>OctoPrint User (only needed if you have haproxy or basic auth turned on)</label><input class='w3-input w3-border w3-margin-bottom' type='text' name='octoUser' value='%OCTOUSER%' maxlength='30'>"
|
||||||
|
"<label>OctoPrint Password </label><input class='w3-input w3-border w3-margin-bottom' type='password' name='octoPass' value='%OCTOPASS%'><hr>"
|
||||||
"<input name='isClockEnabled' class='w3-check w3-margin-top' type='checkbox' %IS_CLOCK_CHECKED%> Display Clock when printer is off<p>"
|
"<input name='isClockEnabled' class='w3-check w3-margin-top' type='checkbox' %IS_CLOCK_CHECKED%> Display Clock when printer is off<p>"
|
||||||
"<input name='is24hour' class='w3-check w3-margin-top' type='checkbox' %IS_24HOUR_CHECKED%> Use 24 Hour Clock (military time)<p>"
|
"<input name='is24hour' class='w3-check w3-margin-top' type='checkbox' %IS_24HOUR_CHECKED%> Use 24 Hour Clock (military time)<p>"
|
||||||
"Time Refresh (minutes) <select class='w3-option w3-padding' name='refresh'>%OPTIONS%</select></p>"
|
"Time Refresh (minutes) <select class='w3-option w3-padding' name='refresh'>%OPTIONS%</select></p>"
|
||||||
"Theme Color <select class='w3-option w3-padding' name='theme'>%THEME_OPTIONS%</select></p>"
|
"Theme Color <select class='w3-option w3-padding' name='theme'>%THEME_OPTIONS%</select></p>"
|
||||||
"<label>UTC Time Offset</label><input class='w3-input w3-border w3-margin-bottom' type='text' name='utcoffset' value='%UTCOFFSET%' maxlength='12'>"
|
"<label>UTC Time Offset</label><input class='w3-input w3-border w3-margin-bottom' type='text' name='utcoffset' value='%UTCOFFSET%' maxlength='12'><hr>"
|
||||||
"<label>User ID (for this interface)</label><input class='w3-input w3-border w3-margin-bottom' type='text' name='userid' value='%USERID%' maxlength='20'>"
|
"<label>User ID (for this interface)</label><input class='w3-input w3-border w3-margin-bottom' type='text' name='userid' value='%USERID%' maxlength='20'>"
|
||||||
"<label>Password </label><input class='w3-input w3-border w3-margin-bottom' type='password' name='stationpassword' value='%STATIONPASSWORD%'>"
|
"<label>Password </label><input class='w3-input w3-border w3-margin-bottom' type='password' name='stationpassword' value='%STATIONPASSWORD%'>"
|
||||||
"<button class='w3-button w3-block w3-grey w3-section w3-padding' type='submit'>Save</button></form>";
|
"<button class='w3-button w3-block w3-grey w3-section w3-padding' type='submit'>Save</button></form>";
|
||||||
|
|
@ -154,6 +157,9 @@ void setup() {
|
||||||
|
|
||||||
// initialize dispaly
|
// initialize dispaly
|
||||||
display.init();
|
display.init();
|
||||||
|
if (INVERT_DISPLAY) {
|
||||||
|
display.flipScreenVertically(); // connections at top of OLED display
|
||||||
|
}
|
||||||
display.clear();
|
display.clear();
|
||||||
display.display();
|
display.display();
|
||||||
|
|
||||||
|
|
@ -195,6 +201,9 @@ void setup() {
|
||||||
|
|
||||||
// Inital UI takes care of initalising the display too.
|
// Inital UI takes care of initalising the display too.
|
||||||
ui.init();
|
ui.init();
|
||||||
|
if (INVERT_DISPLAY) {
|
||||||
|
display.flipScreenVertically(); //connections at top of OLED display
|
||||||
|
}
|
||||||
|
|
||||||
// print the received signal strength:
|
// print the received signal strength:
|
||||||
Serial.print("Signal Strength (RSSI): ");
|
Serial.print("Signal Strength (RSSI): ");
|
||||||
|
|
@ -256,6 +265,34 @@ void setup() {
|
||||||
}
|
}
|
||||||
|
|
||||||
flashLED(5, 500);
|
flashLED(5, 500);
|
||||||
|
findMDNS(); //go find Octoprint Server by the hostname
|
||||||
|
}
|
||||||
|
|
||||||
|
void findMDNS() {
|
||||||
|
if (OctoPrintHostName == "") {
|
||||||
|
return; // nothing to do here
|
||||||
|
}
|
||||||
|
// We now query our network for 'web servers' service
|
||||||
|
// over tcp, and get the number of available devices
|
||||||
|
int n = MDNS.queryService("http", "tcp");
|
||||||
|
if (n == 0) {
|
||||||
|
Serial.println("no services found - make sure OctoPrint server is turned on");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Serial.println("*** Looking for " + OctoPrintHostName + " over mDNS");
|
||||||
|
for (int i = 0; i < n; ++i) {
|
||||||
|
// Going through every available service,
|
||||||
|
// we're searching for the one whose hostname
|
||||||
|
// matches what we want, and then get its IP
|
||||||
|
Serial.println("Found: " + MDNS.hostname(i));
|
||||||
|
if (MDNS.hostname(i) == OctoPrintHostName) {
|
||||||
|
IPAddress serverIp = MDNS.IP(i);
|
||||||
|
OctoPrintServer = serverIp.toString();
|
||||||
|
OctoPrintPort = MDNS.port(i); // save the port
|
||||||
|
Serial.println("*** Found OctoPrint Server " + OctoPrintHostName + " http://" + OctoPrintServer + ":" + OctoPrintPort);
|
||||||
|
writeSettings(); // update the settings
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//************************************************************
|
//************************************************************
|
||||||
|
|
@ -325,8 +362,11 @@ void handleUpdateConfig() {
|
||||||
return server.requestAuthentication();
|
return server.requestAuthentication();
|
||||||
}
|
}
|
||||||
OctoPrintApiKey = server.arg("octoPrintApiKey");
|
OctoPrintApiKey = server.arg("octoPrintApiKey");
|
||||||
|
OctoPrintHostName = server.arg("octoPrintHostName");
|
||||||
OctoPrintServer = server.arg("octoPrintAddress");
|
OctoPrintServer = server.arg("octoPrintAddress");
|
||||||
OctoPrintPort = server.arg("octoPrintPort").toInt();
|
OctoPrintPort = server.arg("octoPrintPort").toInt();
|
||||||
|
OctoAuthUser = server.arg("octoUser");
|
||||||
|
OctoAuthPass = server.arg("octoPass");
|
||||||
DISPLAYCLOCK = server.hasArg("isClockEnabled");
|
DISPLAYCLOCK = server.hasArg("isClockEnabled");
|
||||||
IS_24HOUR = server.hasArg("is24hour");
|
IS_24HOUR = server.hasArg("is24hour");
|
||||||
minutesBetweenDataRefresh = server.arg("refresh").toInt();
|
minutesBetweenDataRefresh = server.arg("refresh").toInt();
|
||||||
|
|
@ -337,6 +377,7 @@ void handleUpdateConfig() {
|
||||||
temp = server.arg("stationpassword");
|
temp = server.arg("stationpassword");
|
||||||
temp.toCharArray(www_password, sizeof(temp));
|
temp.toCharArray(www_password, sizeof(temp));
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
findMDNS();
|
||||||
printerClient.getPrinterJobResults();
|
printerClient.getPrinterJobResults();
|
||||||
checkDisplay();
|
checkDisplay();
|
||||||
lastEpoch = 0;
|
lastEpoch = 0;
|
||||||
|
|
@ -374,8 +415,11 @@ void handleConfigure() {
|
||||||
String form = String(CHANGE_FORM);
|
String form = String(CHANGE_FORM);
|
||||||
|
|
||||||
form.replace("%OCTOKEY%", OctoPrintApiKey);
|
form.replace("%OCTOKEY%", OctoPrintApiKey);
|
||||||
|
form.replace("%OCTOHOST%", OctoPrintHostName);
|
||||||
form.replace("%OCTOADDRESS%", OctoPrintServer);
|
form.replace("%OCTOADDRESS%", OctoPrintServer);
|
||||||
form.replace("%OCTOPORT%", String(OctoPrintPort));
|
form.replace("%OCTOPORT%", String(OctoPrintPort));
|
||||||
|
form.replace("%OCTOUSER%", OctoAuthUser);
|
||||||
|
form.replace("%OCTOPASS%", OctoAuthPass);
|
||||||
String isClockChecked = "";
|
String isClockChecked = "";
|
||||||
if (DISPLAYCLOCK) {
|
if (DISPLAYCLOCK) {
|
||||||
isClockChecked = "checked='checked'";
|
isClockChecked = "checked='checked'";
|
||||||
|
|
@ -730,8 +774,11 @@ void writeSettings() {
|
||||||
Serial.println("Saving settings now...");
|
Serial.println("Saving settings now...");
|
||||||
f.println("UtcOffset=" + String(UtcOffset));
|
f.println("UtcOffset=" + String(UtcOffset));
|
||||||
f.println("octoKey=" + OctoPrintApiKey);
|
f.println("octoKey=" + OctoPrintApiKey);
|
||||||
|
f.println("octoHost=" + OctoPrintHostName);
|
||||||
f.println("octoServer=" + OctoPrintServer);
|
f.println("octoServer=" + OctoPrintServer);
|
||||||
f.println("octoPort=" + String(OctoPrintPort));
|
f.println("octoPort=" + String(OctoPrintPort));
|
||||||
|
f.println("octoUser=" + OctoAuthUser);
|
||||||
|
f.println("octoPass=" + OctoAuthPass);
|
||||||
f.println("refreshRate=" + String(minutesBetweenDataRefresh));
|
f.println("refreshRate=" + String(minutesBetweenDataRefresh));
|
||||||
f.println("themeColor=" + themeColor);
|
f.println("themeColor=" + themeColor);
|
||||||
f.println("www_username=" + String(www_username));
|
f.println("www_username=" + String(www_username));
|
||||||
|
|
@ -764,6 +811,11 @@ void readSettings() {
|
||||||
OctoPrintApiKey.trim();
|
OctoPrintApiKey.trim();
|
||||||
Serial.println("OctoPrintApiKey=" + OctoPrintApiKey);
|
Serial.println("OctoPrintApiKey=" + OctoPrintApiKey);
|
||||||
}
|
}
|
||||||
|
if (line.indexOf("octoHost=") >= 0) {
|
||||||
|
OctoPrintHostName = line.substring(line.lastIndexOf("octoHost=") + 9);
|
||||||
|
OctoPrintHostName.trim();
|
||||||
|
Serial.println("OctoPrintHostName=" + OctoPrintHostName);
|
||||||
|
}
|
||||||
if (line.indexOf("octoServer=") >= 0) {
|
if (line.indexOf("octoServer=") >= 0) {
|
||||||
OctoPrintServer = line.substring(line.lastIndexOf("octoServer=") + 11);
|
OctoPrintServer = line.substring(line.lastIndexOf("octoServer=") + 11);
|
||||||
OctoPrintServer.trim();
|
OctoPrintServer.trim();
|
||||||
|
|
@ -773,6 +825,16 @@ void readSettings() {
|
||||||
OctoPrintPort = line.substring(line.lastIndexOf("octoPort=") + 9).toInt();
|
OctoPrintPort = line.substring(line.lastIndexOf("octoPort=") + 9).toInt();
|
||||||
Serial.println("OctoPrintPort=" + String(OctoPrintPort));
|
Serial.println("OctoPrintPort=" + String(OctoPrintPort));
|
||||||
}
|
}
|
||||||
|
if (line.indexOf("octoUser=") >= 0) {
|
||||||
|
OctoAuthUser = line.substring(line.lastIndexOf("octoUser=") + 9);
|
||||||
|
OctoAuthUser.trim();
|
||||||
|
Serial.println("OctoAuthUser=" + OctoAuthUser);
|
||||||
|
}
|
||||||
|
if (line.indexOf("octoPass=") >= 0) {
|
||||||
|
OctoAuthPass = line.substring(line.lastIndexOf("octoPass=") + 9);
|
||||||
|
OctoAuthPass.trim();
|
||||||
|
Serial.println("OctoAuthPass=" + OctoAuthPass);
|
||||||
|
}
|
||||||
if (line.indexOf("refreshRate=") >= 0) {
|
if (line.indexOf("refreshRate=") >= 0) {
|
||||||
minutesBetweenDataRefresh = line.substring(line.lastIndexOf("refreshRate=") + 12).toInt();
|
minutesBetweenDataRefresh = line.substring(line.lastIndexOf("refreshRate=") + 12).toInt();
|
||||||
Serial.println("minutesBetweenDataRefresh=" + String(minutesBetweenDataRefresh));
|
Serial.println("minutesBetweenDataRefresh=" + String(minutesBetweenDataRefresh));
|
||||||
|
|
@ -804,7 +866,7 @@ void readSettings() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fr.close();
|
fr.close();
|
||||||
printerClient.updateOctoPrintClient(OctoPrintApiKey, OctoPrintServer, OctoPrintPort);
|
printerClient.updateOctoPrintClient(OctoPrintApiKey, OctoPrintServer, OctoPrintPort, OctoAuthUser, OctoAuthPass);
|
||||||
timeClient.setUtcOffset(UtcOffset);
|
timeClient.setUtcOffset(UtcOffset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue