Sat, 04 May 2019 11:41:16 +0200
Work on web interface using websockets.
document.getElementById("test").innerHTML = "WebSocket is not connected"; var websocket = new WebSocket('ws://'+location.hostname+'/ws'); //var slider = document.getElementById("myRange"); var BBScreen={ Screen: -1, setScreen: function(s){ console.log("Screen:"+s); switch (s) { case '0': case '100': case '101': case '102': case '103': case '104': case '105': case '106': case '107': case '201': $("#mltline").show(); //$("#mlt01").hide(); $("#midline").show(); $("#hltline").show(); $("#row_info").hide(); console.log("this is 0"); break; case '108': $("#mltline").show(); // to boil $("#midline").hide(); $("#hltline").hide(); break; case '109': $("#mltline").show(); // boil $("#midline").show(); $("#hltline").hide(); break; case '2': $("#mltline").hide(); $("#midline").hide(); $("#hltline").hide(); $("#row_info").show(); console.log("this is 2"); break; default: $("#mltline").hide(); $("#midline").hide(); $("#hltline").hide(); console.log("this is default"); break; } }, MLT_pv: function(s) { $("#mlt_pv").text(s); }, MLT_sp: function(s) { $("#mlt_sp").text(s); }, MLT_power: function(s) { $("#mlt_power").text(s); }, MLT_led: function(s) { if (s == 0) $("#mlt_led").css("background-color", "#270"); else $("#mlt_led").css("background-color", "#5E0"); }, Pump_led: function(s) { if (s == 0) $("#pump_led").css("background-color", "#820"); else $("#pump_led").css("background-color", "#F40"); }, HLT_pv: function(s) { $("#hlt_pv").text(s); }, HLT_sp: function(s) { $("#hlt_sp").text(s); }, HLT_power: function(s) { $("#hlt_power").text(s); }, HLT_led: function(s) { if (s == 0) $("#hlt_led").css("background-color", "#270"); else $("#hlt_led").css("background-color", "#5E0"); }, Topmessage: function(s) { $("#top_msg").text(s); }, Timer: function(s) { $("#timer").text(s); }, }; var BrewBoard = { p_msg:function(e){ var b=this; var a=JSON.parse(e); var c={ main: function(v){ BBScreen.setScreen(v) }, mlt_pv:function(v){ BBScreen.MLT_pv(v) }, mlt_sp:function(v){ BBScreen.MLT_sp(v) }, mlt_power:function(v){ BBScreen.MLT_power(v) }, mlt_led:function(v){ BBScreen.MLT_led(v) }, pump_led:function(v){ BBScreen.Pump_led(v) }, hlt_pv:function(v){ BBScreen.HLT_pv(v) }, hlt_sp:function(v){ BBScreen.HLT_sp(v) }, hlt_power:function(v){ BBScreen.HLT_power(v) }, hlt_led:function(v){ BBScreen.HLT_led(v) }, top_msg:function(v){ BBScreen.Topmessage(v) }, timer:function(v){ BBScreen.Timer(v) }, }; console.log(e); $.each(a,function(k,v){ if (typeof(c[k])!="undefined"){ c[k](v) } }); } }; function sendTouch(x, y) { websocket.send('{"touch":{"x":"'+x+'","y":"'+y+'"}}'); console.log('Sent {"touch":{"x":"'+x+'","y":"'+y+'"}}'); } /* Define keys in the screens and their actions. */ $("#ok_info").click( function() { sendTouch(160,220); }); websocket.onopen = function(evt) { console.log('WebSocket connection opened'); document.getElementById("test").innerHTML = "WebSocket is connected!"; } /* * Process received websocket messages. */ websocket.onmessage = function(evt) { var msg = evt.data; var value; switch (msg.charAt(0)) { case '{': BrewBoard.p_msg(evt.data); break; default: document.getElementById("output").innerHTML = evt.data; break; } } websocket.onclose = function(evt) { console.log('Websocket connection closed'); document.getElementById("test").innerHTML = "WebSocket closed"; } websocket.onerror = function(evt) { console.log('Websocket error: ' + evt); document.getElementById("test").innerHTML = "WebSocket error????!!!1!!"; }