Websocket selectors using jquery style. During cooling display the pump button on the webpage too.

Sat, 06 Jun 2020 20:20:06 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Sat, 06 Jun 2020 20:20:06 +0200
changeset 79
cb5c73a8ae90
parent 78
b58e0c9897e1
child 80
9d2c0a85ee6e

Websocket selectors using jquery style. During cooling display the pump button on the webpage too.

image/version.txt file | annotate | diff | comparison | revisions
image/w/js/webui.js file | annotate | diff | comparison | revisions
main/automation.c file | annotate | diff | comparison | revisions
--- a/image/version.txt	Sat Jun 06 16:52:44 2020 +0200
+++ b/image/version.txt	Sat Jun 06 20:20:06 2020 +0200
@@ -1,1 +1,1 @@
-0.3.7i
+0.3.7l
--- a/image/w/js/webui.js	Sat Jun 06 16:52:44 2020 +0200
+++ b/image/w/js/webui.js	Sat Jun 06 20:20:06 2020 +0200
@@ -1,5 +1,6 @@
-document.getElementById("wsstatus").innerHTML = "WebSocket is not connected";
+/* js/webui.js */
 
+$('#wsstatus').html('WebSocket is not connected');
 var websocket = new ReconnectingWebSocket('ws://'+location.hostname+'/ws');
 
 var Beep= new Audio( "data:audio/wav;base64,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 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////VEFHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU291bmRib3kuZGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjAwNGh0dHA6Ly93d3cuc291bmRib3kuZGUAAAAAAAAAACU=" );
@@ -203,7 +204,7 @@
                 $("#button_nee").text('Stop');
 		$("#button_nee").css("background-color", "#575757");
                 $("#button_nee").css("color", "white");
-	    } else if (Subscreen == 1) {
+	    } else if (Subscreen >= 1) {
 		$("#mltline").show();
                 $("#mlt_table").show();
                 $("#mlt00").show();
@@ -215,6 +216,14 @@
                 $("#but04").text('Stop');
 		$("#hlt01").css("background-color", "#575757");
                 $("#hlt01").css("color", "white");
+		if (Subscreen == 1) {
+		    $("#hlt21").hide();
+                    $("#but24").text('');
+		}
+		if (Subscreen == 2) {
+		    $("#hlt21").show();
+                    $("#but24").text('Pomp');
+		}
 	    }
 	} else if ((Screen == 122) || (Screen == 124) || (Screen == 126) || (Screen == 128)) { // whirlpools
 	    this.clearScreen();
@@ -417,7 +426,7 @@
 
 websocket.onopen = function(evt) {
   console.log('WebSocket connection opened');
-  document.getElementById("wsstatus").innerHTML = "";
+  $('#wsstatus').html('');
 }
 
 /*
@@ -437,13 +446,13 @@
 }
 
 websocket.onclose = function(evt) {
-	console.log('Websocket connection closed');
-	document.getElementById("wsstatus").innerHTML = "WebSocket closed";
+    console.log('Websocket connection closed');
+    $('#wsstatus').html('WebSocket closed');
 }
 
 websocket.onerror = function(evt) {
-	console.log('Websocket error: ' + evt);
-	document.getElementById("wsstatus").innerHTML = "WebSocket error????!!!1!!";
+    console.log('Websocket error: ' + evt);
+    $('#wsstatus').html('WebSocket error ' + evt.data);
 }
 
 
--- a/main/automation.c	Sat Jun 06 16:52:44 2020 +0200
+++ b/main/automation.c	Sat Jun 06 20:20:06 2020 +0200
@@ -304,6 +304,7 @@
 	case MAIN_AUTO_COOLING_H:
 	case MAIN_AUTO_COOLING_M:
 	case MAIN_AUTO_COOLING_C:
+		Sub_Screen = 0;
 		TempReached = false;
                 runtime.StageResume = Main_Screen;
                 runtime.StageTimeLeft = 0;
@@ -1159,7 +1160,7 @@
 		    }
 #endif
                     MLT_info(71, 26, true);
-                    if (xSemaphoreTake(xSemaphoreDriver, 10) == pdTRUE) {
+                    if (Sub_Screen == 1 && xSemaphoreTake(xSemaphoreDriver, 10) == pdTRUE) {
                     	/*
                     	 * If the pump safe temperature is reached, add the control button.
 		    	 * Redefine key number 3 if it is at the position of key 2.
@@ -1167,8 +1168,13 @@
                     	if ((driver_state->mlt_pv < equipment.PumpMaxTemp) && (Buttons[3].x == Buttons[2].x) &&(Buttons[3].y == Buttons[2].y)) {
                             Buttons_Add(255, 200, 60, 40, (char *)"Pomp", 3);
                             Buttons_Show();
+			    Sub_Screen = 2;
                     	}
                     	xSemaphoreGive(xSemaphoreDriver);
+			if (Sub_Screen == 2) {
+			    snprintf(msg, 63, "{\"main\":\"%d\",\"sub\":\"%d\",\"timer\":\"\"}", Main_Screen, Sub_Screen);
+                            ws_server_send_text_clients((char *)"/ws", msg, strlen(msg));
+			}
                     }
                     switch (Buttons_Scan()) {
                     	case 1:	if (xSemaphoreTake(xSemaphoreDriver, 10) == pdTRUE) {

mercurial