update
Took 32 minutes
This commit is contained in:
parent
03dd0e0fb6
commit
016f4bc3fe
@ -7,6 +7,7 @@
|
||||
cursor: none !important;
|
||||
font-weight: 500;
|
||||
margin-right: 2%;
|
||||
transition: 0.2s all;
|
||||
|
||||
}
|
||||
|
||||
|
@ -37,7 +37,7 @@ h1 {
|
||||
font-size: 1.74em;
|
||||
font-weight: 500;
|
||||
margin-bottom: 2%;
|
||||
color: white;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -100,13 +100,22 @@ h1 {
|
||||
#overlay #bottom #menuBtn {
|
||||
height: 100%;
|
||||
width: 10%;
|
||||
background-color: blue;
|
||||
background-color: #21212d;
|
||||
padding: 1px;
|
||||
font-size: 1.5em;
|
||||
border: 0;
|
||||
border-radius: 0 8px 0 0;
|
||||
border-radius: 0 12px 0 0;
|
||||
color: white;
|
||||
float: left;
|
||||
transition: all 0.4s;
|
||||
}
|
||||
#menuBtn:hover {
|
||||
background-color: #313147 !important;
|
||||
}
|
||||
|
||||
#menuBtn:disabled {
|
||||
background-color: #777 !important;
|
||||
color: #C1C1C1 !important;
|
||||
}
|
||||
|
||||
|
||||
|
@ -2,6 +2,7 @@ import {WebSocketPayload} from "./WebSocketPayload";
|
||||
import {WebSocketEvent} from "./WebSocketEvent";
|
||||
import {iTender} from "./iTender";
|
||||
import {Settings} from "./Settings";
|
||||
import Container from "./database/Container";
|
||||
|
||||
export class WebSocketHandler {
|
||||
private static _ws: WebSocket;
|
||||
@ -40,4 +41,11 @@ export class WebSocketHandler {
|
||||
WebSocketHandler.send(payload).then(resolve);
|
||||
})
|
||||
}
|
||||
|
||||
static sendContainers() {
|
||||
return new Promise(async resolve => {
|
||||
let payload = new WebSocketPayload(WebSocketEvent.CONTAINERS, false, ( await Container.find() ));
|
||||
WebSocketHandler.send(payload).then(resolve);
|
||||
})
|
||||
}
|
||||
}
|
@ -71,12 +71,20 @@ export class iTender {
|
||||
return new Promise(async resolve => {
|
||||
for (let c of (await Container.find({enabled: true}))) {
|
||||
try {
|
||||
if( !c.sensorFilledMax || c.sensorFilledMin )
|
||||
{
|
||||
c.enabled = false;
|
||||
await c.save();
|
||||
continue;
|
||||
}
|
||||
|
||||
let rand = Math.random() * 5;
|
||||
if (c.sensorType == SensorType.ULTRASOUND) {
|
||||
let sensor = new HCSR04(c.sensorPin1, c.sensorPin2);
|
||||
|
||||
c.rawData = sensor.distance();
|
||||
c.rawData = rand;
|
||||
|
||||
c.filled = c.rawData * c.sensorFilledMin / 100;
|
||||
|
||||
} else if (c.sensorType == SensorType.LOADCELL) {
|
||||
@ -90,6 +98,7 @@ export class iTender {
|
||||
c.filled = -1;
|
||||
c.rawData = 0;
|
||||
}
|
||||
console.log(c);
|
||||
await c.save();
|
||||
}
|
||||
log("Containers measured!");
|
||||
|
@ -23,6 +23,7 @@ router.ws('/', async (ws, req, next) => {
|
||||
WebSocketHandler.ws = ws;
|
||||
|
||||
await WebSocketHandler.sendRunningConfig();
|
||||
await WebSocketHandler.sendContainers();
|
||||
await WebSocketHandler.sendStatus();
|
||||
|
||||
async function sendWhenReady() {
|
||||
@ -64,20 +65,28 @@ router.ws('/', async (ws, req, next) => {
|
||||
}
|
||||
case WebSocketEvent.CONTAINERS: {
|
||||
let data = msg.data as { pumpPin: number; sensorType: SensorType; sensor1: number; sensor2: number; volume: number; }[];
|
||||
await Container.remove({});
|
||||
await Container.deleteMany({});
|
||||
|
||||
let i = 0;
|
||||
for (let c of data) {
|
||||
let container = new Container();
|
||||
container.slot = i;
|
||||
container.volume = c.volume;
|
||||
container.pumpPin = c.pumpPin;
|
||||
container.sensorType = c.sensorType;
|
||||
container.sensorPin1 = c.sensor1;
|
||||
container.sensorPin2 = c.sensor2;
|
||||
container.enabled = true;
|
||||
container.autoDisabled = true;
|
||||
await container.save();
|
||||
i++;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case WebSocketEvent.CONFIG: {
|
||||
// ToDo
|
||||
// Danach setup modus aus
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -3,6 +3,10 @@ import {IDrink} from "../database/IDrink";
|
||||
import {Modal} from "./Modal";
|
||||
import {ButtonType} from "./ButtonType";
|
||||
import {Pane} from "./Pane";
|
||||
import {IContainer} from "../database/IContainer";
|
||||
import {Setup} from "./Setup";
|
||||
import * as Events from "events";
|
||||
import {SensorType} from "../SensorType";
|
||||
|
||||
export class WebHandler {
|
||||
private static containers = [];
|
||||
@ -58,6 +62,37 @@ ${ingredients}`*/ //todo
|
||||
|
||||
|
||||
public static onContainerUpdate(payload: WebSocketPayload) {
|
||||
let containerDiv = document.getElementById("setupContainers") as HTMLDivElement;
|
||||
containerDiv.innerHTML = "";
|
||||
|
||||
let containers = payload.data as IContainer[];
|
||||
for (let c of containers) {
|
||||
Setup.addSetupContainer();
|
||||
}
|
||||
|
||||
let i = 0;
|
||||
let list = containerDiv.getElementsByTagName("div");
|
||||
for (let c of containers) {
|
||||
let current = list[i] as HTMLDivElement;
|
||||
let selects = current.getElementsByTagName("select");
|
||||
|
||||
(selects[0] as HTMLSelectElement).value = c.pumpPin.toString();
|
||||
let type;
|
||||
if( c.sensorType == SensorType.NONE )
|
||||
type = "-1";
|
||||
else if( c.sensorType == SensorType.ULTRASOUND )
|
||||
type = "0";
|
||||
else
|
||||
type = "1";
|
||||
(selects[1] as HTMLSelectElement).value = type;
|
||||
(selects[2] as HTMLSelectElement).value = c.sensorPin1.toString();
|
||||
(selects[3] as HTMLSelectElement).value = c.sensorPin2.toString();
|
||||
(selects[4] as HTMLSelectElement).value = c.volume.toString();
|
||||
let event = new Event('change', { bubbles: true });
|
||||
selects[1].dispatchEvent( event );
|
||||
|
||||
i++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -31,7 +31,8 @@ block setup
|
||||
div#setupContainers
|
||||
|
||||
|
||||
button.btn.btn-success#setup_saveBtn(style="grid-row: span 1; grid-column: span 2; border-radius: 15px; font-size: 1.2em;") Speichern
|
||||
button.btn.btn-danger#setup_cancelBtn(style="grid-row: span 1; grid-column: span 1; border-radius: 15px; font-size: 1.2em;" onclick="window.location.reload()") Abbrechen
|
||||
button.btn.btn-success#setup_saveBtn(style="grid-row: span 1; grid-column: span 1; border-radius: 15px; font-size: 1.2em;") Speichern
|
||||
|
||||
block menu
|
||||
// Menu
|
||||
|
Loading…
x
Reference in New Issue
Block a user