LaundrySorcery

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

commit 88b09a11c683b250e38ef84a11e99a32a56a80b1
parent c7d5265cc0694266d2b2a1e37fa33ed024717a7c
Author: Dominik Schmidt <das1993@hotmail.com>
Date:   Wed,  6 Jun 2018 16:33:25 +0000

Merge branch 'asdf'

Conflicts:
	www/index.sh

Diffstat:
Msrc/laundrysorcery.c | 6+++---
Mwww/index.sh | 54+++++++++++++++++++++++++++++++++++++++++++++++++-----
Mwww/light_5min.sh | 0
3 files changed, 52 insertions(+), 8 deletions(-)

diff --git a/src/laundrysorcery.c b/src/laundrysorcery.c @@ -53,6 +53,7 @@ void turn_on(void){ void turn_off(void){ FILE *f=fopen(on_file, "w"); + fprintf(f,"-1\n"); fclose(f); } @@ -141,7 +142,7 @@ int main(int argc, char **argv) return 0; } on_file=argv[1]; - + wiringPiISR(1, INT_EDGE_BOTH, &edge); digitalWrite (0, LOW); delay(5); @@ -150,9 +151,8 @@ int main(int argc, char **argv) const char* arr[]={buffer}; while(1) { delay(1000); - snprintf(buffer,sizeof(buffer),"%lu:%f:%f:%f:%f:%f",(unsigned long)time(NULL),running_mean,g_off.mean,g_off.variance,g_on.mean,g_on.variance); + snprintf(buffer,sizeof(buffer),"%lu:%e:%e:%e:%e:%e",(unsigned long)time(NULL),running_mean,g_off.mean,g_off.variance,g_on.mean,g_on.variance); rrd_update_r("database.rrd", NULL, 1, arr); - } return 0; } diff --git a/www/index.sh b/www/index.sh @@ -1,8 +1,19 @@ #!/bin/bash +declare TIME +declare DTIME +declare ON + +ON=false OTIME=`<on_time` -TIME=`date +%s` -DTIME=$(( TIME-OTIME )) +if [[ $OTIME -lt 0 ]] +then + ON=true + TIME=`date +%s` + DTIME=$(( TIME-OTIME )) +else + DTIME="-1" +fi cat <<-EOF Content-Type: text/html @@ -13,19 +24,52 @@ Content-Type: text/html <title>LaundrySorcery</title> <meta charset="UTF-8"/> <style type="text/CSS"> - delta_t=${DTIME}; - setInterval(function(){ delta_t++; }, 1000); + </style> </head> <body> <H1>Laundry Status</H1> - + <div id="statusLine">The laundry machine is <span id="delta_t"></span></div> <H1>Light Sensor Data</H1> <div><img src="light_5min.sh" /></div> <div><img src="light_1h.sh" /></div> <div><img src="light_1d.sh" /></div> <script type="text/JavaScript"> <!-- + delta_t=${DTIME}; + function updateDisplay(){ + var dt=document.getElementById("delta_t"); + if(delta_t < 0){ + dt.textContent="off"; + } + else{ + dt.textContent="on since "+timeSince(delta_t); + } + } + setInterval(function(){ if(delta_t>=0){delta_t++}; updateDisplay();}, 1000); + function timeSince(delta_t) { + var interval = Math.floor(delta_t / 31536000); + if (interval > 1) { + return interval + " years"; + } + interval = Math.floor(seconds / 2592000); + if (interval > 1) { + return interval + " months"; + } + interval = Math.floor(seconds / 86400); + if (interval > 1) { + return interval + " days"; + } + interval = Math.floor(seconds / 3600); + if (interval > 1) { + return interval + " hours"; + } + interval = Math.floor(seconds / 60); + if (interval > 1) { + return interval + " minutes"; + } + return Math.floor(seconds) + " seconds"; + } --> </script> </body> diff --git a/www/light_5min.sh b/www/light_5min.sh