diff options
| author | James Barnett <noreply@jamesbarnett.xyz> | 2018-03-30 19:41:03 +0100 |
|---|---|---|
| committer | James Barnett <noreply@jamesbarnett.xyz> | 2018-03-30 19:41:03 +0100 |
| commit | ecc769dab59d427c1fa5dc8856dd32068b4ba6db (patch) | |
| tree | 6a6f6ca99a2c2f4f0cfdb90d29bacb936891c159 /routes/index.js | |
| parent | a6459b390ecfcaca90c8b30fc3ab6f6f6db4fb0c (diff) | |
| download | tplink-energy-monitor-ecc769dab59d427c1fa5dc8856dd32068b4ba6db.tar.xz tplink-energy-monitor-ecc769dab59d427c1fa5dc8856dd32068b4ba6db.zip | |
Initial functionality. Static realtime usage for a single device
Diffstat (limited to 'routes/index.js')
| -rw-r--r-- | routes/index.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/routes/index.js b/routes/index.js new file mode 100644 index 0000000..d1d0519 --- /dev/null +++ b/routes/index.js @@ -0,0 +1,33 @@ +var express = require('express'); +var router = express.Router(); + +const { Client } = require('tplink-smarthome-api'); + +const client = new Client(); +var devices = []; + +client.startDiscovery({deviceTypes: ['plug']}).on('plug-new', plug => { + console.log('Found device: ' + plug.alias + ' [' + plug.deviceId + ']'); + devices.push(plug); +}) + +router.get('/', function(req, res, next) { + + let realtimeUsage = {}; + devices[0].emeter.getRealtime().then(response => { + + realtimeUsage.power = Math.round(response.power); + realtimeUsage.current = response.current.toFixed(2); + realtimeUsage.voltage = Math.round(response.voltage); + + res.render('index',{ + device: devices[0], + devices: devices, + realtimeUsage: realtimeUsage + }); + }); + +}); + + +module.exports = router; |