|
7 | 7 | <link type="text/css" rel="stylesheet" href="/app.css" media="all"> |
8 | 8 | </head> |
9 | 9 | <body> |
10 | | -Current total current power consumption <span id="sensors/power/0"></span> |
11 | | -<table id="myTablePower"><tr> |
12 | | -</tr> |
13 | | -</table> |
14 | | -<P> |
15 | | -Total power today <span id="sensors/power/0powercumulativeToday"></span> KWh |
16 | | -<P> |
17 | | -Total power this hour <span id="sensors/power/0powercumulativeHour"></span> KWh |
18 | | -<P> |
19 | | -<canvas id="mycanvas" width="500" height="100"></canvas> |
20 | | -<P> |
21 | | -<div id="time" style="font-size:x-small"></div> |
| 10 | +<div id="sensors"></div> |
| 11 | + |
22 | 12 |
|
23 | 13 | <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> |
24 | 14 | <script src="http://www.trease.eu:8500/socket.io/socket.io.js"></script> |
25 | | -<script type="text/javascript" src="http://github.com/joewalnes/smoothie/raw/master/smoothie.js"></script> |
26 | 15 | <script> |
27 | | - ElementExists = function(id) { |
28 | | - return !!document.getElementById(id); |
29 | | - }; |
30 | | - BeginsWith = function(needle, haystack){ |
31 | | - return (haystack.substr(0, needle.length) == needle); |
32 | | - } |
33 | | - |
34 | 16 |
|
35 | | - var smoothie = new SmoothieChart({millisPerPixel: 500}); |
36 | | - var line1 = new TimeSeries(); |
37 | | - smoothie.streamTo(document.getElementById("mycanvas")); |
38 | | - smoothie.addTimeSeries(line1); |
39 | 17 |
|
40 | 18 | var socket = io.connect("http://192.168.1.103:8500"); |
41 | 19 | socket.on('data', function(data) { |
42 | | - // console.log("Message received " + data.topic + " of " + data.value); |
43 | | - |
44 | | - // check the target topic exisits & if not create a target table entry |
45 | | - if (!ElementExists (data.topic)) { |
46 | | - // console.log("Creating target " + data.topic); |
47 | | - var topictag = "sensors/power/"; |
48 | | - if (data.topic.substring(0,topictag.length) == topictag) { |
49 | | - var table=document.getElementById("myTablePower"); |
50 | | - var row=table.insertRow(0); |
51 | | - var cell=row.insertCell(0); |
52 | | - cell.id = data.topic; |
53 | | - var cell=row.insertCell(0); |
54 | | - cell.id = data.topic + "name"; |
55 | | - document.getElementById(data.topic).style.textAlign="right"; |
56 | | - document.getElementById(data.topic + "name").innerHTML= data.topic; |
57 | | - } |
58 | | - } |
59 | | - // now we know there is a target, update it (unless it is one we don't want one this page) |
60 | | - // console.log("Setting target " + data.topic + " to " + data.value); |
61 | | - if (ElementExists(data.topic)) { |
62 | | - document.getElementById(data.topic).innerHTML= data.value; |
63 | | - } else { |
64 | | - // console.log("ignoring " + data.topic); |
65 | | - } |
66 | | - |
67 | | - // if data topic is 0 it is the overall power consumption, so update the graph |
68 | | - if (data.topic == "sensors/power/0") { |
69 | | - line1.append (new Date().getTime(), data.value); |
| 20 | + console.log("Message received " + data.topic + " of " + data.value); |
| 21 | + |
| 22 | + if($("#" + data.topic().replace('/', '')).length == 0) { |
| 23 | + //it doesn't exist |
| 24 | + console.log(data.topic); |
| 25 | + var $div = $("#sensors"); |
| 26 | + var $myNewElement = $("<p>New element</p>"); |
| 27 | + $myNewElement.appendTo($div); |
70 | 28 | } |
71 | 29 |
|
72 | | - // print the time the refresh happened |
73 | | - var dt = new Date(); |
74 | | - document.getElementById("time").innerHTML= dt.toLocaleTimeString(); |
| 30 | + |
75 | 31 | }); |
76 | 32 | </script> |
77 | 33 | </body> |
|
0 commit comments