@golemio/energetics 1.10.0 → 1.10.1-dev.2583182935
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/20250213141826-add-device-serial-id.js +53 -0
- package/db/migrations/postgresql/sqls/20250213141826-add-device-serial-id-down.sql +1 -0
- package/db/migrations/postgresql/sqls/20250213141826-add-device-serial-id-up.sql +1 -0
- package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/AveDataTypeEnum.d.ts +4 -4
- package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/AveDataTypeEnum.js +5 -5
- package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/AveDataTypeEnum.js.map +1 -1
- package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/PpasAveApiDataSourceProvider.d.ts +1 -1
- package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/PpasAveApiDataSourceProvider.js +16 -13
- package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/PpasAveApiDataSourceProvider.js.map +1 -1
- package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/helpers/ArchiveDataTypeStrategy.d.ts +6 -0
- package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/helpers/ArchiveDataTypeStrategy.js +26 -0
- package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/helpers/ArchiveDataTypeStrategy.js.map +1 -0
- package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/helpers/PpasAveApiHelper.d.ts +4 -23
- package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/helpers/PpasAveApiHelper.js +3 -67
- package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/helpers/PpasAveApiHelper.js.map +1 -1
- package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/interfaces/IAveApiDeviceDataParams.d.ts +3 -5
- package/dist/integration-engine/commodity-providers/transformations/AveMeasurementTransformation.d.ts +6 -2
- package/dist/integration-engine/commodity-providers/transformations/AveMeasurementTransformation.js +4 -3
- package/dist/integration-engine/commodity-providers/transformations/AveMeasurementTransformation.js.map +1 -1
- package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.d.ts +2 -0
- package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.js +1 -0
- package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.js.map +1 -1
- package/dist/integration-engine/commodity-providers/transformations/PreElectroTransformation.js +1 -0
- package/dist/integration-engine/commodity-providers/transformations/PreElectroTransformation.js.map +1 -1
- package/dist/integration-engine/commodity-providers/transformations/PreMeasurementTransformation.js +1 -0
- package/dist/integration-engine/commodity-providers/transformations/PreMeasurementTransformation.js.map +1 -1
- package/dist/integration-engine/commodity-providers/transformations/PtasWebMeasurementTransformation.js +1 -0
- package/dist/integration-engine/commodity-providers/transformations/PtasWebMeasurementTransformation.js.map +1 -1
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasEEMeasurementsTask.js +20 -10
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasEEMeasurementsTask.js.map +1 -1
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasMeasurementsTask.d.ts +4 -7
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasMeasurementsTask.js +29 -23
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasMeasurementsTask.js.map +1 -1
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchPreMeasurementDataTask.js +1 -1
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchPreMeasurementDataTask.js.map +1 -1
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.js +3 -1
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.js.map +1 -1
- package/dist/integration-engine/enapo/interfaces/IPPasPlaces.d.ts +3 -46
- package/dist/integration-engine/enapo/transformations/PPasMeasurementTransformation.d.ts +4 -3
- package/dist/integration-engine/enapo/transformations/PPasMeasurementTransformation.js +18 -14
- package/dist/integration-engine/enapo/transformations/PPasMeasurementTransformation.js.map +1 -1
- package/dist/integration-engine/enapo/workers/task/EnapoPpasTask.d.ts +2 -5
- package/dist/integration-engine/enapo/workers/task/EnapoPpasTask.js +22 -25
- package/dist/integration-engine/enapo/workers/task/EnapoPpasTask.js.map +1 -1
- package/dist/output-gateway/repositories/MeasurementRepository.js +5 -1
- package/dist/output-gateway/repositories/MeasurementRepository.js.map +1 -1
- package/dist/schema-definitions/datasources/StaticMeterSettingsJsonSchema.js +4 -3
- package/dist/schema-definitions/datasources/StaticMeterSettingsJsonSchema.js.map +1 -1
- package/dist/schema-definitions/datasources/commodity-providers/AveApiArchiveResponseJsonSchema.d.ts +3 -0
- package/dist/schema-definitions/datasources/commodity-providers/AveApiArchiveResponseJsonSchema.js +37 -0
- package/dist/schema-definitions/datasources/commodity-providers/AveApiArchiveResponseJsonSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/commodity-providers/AveApiDeviceDataJsonSchema.js +4 -4
- package/dist/schema-definitions/datasources/commodity-providers/AveApiDeviceDataJsonSchema.js.map +1 -1
- package/dist/schema-definitions/datasources/commodity-providers/AveApiPlacesJsonSchema.js +5 -4
- package/dist/schema-definitions/datasources/commodity-providers/AveApiPlacesJsonSchema.js.map +1 -1
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/IAveApiArchiveHeaderDto.d.ts +5 -0
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/IAveApiArchiveHeaderDto.js +3 -0
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/IAveApiArchiveHeaderDto.js.map +1 -0
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/IAveApiArchiveResponseDto.d.ts +10 -0
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/IAveApiArchiveResponseDto.js +3 -0
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/IAveApiArchiveResponseDto.js.map +1 -0
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/IAveApiDeviceDataDto.d.ts +3 -3
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/IAveApiPlaceDto.d.ts +4 -3
- package/dist/schema-definitions/datasources/interfaces/IStaticMeterSettings.d.ts +3 -2
- package/dist/schema-definitions/models/MeasurementsModel.d.ts +1 -0
- package/dist/schema-definitions/models/MeasurementsModel.js +15 -1
- package/dist/schema-definitions/models/MeasurementsModel.js.map +1 -1
- package/dist/schema-definitions/models/interfaces/IMeasurementDto.d.ts +1 -0
- package/docs/implementation_documentation.md +5 -3
- package/package.json +1 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var dbm;
|
|
4
|
+
var type;
|
|
5
|
+
var seed;
|
|
6
|
+
var fs = require('fs');
|
|
7
|
+
var path = require('path');
|
|
8
|
+
var Promise;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* We receive the dbmigrate dependency from dbmigrate initially.
|
|
12
|
+
* This enables us to not have to rely on NODE_PATH.
|
|
13
|
+
*/
|
|
14
|
+
exports.setup = function(options, seedLink) {
|
|
15
|
+
dbm = options.dbmigrate;
|
|
16
|
+
type = dbm.dataType;
|
|
17
|
+
seed = seedLink;
|
|
18
|
+
Promise = options.Promise;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
exports.up = function(db) {
|
|
22
|
+
var filePath = path.join(__dirname, 'sqls', '20250213141826-add-device-serial-id-up.sql');
|
|
23
|
+
return new Promise( function( resolve, reject ) {
|
|
24
|
+
fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
|
|
25
|
+
if (err) return reject(err);
|
|
26
|
+
console.log('received data: ' + data);
|
|
27
|
+
|
|
28
|
+
resolve(data);
|
|
29
|
+
});
|
|
30
|
+
})
|
|
31
|
+
.then(function(data) {
|
|
32
|
+
return db.runSql(data);
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
exports.down = function(db) {
|
|
37
|
+
var filePath = path.join(__dirname, 'sqls', '20250213141826-add-device-serial-id-down.sql');
|
|
38
|
+
return new Promise( function( resolve, reject ) {
|
|
39
|
+
fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
|
|
40
|
+
if (err) return reject(err);
|
|
41
|
+
console.log('received data: ' + data);
|
|
42
|
+
|
|
43
|
+
resolve(data);
|
|
44
|
+
});
|
|
45
|
+
})
|
|
46
|
+
.then(function(data) {
|
|
47
|
+
return db.runSql(data);
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
exports._meta = {
|
|
52
|
+
"version": 1
|
|
53
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ALTER TABLE consumption_energy_measurements DROP COLUMN device_serial_number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ALTER TABLE consumption_energy_measurements ADD COLUMN device_serial_number varchar(50);
|
package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/AveDataTypeEnum.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AveDataType = void 0;
|
|
4
|
-
//
|
|
4
|
+
// String values match the `dataType` query parameter of the new PPAS AVE REST API V1.
|
|
5
5
|
var AveDataType;
|
|
6
6
|
(function (AveDataType) {
|
|
7
|
-
AveDataType[
|
|
8
|
-
AveDataType[
|
|
9
|
-
AveDataType[
|
|
10
|
-
AveDataType[
|
|
7
|
+
AveDataType["RawData"] = "RawData";
|
|
8
|
+
AveDataType["HourlyData"] = "HourlyData";
|
|
9
|
+
AveDataType["DailyData"] = "DailyData";
|
|
10
|
+
AveDataType["MonthlyData"] = "MonthlyData";
|
|
11
11
|
})(AveDataType || (exports.AveDataType = AveDataType = {}));
|
|
12
12
|
//# sourceMappingURL=AveDataTypeEnum.js.map
|
package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/AveDataTypeEnum.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AveDataTypeEnum.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/datasources/ppas-ave-api/AveDataTypeEnum.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"AveDataTypeEnum.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/datasources/ppas-ave-api/AveDataTypeEnum.ts"],"names":[],"mappings":";;;AAAA,sFAAsF;AACtF,IAAY,WAKX;AALD,WAAY,WAAW;IACnB,kCAAmB,CAAA;IACnB,wCAAyB,CAAA;IACzB,sCAAuB,CAAA;IACvB,0CAA2B,CAAA;AAC/B,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB"}
|
|
@@ -8,7 +8,7 @@ export declare class PpasAveApiDataSourceProvider implements IDataSourceProvider
|
|
|
8
8
|
private static readonly DATASOURCE_NAME;
|
|
9
9
|
private static readonly MAX_RESULTS;
|
|
10
10
|
constructor(config: ISimpleConfig);
|
|
11
|
-
getDataSource(resourceType: string,
|
|
11
|
+
getDataSource(resourceType: string, apiKey: string, params?: IAveApiDeviceDataParams): IDataSource<CemApiDtoUnion[]>;
|
|
12
12
|
private getProtocolStrategy;
|
|
13
13
|
private getDataTypeStrategy;
|
|
14
14
|
private getJsonSchemaValidator;
|
|
@@ -22,31 +22,34 @@ const HTTPFetchProtocolStrategy_1 = require("@golemio/core/dist/integration-engi
|
|
|
22
22
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
23
23
|
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
24
24
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
25
|
+
const ArchiveDataTypeStrategy_1 = require("./helpers/ArchiveDataTypeStrategy");
|
|
25
26
|
const PpasAveApiHelper_1 = require("./helpers/PpasAveApiHelper");
|
|
26
27
|
let PpasAveApiDataSourceProvider = exports.PpasAveApiDataSourceProvider = PpasAveApiDataSourceProvider_1 = class PpasAveApiDataSourceProvider {
|
|
27
28
|
constructor(config) {
|
|
28
29
|
this.config = config;
|
|
29
30
|
}
|
|
30
|
-
getDataSource(resourceType,
|
|
31
|
+
getDataSource(resourceType, apiKey, params) {
|
|
31
32
|
const baseUrl = this.config.getValue("module.energetics.commodityProviders.ppas_ave_api.baseUrl");
|
|
32
33
|
const url = new URL(baseUrl);
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
url.
|
|
39
|
-
url.searchParams.append("dateTo", params.dateTo);
|
|
40
|
-
url.searchParams.append("isoDate", params.isoDate);
|
|
34
|
+
if (resourceType === PpasAveApiHelper_1.PpasAveApiHelper.resourceType.Places) {
|
|
35
|
+
url.pathname += "/devices";
|
|
36
|
+
url.searchParams.append("parameters.limit", PpasAveApiDataSourceProvider_1.MAX_RESULTS.toString());
|
|
37
|
+
}
|
|
38
|
+
else if (resourceType === PpasAveApiHelper_1.PpasAveApiHelper.resourceType.DeviceData && params) {
|
|
39
|
+
url.pathname += `/devices/${params.deviceId}/data/archive`;
|
|
41
40
|
url.searchParams.append("dataType", params.dataType);
|
|
41
|
+
url.searchParams.append("from", params.from);
|
|
42
|
+
url.searchParams.append("to", params.to);
|
|
43
|
+
url.searchParams.append("dstAware", "false");
|
|
42
44
|
}
|
|
43
|
-
return new integration_engine_1.DataSource(PpasAveApiDataSourceProvider_1.DATASOURCE_NAME, this.getProtocolStrategy(url,
|
|
45
|
+
return new integration_engine_1.DataSource(PpasAveApiDataSourceProvider_1.DATASOURCE_NAME, this.getProtocolStrategy(url, apiKey), this.getDataTypeStrategy(resourceType), this.getJsonSchemaValidator(resourceType));
|
|
44
46
|
}
|
|
45
|
-
getProtocolStrategy(url,
|
|
47
|
+
getProtocolStrategy(url, apiKey) {
|
|
46
48
|
return new HTTPFetchProtocolStrategy_1.HTTPFetchProtocolStrategy({
|
|
47
49
|
method: "GET",
|
|
48
50
|
headers: {
|
|
49
51
|
Accept: "application/json",
|
|
52
|
+
[PpasAveApiHelper_1.PpasAveApiHelper.API_KEY_HEADER]: apiKey,
|
|
50
53
|
},
|
|
51
54
|
timeoutInSeconds: 20,
|
|
52
55
|
url: url.toString(),
|
|
@@ -55,9 +58,9 @@ let PpasAveApiDataSourceProvider = exports.PpasAveApiDataSourceProvider = PpasAv
|
|
|
55
58
|
getDataTypeStrategy(resourceType) {
|
|
56
59
|
switch (resourceType) {
|
|
57
60
|
case PpasAveApiHelper_1.PpasAveApiHelper.resourceType.Places:
|
|
58
|
-
return new integration_engine_1.JSONDataTypeStrategy({ resultsPath: "
|
|
61
|
+
return new integration_engine_1.JSONDataTypeStrategy({ resultsPath: "pageItems" });
|
|
59
62
|
case PpasAveApiHelper_1.PpasAveApiHelper.resourceType.DeviceData:
|
|
60
|
-
return new
|
|
63
|
+
return new ArchiveDataTypeStrategy_1.ArchiveDataTypeStrategy({ resultsPath: "" });
|
|
61
64
|
default:
|
|
62
65
|
throw new golemio_errors_1.GeneralError(`Unknown resource type: ${resourceType}`, PpasAveApiDataSourceProvider_1.name);
|
|
63
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PpasAveApiDataSourceProvider.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/datasources/ppas-ave-api/PpasAveApiDataSourceProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0IAA6G;AAC7G,kIAAqG;AAErG,wEAAqE;AACrE,8EAAsG;AACtG,6IAA0I;AAE1I,6EAAwE;AACxE,mFAAkF;AAClF,iEAAwE;AAGxE,iEAA8D;AAIvD,IAAM,4BAA4B,2EAAlC,MAAM,4BAA4B;IAIrC,YAAoD,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAEtE,aAAa,
|
|
1
|
+
{"version":3,"file":"PpasAveApiDataSourceProvider.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/datasources/ppas-ave-api/PpasAveApiDataSourceProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IAveApiDeviceDataDto } from "../../../../../schema-definitions/datasources/commodity-providers/interfaces/IAveApiDeviceDataDto";
|
|
2
|
+
import { JSONDataTypeStrategy } from "@golemio/core/dist/integration-engine";
|
|
3
|
+
export declare class ArchiveDataTypeStrategy extends JSONDataTypeStrategy {
|
|
4
|
+
private readonly archiveResponseValidator;
|
|
5
|
+
parseData(data: unknown): Promise<IAveApiDeviceDataDto[]>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ArchiveDataTypeStrategy = void 0;
|
|
4
|
+
const AveApiArchiveResponseJsonSchema_1 = require("../../../../../schema-definitions/datasources/commodity-providers/AveApiArchiveResponseJsonSchema");
|
|
5
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
6
|
+
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
7
|
+
// Api response has column names in the array headers: []
|
|
8
|
+
// and values are in a separate array called rows: []
|
|
9
|
+
// test\integration-engine\data\aveapi-ppas-data-archive.json
|
|
10
|
+
class ArchiveDataTypeStrategy extends integration_engine_1.JSONDataTypeStrategy {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.archiveResponseValidator = new golemio_validator_1.JSONSchemaValidator("PpasAveApiArchiveResponse", AveApiArchiveResponseJsonSchema_1.aveApiArchiveResponseJsonSchema);
|
|
14
|
+
}
|
|
15
|
+
async parseData(data) {
|
|
16
|
+
const response = (await super.parseData(data));
|
|
17
|
+
if (!response || !Array.isArray(response.rows) || !Array.isArray(response.headers)) {
|
|
18
|
+
return [];
|
|
19
|
+
}
|
|
20
|
+
await this.archiveResponseValidator.Validate(response);
|
|
21
|
+
const { headers, rows } = response;
|
|
22
|
+
return rows.map((row) => Object.fromEntries(headers.map((header, i) => [header.key, row[i]])));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.ArchiveDataTypeStrategy = ArchiveDataTypeStrategy;
|
|
26
|
+
//# sourceMappingURL=ArchiveDataTypeStrategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArchiveDataTypeStrategy.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/commodity-providers/datasources/ppas-ave-api/helpers/ArchiveDataTypeStrategy.ts"],"names":[],"mappings":";;;AAAA,uJAAuH;AAMvH,8EAA6E;AAC7E,mFAAkF;AAElF,yDAAyD;AACzD,qDAAqD;AACrD,6DAA6D;AAC7D,MAAa,uBAAwB,SAAQ,yCAAoB;IAAjE;;QACqB,6BAAwB,GAAG,IAAI,uCAAmB,CAC/D,2BAA2B,EAC3B,iEAA+B,CAClC,CAAC;IAmBN,CAAC;IAjBmB,KAAK,CAAC,SAAS,CAAC,IAAa;QACzC,MAAM,QAAQ,GAAG,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAuC,CAAC;QACrF,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAChF,OAAO,EAAE,CAAC;SACb;QAED,MAAM,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEvD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;QACnC,OAAO,IAAI,CAAC,GAAG,CACX,CAAC,GAAG,EAAE,EAAE,CACJ,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAG1C,CAChC,CAAC;IACN,CAAC;CACJ;AAvBD,0DAuBC"}
|
|
@@ -1,32 +1,13 @@
|
|
|
1
1
|
export interface IAveConfig {
|
|
2
|
-
|
|
3
|
-
pass: string;
|
|
2
|
+
apikey: string;
|
|
4
3
|
excludelist: string[] | null;
|
|
5
4
|
}
|
|
6
|
-
/**
|
|
7
|
-
* Helper class for requesting additional data from PPAS InternetAVE API
|
|
8
|
-
*/
|
|
9
5
|
declare class PpasAveApiHelper {
|
|
10
|
-
private baseUrl;
|
|
11
|
-
private config;
|
|
12
6
|
static API_DATE_TZ: string;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Create API session and return session ID
|
|
16
|
-
*/
|
|
17
|
-
createSession: () => Promise<string>;
|
|
18
|
-
/**
|
|
19
|
-
* Terminate current session/invalidate session ID
|
|
20
|
-
*/
|
|
21
|
-
terminateSession: (sessionId: string) => Promise<void>;
|
|
22
|
-
/**
|
|
23
|
-
* Return resource types/identifiers
|
|
24
|
-
*/
|
|
7
|
+
static API_KEY_HEADER: string;
|
|
25
8
|
static get resourceType(): {
|
|
26
|
-
readonly
|
|
27
|
-
readonly
|
|
28
|
-
readonly Places: "GetPlaces.rails";
|
|
29
|
-
readonly DeviceData: "GetDeviceData.rails";
|
|
9
|
+
readonly Places: "Places";
|
|
10
|
+
readonly DeviceData: "DeviceData";
|
|
30
11
|
};
|
|
31
12
|
}
|
|
32
13
|
export { PpasAveApiHelper };
|
|
@@ -1,79 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PpasAveApiHelper = void 0;
|
|
4
|
-
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
5
|
-
/**
|
|
6
|
-
* Helper class for requesting additional data from PPAS InternetAVE API
|
|
7
|
-
*/
|
|
8
4
|
class PpasAveApiHelper {
|
|
9
|
-
constructor(baseUrl, config) {
|
|
10
|
-
this.baseUrl = baseUrl;
|
|
11
|
-
this.config = config;
|
|
12
|
-
/**
|
|
13
|
-
* Create API session and return session ID
|
|
14
|
-
*/
|
|
15
|
-
this.createSession = async () => {
|
|
16
|
-
const { user, pass } = this.config;
|
|
17
|
-
try {
|
|
18
|
-
const url = new URL(this.baseUrl);
|
|
19
|
-
url.pathname += "/" + PpasAveApiHelper.resourceType.Logon;
|
|
20
|
-
const result = await fetch(url.toString(), {
|
|
21
|
-
method: "post",
|
|
22
|
-
headers: new Headers({
|
|
23
|
-
Accept: "application/json",
|
|
24
|
-
"Content-Type": "application/x-www-form-urlencoded",
|
|
25
|
-
}),
|
|
26
|
-
body: new URLSearchParams({
|
|
27
|
-
name: user,
|
|
28
|
-
password: pass,
|
|
29
|
-
}),
|
|
30
|
-
signal: AbortSignal.timeout(10000),
|
|
31
|
-
});
|
|
32
|
-
const data = await result.json();
|
|
33
|
-
if (data?.success && typeof data?.sessionId === "string") {
|
|
34
|
-
return data.sessionId;
|
|
35
|
-
}
|
|
36
|
-
throw new golemio_errors_1.GeneralError("Cannot parse PPAS AVE Session ID from the server response", PpasAveApiHelper.name, new Error(data?.message));
|
|
37
|
-
}
|
|
38
|
-
catch (err) {
|
|
39
|
-
if (err instanceof golemio_errors_1.AbstractGolemioError) {
|
|
40
|
-
throw err;
|
|
41
|
-
}
|
|
42
|
-
throw new golemio_errors_1.GeneralError("Cannot retrieve PPAS AVE Session ID " + err.message, PpasAveApiHelper.name, err);
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* Terminate current session/invalidate session ID
|
|
47
|
-
*/
|
|
48
|
-
this.terminateSession = async (sessionId) => {
|
|
49
|
-
try {
|
|
50
|
-
const url = new URL(this.baseUrl);
|
|
51
|
-
url.pathname += "/" + PpasAveApiHelper.resourceType.LogOff;
|
|
52
|
-
url.searchParams.append("sessionId", sessionId);
|
|
53
|
-
await fetch(url.toString(), {
|
|
54
|
-
method: "get",
|
|
55
|
-
signal: AbortSignal.timeout(10000),
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
catch (err) {
|
|
59
|
-
throw new golemio_errors_1.GeneralError("Cannot terminate PPAS AVE API session", PpasAveApiHelper.name, err);
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Return resource types/identifiers
|
|
65
|
-
*/
|
|
66
5
|
static get resourceType() {
|
|
67
6
|
return {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
Places: "GetPlaces.rails",
|
|
71
|
-
DeviceData: "GetDeviceData.rails",
|
|
7
|
+
Places: "Places",
|
|
8
|
+
DeviceData: "DeviceData",
|
|
72
9
|
};
|
|
73
10
|
}
|
|
74
11
|
}
|
|
75
12
|
exports.PpasAveApiHelper = PpasAveApiHelper;
|
|
76
|
-
// based on analysis it seems API PPAS is handling timezones incorrectly, we deciced to follow PPAS UI approach to timezones.
|
|
77
|
-
// https://gitlab.com/operator-ict/golemio/projekty/energetika/p0262.prevzeti-energeticke-databaze/-/issues/37#note_2010344938
|
|
78
13
|
PpasAveApiHelper.API_DATE_TZ = "UTC+1";
|
|
14
|
+
PpasAveApiHelper.API_KEY_HEADER = "X-API-Key";
|
|
79
15
|
//# sourceMappingURL=PpasAveApiHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PpasAveApiHelper.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/commodity-providers/datasources/ppas-ave-api/helpers/PpasAveApiHelper.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"PpasAveApiHelper.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/commodity-providers/datasources/ppas-ave-api/helpers/PpasAveApiHelper.ts"],"names":[],"mappings":";;;AAKA,MAAM,gBAAgB;IAIX,MAAM,KAAK,YAAY;QAC1B,OAAO;YACH,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,YAAY;SAClB,CAAC;IACf,CAAC;;AAGI,4CAAgB;AAXP,4BAAW,GAAG,OAAO,CAAC;AACtB,+BAAc,GAAG,WAAW,CAAC"}
|
|
@@ -2,8 +2,12 @@ import { IAveApiDeviceDataDto } from "../../../schema-definitions/datasources/co
|
|
|
2
2
|
import { IMeasurementOption } from "../../../schema-definitions/datasources/interfaces/IStaticMeterSettings";
|
|
3
3
|
import { IMeasurementDto } from "../../../schema-definitions/models/interfaces/IMeasurementDto";
|
|
4
4
|
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
5
|
-
export declare class AveMeasurementTransformation extends AbstractTransformation<IMeasurementOption & IAveApiDeviceDataDto
|
|
5
|
+
export declare class AveMeasurementTransformation extends AbstractTransformation<IMeasurementOption & IAveApiDeviceDataDto & {
|
|
6
|
+
serialNumber?: number;
|
|
7
|
+
}, IMeasurementDto> {
|
|
6
8
|
name: string;
|
|
7
|
-
protected transformInternal: (data: IMeasurementOption & IAveApiDeviceDataDto
|
|
9
|
+
protected transformInternal: (data: IMeasurementOption & IAveApiDeviceDataDto & {
|
|
10
|
+
serialNumber?: number;
|
|
11
|
+
}) => IMeasurementDto;
|
|
8
12
|
private getValue;
|
|
9
13
|
}
|
package/dist/integration-engine/commodity-providers/transformations/AveMeasurementTransformation.js
CHANGED
|
@@ -22,13 +22,14 @@ let AveMeasurementTransformation = exports.AveMeasurementTransformation = class
|
|
|
22
22
|
source: CommodityProviderEnum_1.CommodityProvider.PpasInternetAveApi,
|
|
23
23
|
measurement_category: data.Name,
|
|
24
24
|
addr: data.Addr,
|
|
25
|
-
meter: data.Meter,
|
|
26
|
-
timestamp: luxon_1.DateTime.fromISO(data.
|
|
25
|
+
meter: data.EIC ?? data.Meter ?? "",
|
|
26
|
+
timestamp: luxon_1.DateTime.fromISO(data.Timestamp, {
|
|
27
27
|
zone: PpasAveApiHelper_1.PpasAveApiHelper.API_DATE_TZ,
|
|
28
28
|
}).toJSDate(),
|
|
29
29
|
variable: data.Var,
|
|
30
30
|
type: data.Type,
|
|
31
31
|
value: this.getValue(data, data.Var),
|
|
32
|
+
device_serial_number: data.serialNumber !== undefined ? String(data.serialNumber) : null,
|
|
32
33
|
};
|
|
33
34
|
};
|
|
34
35
|
this.getValue = (data, variable) => {
|
|
@@ -37,7 +38,7 @@ let AveMeasurementTransformation = exports.AveMeasurementTransformation = class
|
|
|
37
38
|
default:
|
|
38
39
|
return data.OperatingAmount;
|
|
39
40
|
case MeasurementVariableEnum_1.MeasurementVariable.Core2:
|
|
40
|
-
return data.
|
|
41
|
+
return data.ConvertAmount;
|
|
41
42
|
}
|
|
42
43
|
};
|
|
43
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AveMeasurementTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/transformations/AveMeasurementTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAGA,6GAA0G;AAC1G,2DAA2D;AAC3D,iEAAgE;AAChE,wFAAiF;AACjF,2FAAwF;AACxF,qHAAuF;AAGhF,IAAM,4BAA4B,0CAAlC,MAAM,4BAA6B,SAAQ,+CAGjD;IAHM;;QAII,SAAI,GAAG,8BAA8B,CAAC;QAEnC,sBAAiB,GAAG,
|
|
1
|
+
{"version":3,"file":"AveMeasurementTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/transformations/AveMeasurementTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAGA,6GAA0G;AAC1G,2DAA2D;AAC3D,iEAAgE;AAChE,wFAAiF;AACjF,2FAAwF;AACxF,qHAAuF;AAGhF,IAAM,4BAA4B,0CAAlC,MAAM,4BAA6B,SAAQ,+CAGjD;IAHM;;QAII,SAAI,GAAG,8BAA8B,CAAC;QAEnC,sBAAiB,GAAG,CAC1B,IAA2E,EAC5D,EAAE;YACjB,OAAO;gBACH,MAAM,EAAE,yCAAiB,CAAC,kBAAkB;gBAC5C,oBAAoB,EAAE,IAAI,CAAC,IAAI;gBAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE;gBACnC,SAAS,EAAE,gBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE;oBACxC,IAAI,EAAE,mCAAgB,CAAC,WAAW;iBACrC,CAAC,CAAC,QAAQ,EAAE;gBACb,QAAQ,EAAE,IAAI,CAAC,GAAG;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,GAA0B,CAAC;gBAC3D,oBAAoB,EAAE,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;aAC3F,CAAC;QACN,CAAC,CAAC;QAEM,aAAQ,GAAG,CAAC,IAA0B,EAAE,QAA6B,EAAU,EAAE;YACrF,QAAQ,QAAQ,EAAE;gBACd,KAAK,6CAAmB,CAAC,IAAI,CAAC;gBAC9B;oBACI,OAAO,IAAI,CAAC,eAAe,CAAC;gBAChC,KAAK,6CAAmB,CAAC,KAAK;oBAC1B,OAAO,IAAI,CAAC,aAAc,CAAC;aAClC;QACL,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;uCAjCY,4BAA4B;IADxC,IAAA,qBAAU,GAAE;GACA,4BAA4B,CAiCxC"}
|
|
@@ -4,10 +4,12 @@ import { IMeasurementDto } from "../../../schema-definitions/models/interfaces/I
|
|
|
4
4
|
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
5
5
|
export declare class CemMeasurementTransformation extends AbstractTransformation<IMeasurementOption & ICemApiMeasurementDto & {
|
|
6
6
|
counterTypeId: number;
|
|
7
|
+
meSerial: string;
|
|
7
8
|
}, IMeasurementDto> {
|
|
8
9
|
name: string;
|
|
9
10
|
protected transformInternal: (data: IMeasurementOption & ICemApiMeasurementDto & {
|
|
10
11
|
counterTypeId: number;
|
|
12
|
+
meSerial: string;
|
|
11
13
|
}) => IMeasurementDto;
|
|
12
14
|
private getVariable;
|
|
13
15
|
}
|
package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.js
CHANGED
|
@@ -25,6 +25,7 @@ let CemMeasurementTransformation = exports.CemMeasurementTransformation = class
|
|
|
25
25
|
variable: this.getVariable(data.Var, data.counterTypeId),
|
|
26
26
|
type: data.Type,
|
|
27
27
|
value: data.value,
|
|
28
|
+
device_serial_number: data.meSerial,
|
|
28
29
|
};
|
|
29
30
|
};
|
|
30
31
|
this.getVariable = (variable, counterTypeId) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CemMeasurementTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAGA,6GAA0G;AAC1G,iEAAgE;AAChE,wFAAiF;AAEjF,wFAAmF;AAG5E,IAAM,4BAA4B,0CAAlC,MAAM,4BAA6B,SAAQ,+CAGjD;IAHM;;QAII,SAAI,GAAG,8BAA8B,CAAC;QAEnC,sBAAiB,GAAG,CAC1B,
|
|
1
|
+
{"version":3,"file":"CemMeasurementTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAGA,6GAA0G;AAC1G,iEAAgE;AAChE,wFAAiF;AAEjF,wFAAmF;AAG5E,IAAM,4BAA4B,0CAAlC,MAAM,4BAA6B,SAAQ,+CAGjD;IAHM;;QAII,SAAI,GAAG,8BAA8B,CAAC;QAEnC,sBAAiB,GAAG,CAC1B,IAA8F,EAC/E,EAAE;YACjB,OAAO;gBACH,MAAM,EAAE,yCAAiB,CAAC,gBAAgB;gBAC1C,oBAAoB,EAAE,IAAI,CAAC,IAAI;gBAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAM;gBAClB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBACnC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC;gBACxD,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,oBAAoB,EAAE,IAAI,CAAC,QAAQ;aACtC,CAAC;QACN,CAAC,CAAC;QAEM,gBAAW,GAAG,CAAC,QAAgB,EAAE,aAAqB,EAAU,EAAE;YACtE,IAAI,aAAa,KAAK,+CAAsB,CAAC,WAAW,CAAC,YAAY,EAAE;gBACnE,OAAO,IAAI,CAAC,CAAC,eAAe;aAC/B;iBAAM,IAAI,aAAa,KAAK,+CAAsB,CAAC,WAAW,CAAC,WAAW,EAAE;gBACzE,OAAO,IAAI,CAAC,CAAC,cAAc;aAC9B;YAED,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;uCA/BY,4BAA4B;IADxC,IAAA,qBAAU,GAAE;GACA,4BAA4B,CA+BxC"}
|
package/dist/integration-engine/commodity-providers/transformations/PreElectroTransformation.js
CHANGED
|
@@ -24,6 +24,7 @@ let PreElectroTransformation = exports.PreElectroTransformation = class PreElect
|
|
|
24
24
|
value: Number(data.measurement["Stav [kWh]"]),
|
|
25
25
|
source: CommodityProviderTypeEnum_1.CommodityProviderType.PreOptions,
|
|
26
26
|
measurement_category: data.option.Name,
|
|
27
|
+
device_serial_number: data.measurement.ELM,
|
|
27
28
|
};
|
|
28
29
|
};
|
|
29
30
|
}
|
package/dist/integration-engine/commodity-providers/transformations/PreElectroTransformation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PreElectroTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/transformations/PreElectroTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAEA,oHAAsF;AAEtF,6GAA0G;AAC1G,iEAAgE;AAGzD,IAAM,wBAAwB,sCAA9B,MAAM,wBAAyB,SAAQ,+CAG7C;IAHM;;QAII,SAAI,GAAG,0BAA0B,CAAC;QAE/B,sBAAiB,GAAG,CAC1B,IAAoF,EACrE,EAAE;YACjB,OAAO;gBACH,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"PreElectroTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/transformations/PreElectroTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAEA,oHAAsF;AAEtF,6GAA0G;AAC1G,iEAAgE;AAGzD,IAAM,wBAAwB,sCAA9B,MAAM,wBAAyB,SAAQ,+CAG7C;IAHM;;QAII,SAAI,GAAG,0BAA0B,CAAC;QAE/B,sBAAiB,GAAG,CAC1B,IAAoF,EACrE,EAAE;YACjB,OAAO;gBACH,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAM;gBACzB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC;gBAC5D,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;gBACzB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBAC7C,MAAM,EAAE,iDAAqB,CAAC,UAAU;gBACxC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtC,oBAAoB,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG;aAC7C,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;mCArBY,wBAAwB;IADpC,IAAA,qBAAU,GAAE;GACA,wBAAwB,CAqBpC"}
|
package/dist/integration-engine/commodity-providers/transformations/PreMeasurementTransformation.js
CHANGED
|
@@ -27,6 +27,7 @@ let PreMeasurementTransformation = exports.PreMeasurementTransformation = class
|
|
|
27
27
|
value: Number(measurement[1]),
|
|
28
28
|
source: CommodityProviderTypeEnum_1.CommodityProviderType.PreInputOptions,
|
|
29
29
|
measurement_category: data.option.Name,
|
|
30
|
+
device_serial_number: null,
|
|
30
31
|
});
|
|
31
32
|
}
|
|
32
33
|
return output;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PreMeasurementTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/transformations/PreMeasurementTransformation.ts"],"names":[],"mappings":";;;;;;;;;AACA,6GAA0G;AAC1G,iEAAgE;AAChE,oHAAsF;AAEtF,wDAAsD;AAI/C,IAAM,4BAA4B,0CAAlC,MAAM,4BAA6B,SAAQ,+CAGjD;IAHM;;QAII,SAAI,GAAG,8BAA8B,CAAC;QAEnC,sBAAiB,GAAG,CAC1B,IAA+E,EAC9D,EAAE;YACnB,MAAM,MAAM,GAAsB,EAAE,CAAC;YACrC,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE;gBAC5D,MAAM,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;oBACtB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG;oBAChC,SAAS,EAAE,kBAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;oBAC5F,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;oBACzB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;oBACtB,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM,EAAE,iDAAqB,CAAC,eAAe;oBAC7C,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"PreMeasurementTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/transformations/PreMeasurementTransformation.ts"],"names":[],"mappings":";;;;;;;;;AACA,6GAA0G;AAC1G,iEAAgE;AAChE,oHAAsF;AAEtF,wDAAsD;AAI/C,IAAM,4BAA4B,0CAAlC,MAAM,4BAA6B,SAAQ,+CAGjD;IAHM;;QAII,SAAI,GAAG,8BAA8B,CAAC;QAEnC,sBAAiB,GAAG,CAC1B,IAA+E,EAC9D,EAAE;YACnB,MAAM,MAAM,GAAsB,EAAE,CAAC;YACrC,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE;gBAC5D,MAAM,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;oBACtB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG;oBAChC,SAAS,EAAE,kBAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;oBAC5F,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;oBACzB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;oBACtB,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM,EAAE,iDAAqB,CAAC,eAAe;oBAC7C,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;oBACtC,oBAAoB,EAAE,IAAI;iBAC7B,CAAC,CAAC;aACN;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;uCAzBY,4BAA4B;IADxC,IAAA,qBAAU,GAAE;GACA,4BAA4B,CAyBxC"}
|
|
@@ -30,6 +30,7 @@ let PtasWebMeasurementTransformation = exports.PtasWebMeasurementTransformation
|
|
|
30
30
|
type: data.option.Type,
|
|
31
31
|
value: parseFloat(data.measurement["Odečet"].replaceAll(" ", "").replace(",", ".")),
|
|
32
32
|
measurement_category: data.option.Name,
|
|
33
|
+
device_serial_number: data.measurement["Výrobní číslo"],
|
|
33
34
|
};
|
|
34
35
|
};
|
|
35
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PtasWebMeasurementTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/transformations/PtasWebMeasurementTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAEA,oHAAsF;AAEtF,6GAA0G;AAC1G,2DAA2D;AAC3D,iEAAgE;AAGzD,IAAM,gCAAgC,8CAAtC,MAAM,gCAAiC,SAAQ,+CAGrD;IAHM;;QAII,SAAI,GAAG,kCAAkC,CAAC;QACzC,sBAAiB,GAAG,eAAe,CAAC;QAElC,sBAAiB,GAAG,CAAC,IAAwE,EAAmB,EAAE;YACxH,OAAO;gBACH,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,MAAM,EAAE,iDAAqB,CAAC,WAAW;gBACzC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"PtasWebMeasurementTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/transformations/PtasWebMeasurementTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAEA,oHAAsF;AAEtF,6GAA0G;AAC1G,2DAA2D;AAC3D,iEAAgE;AAGzD,IAAM,gCAAgC,8CAAtC,MAAM,gCAAiC,SAAQ,+CAGrD;IAHM;;QAII,SAAI,GAAG,kCAAkC,CAAC;QACzC,sBAAiB,GAAG,eAAe,CAAC;QAElC,sBAAiB,GAAG,CAAC,IAAwE,EAAmB,EAAE;YACxH,OAAO;gBACH,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,MAAM,EAAE,iDAAqB,CAAC,WAAW;gBACzC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAM;gBACzB,SAAS,EAAE,gBAAQ,CAAC,UAAU,CAC1B,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,EACvE,IAAI,CAAC,iBAAiB,EACtB;oBACI,IAAI,EAAE,eAAe;iBACxB,CACJ;qBACI,KAAK,EAAE;qBACP,QAAQ,EAAE;gBACf,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;gBACzB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACnF,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtC,oBAAoB,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;aAC1D,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;2CA5BY,gCAAgC;IAD5C,IAAA,qBAAU,GAAE;GACA,gCAAgC,CA4B5C"}
|
package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasEEMeasurementsTask.js
CHANGED
|
@@ -13,11 +13,11 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.FetchPpasEEMeasurementsTask = void 0;
|
|
16
|
-
const PpasAveApiHelper_1 = require("../../datasources/ppas-ave-api/helpers/PpasAveApiHelper");
|
|
17
16
|
const WorkerContainerToken_1 = require("../../ioc/WorkerContainerToken");
|
|
18
17
|
const MeasurementRepository_1 = require("../../repositories/MeasurementRepository");
|
|
19
18
|
const StaticMeterSettingsRepository_1 = require("../../repositories/StaticMeterSettingsRepository");
|
|
20
19
|
const AveMeasurementTransformation_1 = require("../../transformations/AveMeasurementTransformation");
|
|
20
|
+
const MeasurementVariableEnum_1 = require("../../../../schema-definitions/datasources/helpers/MeasurementVariableEnum");
|
|
21
21
|
const StaticDataResourceTypeEnum_1 = require("../../../../schema-definitions/models/helpers/StaticDataResourceTypeEnum");
|
|
22
22
|
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
23
23
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
@@ -39,24 +39,31 @@ let FetchPpasEEMeasurementsTask = exports.FetchPpasEEMeasurementsTask = class Fe
|
|
|
39
39
|
else {
|
|
40
40
|
measurementOptions = this.splitOptionsByVars(measurementOptions);
|
|
41
41
|
}
|
|
42
|
-
const {
|
|
43
|
-
const aveApiHelper = new PpasAveApiHelper_1.PpasAveApiHelper(baseUrl, config);
|
|
44
|
-
const sessionId = await aveApiHelper.createSession();
|
|
42
|
+
const { apikey: apiKey } = this.getProviderConfig(data);
|
|
45
43
|
try {
|
|
46
|
-
const places = await this.getDataFromDataSource("Places",
|
|
44
|
+
const places = await this.getDataFromDataSource("Places", apiKey);
|
|
47
45
|
let consumptionData = [];
|
|
46
|
+
const warnedEICs = new Set();
|
|
48
47
|
for (const place of places) {
|
|
49
|
-
const options = measurementOptions.filter((item) => item.
|
|
48
|
+
const options = measurementOptions.filter((item) => (item.EIC ?? item.Meter) === place.eic);
|
|
50
49
|
if (options.length === 0) {
|
|
51
50
|
continue;
|
|
52
51
|
}
|
|
53
|
-
this.logger.info(`Fetching data for device ${place.
|
|
54
|
-
const measurementChunkGenerator = this.generateMeasurements({ ...data,
|
|
52
|
+
this.logger.info(`Fetching data for device ${place.serialNumber}`);
|
|
53
|
+
const measurementChunkGenerator = this.generateMeasurements({ ...data, deviceId: place.deviceId }, apiKey);
|
|
55
54
|
for await (const measurements of measurementChunkGenerator) {
|
|
56
55
|
for (const option of options) {
|
|
56
|
+
if (option.Var === MeasurementVariableEnum_1.MeasurementVariable.Core2 && measurements[0]?.ConvertAmount === undefined) {
|
|
57
|
+
if (!warnedEICs.has(place.eic)) {
|
|
58
|
+
this.logger.warn(`EIC ${place.eic} (device ${place.serialNumber}): ConvertAmount missing, skipping core2`);
|
|
59
|
+
warnedEICs.add(place.eic);
|
|
60
|
+
}
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
57
63
|
const consumptionBatch = measurements.map((item) => this.measurementTransformation.transformElement({
|
|
58
64
|
...item,
|
|
59
65
|
...option,
|
|
66
|
+
serialNumber: place.serialNumber,
|
|
60
67
|
}));
|
|
61
68
|
consumptionData = consumptionData.concat(consumptionBatch);
|
|
62
69
|
}
|
|
@@ -64,8 +71,11 @@ let FetchPpasEEMeasurementsTask = exports.FetchPpasEEMeasurementsTask = class Fe
|
|
|
64
71
|
}
|
|
65
72
|
await this.saveConsumptionData(consumptionData);
|
|
66
73
|
}
|
|
67
|
-
|
|
68
|
-
|
|
74
|
+
catch (err) {
|
|
75
|
+
if (err instanceof golemio_errors_1.AbstractGolemioError) {
|
|
76
|
+
throw err;
|
|
77
|
+
}
|
|
78
|
+
throw new golemio_errors_1.GeneralError(`Unable to download ppas ee measurements`, this.constructor.name, err);
|
|
69
79
|
}
|
|
70
80
|
}
|
|
71
81
|
};
|
package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasEEMeasurementsTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FetchPpasEEMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchPpasEEMeasurementsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"FetchPpasEEMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchPpasEEMeasurementsTask.ts"],"names":[],"mappings":"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"}
|
package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasMeasurementsTask.d.ts
CHANGED
|
@@ -23,14 +23,11 @@ export declare class FetchPpasMeasurementsTask extends AbstractFetchMeasurements
|
|
|
23
23
|
schema: typeof PpasMeasurementsValidationSchema;
|
|
24
24
|
constructor(config: ISimpleConfig, logger: ILogger, dataSourceFactory: ICommodityProviderDataSourceFactory, measurementTransformation: AveMeasurementTransformation, measurementRepository: MeasurementRepository, meterSettingsRepository: StaticMeterSettingsRepository);
|
|
25
25
|
execute(data: IPpasMeasurementsParams): Promise<void>;
|
|
26
|
-
protected getProviderConfig(data: IPpasMeasurementsParams):
|
|
27
|
-
baseUrl: string;
|
|
28
|
-
config: IAveConfig;
|
|
29
|
-
};
|
|
26
|
+
protected getProviderConfig(data: IPpasMeasurementsParams): IAveConfig;
|
|
30
27
|
/** Splits the measurement options into individual options (multiple variables) */
|
|
31
28
|
protected splitOptionsByVars(options: IMeasurementOption[]): IMeasurementOption[];
|
|
32
29
|
protected generateMeasurements(data: IPpasMeasurementsParams & {
|
|
33
|
-
|
|
34
|
-
},
|
|
35
|
-
protected getDataFromDataSource<T extends AveApiDtoUnion>(resourceTypeKey: keyof typeof PpasAveApiHelper.resourceType,
|
|
30
|
+
deviceId: string;
|
|
31
|
+
}, apiKey: string): AsyncGenerator<IAveApiDeviceDataDto[]>;
|
|
32
|
+
protected getDataFromDataSource<T extends AveApiDtoUnion>(resourceTypeKey: keyof typeof PpasAveApiHelper.resourceType, apiKey: string, params?: IAveApiDeviceDataParams): Promise<T[]>;
|
|
36
33
|
}
|