From 914d60ca25def8805b7fb2dafcab17474e08cc87 Mon Sep 17 00:00:00 2001 From: James Barnett Date: Fri, 30 Mar 2018 22:02:12 +0100 Subject: Poll for realtime usage updates --- routes/energy-usage.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 routes/energy-usage.js (limited to 'routes/energy-usage.js') diff --git a/routes/energy-usage.js b/routes/energy-usage.js new file mode 100644 index 0000000..847248d --- /dev/null +++ b/routes/energy-usage.js @@ -0,0 +1,24 @@ +const express = require('express'); +const router = express.Router(); + +const deviceManager = require('../services/device-manager'); + +router.get('/:deviceId/realtime', function(req, res, next) { + + let deviceId = req.params.deviceId; + + let realtimeUsage = {}; + // TODO - cache results with a short TTL so we don't hammer the plug if multiple clients are requesting data + deviceManager.getDevice(deviceId).emeter.getRealtime().then(response => { + + // Voltage seems to be reported as its peak to peak voltage, not RMS. + // Show the RMS value since thats what would you expect to see. + // i.e. 220v not 310v (in the U.K) + response.voltage = response.voltage / Math.sqrt(2); + + res.json(response); + }); + +}); + +module.exports = router; \ No newline at end of file -- cgit v1.2.3