image/w/js/webui.js

branch
novnc
changeset 42
c6a1a6ca5437
parent 41
7639cfa6aec0
child 77
66c77497d86d
--- a/image/w/js/webui.js	Sat May 04 21:18:51 2019 +0200
+++ b/image/w/js/webui.js	Tue May 07 22:03:38 2019 +0200
@@ -1,117 +1,250 @@
 document.getElementById("test").innerHTML = "WebSocket is not connected";
 
 var websocket = new WebSocket('ws://'+location.hostname+'/ws');
-//var slider = document.getElementById("myRange");
 
+var Beep= new Audio( "data:audio/wav;base64,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 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////VEFHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU291bmRib3kuZGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjAwNGh0dHA6Ly93d3cuc291bmRib3kuZGUAAAAAAAAAACU=" );
 
 var BBScreen={
 
     Screen: -1,
+    Subscreen: 0,
+    setTimer: function(v){
+	$("#timer").text('');
+	if (v == 0) {
+            $("#timer").css("font-size", "18px");
+	    $("#timer").css("font-weight", "normal");
+	    $("#timer").css("font-family", "Verdana, Arial, sans-serif");
+	} else {
+	    $("#timer").css("font-size", "36px");
+	    $("#timer").css("font-weight", "bold");
+	    $("#timer").css("font-family", "Courier New, Lucida Console");
+	}
+    },
+    clearScreen: function(){
+	$("#mltline").hide();
+	$("#mlt_table").hide();
+	$("#mlt00").hide();
+        $("#mlt20").hide();
+        $("#mlt01").hide();
+        $("#mlt21").hide();
+        $("#midline").hide();
+	this.setTimer(0);
+        $("#mid00").hide();
+        $("#mid20").hide();
+	$("#mid00").css("background-color", "#e7e7e7");
+        $("#mid00").css("color", "black");
+        $("#hltline").hide();
+	$("#hlt_table").hide();
+	$("#hlt00").hide();
+        $("#hlt20").hide();
+        $("#hlt01").hide();
+        $("#hlt21").hide();
+	$("#hlt01").css("background-color", "#e7e7e7");
+        $("#hlt01").css("color", "black");
+	$("#row_info").hide();
+        $("#prompt").hide();
+	$("#button_nee").css("background-color", "#e7e7e7");
+        $("#button_nee").css("color", "black");
+        $("#note").hide();
+	$("#brew").hide();
+    },
     setScreen: function(s){
 	Screen = parseInt(s,10);
-	console.log("Screen:"+Screen);
 	switch (Screen) {
-            case 0:	$("#mltline").show();
+            case 0:	this.clearScreen();
+			$("#mltline").show();
 			$("#mlt_table").show();
 			$("#but00").text('Hand');
 			$("#but20").text('Auto');
 			$("#mlt00").show();
                 	$("#mlt20").show();
-			$("#mlt01").hide();
-			$("#mlt21").hide();
 			$("#midline").show();
-			$("#mid00").hide();
-                        $("#mid20").hide();
+			this.setTimer(0);
 			$("#hltline").show();
 			$("#hlt_table").show();
-			$("#hlt00").hide();
-                        $("#hlt20").hide();
 			$("#hlt01").show();
-                	$("#hlt21").show();
-			$("#hlt01").css("background-color", "#e7e7e7");
-                        $("#hlt01").css("color", "black");
 			$("#but04").text('Info');
-                        $("#but24").text('Tools');
-			$("#row_info").hide();
-			$("#prompt").hide();
+			// No tools button on the web.
 			break;
-	    case 2:     $("#mltline").hide();
-                        $("#midline").hide();
-                        $("#hltline").hide();
+	    case 2:     this.clearScreen();
                         $("#row_info").show();
-			$("#prompt").hide();
                         break;
-//	    case 21:	Automaat show recipe and Stop / Start
-//			Prompt
-//			Prompt
-	    case 100:
+	    case 96:	break;	// Automaat show recipe and Stop / Start
+	    case 98:	break;	// Delay start
+	    case 99:	this.clearScreen(); // heatup
+			$("#mltline").show();
+			$("#mlt_table").show();
+			$("#midline").show();
+			$("#hltline").show();
+                        $("#hlt_table").show();
+			break;
+	    case 100:	// All handled at Subscreen
             case 101:
             case 102:
             case 103:
             case 104:
             case 105:
             case 106:
-            case 107:	$("#mltline").show();
-			$("#but00").text('+sp');
-			$("#but20").text('-sp');
-                        $("#midline").show();
-                        $("#hltline").show();
-			$("#hlt01").hide();
-                        $("#hlt21").hide();
-                        $("#row_info").hide();
-			$("#prompt").hide();
-                        break;
-	    case 108:	$("#mltline").show();	// to boil
-			$("#midline").hide();
-                        $("#hltline").hide();
-			$("#prompt").hide();
+            case 107:	break;
+	    case 108:	this.clearScreen();
+			$("#mltline").show();	// to boil
+			$("#mlt_table").show();
+			$("#mlt00").show();
+                        $("#mlt20").show();
+                        $("#but00").text('+sp');
+                        $("#but20").text('-sp');
 			break;
-            case 109:	$("#mltline").show();	// boil
+            case 109:	this.clearScreen();
+			$("#mltline").show();	// boil
+			$("#mlt_table").show();
+			$("#mlt00").show();
+                        $("#mlt20").show();
+                        $("#but00").text('+sp');
+                        $("#but20").text('-sp');
 			$("#midline").show();
-			$("#hltline").hide();
-			$("#prompt").hide();
+			$("#mid00").show();
+                        $("#mid20").show();
+                        $("#but02").text('+%');
+                        $("#but22").text('-%');
+			this.setTimer(1);
+			$("#hltline").show();
+			$("#hlt01").show();
+                        $("#hlt21").show();
+                        $("#but04").text('+1m');
+                        $("#but24").text('-1m');
 			break;
-	    case 200:	$("#mltline").hide();
-                        $("#midline").hide();
-                        $("#hltline").hide();
-			$("#row_info").hide();
+	    case 110:	// whirlpool 9
+	    case 111:	// cooling H
+	    case 112:	// whirlpool 7
+	    case 113:	// cooling M
+	    case 114:	// whirlpool 6
+	    case 115:	// cooling C
+	    case 116:	// whirlpool 2
+			break;
+	    case 117:	this.clearScreen();
+                        $("#note").show();
+			$("#note_msg").text('Brouwen is gereed.');
+			break;
+	    case 118:	this.clearScreen();
+                        $("#note").show();
+                        $("#note_msg").text('Brouwen is afgebroken.');
+			break;
+	    case 97:
+	    case 200:	this.clearScreen();
 			$("#prompt").show();
 			break;
-	    case 201:	$("#mltline").show();
-			$("#mlt00").hide();
-                	$("#mlt20").hide();
-			$("#mlt01").hide();
-                        $("#mlt21").hide();
-			$("#mlt_table").hide();
+	    case 201:	this.clearScreen();
+			$("#mltline").show();
 			$("#but00").text('+sp');
 			$("#but20").text('-sp');
 			$("#but01").text('Pomp');
 			$("#but21").text('Aan');
 			$("#midline").show();
-                        $("#mid00").hide();
-                        $("#mid20").hide();
 			$("#hltline").show();
-			$("#hlt00").hide();
-                	$("#hlt20").hide();
-                	$("#hlt21").hide();
-			$("#hlt_table").hide();
 			$("#but03").text('+sp');
                         $("#but23").text('-sp');
                         $("#but04").text('Stop');
                         $("#but24").text('Aan');
+			$("#hlt01").show();
 			$("#hlt01").css("background-color", "#575757");
 			$("#hlt01").css("color", "white");
-                        $("#row_info").hide();
-			$("#prompt").hide();
 			break;
-            default:    $("#mltline").hide();
-			$("#midline").hide();
-                        $("#hltline").hide();
-			$("#prompt").hide();
+            default:    this.clearScreen();
                         console.log("this is default screen "+Screen);
                         break;
 	}
     },
+    setSubscreen: function(s){
+        Subscreen = parseInt(s,10);
+        console.log("Screen:"+Screen+" Sub:"+Subscreen);
+	if (Screen == 96) {
+	    this.clearScreen();
+	    if (Subscreen == 0) {
+		$("#prompt").show();
+                $("#button_ja").text('Ja');
+                $("#button_nee").text('Nee');
+	    } else if (Subscreen == 1) {
+		$("#brew").show();
+	    }
+	} else if ((Screen >= 100) && (Screen < 108)) {
+	    this.clearScreen();
+            $("#mltline").show();
+            $("#mlt_table").show();
+	    $("#midline").show();
+            $("#hltline").show();
+	    $("#hlt_table").show();
+            switch (Subscreen) {
+		case 0:	// MASH_NONE
+		case 1:	// MASH_WAITTEMP
+                        $("#mlt00").show();
+                        $("#mlt20").show();
+			$("#but00").text('+sp');
+                        $("#but20").text('-sp');
+                        break;
+		case 2:	// MASH_REST
+			this.setTimer(1);
+			$("#mid00").show();
+                        $("#mid20").show();
+                        $("#but02").text('+1m');
+                        $("#but22").text('-1m');
+			break;
+		case 3:	// MASH_ADD
+		case 4:	// MASH_IODINE
+		case 5:	// MASH_REMOVE
+		case 6:	// MASH_INFUSE
+			this.setTimer(0);
+			$("#mid00").show();
+			$("#mid00").css("background-color", "#575757");
+                        $("#mid00").css("color", "white");
+                        $("#mid20").show();
+			$("#but02").text('Halt');
+                        $("#but22").text('Ok');
+			break;
+	    };
+	} else if ((Screen == 111) || (Screen == 113) || (Screen == 115)) { // cooling H,M,C
+	    this.clearScreen();
+	    if (Subscreen == 0) {
+		$("#prompt").show();
+		$("#button_ja").text('Start');
+                $("#button_nee").text('Stop');
+		$("#button_nee").css("background-color", "#575757");
+                $("#button_nee").css("color", "white");
+	    } else if (Subscreen == 1) {
+		$("#mltline").show();
+                $("#mlt_table").show();
+                $("#mlt00").show();
+                $("#mlt20").show();
+                $("#but00").text('+1');
+                $("#but20").text('-1');
+                $("#hltline").show();
+		$("#hlt01").show();
+                $("#but04").text('Stop');
+		$("#hlt01").css("background-color", "#575757");
+                $("#hlt01").css("color", "white");
+	    }
+	} else if ((Screen == 110) || (Screen == 112) || (Screen == 114) || (Screen == 116)) { // whirlpools
+	    this.clearScreen();
+            if (Subscreen == 0) {
+        	$("#prompt").show();
+                $("#button_ja").text('Start');
+                $("#button_nee").text('Stop');
+		$("#button_nee").css("background-color", "#575757");
+                $("#button_nee").css("color", "white");
+	    } else if (Subscreen == 1) {
+		$("#mltline").show();
+                $("#mlt_table").show();
+		$("#midline").show();
+		this.setTimer(1);
+                $("#mid00").show();
+                $("#mid20").show();
+                $("#but02").text('-1m');
+                $("#but22").text('+1m');
+		$("#hltline").show();
+                $("#hlt21").show();
+                $("#but24").text('Pomp');
+            }
+	};
+    },
     MLT_pv: function(s) {
 	$("#mlt_pv").text(s);
     },
@@ -129,6 +262,13 @@
     },
     MLT_power: function(s) {
 	$("#mlt_power").text(s);
+	if (Screen == 201) {
+	    if (s != "") {
+		$("#but21").text('Uit');
+	    } else {
+		$("#but21").text('Aan');
+	    }
+	}
     },
     MLT_led: function(s) {
 	if (s == 0)
@@ -154,10 +294,17 @@
                 $("#hlt21").show();
 		$("#hlt_table").show();
             }
-        }
+	}
     },
     HLT_power: function(s) {
 	$("#hlt_power").text(s);
+	if (Screen == 201) {
+            if (s != "") {
+                $("#but24").text('Uit');
+            } else {
+                $("#but24").text('Aan');
+            }
+        }
     },
     HLT_led: function(s) {
 	if (s == 0)
@@ -171,6 +318,20 @@
     Timer: function(s) {
 	$("#timer").text(s);
     },
+    Brew1: function(s) {
+	$("#brew_msg1").text(s);
+    },
+    Brew2: function(s) {
+        $("#brew_msg2").text(s);
+    },
+    Beep: function(s) {
+	var loop = parseInt(s,10);
+	Beep.pause();
+	Beep.loop = false;
+	for (i = 0; i < loop; i++) {
+	    Beep.play();
+	}
+    },
 };
 
 var BrewBoard = {
@@ -182,6 +343,9 @@
 	    main: function(v){
 		BBScreen.setScreen(v)
 	    },
+	    sub: function(v){
+                BBScreen.setSubscreen(v)
+            },
 	    mlt_pv:function(v){
 		BBScreen.MLT_pv(v)
 	    },
@@ -215,8 +379,16 @@
 	    timer:function(v){
 		BBScreen.Timer(v)
 	    },
+	    beep:function(v){
+                BBScreen.Beep(v)
+            },
+	    brew1:function(v){
+		BBScreen.Brew1(v)
+	    },
+	    brew2:function(v){
+                BBScreen.Brew2(v)
+            },
 	};
-	console.log(e);
 	$.each(a,function(k,v){
 	    if (typeof(c[k])!="undefined"){
 		c[k](v)
@@ -227,13 +399,13 @@
 
 
 function sendTouch(x, y) {
-	websocket.send('{"touch":{"x":'+x+',"y":'+y+'}}');
-	console.log('Sent {"touch":{"x":'+x+',"y":'+y+'}}');
+    websocket.send('{"touch":{"x":'+x+',"y":'+y+'}}');
 }
 
 
 /* Define keys in the screens and their actions. */
 $("#ok_info").click( function() { sendTouch(160,220); });
+$("#ok_note").click( function() { sendTouch(160,220); });
 $("#mlt00").click( function()   { sendTouch( 35, 46); });
 $("#mlt20").click( function()   { sendTouch(285, 46); });
 $("#mlt01").click( function()   { sendTouch( 35, 96); });
@@ -246,11 +418,12 @@
 $("#hlt21").click( function()   { sendTouch(285,220); });
 $("#button_ja").click( function()  { sendTouch( 80,120); });
 $("#button_nee").click( function() { sendTouch(240,120); });
-
+$("#button_stop").click( function()  { sendTouch( 35,220); });
+$("#button_start").click( function() { sendTouch(285,220); });
 
 websocket.onopen = function(evt) {
-	console.log('WebSocket connection opened');
-	document.getElementById("test").innerHTML = "WebSocket is connected!";
+  console.log('WebSocket connection opened');
+  document.getElementById("test").innerHTML = "";
 }
 
 /*

mercurial