aboutsummaryrefslogtreecommitdiff
path: root/routes/ws.js
diff options
context:
space:
mode:
authorJames Barnett <noreply@jamesbarnett.xyz>2018-10-07 16:09:42 +0100
committerJames Barnett <noreply@jamesbarnett.xyz>2018-10-07 16:09:42 +0100
commit8cecaff1ae7240902249676b7d24fadca03fc5a9 (patch)
treea381cd45ffa4577dd1818eb192c5ebaf53ae0b7d /routes/ws.js
parentffadea4389bcf777b049d75a0f3bae5155b7d584 (diff)
downloadtplink-energy-monitor-8cecaff1ae7240902249676b7d24fadca03fc5a9.tar.xz
tplink-energy-monitor-8cecaff1ae7240902249676b7d24fadca03fc5a9.zip
Basic logging functionality. Logs every 60s.
Needs log rotation/management to avoid huge logfiles.
Diffstat (limited to 'routes/ws.js')
-rw-r--r--routes/ws.js7
1 files changed, 6 insertions, 1 deletions
diff --git a/routes/ws.js b/routes/ws.js
index 08b0a18..86eec0d 100644
--- a/routes/ws.js
+++ b/routes/ws.js
@@ -4,6 +4,7 @@ const router = express.Router();
const deviceManager = require('../services/device-manager');
const dataFetcher = require('../services/data-fetcher');
const dataBroadcaster = require('../services/data-broadcaster');
+const dataLogger = require('../services/data-logger.js');
router.ws('/', function(ws, req) {
@@ -15,11 +16,15 @@ router.ws('/', function(ws, req) {
if(message.requestType === 'getCachedData') {
let deviceId = message.deviceId;
let cachedData = dataFetcher.getCachedData(deviceId);
-
+
ws.send(dataBroadcaster.generatePayload('realtimeUsage', deviceId, cachedData.realtimeUsage));
ws.send(dataBroadcaster.generatePayload('dailyUsage', deviceId, cachedData.dailyUsage));
ws.send(dataBroadcaster.generatePayload('monthlyUsage', deviceId, cachedData.monthlyUsage));
ws.send(dataBroadcaster.generatePayload('powerState', deviceId, cachedData.powerState));
+ dataLogger.getAllEntries(deviceId, (loggedData) => {
+ ws.send(dataBroadcaster.generatePayload('loggedData', deviceId, loggedData));
+ });
+
}
});