www/js/mon_node.js

changeset 695
cfe232710027
parent 578
e75ce5bbda73
child 703
faeede125639
equal deleted inserted replaced
694:a165f6c20a44 695:cfe232710027
21 *****************************************************************************/ 21 *****************************************************************************/
22 22
23 23
24 $(document).ready(function() { 24 $(document).ready(function() {
25 25
26 var url = 'getnode.php?uuid="' + my_uuid + '"', 26 var record = {},
27 url = 'getnode.php?uuid="' + my_uuid + '"',
27 source = { 28 source = {
28 datatype: 'json', 29 datatype: 'json',
29 datafields: [ 30 datafields: [
30 { name: 'record', type: 'int' }, 31 { name: 'record', type: 'int' },
31 { name: 'uuid', type: 'string' }, 32 { name: 'uuid', type: 'string' },
53 id: 'record', 54 id: 'record',
54 url: url 55 url: url
55 }, 56 },
56 dataAdapter = new $.jqx.dataAdapter(source, { 57 dataAdapter = new $.jqx.dataAdapter(source, {
57 loadComplete: function(records) { 58 loadComplete: function(records) {
58 var record = dataAdapter.records[0], 59 record = dataAdapter.records[0];
59 oline = (record.online) ? 'On-line' : 'Off-line', 60 updateScreen();
60 html = '<div id="node_table">'; 61 }
61 html += '<table style="width: 100%; padding: 10px;">'; 62 });
62 html += '<tr><th colspan=2>Systeem overzicht</th></tr>'; 63
63 html += '<tr><td>Uuid</td><td>' + record.uuid + '</td></tr>'; 64 function updateScreen() {
64 html += '<tr><td>Systeem</td><td>' + record.node + '</td></tr>'; 65 var oline = (record.online) ? 'On-line' : 'Off-line',
65 html += '<tr><td>Online</td><td>' + oline + '</td></tr>'; 66 html = '<div id="node_table">';
66 html += '<tr><td>Type</td><td>' + record.group_id + '</td></tr>'; 67 html += '<table style="width: 100%; padding: 10px;">';
67 html += '<tr><td>Eerst gezien</td><td>' + record.firstseen + '</td></tr>'; 68 html += '<tr><th colspan=2>Systeem overzicht</th></tr>';
68 html += '<tr><td>Laatst gezien</td><td>' + record.lastseen + '</td></tr>'; 69 html += '<tr><td>Uuid</td><td>' + record.uuid + '</td></tr>';
70 html += '<tr><td>Systeem</td><td>' + record.node + '</td></tr>';
71 html += '<tr><td>Online</td><td>' + oline + '</td></tr>';
72 html += '<tr><td>Type</td><td>' + record.group_id + '</td></tr>';
73 html += '<tr><td>Eerst gezien</td><td>' + record.firstseen + '</td></tr>';
74 html += '<tr><td>Laatst gezien</td><td>' + record.lastseen + '</td></tr>';
75 if (record.online) {
69 html += '<tr><td>Hardware maker</td><td>' + record.hardwaremake + '</td></tr>'; 76 html += '<tr><td>Hardware maker</td><td>' + record.hardwaremake + '</td></tr>';
70 html += '<tr><td>Hardware model</td><td>' + record.hardwaremodel + '</td></tr>'; 77 html += '<tr><td>Hardware model</td><td>' + record.hardwaremodel + '</td></tr>';
71 html += '<tr><td>OS</td><td>' + record.os + ' versie: ' + record.os_version + '</td></tr>'; 78 html += '<tr><td>OS</td><td>' + record.os + ' versie: ' + record.os_version + '</td></tr>';
72 html += '<tr><td>Firmware</td><td>' + record.firmware + '</td></tr>'; 79 html += '<tr><td>Firmware</td><td>' + record.firmware + '</td></tr>';
80
81 if (record.temperature > 0)
82 html += '<tr><td>Temperatuur</td><td>' + record.temperature.toFixed(1) + '&deg;C</td></tr>';
83 if (record.humidity > 0)
84 html += '<tr><td>Vochtigheid</td><td>' + record.humidity.toFixed(1) + '%</td></tr>';
85 if (record.barometer > 0)
86 html += '<tr><td>Luchtdruk</td><td>' + record.barometer.toFixed(0) + '</td></tr>';
87 if ((record.gps_latitude != 0) && (record.gps_longitude != 0))
88 html += '<tr><td>GPS</td><td>' + record.gps_latitude + ' ' + record.gps_longitude + ' ' + record.gps_altitude + '</td></tr>';
89 html += '<tr><td>Netwerk</td><td>' + record.net_ifname + ' ' + record.net_address + '</td></tr>';
90 if (record.net_rssi < 0)
91 html += '<tr><td>WiFi signaal</td><td>' + record.net_rssi + '</td></tr>';
92 html += '<tr><td>Update interval</td><td>' + record.up_interval + ' sec.</td></tr>';
93 }
94 html += '</<table>';
95 html += '</div>';
96 $('#ContentPanel').html(html);
97 }
98
99 // Get the data.
100 dataAdapter.dataBind();
101
102 websocket.onmessage = function(evt) {
103 var msg = evt.data;
104 var obj = JSON.parse(msg);
105 if (! obj.device && obj.node == record.node) {
106 record.online = obj.online;
73 if (record.online) { 107 if (record.online) {
74 if (record.temperature > 0) { 108 record.group_id = obj.group_id;
75 html += '<tr><td>Temperatuur</td><td>' + record.temperature.toFixed(1) + '&deg;C</td></tr>'; 109 record.lastseen = obj.lastseen;
76 } 110 if (obj.hardwaremake)
77 if (record.humidity > 0) { 111 record.harwaremake = obj.hardwaremake;
78 html += '<tr><td>Vochtigheid</td><td>' + record.humidity.toFixed(1) + '%</td></tr>'; 112 if (obj.hardwaremodel)
79 } 113 record.hardwaremodel = obj.hardwaremodel;
80 if (record.barometer > 0) { 114 if (obj.os)
81 html += '<tr><td>Luchtdruk</td><td>' + record.barometer.toFixed(0) + '</td></tr>'; 115 record.os = obj.os;
82 } 116 if (obj.os_version)
83 if ((record.gps_latitude != 0) && (record.gps_longitude != 0)) { 117 record.os_version = obj.os_version;
84 html += '<tr><td>GPS</td><td>' + record.gps_latitude + ' ' + record.gps_longitude + ' ' + record.gps_altitude + '</td></tr>'; 118 if (obj.firmware)
85 } 119 record.firmware = obj.firmware;
86 html += '<tr><td>Netwerk</td><td>' + record.net_ifname + ' ' + record.net_address + '</td></tr>'; 120 if (obj.temperature)
87 if (record.net_rssi < 0) { 121 record.temperature = obj.temperature;
88 html += '<tr><td>WiFi signaal</td><td>' + record.net_rssi + '</td></tr>'; 122 if (obj.humidity)
89 } 123 record.humidity = obj.humidity;
90 html += '<tr><td>Update interval</td><td>' + record.up_interval + ' sec.</td></tr>'; 124 record.net_ifname = obj.net_ifname;
125 record.net_address = obj.net_address;
126 if (obj.net_rssi)
127 record.net_rssi = obj.net_rssi;
91 } 128 }
92 html += '</<table>'; 129 updateScreen();
93 html += '</div>';
94 $('#ContentPanel').html(html);
95 } 130 }
96 }); 131 }
97
98 // Get the data immediatly and then at regular intervals to refresh.
99 dataAdapter.dataBind();
100 setInterval(function() {
101 dataAdapter.dataBind();
102 }, 30000);
103 }); 132 });
104 133

mercurial