diff -r a165f6c20a44 -r cfe232710027 www/js/mon_node.js
--- a/www/js/mon_node.js Sun May 24 12:12:34 2020 +0200
+++ b/www/js/mon_node.js Thu May 28 14:23:14 2020 +0200
@@ -23,7 +23,8 @@
$(document).ready(function() {
- var url = 'getnode.php?uuid="' + my_uuid + '"',
+ var record = {},
+ url = 'getnode.php?uuid="' + my_uuid + '"',
source = {
datatype: 'json',
datafields: [
@@ -55,50 +56,78 @@
},
dataAdapter = new $.jqx.dataAdapter(source, {
loadComplete: function(records) {
- var record = dataAdapter.records[0],
- oline = (record.online) ? 'On-line' : 'Off-line',
- html = '
';
- html += '
';
- html += 'Systeem overzicht |
';
- html += 'Uuid | ' + record.uuid + ' |
';
- html += 'Systeem | ' + record.node + ' |
';
- html += 'Online | ' + oline + ' |
';
- html += 'Type | ' + record.group_id + ' |
';
- html += 'Eerst gezien | ' + record.firstseen + ' |
';
- html += 'Laatst gezien | ' + record.lastseen + ' |
';
+ record = dataAdapter.records[0];
+ updateScreen();
+ }
+ });
+
+ function updateScreen() {
+ var oline = (record.online) ? 'On-line' : 'Off-line',
+ html = '';
+ html += '
';
+ html += 'Systeem overzicht |
';
+ html += 'Uuid | ' + record.uuid + ' |
';
+ html += 'Systeem | ' + record.node + ' |
';
+ html += 'Online | ' + oline + ' |
';
+ html += 'Type | ' + record.group_id + ' |
';
+ html += 'Eerst gezien | ' + record.firstseen + ' |
';
+ html += 'Laatst gezien | ' + record.lastseen + ' |
';
+ if (record.online) {
html += 'Hardware maker | ' + record.hardwaremake + ' |
';
html += 'Hardware model | ' + record.hardwaremodel + ' |
';
html += 'OS | ' + record.os + ' versie: ' + record.os_version + ' |
';
html += 'Firmware | ' + record.firmware + ' |
';
+
+ if (record.temperature > 0)
+ html += 'Temperatuur | ' + record.temperature.toFixed(1) + '°C |
';
+ if (record.humidity > 0)
+ html += 'Vochtigheid | ' + record.humidity.toFixed(1) + '% |
';
+ if (record.barometer > 0)
+ html += 'Luchtdruk | ' + record.barometer.toFixed(0) + ' |
';
+ if ((record.gps_latitude != 0) && (record.gps_longitude != 0))
+ html += 'GPS | ' + record.gps_latitude + ' ' + record.gps_longitude + ' ' + record.gps_altitude + ' |
';
+ html += 'Netwerk | ' + record.net_ifname + ' ' + record.net_address + ' |
';
+ if (record.net_rssi < 0)
+ html += 'WiFi signaal | ' + record.net_rssi + ' |
';
+ html += 'Update interval | ' + record.up_interval + ' sec. |
';
+ }
+ html += '';
+ html += '';
+ $('#ContentPanel').html(html);
+ }
+
+ // Get the data.
+ dataAdapter.dataBind();
+
+ websocket.onmessage = function(evt) {
+ var msg = evt.data;
+ var obj = JSON.parse(msg);
+ if (! obj.device && obj.node == record.node) {
+ record.online = obj.online;
if (record.online) {
- if (record.temperature > 0) {
- html += 'Temperatuur | ' + record.temperature.toFixed(1) + '°C |
';
- }
- if (record.humidity > 0) {
- html += 'Vochtigheid | ' + record.humidity.toFixed(1) + '% |
';
- }
- if (record.barometer > 0) {
- html += 'Luchtdruk | ' + record.barometer.toFixed(0) + ' |
';
- }
- if ((record.gps_latitude != 0) && (record.gps_longitude != 0)) {
- html += 'GPS | ' + record.gps_latitude + ' ' + record.gps_longitude + ' ' + record.gps_altitude + ' |
';
- }
- html += 'Netwerk | ' + record.net_ifname + ' ' + record.net_address + ' |
';
- if (record.net_rssi < 0) {
- html += 'WiFi signaal | ' + record.net_rssi + ' |
';
- }
- html += 'Update interval | ' + record.up_interval + ' sec. |
';
+ record.group_id = obj.group_id;
+ record.lastseen = obj.lastseen;
+ if (obj.hardwaremake)
+ record.harwaremake = obj.hardwaremake;
+ if (obj.hardwaremodel)
+ record.hardwaremodel = obj.hardwaremodel;
+ if (obj.os)
+ record.os = obj.os;
+ if (obj.os_version)
+ record.os_version = obj.os_version;
+ if (obj.firmware)
+ record.firmware = obj.firmware;
+ if (obj.temperature)
+ record.temperature = obj.temperature;
+ if (obj.humidity)
+ record.humidity = obj.humidity;
+ record.net_ifname = obj.net_ifname;
+ record.net_address = obj.net_address;
+ if (obj.net_rssi)
+ record.net_rssi = obj.net_rssi;
}
- html += '';
- html += '';
- $('#ContentPanel').html(html);
+ updateScreen();
}
- });
-
- // Get the data immediatly and then at regular intervals to refresh.
- dataAdapter.dataBind();
- setInterval(function() {
- dataAdapter.dataBind();
- }, 30000);
+ }
});