@golemio/energetics 1.4.13-dev.1899264140 → 1.4.13-dev.1940911315
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/db/migrations/postgresql/sqls/20250626130910-enapo-measurements-up.sql +1 -1
- package/dist/integration-engine/commodity-providers/helper/{MeasurementsDataNormalizer.js → EnapoMeasurementsDataNormalizer.js} +1 -1
- package/dist/integration-engine/commodity-providers/helper/EnapoMeasurementsDataNormalizer.js.map +1 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/AbstractFetchMeasurementsTask.js +2 -2
- package/dist/integration-engine/commodity-providers/workers/tasks/AbstractFetchMeasurementsTask.js.map +1 -1
- package/dist/integration-engine/enapo/helpers/MeasurementsDataNormalizer.d.ts +5 -0
- package/dist/integration-engine/enapo/helpers/MeasurementsDataNormalizer.js +11 -0
- package/dist/integration-engine/enapo/helpers/MeasurementsDataNormalizer.js.map +1 -0
- package/dist/integration-engine/enapo/transformations/PPasMeasurementTransformation.d.ts +1 -0
- package/dist/integration-engine/enapo/transformations/PPasMeasurementTransformation.js +5 -0
- package/dist/integration-engine/enapo/transformations/PPasMeasurementTransformation.js.map +1 -1
- package/dist/integration-engine/enapo/workers/task/AbstractEnapoFetchMeasurementsTask.js +3 -3
- package/dist/integration-engine/enapo/workers/task/AbstractEnapoFetchMeasurementsTask.js.map +1 -1
- package/dist/schema-definitions/datasources/commodity-providers/AveApiDeviceDataJsonSchema.js +2 -1
- package/dist/schema-definitions/datasources/commodity-providers/AveApiDeviceDataJsonSchema.js.map +1 -1
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/IAveApiDeviceDataDto.d.ts +1 -0
- package/dist/schema-definitions/datasources/helpers/MeasurementVariableEnum.d.ts +2 -1
- package/dist/schema-definitions/datasources/helpers/MeasurementVariableEnum.js +1 -0
- package/dist/schema-definitions/datasources/helpers/MeasurementVariableEnum.js.map +1 -1
- package/dist/schema-definitions/models/EnapoMeasurementsModel.js +1 -0
- package/dist/schema-definitions/models/EnapoMeasurementsModel.js.map +1 -1
- package/dist/schema-definitions/models/constants/MeasurementConstants.js +1 -0
- package/dist/schema-definitions/models/constants/MeasurementConstants.js.map +1 -1
- package/docs/Energetika-Str/303/241nka-5-Str/303/241nka-3.drawio.png +0 -0
- package/docs/implementation_documentation.md +38 -11
- package/package.json +1 -1
- package/dist/integration-engine/commodity-providers/helper/MeasurementsDataNormalizer.js.map +0 -1
- /package/dist/integration-engine/commodity-providers/helper/{MeasurementsDataNormalizer.d.ts → EnapoMeasurementsDataNormalizer.d.ts} +0 -0
|
@@ -8,5 +8,5 @@ CREATE TABLE enapo_measurements (
|
|
|
8
8
|
device_serial_number varchar(50) NOT NULL,
|
|
9
9
|
created_at timestamp NULL,
|
|
10
10
|
updated_at timestamp NULL,
|
|
11
|
-
CONSTRAINT
|
|
11
|
+
CONSTRAINT enapo_measurements_pkey PRIMARY KEY (eic, "timestamp", var, place_id)
|
|
12
12
|
);
|
package/dist/integration-engine/commodity-providers/helper/EnapoMeasurementsDataNormalizer.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnapoMeasurementsDataNormalizer.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/helper/EnapoMeasurementsDataNormalizer.ts"],"names":[],"mappings":";;;AAGA,yGAAyG;AACzG,MAAa,0BAA0B;IAC5B,MAAM,CAAC,MAAM,CAAC,IAAoD;QACrE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;IACvG,CAAC;CACJ;AAJD,gEAIC"}
|
package/dist/integration-engine/commodity-providers/workers/tasks/AbstractFetchMeasurementsTask.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AbstractFetchMeasurementsTask = void 0;
|
|
4
4
|
const constants_1 = require("../../constants");
|
|
5
|
-
const
|
|
5
|
+
const EnapoMeasurementsDataNormalizer_1 = require("../../helper/EnapoMeasurementsDataNormalizer");
|
|
6
6
|
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
7
7
|
const MEASUREMENTS_BATCH_SIZE = 5000;
|
|
8
8
|
class AbstractFetchMeasurementsTask extends integration_engine_1.AbstractTask {
|
|
@@ -13,7 +13,7 @@ class AbstractFetchMeasurementsTask extends integration_engine_1.AbstractTask {
|
|
|
13
13
|
for (let i = 0; i < data.length; i += MEASUREMENTS_BATCH_SIZE) {
|
|
14
14
|
let batch = data.slice(i, i + MEASUREMENTS_BATCH_SIZE);
|
|
15
15
|
if (!skipFilter) {
|
|
16
|
-
batch =
|
|
16
|
+
batch = EnapoMeasurementsDataNormalizer_1.MeasurementsDataNormalizer.filter(batch);
|
|
17
17
|
}
|
|
18
18
|
// Remove duplicated measurements from the batch
|
|
19
19
|
batch = batch.filter((item, index, self) => index ===
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractFetchMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/AbstractFetchMeasurementsTask.ts"],"names":[],"mappings":";;;AAAA,+CAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"AbstractFetchMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/AbstractFetchMeasurementsTask.ts"],"names":[],"mappings":";;;AAAA,+CAAgE;AAChE,kGAA4G;AAG5G,8EAAqE;AAGrE,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC,MAAsB,6BAA6D,SAAQ,iCAAe;IAGtG;QACI,KAAK,CAAC,uBAAW,CAAC,CAAC;IACvB,CAAC;IAES,KAAK,CAAC,mBAAmB,CAAC,IAAuB,EAAE,aAAsB,KAAK;QACpF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,uBAAuB,EAAE;YAC3D,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,CAAC;YAEvD,IAAI,CAAC,UAAU,EAAE;gBACb,KAAK,GAAG,4DAA0B,CAAC,MAAM,CAAC,KAAK,CAAsB,CAAC;aACzE;YAED,gDAAgD;YAChD,KAAK,GAAG,KAAK,CAAC,MAAM,CAChB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAClB,KAAK;gBACL,IAAI,CAAC,SAAS,CACV,CAAC,CAAC,EAAE,EAAE,CACF,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;oBAClD,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;oBACpB,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;oBAC5B,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAC7B,CACR,CAAC;YAEF,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACpD;IACL,CAAC;CACJ;AA/BD,sEA+BC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { IEnapoMeasurementsDto } from "../../../schema-definitions/models/interfaces/IEnapoMeasurmentsDto";
|
|
2
|
+
import { IMeasurementDto } from "../../../schema-definitions/models/interfaces/IMeasurementDto";
|
|
3
|
+
export declare class EnapoMeasurementsDataNormalizer {
|
|
4
|
+
static filter(data: Array<IEnapoMeasurementsDto | IMeasurementDto>): (IMeasurementDto | IEnapoMeasurementsDto)[];
|
|
5
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EnapoMeasurementsDataNormalizer = void 0;
|
|
4
|
+
// Filter out measurements with null values, negative values and future timestamps (issue prevzeti-ed#37)
|
|
5
|
+
class EnapoMeasurementsDataNormalizer {
|
|
6
|
+
static filter(data) {
|
|
7
|
+
return data.filter((item) => item.value !== null && item.value >= 0 && item.timestamp < new Date());
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.EnapoMeasurementsDataNormalizer = EnapoMeasurementsDataNormalizer;
|
|
11
|
+
//# sourceMappingURL=MeasurementsDataNormalizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MeasurementsDataNormalizer.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/helpers/MeasurementsDataNormalizer.ts"],"names":[],"mappings":";;;AAGA,yGAAyG;AACzG,MAAa,+BAA+B;IACjC,MAAM,CAAC,MAAM,CAAC,IAAoD;QACrE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;IACxG,CAAC;CACJ;AAJD,0EAIC"}
|
|
@@ -10,5 +10,6 @@ export declare class PPasMeasurementTransformation extends AbstractTransformatio
|
|
|
10
10
|
protected transformInternal: (data: IAveApiDeviceDataDto & IPPasPlaces) => {
|
|
11
11
|
operatingAmount: IEnapoMeasurementsDto;
|
|
12
12
|
convertDifference: IEnapoMeasurementsDto;
|
|
13
|
+
operatingDifference: IEnapoMeasurementsDto;
|
|
13
14
|
};
|
|
14
15
|
}
|
|
@@ -38,6 +38,11 @@ let PPasMeasurementTransformation = exports.PPasMeasurementTransformation = clas
|
|
|
38
38
|
var: MeasurementVariableEnum_1.MeasurementVariable.Core2,
|
|
39
39
|
...baseData,
|
|
40
40
|
},
|
|
41
|
+
operatingDifference: {
|
|
42
|
+
value: data.OperatingDifference,
|
|
43
|
+
var: MeasurementVariableEnum_1.MeasurementVariable.CoreDiff,
|
|
44
|
+
...baseData,
|
|
45
|
+
},
|
|
41
46
|
};
|
|
42
47
|
};
|
|
43
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PPasMeasurementTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/transformations/PPasMeasurementTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+GAAsG;AACtG,kHAA6G;AAE7G,qHAAuF;AAEvF,6GAA0G;AAC1G,2DAA2D;AAC3D,iEAAgE;AAIzD,IAAM,6BAA6B,2CAAnC,MAAM,6BAA8B,SAAQ,+CAGlD;IAHM;;QAII,SAAI,GAAG,+BAA+B,CAAC;QAEpC,sBAAiB,GAAG,CAC1B,IAAwC,
|
|
1
|
+
{"version":3,"file":"PPasMeasurementTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/transformations/PPasMeasurementTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+GAAsG;AACtG,kHAA6G;AAE7G,qHAAuF;AAEvF,6GAA0G;AAC1G,2DAA2D;AAC3D,iEAAgE;AAIzD,IAAM,6BAA6B,2CAAnC,MAAM,6BAA8B,SAAQ,+CAGlD;IAHM;;QAII,SAAI,GAAG,+BAA+B,CAAC;QAEpC,sBAAiB,GAAG,CAC1B,IAAwC,EAK1C,EAAE;YACA,MAAM,QAAQ,GAAG;gBACb,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,SAAS,EAAE,gBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE;oBAC3C,IAAI,EAAE,mCAAgB,CAAC,WAAW;iBACrC,CAAC,CAAC,QAAQ,EAAE;gBACb,MAAM,EAAE,yCAAiB,CAAC,kBAAkB;gBAC5C,QAAQ,EAAE,IAAI,CAAC,OAAO;gBACtB,oBAAoB,EAAE,IAAI,CAAC,kBAAkB;aAChD,CAAC;YAEF,OAAO;gBACH,eAAe,EAAE;oBACb,KAAK,EAAE,IAAI,CAAC,eAAe;oBAC3B,GAAG,EAAE,6CAAmB,CAAC,IAAI;oBAC7B,GAAG,QAAQ;iBACd;gBACD,iBAAiB,EAAE;oBACf,KAAK,EAAE,IAAI,CAAC,iBAAiB;oBAC7B,GAAG,EAAE,6CAAmB,CAAC,KAAK;oBAC9B,GAAG,QAAQ;iBACd;gBACD,mBAAmB,EAAE;oBACjB,KAAK,EAAE,IAAI,CAAC,mBAAmB;oBAC/B,GAAG,EAAE,6CAAmB,CAAC,QAAQ;oBACjC,GAAG,QAAQ;iBACd;aACJ,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;wCAzCY,6BAA6B;IADzC,IAAA,qBAAU,GAAE;GACA,6BAA6B,CAyCzC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AbstractEnapoFetchMeasurementsTask = void 0;
|
|
4
|
-
const MeasurementsDataNormalizer_1 = require("../../../commodity-providers/helper/MeasurementsDataNormalizer");
|
|
5
4
|
const constants_1 = require("../../constants");
|
|
5
|
+
const MeasurementsDataNormalizer_1 = require("../../helpers/MeasurementsDataNormalizer");
|
|
6
6
|
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
7
7
|
const MEASUREMENTS_BATCH_SIZE = 5000;
|
|
8
8
|
class AbstractEnapoFetchMeasurementsTask extends integration_engine_1.AbstractTask {
|
|
@@ -13,11 +13,11 @@ class AbstractEnapoFetchMeasurementsTask extends integration_engine_1.AbstractTa
|
|
|
13
13
|
for (let i = 0; i < data.length; i += MEASUREMENTS_BATCH_SIZE) {
|
|
14
14
|
let batch = data.slice(i, i + MEASUREMENTS_BATCH_SIZE);
|
|
15
15
|
if (!skipFilter) {
|
|
16
|
-
batch = MeasurementsDataNormalizer_1.
|
|
16
|
+
batch = MeasurementsDataNormalizer_1.EnapoMeasurementsDataNormalizer.filter(batch);
|
|
17
17
|
}
|
|
18
18
|
const uniqueValues = new Set();
|
|
19
19
|
batch = batch.filter((item) => {
|
|
20
|
-
const key = `${item.timestamp.getTime()}_${item.var}_${item.place_id}`;
|
|
20
|
+
const key = `${item.timestamp.getTime()}_${item.var}_${item.place_id}_${item.eic}`;
|
|
21
21
|
if (uniqueValues.has(key))
|
|
22
22
|
return false;
|
|
23
23
|
uniqueValues.add(key);
|
package/dist/integration-engine/enapo/workers/task/AbstractEnapoFetchMeasurementsTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractEnapoFetchMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/workers/task/AbstractEnapoFetchMeasurementsTask.ts"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"AbstractEnapoFetchMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/workers/task/AbstractEnapoFetchMeasurementsTask.ts"],"names":[],"mappings":";;;AAAA,+CAAwD;AACxD,yFAA+F;AAG/F,8EAAqE;AAErE,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC,MAAsB,kCAAqD,SAAQ,iCAAe;IAG9F;QACI,KAAK,CAAC,6BAAiB,CAAC,CAAC;IAC7B,CAAC;IAES,KAAK,CAAC,mBAAmB,CAAC,IAA6B,EAAE,aAAsB,KAAK;QAC1F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,uBAAuB,EAAE;YAC3D,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,CAAC;YAEvD,IAAI,CAAC,UAAU,EAAE;gBACb,KAAK,GAAG,4DAA+B,CAAC,MAAM,CAAC,KAAK,CAA4B,CAAC;aACpF;YAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;YACvC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC1B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACnF,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,OAAO,KAAK,CAAC;gBACxC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,IAAI,KAAK,CAAC,MAAM,EAAE;gBACd,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;CACJ;AA5BD,gFA4BC"}
|
package/dist/schema-definitions/datasources/commodity-providers/AveApiDeviceDataJsonSchema.js
CHANGED
|
@@ -9,8 +9,9 @@ exports.aveApiDeviceDataJsonSchema = {
|
|
|
9
9
|
StandardTime: { type: "string" },
|
|
10
10
|
OperatingAmount: { type: "number" },
|
|
11
11
|
ConvertDifference: { type: "number" },
|
|
12
|
+
OperatingDifference: { type: "number" },
|
|
12
13
|
},
|
|
13
|
-
required: ["StandardTime", "OperatingAmount", "ConvertDifference"],
|
|
14
|
+
required: ["StandardTime", "OperatingAmount", "ConvertDifference", "OperatingDifference"],
|
|
14
15
|
},
|
|
15
16
|
};
|
|
16
17
|
//# sourceMappingURL=AveApiDeviceDataJsonSchema.js.map
|
package/dist/schema-definitions/datasources/commodity-providers/AveApiDeviceDataJsonSchema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AveApiDeviceDataJsonSchema.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/commodity-providers/AveApiDeviceDataJsonSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,0BAA0B,GAA2C;IAC9E,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACnC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"AveApiDeviceDataJsonSchema.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/commodity-providers/AveApiDeviceDataJsonSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,0BAA0B,GAA2C;IAC9E,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACnC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrC,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1C;QACD,QAAQ,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,qBAAqB,CAAC;KAC5F;CACJ,CAAC"}
|
|
@@ -5,5 +5,6 @@ var MeasurementVariable;
|
|
|
5
5
|
(function (MeasurementVariable) {
|
|
6
6
|
MeasurementVariable["Core"] = "core";
|
|
7
7
|
MeasurementVariable["Core2"] = "core2";
|
|
8
|
+
MeasurementVariable["CoreDiff"] = "corediff";
|
|
8
9
|
})(MeasurementVariable || (exports.MeasurementVariable = MeasurementVariable = {}));
|
|
9
10
|
//# sourceMappingURL=MeasurementVariableEnum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MeasurementVariableEnum.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/helpers/MeasurementVariableEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"MeasurementVariableEnum.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/helpers/MeasurementVariableEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC3B,oCAAa,CAAA;IACb,sCAAe,CAAA;IACf,4CAAqB,CAAA;AACzB,CAAC,EAJW,mBAAmB,mCAAnB,mBAAmB,QAI9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnapoMeasurementsModel.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/EnapoMeasurementsModel.ts"],"names":[],"mappings":";;;AACA,mEAAwF;AAExF,2EAAyE;AAEzE,MAAa,sBAAuB,SAAQ,iBAA4B;;AAAxE,
|
|
1
|
+
{"version":3,"file":"EnapoMeasurementsModel.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/EnapoMeasurementsModel.ts"],"names":[],"mappings":";;;AACA,mEAAwF;AAExF,2EAAyE;AAEzE,MAAa,sBAAuB,SAAQ,iBAA4B;;AAAxE,wDAgEC;AA/DiB,iCAAU,GAAG,oBAAoB,CAAC;AAClC,sCAAe,GAAG,6BAA6B,CAAC;AAChD,iDAA0B,GAAG,sCAAsC,CAAC;AAUpE,qCAAc,GAAmE;IAC3F,GAAG,EAAE;QACD,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,IAAI;KACnB;IACD,KAAK,EAAE;QACH,IAAI,EAAE,qBAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;QAC/B,SAAS,EAAE,KAAK;KACnB;IACD,SAAS,EAAE;QACP,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,IAAI;KACnB;IACD,GAAG,EAAE;QACD,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3B,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,IAAI;KACnB;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,KAAK;KACnB;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,IAAI;KACnB;IACD,oBAAoB,EAAE;QAClB,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,KAAK;KACnB;CACJ,CAAC;AAEY,iCAAU,GAA4C;IAChE,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE;YACxD,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,4CAAqB,EAAE;YACpD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC3C;QACD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,sBAAsB,CAAC;KAC/F;CACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MeasurementConstants.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/constants/MeasurementConstants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG;IACjC,MAAM;IACN,OAAO;IACP,SAAS;IACT,WAAW;IACX,UAAU;IACV,UAAU;IACV,KAAK;IACL,GAAG;IACH,KAAK;IACL,IAAI;IACJ,WAAW;IACX,KAAK;IACL,IAAI;IACJ,IAAI;CACP,CAAC;AAEW,QAAA,iBAAiB,GAAG,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"MeasurementConstants.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/constants/MeasurementConstants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG;IACjC,MAAM;IACN,OAAO;IACP,UAAU;IACV,SAAS;IACT,WAAW;IACX,UAAU;IACV,UAAU;IACV,KAAK;IACL,GAAG;IACH,KAAK;IACL,IAAI;IACJ,WAAW;IACX,KAAK;IACL,IAAI;IACJ,IAAI;CACP,CAAC;AAEW,QAAA,iBAAiB,GAAG,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC"}
|
|
Binary file
|
|
@@ -2,7 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
## Záměr
|
|
4
4
|
|
|
5
|
-
Modul slouží k ukládání dat o spotřebě energií v budovách a jednotlivých bytech a prostorách pro jejich nájemnce
|
|
5
|
+
Modul slouží k ukládání dat o spotřebě energií v budovách a jednotlivých bytech a prostorách pro jejich nájemnce.
|
|
6
|
+
|
|
7
|
+
### ENAPO
|
|
8
|
+
|
|
9
|
+
V roce 2025 byl k modulu přidán projekt ENAPO (energetický nástroj Prahy a organizací).
|
|
10
|
+

|
|
11
|
+
https://gitlab.com/operator-ict/golemio/projekty/energetika/p0262.prevzeti-energeticke-databaze/-/issues/66
|
|
6
12
|
|
|
7
13
|
## Vstupní data
|
|
8
14
|
|
|
@@ -16,17 +22,16 @@ Modul slouží k ukládání dat o spotřebě energií v budovách a jednotlivý
|
|
|
16
22
|
#### _POST /pre_
|
|
17
23
|
|
|
18
24
|
- PRE posílá data na Input Gateway v JSON formátu (POST na /pre).
|
|
19
|
-
|
|
20
|
-
|
|
25
|
+
- Očekávaný [formát dat](../src/schema-definitions/datasources/interfaces/IPreJsonInput.ts)
|
|
26
|
+
- Na IG chodí větší soubory (např. 20M). Proto se na IG rozdělí podle měřidel a vyříznou se jen data, co zpracováváme.
|
|
21
27
|
Dál to postupuje na IE přes rabbit do [ProcessPreEanMeasurementsTask](../src/integration-engine/commodity-providers/workers/tasks/ProcessPreEanMeasurementsTask.ts).
|
|
22
28
|
|
|
23
29
|
#### _POST /pre/csv_
|
|
24
30
|
|
|
25
31
|
- Endpoint pro příjem historických dat PRE v CSV formátu (POST na /pre/csv).
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
|
|
32
|
+
- Očekávaný [formát dat](../src/schema-definitions/datasources/interfaces/IPreCsvInput.ts)
|
|
33
|
+
- V IG se CSV převede na stejný formát, jako /pre používá endpoint a dál na IE postupuje stejně.
|
|
34
|
+
Tj. přes rabbit do [ProcessPreEanMeasurementsTask](../src/integration-engine/commodity-providers/workers/tasks/ProcessPreEanMeasurementsTask.ts).
|
|
30
35
|
|
|
31
36
|
### Data aktivně stahujeme
|
|
32
37
|
|
|
@@ -350,8 +355,8 @@ Task aktualizuje lookup tabulku pro limitaci přístupu k output API.
|
|
|
350
355
|
- žádné
|
|
351
356
|
- datové zdroje
|
|
352
357
|
- blob storage
|
|
353
|
-
-
|
|
354
|
-
-
|
|
358
|
+
- rabín: https://rabingolemio.blob.core.windows.net/rabin-energetics/access_configuration.json
|
|
359
|
+
- golem: https://golemgolemio.blob.core.windows.net/golem-energetics/access_configuration.json
|
|
355
360
|
- transformace
|
|
356
361
|
- není
|
|
357
362
|
- data modely
|
|
@@ -403,6 +408,28 @@ Metoda sbírá historická data
|
|
|
403
408
|
- VpalacTypeMeasuringEquipmentModel `vpalac_type_measuring_equipment`
|
|
404
409
|
- VpalacUnitsModel `vpalac_units`
|
|
405
410
|
|
|
411
|
+
### _EnapoWorker_
|
|
412
|
+
|
|
413
|
+
Worker se stará o stahování dat (odečty, měřidla a počítadla) z datového zdroje PPAS pro projekt ENAPO.
|
|
414
|
+
|
|
415
|
+
#### _task: EnapoPpasTask_
|
|
416
|
+
|
|
417
|
+
Metoda sbírá data o spotřebách od poskytovatele komodit - PPAS (Pražská plynárenská).
|
|
418
|
+
|
|
419
|
+
- vstupní rabbitmq fronta
|
|
420
|
+
- název: dataplatform.enapoenergetics.fetchPpasMeasurements
|
|
421
|
+
- TTL: 1 hodina
|
|
422
|
+
- parametry: `{ providerType, dateFrom?, dateTo?, targetDays? }`
|
|
423
|
+
- validační schéma: [PpasMeasurementsSchema](../src/integration-engine/enapo/workers/schema/EnapoPpasMeasurementsParamsValidationSchema.ts)
|
|
424
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
425
|
+
- žádné
|
|
426
|
+
- datové zdroje
|
|
427
|
+
- PPAS (Pražská plynárenská) InternetAVE API
|
|
428
|
+
- transformace
|
|
429
|
+
- [PPasMeasurementTransformation](../src/integration-engine/enapo/transformations/PPasMeasurementTransformation.ts)
|
|
430
|
+
- data modely
|
|
431
|
+
- [EnapoMeasurementsModel](../src/schema-definitions/models/EnapoMeasurementsModel.ts) tabulka `enapo_measurements`
|
|
432
|
+
|
|
406
433
|
## Uložení dat
|
|
407
434
|
|
|
408
435
|
- typ databáze
|
|
@@ -426,8 +453,8 @@ Metoda sbírá historická data
|
|
|
426
453
|
- rabin: https://rabin.golemio.cz/v2/docs/openapi/
|
|
427
454
|
- golem: https://api.golemio.cz/v2/docs/openapi/
|
|
428
455
|
- přístup je řízen pomocí interního parametru `accessLimit`, který musí být vždy nastaven a omezen z permission proxy
|
|
429
|
-
-
|
|
430
|
-
-
|
|
456
|
+
- při obdržení dotazu na API se stáhnou povolené organizace z tabulky `access_limit` a omezí se podle toho dotazy do databáze
|
|
457
|
+
- pokud je `accessLimit` nastaven na `admin`, tak se vždy dotazuje na všechny organizace
|
|
431
458
|
|
|
432
459
|
### API
|
|
433
460
|
|
package/package.json
CHANGED
package/dist/integration-engine/commodity-providers/helper/MeasurementsDataNormalizer.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MeasurementsDataNormalizer.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/helper/MeasurementsDataNormalizer.ts"],"names":[],"mappings":";;;AAGA,yGAAyG;AACzG,MAAa,0BAA0B;IAC5B,MAAM,CAAC,MAAM,CAAC,IAAoD;QACrE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;IACvG,CAAC;CACJ;AAJD,gEAIC"}
|