diff options
| author | Wild Stray <wildstray@users.noreply.github.com> | 2018-08-02 00:06:02 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-08-02 00:06:02 +0000 |
| commit | c9d0b3fe9d5f9eaa0eb170bb03e261c1357796d3 (patch) | |
| tree | 87086cceaaa044c272333da9a2b9230d91f13468 /public/javascripts/dash.js | |
| parent | 86cc693f25039b3e149115b9900b31ffd582d8c4 (diff) | |
| download | tplink-energy-monitor-c9d0b3fe9d5f9eaa0eb170bb03e261c1357796d3.tar.xz tplink-energy-monitor-c9d0b3fe9d5f9eaa0eb170bb03e261c1357796d3.zip | |
Updated dash.js with bug fix for "millis"
Values could be returned byt the plug in mV/mA/mW instead of V/A/W.
Diffstat (limited to 'public/javascripts/dash.js')
| -rw-r--r-- | public/javascripts/dash.js | 56 |
1 files changed, 29 insertions, 27 deletions
diff --git a/public/javascripts/dash.js b/public/javascripts/dash.js index e52992f..9335229 100644 --- a/public/javascripts/dash.js +++ b/public/javascripts/dash.js @@ -5,23 +5,23 @@ var dash = { realtimeTrendChart: null, realtimeTrendLastSample: 0, - dailyUsageChart: null, - monthlyUsageChart: null, - - init: function(deviceId) { - this.deviceId = deviceId; - - if (this.deviceId) { - $('.' + deviceId).addClass('active'); - } - - this.initRealtimeGauge(); - this.initRealtimeTrendChart(); - this.initDailyUsageChart(); - this.initMonthlyUsageChart(); - - this.initWsConnection(); - }, + dailyUsageChart: null, + monthlyUsageChart: null, + + init: function(deviceId) { + this.deviceId = deviceId; + + if (this.deviceId) { + $('.' + deviceId).addClass('active'); + } + + this.initRealtimeGauge(); + this.initRealtimeTrendChart(); + this.initDailyUsageChart(); + this.initMonthlyUsageChart(); + + this.initWsConnection(); + }, initWsConnection: function() { var wsUri = 'ws://' + window.location.host + '/ws' @@ -212,9 +212,9 @@ var dash = { refreshRealtimeDisplay: function(realtime) { - var power = Math.round(realtime.power); - var current = realtime.current.toFixed(2); - var voltage = Math.round(realtime.voltage); + var power = Math.round((realtime.power_mw) ? (realtime.power_mw/1000) : realtime.power); + var current = ((realtime.current_ma) ? (realtime.current_ma/1000) : realtime.current).toFixed(2); + var voltage = Math.round((realtime.voltage_mv) ? (realtime.voltage_mv/1000) : realtime.voltage); this.realtimeGauge.set(power); // might switch to Vue.js if this gets tedious @@ -240,7 +240,7 @@ var dash = { dash.dailyUsageChart.data.labels.push(day.format('MMM D')); dash.dailyUsageChart.data.datasets.forEach(function(dataset) { - dataset.data.push(entry.energy); + dataset.data.push((entry.energy_wh) ? (entry.energy_wh/1000) : entry.energy); }); }); @@ -254,10 +254,12 @@ var dash = { return d.day === moment().date() && d.month === (moment().month()+1) && d.year === moment().year() }); - $("#total-day").text(dailyTotal.energy.toFixed(2)); + var energy = (dailyTotal.energy_wh) ? (dailyTotal.energy_wh/1000) : dailyTotal.energy + $("#total-day").text(energy.toFixed(2)); - var total = usageData.reduce(function(t, d) {return t + d.energy}, 0); + var total = usageData.reduce(function(t, d) {return t + ((d.energy_wh) ? (d.energy_wh/1000) : d.energy)}, 0); var avg = total/usageData.length; + console $("#avg-day").text(avg.toFixed(2)); @@ -277,7 +279,7 @@ var dash = { dash.monthlyUsageChart.data.labels.push(month.format('MMM')); dash.monthlyUsageChart.data.datasets.forEach(function(dataset) { - dataset.data.push(entry.energy); + dataset.data.push((entry.energy_wh) ? (entry.energy_wh/1000) : entry.energy); }); }); @@ -290,10 +292,10 @@ var dash = { var monthlyTotal = usageData.find(function(m) { return m.month === (moment().month()+1) && m.year === moment().year() }); + var energy = (monthlyTotal.energy_wh) ? (monthlyTotal.energy_wh/1000) : monthlyTotal.energy + $("#total-month").text(energy.toFixed(2)); - $("#total-month").text(monthlyTotal.energy.toFixed(2)); - - var total = usageData.reduce(function(t, m) {return t + m.energy}, 0); + var total = usageData.reduce(function(t, m) {return t + ((m.energy_wh) ? (m.energy_wh/1000) : m.energy)}, 0); var avg = total/usageData.length; $("#avg-month").text(avg.toFixed(2)); |