Skip to content

Commit 47ce67c

Browse files
SteveSteve
authored andcommitted
Basic code to create SNMP device tables and interface rows
Needs wrapping in proper Bootstrap DIVs and the table cells creating and formatting
1 parent 2a42f1b commit 47ce67c

File tree

3 files changed

+37
-11
lines changed

3 files changed

+37
-11
lines changed

homemon-server/homemon-server.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -108,18 +108,18 @@ mqttclient.on("connect", function() {
108108
mqttclient.subscribe("snmpdata");
109109
mqttclient.subscribe("#");
110110
mqttclient.subscribe("$SYS/#");
111-
mqttclient.on("message", function(topic, message) {
111+
mqttclient.on("message", function(topic, message) {
112112
var value = Number(message);
113113
var messageString = value.toString();
114114
// console.log (topic + " " + message.toString());
115115

116116
if (topic === "push/alert") {
117-
io.sockets.in("pushmessage").emit("data", { topic: message.toString() });
117+
io.sockets.in("pushmessage").emit("data", { topic: message.toString() });
118118
}
119119

120120
if (topic === "jsonsensors") {
121121
// var messageData = JSON.parse(message.toString());
122-
//io.sockets.in("mqtt").emit("data", { topic: messageData.topic, value: messageData.value });
122+
//io.sockets.in("mqtt").emit("data", { topic: messageData.topic, value: messageData.value });
123123
}
124124

125125
if (topic.beginsWith("$SYS/")) {
@@ -128,8 +128,8 @@ mqttclient.on("connect", function() {
128128
}
129129

130130
if (topic.beginsWith("snmpdata")) {
131-
console.log(message.toString());
132-
io.sockets.in("snmpdata").emit("data", { message: message.toString() });
131+
// console.log(message.toString());
132+
io.sockets.in("snmpdata").emit("data", { message: message.toString() });
133133
}
134134

135135
// retain messages so that we have starting data for new clients

homemon-server/public/javascripts/snmp.js

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,35 @@ var updates = 0;
1616
var socket = io.connect("http://homemon.trease.eu:8500/");
1717
socket.emit("subscribe", { room: "snmpdata" });
1818
socket.on('data', function(data) {
19-
console.log("Message received " + data.message);
19+
// console.log("Message received " + data.message);
2020
var decodedData = JSON.parse (data.message);
21+
22+
23+
if (ElementExists (decodedData.device)) {
24+
// table exists
25+
// console.log ("table exists: " + decodedData.device);
26+
if (ElementExists (decodedData.device+"-"+decodedData.interface)) {
27+
// table-row exists
28+
// console.log ("interface exists: " + decodedData.interface);
29+
console.log ("updating " + decodedData.device+" "+decodedData.interface);
30+
cell = document.getElementById(decodedData.device+"-"+decodedData.interface);
31+
cell.innerHTML = data.message;
32+
} else {
33+
// table-tow does not exist - create it
34+
console.log ("creating interface: " + decodedData.interface);
35+
var tbl = document.getElementById(decodedData.device);
36+
var row = tbl.insertRow();
37+
row.id = decodedData.device+"-"+decodedData.interface;
38+
var cell = row.insertCell(0);
39+
cell.innerHTML = data.message;
40+
}
41+
} else {
42+
// no table, create one
43+
console.log ("creating table: " + decodedData.device);
44+
var tbl = document.createElement("TABLE");
45+
tbl.id = decodedData.device;
46+
document.getElementById("tables").appendChild(tbl);
47+
}
2148

2249
// print the time the refresh happened
2350
var dt = new Date();

homemon-server/views/snmp.jade

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,11 @@ block content
77

88
div.container
99
div.row
10-
div.col-md-6
10+
div.col-md-12.well
1111
#tables
1212

1313
div.row
14-
div.col-md-3
14+
div.col-md-6
1515
#time
16-
div.col-md-3.text-right
17-
#updates
18-
16+
div.col-md-6.text-right
17+
#updates

0 commit comments

Comments
 (0)