update
Took 27 minutes
This commit is contained in:
parent
333ffd1f94
commit
78f1277ab0
@ -159,6 +159,15 @@ router.ws('/', async (ws, req, next) => {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case RequestType.CHECK: {
|
case RequestType.CHECK: {
|
||||||
|
let conf = msg.data as {
|
||||||
|
"led_enabled": boolean,
|
||||||
|
"remote_enabled": boolean,
|
||||||
|
"hotspot_enabled": boolean,
|
||||||
|
"arduino_proxy_enabled": boolean,
|
||||||
|
"led_gpio": number,
|
||||||
|
"ambient_color": string
|
||||||
|
}
|
||||||
|
|
||||||
await SensorHelper.clearAllRawMeasurements();
|
await SensorHelper.clearAllRawMeasurements();
|
||||||
|
|
||||||
|
|
||||||
@ -169,17 +178,14 @@ router.ws('/', async (ws, req, next) => {
|
|||||||
|
|
||||||
// Check config
|
// Check config
|
||||||
/// Check Proxy
|
/// Check Proxy
|
||||||
if( Settings.get("arduino_proxy_enabled") == true )
|
if (Settings.get("arduino_proxy_enabled") == true) {
|
||||||
{
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check measurements
|
// Check measurements
|
||||||
await SensorHelper.measureAllRaw();
|
await SensorHelper.measureAllRaw();
|
||||||
for( let c of await Container.find() )
|
for (let c of await Container.find()) {
|
||||||
{
|
if (c.sensorType != SensorType.NONE && c.rawData == -1) {
|
||||||
if( c.sensorType != SensorType.NONE && c.rawData == -1 )
|
|
||||||
{
|
|
||||||
content.error = true;
|
content.error = true;
|
||||||
content.msg = "Container " + (c.slot + 1) + " weist Fehler im Sensor auf.<br>Überprüfe die Einstellungen der Sensoren-Pins.";
|
content.msg = "Container " + (c.slot + 1) + " weist Fehler im Sensor auf.<br>Überprüfe die Einstellungen der Sensoren-Pins.";
|
||||||
return WebSocketHandler.answerRequest(msg.data["type"] as RequestType, content);
|
return WebSocketHandler.answerRequest(msg.data["type"] as RequestType, content);
|
||||||
|
@ -90,7 +90,7 @@ Dort werden die Behälter definiert, welche in den iTender gestellt werden.<br>D
|
|||||||
|
|
||||||
|
|
||||||
const setupSaveBtn = document.getElementById("setup_saveBtn") as HTMLButtonElement;
|
const setupSaveBtn = document.getElementById("setup_saveBtn") as HTMLButtonElement;
|
||||||
setupSaveBtn.onclick = () => {
|
setupSaveBtn.onclick = async () => {
|
||||||
const containers = document.getElementById("setupContainers") as HTMLDivElement;
|
const containers = document.getElementById("setupContainers") as HTMLDivElement;
|
||||||
|
|
||||||
let errorModal = new Modal("setup", "Fehler!");
|
let errorModal = new Modal("setup", "Fehler!");
|
||||||
@ -104,7 +104,7 @@ Dort werden die Behälter definiert, welche in den iTender gestellt werden.<br>D
|
|||||||
|
|
||||||
if (containers.childNodes.length == 0) {
|
if (containers.childNodes.length == 0) {
|
||||||
ele.innerHTML += `Es muss mindestens ein Behälter hinzugefügt worden sein.`;
|
ele.innerHTML += `Es muss mindestens ein Behälter hinzugefügt worden sein.`;
|
||||||
errorModal.open();
|
await errorModal.open();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ Dort werden die Behälter definiert, welche in den iTender gestellt werden.<br>D
|
|||||||
let selects = c.getElementsByTagName("select");
|
let selects = c.getElementsByTagName("select");
|
||||||
if (selects[0].value == "-1") {
|
if (selects[0].value == "-1") {
|
||||||
ele.innerHTML += `Es müssen alle Pumpen-Pins gesetzt sein.`;
|
ele.innerHTML += `Es müssen alle Pumpen-Pins gesetzt sein.`;
|
||||||
errorModal.open();
|
await errorModal.open();
|
||||||
c.classList.add("error");
|
c.classList.add("error");
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
c.classList.remove("error");
|
c.classList.remove("error");
|
||||||
@ -122,13 +122,13 @@ Dort werden die Behälter definiert, welche in den iTender gestellt werden.<br>D
|
|||||||
|
|
||||||
if (selects[1].value == "0") {
|
if (selects[1].value == "0") {
|
||||||
ele.innerHTML += `Die Sensorart Ultraschall wird nicht mehr unterstützt.<br>Sollten Sie diese Funktion wünschen wenden Sie sich an den Kundensupport.`;
|
ele.innerHTML += `Die Sensorart Ultraschall wird nicht mehr unterstützt.<br>Sollten Sie diese Funktion wünschen wenden Sie sich an den Kundensupport.`;
|
||||||
errorModal.open();
|
await errorModal.open();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (selects[1].value != "-1" && (selects[2].value == "-1" || selects[3].value == "-1")) {
|
if (selects[1].value != "-1" && (selects[2].value == "-1" || selects[3].value == "-1")) {
|
||||||
ele.innerHTML += `Wenn ein Sensor-Typ definiert ist, müssen alle Sensor-Pins gesetzt sein.`;
|
ele.innerHTML += `Wenn ein Sensor-Typ definiert ist, müssen alle Sensor-Pins gesetzt sein.`;
|
||||||
errorModal.open();
|
await errorModal.open();
|
||||||
c.classList.add("error");
|
c.classList.add("error");
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
c.classList.remove("error");
|
c.classList.remove("error");
|
||||||
@ -140,18 +140,14 @@ Dort werden die Behälter definiert, welche in den iTender gestellt werden.<br>D
|
|||||||
|
|
||||||
if (!Setup.checkContainers()) {
|
if (!Setup.checkContainers()) {
|
||||||
ele.innerHTML = `Einige Pins sind doppelt belegt.<br>Jeder GPIO-Pin kann nur einmal belegt werden!`;
|
ele.innerHTML = `Einige Pins sind doppelt belegt.<br>Jeder GPIO-Pin kann nur einmal belegt werden!`;
|
||||||
errorModal.open();
|
await errorModal.open();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
setupSaveBtn.disabled = true;
|
setupSaveBtn.disabled = true;
|
||||||
|
|
||||||
let saveModal = new Modal("setup", "Setup");
|
|
||||||
let txt = document.createElement("p");
|
|
||||||
txt.innerHTML = `Die Einstellungen werden gespeichert...<br>
|
|
||||||
<div class="lds-ellipsis"><div></div><div></div><div></div><div></div></div>`;
|
|
||||||
saveModal.addContent(txt);
|
|
||||||
saveModal.open();
|
|
||||||
|
|
||||||
const ledCheckbox = document.getElementById("ledCheckbox") as HTMLInputElement;
|
const ledCheckbox = document.getElementById("ledCheckbox") as HTMLInputElement;
|
||||||
const ledGPIO = document.getElementById("ledGPIO") as HTMLInputElement;
|
const ledGPIO = document.getElementById("ledGPIO") as HTMLInputElement;
|
||||||
@ -181,36 +177,54 @@ Dort werden die Behälter definiert, welche in den iTender gestellt werden.<br>D
|
|||||||
"sensor2": parseInt(c.getElementsByTagName("select")[3].value)
|
"sensor2": parseInt(c.getElementsByTagName("select")[3].value)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
let newConf = {
|
||||||
let payload = new WebSocketPayload(WebSocketEvent.CONTAINERS, cons);
|
|
||||||
WebWebSocketHandler.send(payload);
|
|
||||||
|
|
||||||
payload = new WebSocketPayload(WebSocketEvent.CONFIG, {
|
|
||||||
"led_enabled": ledCheckbox.checked,
|
"led_enabled": ledCheckbox.checked,
|
||||||
"remote_enabled": allowRemoteCheckbox.checked,
|
"remote_enabled": allowRemoteCheckbox.checked,
|
||||||
"hotspot_enabled": hotspotCheckbox.checked,
|
"hotspot_enabled": hotspotCheckbox.checked,
|
||||||
"arduino_proxy_enabled": proxyCheckbox.checked,
|
"arduino_proxy_enabled": proxyCheckbox.checked,
|
||||||
"led_gpio": parseInt(ledGPIO.value),
|
"led_gpio": parseInt(ledGPIO.value),
|
||||||
"ambient_color": ambientColor.value
|
"ambient_color": ambientColor.value
|
||||||
});
|
}
|
||||||
|
|
||||||
WebWebSocketHandler.send(payload).then(() => {
|
// Check
|
||||||
|
let answer = await WebWebSocketHandler.request(RequestType.CHECK, newConf);
|
||||||
|
if( !(answer.data["success"] as boolean) )
|
||||||
|
{
|
||||||
|
ele.innerHTML = `Die Konfiguration weist Fehler auf!<br>${answer.data["msg"]}`;
|
||||||
|
await errorModal.open();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let saveModal = new Modal("setup", "Setup");
|
||||||
|
let txt = document.createElement("p");
|
||||||
|
txt.innerHTML = `Die Einstellungen werden gespeichert...<br>
|
||||||
|
<div class="lds-ellipsis"><div></div><div></div><div></div><div></div></div>`;
|
||||||
|
saveModal.addContent(txt);
|
||||||
|
await saveModal.open();
|
||||||
|
|
||||||
|
// Push
|
||||||
|
let configPayload = new WebSocketPayload(WebSocketEvent.CONFIG, newConf);
|
||||||
|
|
||||||
|
|
||||||
|
setupSaveBtn.disabled = false;
|
||||||
|
|
||||||
|
WebWebSocketHandler.send(configPayload).then(() => {
|
||||||
|
let containerPayload = new WebSocketPayload(WebSocketEvent.CONTAINERS, cons);
|
||||||
|
WebWebSocketHandler.send(containerPayload);
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
saveModal.close();
|
saveModal.close();
|
||||||
setupSaveBtn.disabled = false;
|
|
||||||
|
|
||||||
this.startTare();
|
this.startTare();
|
||||||
}, 1000);
|
}, 1000);
|
||||||
|
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
setupSaveBtn.disabled = false;
|
|
||||||
txt.innerHTML = `Fehler beim Speichern.<br>iTender hat nicht reagiert.`;
|
txt.innerHTML = `Fehler beim Speichern.<br>iTender hat nicht reagiert.`;
|
||||||
setTimeout(() => saveModal.close(), 2500);
|
setTimeout(() => saveModal.close(), 2000);
|
||||||
});
|
});
|
||||||
menuBtn.disabled = false;
|
|
||||||
|
|
||||||
|
|
||||||
|
menuBtn.disabled = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -232,7 +246,7 @@ Dort werden die Behälter definiert, welche in den iTender gestellt werden.<br>D
|
|||||||
|
|
||||||
let txt = document.createElement("p");
|
let txt = document.createElement("p");
|
||||||
txt.innerHTML = `Kalibrierung<br>
|
txt.innerHTML = `Kalibrierung<br>
|
||||||
Bitte den <strong>alle</strong> Behälter von den Sensoren entfernen.<br>
|
Bitte <strong>alle</strong> Behälter von den Sensoren entfernen.<br>
|
||||||
Die Gewichtssensoren werden beim Bestätigen austariert<br><br>Zum fortfahren Tarieren drücken.<br>`;
|
Die Gewichtssensoren werden beim Bestätigen austariert<br><br>Zum fortfahren Tarieren drücken.<br>`;
|
||||||
modal.addContent(txt);
|
modal.addContent(txt);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user