return Q.ninvoke(updateMeter.db, 'lrange', name, number * -1, -1).then(function(values) { var data = updateMeter._getDataStub(); var total = 0; var totals = []; values.forEach(function(item) { var json = JSON.parse(item); totals.push(json.total); total += parseInt(json.total, 10); }); data.total = total; data.kwh = parseFloat(parseFloat((data.total/10000)).toFixed(4)); data[utils.getSeriesName(name)] = totals; return data; }, function(error) {
return Q.ninvoke(db, 'lrange', 'seconds', -60, -1).then(function(values) { var data = updateMeter._getDataStub(); var countSum = 0; var kwhSum = 0; var pulseValues = []; values.forEach(function(item) { var json = JSON.parse(item); countSum += parseInt(json.pulseCount); kwhSum += parseFloat(json.kWhs); pulseValues.push(json.pulseCount); }); data.count = countSum; data.kwh = parseFloat(parseFloat(kwhSum).toFixed(4)); data.max = u.max(pulseValues); data.min = u.min(pulseValues); data.average = parseFloat(parseFloat(countSum / values.length).toFixed(4)); data.watts = parseFloat(parseFloat((data.average/10000) * 3600*1000).toFixed(4)); data.total = data.count; return data; }).then(function(data) {