@etainabl/nodejs-sdk 1.1.24 → 1.1.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/consumption.d.ts +7 -2
- package/dist/consumption.js.map +1 -1
- package/dist/units.d.ts +4 -4
- package/dist/units.js +2 -2
- package/dist/units.js.map +1 -1
- package/package.json +1 -1
- package/src/consumption.ts +8 -2
- package/src/units.ts +2 -2
package/dist/consumption.d.ts
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
import moment from 'moment';
|
|
1
2
|
interface ConsumptionData {
|
|
2
3
|
date: Date;
|
|
3
4
|
consumption: number;
|
|
4
5
|
}
|
|
5
|
-
export declare const dayNightConsumption: (data: ConsumptionData[]) =>
|
|
6
|
+
export declare const dayNightConsumption: (data: ConsumptionData[]) => {
|
|
7
|
+
dayConsumption: number;
|
|
8
|
+
nightConsumption: number;
|
|
9
|
+
consumption: number;
|
|
10
|
+
};
|
|
6
11
|
export declare const calcMaxConsumptionValue: (data: ConsumptionData[]) => number;
|
|
7
12
|
export declare const calcMaxDemand: (data: ConsumptionData[]) => number;
|
|
8
|
-
export declare const calcPeakLoad: (consumption: number, maxDemand: number, startDate: string, endDate: string) => number;
|
|
13
|
+
export declare const calcPeakLoad: (consumption: number, maxDemand: number, startDate: string | moment.Moment, endDate: string | moment.Moment) => number;
|
|
9
14
|
export {};
|
package/dist/consumption.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumption.js","sourceRoot":"","sources":["../src/consumption.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"consumption.js","sourceRoot":"","sources":["../src/consumption.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAa5B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAwB,EAAE,IAAqB,EAAuB,EAAE;IACnJ,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,oCAAoC;IAE3E,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE;QACzB,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,WAAW,CAAC;KAC1C;SAAM;QACL,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC;KACxC;IAED,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC;IAEpC,OAAO,GAAG,CAAC;AACb,CAAC,EAAE;IACD,cAAc,EAAE,CAAC;IACjB,gBAAgB,EAAE,CAAC;IACnB,WAAW,EAAE,CAAC;CACf,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAqB,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAEvI,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAuB,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE5F,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,WAAmB,EAAE,SAAiB,EAAE,SAAiC,EAAE,OAA+B,EAAE,EAAE;IACzI,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAE9E,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AAC/E,CAAC,CAAC"}
|
package/dist/units.d.ts
CHANGED
|
@@ -5,16 +5,16 @@ interface Item {
|
|
|
5
5
|
value: number;
|
|
6
6
|
[key: string]: any;
|
|
7
7
|
}
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export
|
|
8
|
+
export type AccountType = 'electricity' | 'gas' | 'water' | 'waste' | 'solar' | 'heating' | 'flow' | 'cooling' | 'temperature' | 'other';
|
|
9
|
+
export type ETNUnit = 'kwh' | 'kg' | 'm3' | 'lbs' | 'tonnes' | 'wh' | 'mwh' | 'ft3' | 'hcf' | 'm3/h' | 'qty' | 'l' | 'C';
|
|
10
|
+
export type BaseUnit = 'kwh' | 'm3' | 'C' | 'kg' | 'm3/h';
|
|
11
11
|
export declare const accountTypeMap: {
|
|
12
12
|
[key: string]: BaseUnit;
|
|
13
13
|
};
|
|
14
14
|
export declare const accountTypeUnitMap: {
|
|
15
15
|
[key: string]: ETNUnit[];
|
|
16
16
|
};
|
|
17
|
-
export declare const convertItems: (items: Item[], type: AccountType, defaultUnits: ETNUnit | undefined) => any;
|
|
17
|
+
export declare const convertItems: (items: Item[], type: AccountType, defaultUnits: ETNUnit | undefined, accountFactor: number | undefined) => any;
|
|
18
18
|
export declare const checkAccountTypeVsUnits: (type: string, unit: string, additionalLog?: number | '') => {
|
|
19
19
|
type: AccountType;
|
|
20
20
|
unit: ETNUnit;
|
package/dist/units.js
CHANGED
|
@@ -46,14 +46,14 @@ export const accountTypeUnitMap = {
|
|
|
46
46
|
temperature: ['C']
|
|
47
47
|
};
|
|
48
48
|
// Convert units to base format
|
|
49
|
-
export const convertItems = (items, type, defaultUnits) => {
|
|
49
|
+
export const convertItems = (items, type, defaultUnits, accountFactor) => {
|
|
50
50
|
if (!type)
|
|
51
51
|
throw new Error('Account type is required');
|
|
52
52
|
const baseUnit = accountTypeMap[type];
|
|
53
53
|
if (!baseUnit)
|
|
54
54
|
throw new Error(`Account type ${type} is not supported`);
|
|
55
55
|
const convertedItems = items.map(item => {
|
|
56
|
-
const factor = item.factor || 1;
|
|
56
|
+
const factor = item.factor || accountFactor || 1;
|
|
57
57
|
const units = item.units || item.unit || defaultUnits || baseUnit;
|
|
58
58
|
const convertedValue = item.value * _getConversionFactor(units, baseUnit) * factor;
|
|
59
59
|
return { ...item, value: convertedValue, units: baseUnit };
|
package/dist/units.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"units.js","sourceRoot":"","sources":["../src/units.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,cAAc,GAAgC;IACzD,WAAW,EAAE,KAAK;IAClB,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,KAAK;IACd,WAAW,EAAE,GAAG;CACjB,CAAC;AAEF,MAAM,qBAAqB,GAA2B;IACpD,GAAG,EAAE;QACH,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,IAAI;QACT,EAAE,EAAE,KAAK;QACT,EAAE,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG;QACxB,GAAG,EAAE,CAAC,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG;QAClC,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG;KACjC;IACD,EAAE,EAAE;QACF,EAAE,EAAE,CAAC;QACL,CAAC,EAAE,KAAK;KACT;IACD,CAAC,EAAE;QACD,CAAC,EAAE,CAAC;KACL;IACD,EAAE,EAAE;QACF,EAAE,EAAE,CAAC;QACL,GAAG,EAAE,UAAU;QACf,MAAM,EAAE,IAAI;KACb;IACD,MAAM,EAAE;QACN,MAAM,EAAE,CAAC;KACV;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAiC;IAC9D,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;IACjC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IAChC,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;IAClB,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC;IAC9B,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;IAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;IAC7B,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;IAC7B,WAAW,EAAE,CAAC,GAAG,CAAC;CACnB,CAAC;AAEF,+BAA+B;AAC/B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,IAAiB,EAAE,YAAiC,EAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"units.js","sourceRoot":"","sources":["../src/units.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/consumption.ts
CHANGED
|
@@ -5,7 +5,13 @@ interface ConsumptionData {
|
|
|
5
5
|
consumption: number;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
interface DayNightConsumption {
|
|
9
|
+
dayConsumption: number,
|
|
10
|
+
nightConsumption: number,
|
|
11
|
+
consumption: number
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const dayNightConsumption = (data: ConsumptionData[]) => data.reduce((acc: DayNightConsumption, item: ConsumptionData): DayNightConsumption => {
|
|
9
15
|
const hour = moment(item.date).hour(); // End Time of HH consumption period
|
|
10
16
|
|
|
11
17
|
if (hour >= 0 && hour < 7) {
|
|
@@ -27,7 +33,7 @@ export const calcMaxConsumptionValue = (data: ConsumptionData[]) => Math.max(...
|
|
|
27
33
|
|
|
28
34
|
export const calcMaxDemand = (data: ConsumptionData[]) => calcMaxConsumptionValue(data) * 2;
|
|
29
35
|
|
|
30
|
-
export const calcPeakLoad = (consumption: number, maxDemand: number, startDate: string, endDate: string) => {
|
|
36
|
+
export const calcPeakLoad = (consumption: number, maxDemand: number, startDate: string | moment.Moment, endDate: string | moment.Moment) => {
|
|
31
37
|
const days = Math.ceil(moment(endDate).diff(moment(startDate), 'days', true));
|
|
32
38
|
|
|
33
39
|
return maxDemand === 0 ? 0 : ((consumption / (maxDemand * 24 * days)) * 100);
|
package/src/units.ts
CHANGED
|
@@ -60,14 +60,14 @@ export const accountTypeUnitMap: { [key: string]: ETNUnit[] } = {
|
|
|
60
60
|
};
|
|
61
61
|
|
|
62
62
|
// Convert units to base format
|
|
63
|
-
export const convertItems = (items: Item[], type: AccountType, defaultUnits: ETNUnit | undefined): any => {
|
|
63
|
+
export const convertItems = (items: Item[], type: AccountType, defaultUnits: ETNUnit | undefined, accountFactor: number | undefined): any => {
|
|
64
64
|
if (!type) throw new Error('Account type is required');
|
|
65
65
|
|
|
66
66
|
const baseUnit = accountTypeMap[type];
|
|
67
67
|
if (!baseUnit) throw new Error(`Account type ${type} is not supported`);
|
|
68
68
|
|
|
69
69
|
const convertedItems = items.map(item => {
|
|
70
|
-
const factor = item.factor || 1;
|
|
70
|
+
const factor = item.factor || accountFactor || 1;
|
|
71
71
|
const units = item.units || item.unit || defaultUnits || baseUnit;
|
|
72
72
|
const convertedValue = item.value * _getConversionFactor(units, baseUnit) * factor;
|
|
73
73
|
return { ...item, value: convertedValue, units: baseUnit };
|