LaundrySorcery

git clone git://xatko.vsos.ethz.ch/LaundrySorcery.git
Log | Files | Refs

commit 67dc598cb822662d7c9f17270497cb4c2fcd2425
parent 7b8c169cf45acb598f0395be0cd4540fe7858a75
Author: Dominik Schmidt <das1993@hotmail.com>
Date:   Sat,  7 Jul 2018 16:23:08 +0000

Add Notifications via javascript.

Diffstat:
Mwww/index.cgi | 25++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/www/index.cgi b/www/index.cgi @@ -56,6 +56,7 @@ Content-Type: text/html </div> <script type="text/JavaScript"> <!-- + do_notify=false; delta_t=${RTIME}; function updateDisplay(){ var g=document.getElementById("guessTime"); @@ -79,8 +80,21 @@ Content-Type: text/html st.setAttribute("class",classn); st.getElementsByTagName("img")[0].setAttribute("src",classn+".svg"); } + + function updateDeltaT(dt){ + if(do_notify){ + if(delta_t<0 && dt >= 0){ + new Notification("Washing machine has been turned on"); + } + else if(delta_t >= 0 && dt < 0){ + new Notification("Washing machine is now off"); + } + } + delta_t=dt; + } + setInterval(function(){ if(delta_t>=0){delta_t++}else{delta_t--}; updateDisplay();}, 1000); - setInterval(function(){ readTextFile("print_delta_t.cgi", function(rawFile){delta_t = rawFile.responseText});}, 20*1000); + setInterval(function(){ readTextFile("print_delta_t.cgi", function(rawFile){updateDeltaT(parseInt(rawFile.responseText));});}, 20*1000); readTextFile("clusters", function(rawFile){parseClusters(rawFile.responseText);}); clusters=[]; function Cluster(apriori, mean, variance){ @@ -200,6 +214,15 @@ Content-Type: text/html return str.substr(0,str.length-2); } updateDisplay(); + + if("Notification" in window){ + if(Notification.permission==="granted"){ + do_notify=true + } + else if(Notification.permission!=="denied"){ + var res=Notification.requestPermission(function(res){do_notify=(res==="granted");}); + } + } --> </script> </body>