Plot room temperature on the dashboard.

Thu, 02 Apr 2015 22:23:18 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Thu, 02 Apr 2015 22:23:18 +0200
changeset 358
8b7ef338bf49
parent 357
64cd9865bd11
child 359
12734a3774e8

Plot room temperature on the dashboard.

thermferm/server.c file | annotate | diff | comparison | revisions
www-thermferm/getlog.php file | annotate | diff | comparison | revisions
www-thermferm/liveview.php file | annotate | diff | comparison | revisions
--- a/thermferm/server.c	Thu Apr 02 22:08:15 2015 +0200
+++ b/thermferm/server.c	Thu Apr 02 22:23:18 2015 +0200
@@ -1057,11 +1057,12 @@
 int cmd_list(char *buf)
 {
     char		*opt, *param, *filename, q[5], buffer[256], outbuf[256];
-    char		*date_n, *mode_n, *air_n, *beer_n, *target_n, *heater_n, *cooler_n;
+    char		*date_n, *mode_n, *air_n, *beer_n, *target_n, *heater_n, *cooler_n, *room_n;
     char		*heater_u, *cooler_u;
     int			heater_l = 0, cooler_l = 0, h = 0, c = 0, heat_used = 0, cool_used = 0, lines = 0, graphstep = 0;
     units_list		*unit;
     FILE		*fp;
+    float		room_t;
 
     opt = strtok(buf, " \0");
     opt = strtok(NULL, " \0");
@@ -1143,6 +1144,8 @@
 		heater_u = strtok(NULL, ",\0");	/* current door state	*/
 		heater_u = strtok(NULL, ",\0");	/* heater use counter	*/
 		cooler_u = strtok(NULL, ",\0");	/* cooler use counter	*/
+		room_n = strtok(NULL, ",\0");	/* fan use counter	*/
+		room_n = strtok(NULL, ",\0");	/* room temperature	*/
 
 		if (strncmp(mode_n, (char *)"Mode", 4)) {
 		    /*
@@ -1164,8 +1167,12 @@
 				cool_used = ((c - cooler_l) * 100) / (GRAPH_INTERVAL[graphstep] * 60);
 			    }
 			}
-			snprintf(outbuf, 255, "%s,%s,%s,%s,%s,%s,%s,%d,%d", 
-					    date_n, mode_n, air_n, beer_n, target_n, heater_n, cooler_n, heat_used, cool_used);
+			if (room_n)
+			    sscanf(room_n, "%f", &room_t);
+			else
+			    room_t = 0.0;
+			snprintf(outbuf, 255, "%s,%s,%s,%s,%s,%s,%s,%d,%d,%.1f", 
+					    date_n, mode_n, air_n, beer_n, target_n, heater_n, cooler_n, heat_used, cool_used, room_t);
 		    	srv_send(outbuf);
 			if (h && strcmp(heater_u, "NA"))
 			    heater_l = h;
--- a/www-thermferm/getlog.php	Thu Apr 02 22:08:15 2015 +0200
+++ b/www-thermferm/getlog.php	Thu Apr 02 22:23:18 2015 +0200
@@ -43,7 +43,7 @@
 	$heater   = $f[5] / 100;
 	$cooler   = $f[6] / 100;
 	$row .= '{"Date":"'.$f[0].'","Mode":"'.$f[1].'","Air":"'.$f[2].'","Beer":"'.$f[3].'","Target":"'.$f[4].'",';
-        $row .= '"Heater":'.$heater.',"Cooler":'.$cooler.',"HeatUse":'.$f[7].',"CoolUse":"'.$f[8].'"}';
+        $row .= '"Heater":'.$heater.',"Cooler":'.$cooler.',"HeatUse":'.$f[7].',"CoolUse":"'.$f[8].'","Room":"'.$f[9].'"}';
 	$j++;
     }
 }
--- a/www-thermferm/liveview.php	Thu Apr 02 22:08:15 2015 +0200
+++ b/www-thermferm/liveview.php	Thu Apr 02 22:23:18 2015 +0200
@@ -118,7 +118,8 @@
 	$outstr .= '             { name: "Heater", type: "int" },'.PHP_EOL;
 	$outstr .= '             { name: "Cooler", type: "int" },'.PHP_EOL;
 	$outstr .= '             { name: "HeatUse", type: "int" },'.PHP_EOL;
-	$outstr .= '             { name: "CoolUse", type: "int" }'.PHP_EOL;
+	$outstr .= '             { name: "CoolUse", type: "int" },'.PHP_EOL;
+	$outstr .= '             { name: "Room", type: "float" }'.PHP_EOL;
 	$outstr .= '          ],'.PHP_EOL;
 	$outstr .= '          url: \'getlog.php?unit='.$unit.'\''.PHP_EOL;
 	$outstr .= '       };'.PHP_EOL;
@@ -170,7 +171,8 @@
 	$outstr .= '             series: ['.PHP_EOL;
 	$outstr .= '               { dataField: "Air", lineWidth: 1, displayText: "Air" },'.PHP_EOL;
 	$outstr .= '               { dataField: "Beer", lineWidth: 2, displayText: "Beer" },'.PHP_EOL;
-	$outstr .= '               { dataField: "Target", lineWidth: 1, displayText: "Target", opacity: 0.7 }'.PHP_EOL;
+	$outstr .= '               { dataField: "Target", lineWidth: 1, displayText: "Target", opacity: 0.7 },'.PHP_EOL;
+	$outstr .= '               { dataField: "Room", lineWidth: 1, displayText: "Room", opacity: 0.5 }'.PHP_EOL;
 	$outstr .= '             ]'.PHP_EOL;
 	$outstr .= '           }]'.PHP_EOL;
 	$outstr .= '       };'.PHP_EOL;

mercurial