iwwa-utils
Library of common utility used in iwwa-front and iwapp
Install
npm install --save iwwa-utils
API
Consumption utils
getTimeRangeByPeriod(period, isToNow)
Arguments
period
string required: period to consider[e.g. "day", "week", "month", "year"]
isToNow
boolean optional: if true the end of the range is the current time, if false the end of the day [default value: false]
Example usage
Now is "2016-10-14"
--> start: "2016-10-01T00:00:00.000Z" end: "2016-10-31T23:59:59.999Z"
getPreviousPeriod(periodToSubtract, periodRange, isToNow)
Arguments
periodToSubtract
string required: period to subtract[e.g. "day", "week", "month", "year"]
periodRange
string required: period to consider[e.g. "day", "week", "month", "year"]
isToNow
boolean optional: if true the end of the range is the current time, if false the end of the day [default value: false]offsetNumber
number optional: how frequently take the selected offsetPeriod [default value: 1]
Example usage
Now is "2016-10-14"
--> start: "2016-10-07T00:00:00.000Z" end: "2016-10-07T23:59:59.999Z"
getSumByPeriod(period, aggregates, measurementValuesByPeriod)
Arguments
period
object required: period object with start and end keysaggregates
Immutable.Map required: aggregate yearly-consumptionmeasurementValuesByPeriod
array optional: array of measurementValues
Example usage
const yearlyAggregates = _id: "sensorId-2016-reading-activeEnergy" year: "2016" sensorId: "sensorId" source: "reading" measurementType: "activeEnergy" measurementValues: "1,2,3,4,4,9,5,6,4,6,3,2,3" unitOfMeasurement: "kWh" const period = start: "2016-01-04T00:00:00.000Z" end: "2016-01-10T23:59:59.999Z"
--> 38
getSumByPeriodToNow(period, aggregates, measurementValuesByPeriod)
Arguments
period
object required: period object with start and end keysaggregates
Immutable.Map required: aggregate yearly-consumptionmeasurementValuesByPeriod
array optional: array of measurementValues
Example usage
const dailyAggregates = _id: "sensorId-2016-01-04-reading-activeEnergy" day: "2016-01-04" sensorId: "sensorId" source: "reading" measurementType: "activeEnergy" measurementTimes: "1451865600,1451865900,1451866200,1451866500,1451866800" measurementValues: "1,2,3,4,4" unitOfMeasurement: "kWh" const period = start: "2016-01-04T00:00:00.000Z" end: "2016-01-04T13:00:15.00Z"
--> 10
getAverageByPeriod (aggregates, offsetPeriod, offsetNumber)
Arguments
aggregates
Immutable.Map required: aggregate yearly-consumptionoffsetPeriod
string required: period to consider[e.g. "day", "week", "month"]
offsetNumber
array optional: how frequently take the selected offsetPeriod [default value: 1]
Example usage
Now is "2016-01-17"
const yearlyAggregates = _id: "sensorId-2016-reading-activeEnergy" year: "2016" sensorId: "sensorId" source: "reading" measurementType: "activeEnergy" measurementValues: "1,2,3,4,4,9,5,6,4,6,3,2,3,1,6,7,5" unitOfMeasurement: "kWh" const offsetPeriod = "day";const offsetNumber = 7;
--> 45
subscribeDaily utils function
subscribeDaily(subscription)
Arguments
subscription
function required: the subscription to refresh every days
Example usage
;