1.2.3 • Published 9 years ago
iwwa-utils v1.2.3
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
periodstring required: period to consider[e.g. "day", "week", "month", "year"]isToNowboolean 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"
getTimeRangeByPeriod("month")
--> {
start: "2016-10-01T00:00:00.000Z",
end: "2016-10-31T23:59:59.999Z"
}getPreviousPeriod(periodToSubtract, periodRange, isToNow)
Arguments
periodToSubtractstring required: period to subtract[e.g. "day", "week", "month", "year"]periodRangestring required: period to consider[e.g. "day", "week", "month", "year"]isToNowboolean optional: if true the end of the range is the current time, if false the end of the day default value: falseoffsetNumbernumber optional: how frequently take the selected offsetPeriod default value: 1
Example usage
Now is "2016-10-14"
getTimeRangeByPeriod("week", "day")
--> {
start: "2016-10-07T00:00:00.000Z",
end: "2016-10-07T23:59:59.999Z"
}getSumByPeriod(period, aggregates, measurementValuesByPeriod)
Arguments
periodobject required: period object with start and end keysaggregatesImmutable.Map required: aggregate yearly-consumptionmeasurementValuesByPeriodarray 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"
}getSumByPeriod(period, yearlyAggregates) --> 38getSumByPeriodToNow(period, aggregates, measurementValuesByPeriod)
Arguments
periodobject required: period object with start and end keysaggregatesImmutable.Map required: aggregate yearly-consumptionmeasurementValuesByPeriodarray 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"
}getSumByPeriod(period, yearlyAggregates) --> 10getAverageByPeriod (aggregates, offsetPeriod, offsetNumber)
Arguments
aggregatesImmutable.Map required: aggregate yearly-consumptionoffsetPeriodstring required: period to consider[e.g. "day", "week", "month"]offsetNumberarray 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;getAverageByPeriod (aggregates, offsetPeriod, offsetNumber) --> 4.5subscribeDaily utils function
subscribeDaily(subscription)
Arguments
subscriptionfunction required: the subscription to refresh every days
Example usage
subscribeDaily(() => this.props.asteroid.subscribe("sensors"));