Took 3 hours 30 minutes
This commit is contained in:
2022-11-20 16:32:54 +01:00
parent 016f4bc3fe
commit 9d839328f8
15 changed files with 347 additions and 564 deletions

View File

@ -6,6 +6,7 @@ import {iTenderStatus} from "../../iTenderStatus";
import {WebSocketEvent} from "../../WebSocketEvent";
import Container from "../../database/Container";
import {SensorType} from "../../SensorType";
import {Settings} from "../../Settings";
const express = require('express');
const router = express.Router();
@ -26,25 +27,6 @@ router.ws('/', async (ws, req, next) => {
await WebSocketHandler.sendContainers();
await WebSocketHandler.sendStatus();
async function sendWhenReady() {
if (iTender.status != iTenderStatus.READY) {
setTimeout(sendWhenReady, 100);
return;
}
iTender.setStatus(iTenderStatus.REFRESHING);
let payload = new WebSocketPayload(WebSocketEvent.DRINKS, false, iTender.drinks);
await WebSocketHandler.send(payload);
setTimeout(() => {
if (iTender.status == iTenderStatus.REFRESHING)
iTender.setStatus(iTenderStatus.READY);
}, 2000);
}
sendWhenReady().then();
ws.on('message', async (raw, bool) => {
let msg = WebSocketPayload.parseFromBase64Json(raw);
@ -86,7 +68,27 @@ router.ws('/', async (ws, req, next) => {
case WebSocketEvent.CONFIG: {
// ToDo
console.log("New Settings:", msg.data);
// Danach setup modus aus
for (const [key, value] of Object.entries(msg.data)) {
Settings.set(key, value);
}
Settings.setupDone = true;
break;
}
case WebSocketEvent.SETUP: {
if ((msg.data as boolean)) {
iTender.setStatus(iTenderStatus.SETUP);
} else {
if (Settings.setupDone) {
iTender.setStatus(iTenderStatus.READY);
await WebSocketHandler.sendContainers();
await WebSocketHandler.sendRunningConfig();
}
}
}
}
});