aboutsummaryrefslogtreecommitdiff
path: root/routes/energy-usage.js
diff options
context:
space:
mode:
Diffstat (limited to 'routes/energy-usage.js')
-rw-r--r--routes/energy-usage.js24
1 files changed, 24 insertions, 0 deletions
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