node-opcua-client 2.77.0 → 2.78.0

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.
@@ -27,7 +27,7 @@ import { Callback } from "node-opcua-status-code";
27
27
  import { ExtensionObject } from "node-opcua-extension-object";
28
28
  import { ArgumentDefinition, CallMethodRequestLike, MethodId } from "node-opcua-pseudo-session";
29
29
  import { AggregateFunction } from "node-opcua-constants";
30
- import { HistoryReadRequest, HistoryReadResponse, HistoryReadValueIdOptions } from "node-opcua-types";
30
+ import { AggregateConfigurationOptions, HistoryReadRequest, HistoryReadResponse, HistoryReadValueIdOptions } from "node-opcua-types";
31
31
  import { ExtraDataTypeManager } from "node-opcua-client-dynamic-extension-object";
32
32
  export { ExtraDataTypeManager } from "node-opcua-client-dynamic-extension-object";
33
33
  export { ExtensionObject } from "node-opcua-extension-object";
@@ -334,11 +334,52 @@ export interface ClientSessionReadHistoryService {
334
334
  * @param aggregateFn
335
335
  * @param processingInterval in milliseconds
336
336
  * @param callback
337
+ *
338
+ *
339
+ * aggregateConfiguration contains additional parameters
340
+ *
341
+ * - The TreatUncertainAsBad Variable indicates how the Server treats data returned with a
342
+ * StatusCode severity Uncertain with respect to Aggregate calculations. A value of True
343
+ * indicates the Server considers the severity equivalent to Bad, a value of False indicates
344
+ * the Server considers the severity equivalent to Good, unless the Aggregate definition says
345
+ * otherwise. The default value is True. Note that the value is still treated as Uncertain when
346
+ * the StatusCode for the result is calculated.
347
+ *
348
+ * - The PercentDataBad Variable indicates the minimum percentage of Bad data in a given interval
349
+ * required for the StatusCode for the given interval for processed data request to be set to Bad.
350
+ * (Uncertain is treated as defined above.) Refer to 5.4.3 for details on using this Variable when
351
+ * assigning StatusCodes. For details on which Aggregates use the PercentDataBad Variable, see the
352
+ * definition of each Aggregate. The default value is 100.
353
+ *
354
+ * - The PercentDataGood Variable indicates the minimum percentage of Good data in a given interval
355
+ * required for the StatusCode for the given interval for the processed data requests to be set to
356
+ * Good. Refer to 5.4.3 for details on using this Variable when assigning StatusCodes. For details
357
+ * on which Aggregates use the PercentDataGood Variable, see the definition of each Aggregate.
358
+ * The default value is 100.
359
+ *
360
+ * - The PercentDataGood and PercentDataBad shall follow the following relationship
361
+ * PercentDataGood ≥ (100 – PercentDataBad).
362
+ * If they are equal the result of the PercentDataGood calculation is used. If the values
363
+ * entered for PercentDataGood and PercentDataBad do not result in a valid calculation
364
+ * (e.g. Bad = 80; Good = 0) the result will have a StatusCode of Bad_AggregateInvalidInputs
365
+ * The StatusCode Bad_AggregateInvalidInputs will be returned if the value of PercentDataGood
366
+ * or PercentDataBad exceed 100.
367
+ *
368
+ * - The UseSlopedExtrapolation Variable indicates how the Server interpolates data when no boundary
369
+ * value exists (i.e. extrapolating into the future from the last known value). A value of False
370
+ * indicates that the Server will use a SteppedExtrapolation format, and hold the last known value
371
+ * constant. A value of True indicates the Server will project the value using UseSlopedExtrapolation
372
+ * mode. The default value is False. For SimpleBounds this value is ignored.
373
+ *
337
374
  */
338
375
  readAggregateValue(nodesToRead: HistoryReadValueIdOptions[], startTime: DateTime, endTime: DateTime, aggregateFn: AggregateFunction[], processingInterval: number, callback: Callback<HistoryReadResult[]>): void;
339
376
  readAggregateValue(nodesToRead: HistoryReadValueIdOptions[], startTime: DateTime, endTime: DateTime, aggregateFn: AggregateFunction[], processingInterval: number): Promise<HistoryReadResult[]>;
340
377
  readAggregateValue(nodeToRead: HistoryReadValueIdOptions, startTime: DateTime, endTime: DateTime, aggregateFn: AggregateFunction, processingInterval: number, callback: Callback<HistoryReadResult>): void;
341
378
  readAggregateValue(nodeToRead: HistoryReadValueIdOptions, startTime: DateTime, endTime: DateTime, aggregateFn: AggregateFunction, processingInterval: number): Promise<HistoryReadResult>;
379
+ readAggregateValue(nodesToRead: HistoryReadValueIdOptions[], startTime: DateTime, endTime: DateTime, aggregateFn: AggregateFunction[], processingInterval: number, aggregateConfiguration: AggregateConfigurationOptions, callback: Callback<HistoryReadResult[]>): void;
380
+ readAggregateValue(nodesToRead: HistoryReadValueIdOptions[], startTime: DateTime, endTime: DateTime, aggregateFn: AggregateFunction[], processingInterval: number, aggregateConfiguration: AggregateConfigurationOptions): Promise<HistoryReadResult[]>;
381
+ readAggregateValue(nodeToRead: HistoryReadValueIdOptions, startTime: DateTime, endTime: DateTime, aggregateFn: AggregateFunction, processingInterval: number, aggregateConfiguration: AggregateConfigurationOptions, callback: Callback<HistoryReadResult>): void;
382
+ readAggregateValue(nodeToRead: HistoryReadValueIdOptions, startTime: DateTime, endTime: DateTime, aggregateFn: AggregateFunction, processingInterval: number, aggregateConfiguration: AggregateConfigurationOptions): Promise<HistoryReadResult>;
342
383
  historyRead(request: HistoryReadRequest, callback: Callback<HistoryReadResponse>): void;
343
384
  historyRead(request: HistoryReadRequest): Promise<HistoryReadResponse>;
344
385
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client_session.js","sourceRoot":"","sources":["../source/client_session.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AA8DH,yGAAkF;AAAzE,kJAAA,oBAAoB,OAAA;AAE7B,2EAA8D;AAArD,8HAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"client_session.js","sourceRoot":"","sources":["../source/client_session.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAmEH,yGAAkF;AAAzE,kJAAA,oBAAoB,OAAA;AAE7B,2EAA8D;AAArD,8HAAA,eAAe,OAAA"}
@@ -24,7 +24,7 @@ import { CreateMonitoredItemsResponse, CreateSubscriptionResponse, DeleteMonitor
24
24
  import { BrowsePath, BrowsePathResult } from "node-opcua-service-translate-browse-path";
25
25
  import { StatusCode, Callback } from "node-opcua-status-code";
26
26
  import { ErrorCallback } from "node-opcua-status-code";
27
- import { HistoryReadValueIdOptions, WriteValueOptions } from "node-opcua-types";
27
+ import { AggregateConfigurationOptions, HistoryReadValueIdOptions, WriteValueOptions } from "node-opcua-types";
28
28
  import { VariantLike } from "node-opcua-variant";
29
29
  import { ArgumentDefinition, BrowseDescriptionLike, CallMethodRequestLike, ClientSession, CreateMonitoredItemsRequestLike, CreateSubscriptionRequestLike, DeleteMonitoredItemsRequestLike, DeleteSubscriptionsRequestLike, MethodId, ModifyMonitoredItemsRequestLike, ModifySubscriptionRequestLike, MonitoredItemData, NodeAttributes, QueryFirstRequestLike, SetMonitoringModeRequestLike, SubscriptionId, TransferSubscriptionsRequestLike, HistoryReadValueIdOptions2, ExtraReadHistoryValueParameters } from "../client_session";
30
30
  import { ClientSubscription } from "../client_subscription";
@@ -224,6 +224,10 @@ export declare class ClientSessionImpl extends EventEmitter implements ClientSes
224
224
  readAggregateValue(nodesToRead: HistoryReadValueIdOptions[], startTime: DateTime, endTime: DateTime, aggregateFn: AggregateFunction[], processingInterval: number): Promise<HistoryReadResult[]>;
225
225
  readAggregateValue(nodeToRead: HistoryReadValueIdOptions, startTime: DateTime, endTime: DateTime, aggregateFn: AggregateFunction, processingInterval: number, callback: Callback<HistoryReadResult>): void;
226
226
  readAggregateValue(nodeToRead: HistoryReadValueIdOptions, startTime: DateTime, endTime: DateTime, aggregateFn: AggregateFunction, processingInterval: number): Promise<HistoryReadResult>;
227
+ readAggregateValue(nodesToRead: HistoryReadValueIdOptions[], startTime: DateTime, endTime: DateTime, aggregateFn: AggregateFunction[], processingInterval: number, aggregateConfiguration: AggregateConfigurationOptions, callback: Callback<HistoryReadResult[]>): void;
228
+ readAggregateValue(nodesToRead: HistoryReadValueIdOptions[], startTime: DateTime, endTime: DateTime, aggregateFn: AggregateFunction[], processingInterval: number, aggregateConfiguration: AggregateConfigurationOptions): Promise<HistoryReadResult[]>;
229
+ readAggregateValue(nodeToRead: HistoryReadValueIdOptions, startTime: DateTime, endTime: DateTime, aggregateFn: AggregateFunction, processingInterval: number, aggregateConfiguration: AggregateConfigurationOptions, callback: Callback<HistoryReadResult>): void;
230
+ readAggregateValue(nodeToRead: HistoryReadValueIdOptions, startTime: DateTime, endTime: DateTime, aggregateFn: AggregateFunction, processingInterval: number, aggregateConfiguration: AggregateConfigurationOptions): Promise<HistoryReadResult>;
227
231
  /**
228
232
  *
229
233
  * @method write
@@ -383,8 +383,16 @@ class ClientSessionImpl extends events_1.EventEmitter {
383
383
  });
384
384
  }
385
385
  readAggregateValue(arg0, startTime, endTime, aggregateFn, processingInterval, ...args) {
386
- const callback = args[0];
386
+ const callback = typeof args[0] === "function" ? args[0] : args[1];
387
387
  (0, node_opcua_assert_1.assert)(typeof callback === "function");
388
+ const defaultAggregateFunction = {
389
+ percentDataBad: 100,
390
+ percentDataGood: 100,
391
+ treatUncertainAsBad: true,
392
+ useServerCapabilitiesDefaults: true,
393
+ useSlopedExtrapolation: false
394
+ };
395
+ const aggregateConfiguration = typeof args[0] === "function" ? defaultAggregateFunction : args[0];
388
396
  const isArray = Array.isArray(arg0);
389
397
  const nodesToRead = isArray
390
398
  ? arg0
@@ -397,7 +405,8 @@ class ClientSessionImpl extends events_1.EventEmitter {
397
405
  aggregateType: aggregateFns,
398
406
  endTime,
399
407
  processingInterval,
400
- startTime
408
+ startTime,
409
+ aggregateConfiguration
401
410
  });
402
411
  const request = new node_opcua_service_history_1.HistoryReadRequest({
403
412
  historyReadDetails: readProcessedDetails,
@@ -1 +1 @@
1
- {"version":3,"file":"client_session_impl.js","sourceRoot":"","sources":["../../source/private/client_session_impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client_session_impl.js","sourceRoot":"","sources":["../../source/private/client_session_impl.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-opcua-client",
3
- "version": "2.77.0",
3
+ "version": "2.78.0",
4
4
  "description": "pure nodejs OPCUA SDK - module -client",
5
5
  "scripts": {
6
6
  "clean": "npx rimraf node_modules dist *.tsbuildinfo certificates",
@@ -23,40 +23,40 @@
23
23
  "node-opcua-basic-types": "2.77.0",
24
24
  "node-opcua-buffer-utils": "2.77.0",
25
25
  "node-opcua-certificate-manager": "2.77.0",
26
- "node-opcua-client-dynamic-extension-object": "2.77.0",
27
- "node-opcua-common": "2.77.0",
26
+ "node-opcua-client-dynamic-extension-object": "2.78.0",
27
+ "node-opcua-common": "2.78.0",
28
28
  "node-opcua-constants": "2.77.0",
29
29
  "node-opcua-crypto": "^1.11.0",
30
- "node-opcua-data-model": "2.77.0",
31
- "node-opcua-data-value": "2.77.0",
30
+ "node-opcua-data-model": "2.78.0",
31
+ "node-opcua-data-value": "2.78.0",
32
32
  "node-opcua-date-time": "2.77.0",
33
33
  "node-opcua-debug": "2.77.0",
34
- "node-opcua-extension-object": "2.77.0",
34
+ "node-opcua-extension-object": "2.78.0",
35
35
  "node-opcua-hostname": "2.77.0",
36
36
  "node-opcua-nodeid": "2.77.0",
37
37
  "node-opcua-object-registry": "2.77.0",
38
38
  "node-opcua-pki": "^2.17.0",
39
- "node-opcua-pseudo-session": "2.77.0",
40
- "node-opcua-schemas": "2.77.0",
41
- "node-opcua-secure-channel": "2.77.0",
42
- "node-opcua-service-browse": "2.77.0",
43
- "node-opcua-service-call": "2.77.0",
44
- "node-opcua-service-discovery": "2.77.0",
45
- "node-opcua-service-endpoints": "2.77.0",
46
- "node-opcua-service-filter": "2.77.0",
47
- "node-opcua-service-history": "2.77.0",
48
- "node-opcua-service-query": "2.77.0",
49
- "node-opcua-service-read": "2.77.0",
50
- "node-opcua-service-register-node": "2.77.0",
51
- "node-opcua-service-secure-channel": "2.77.0",
52
- "node-opcua-service-session": "2.77.0",
53
- "node-opcua-service-subscription": "2.77.0",
54
- "node-opcua-service-translate-browse-path": "2.77.0",
55
- "node-opcua-service-write": "2.77.0",
39
+ "node-opcua-pseudo-session": "2.78.0",
40
+ "node-opcua-schemas": "2.78.0",
41
+ "node-opcua-secure-channel": "2.78.0",
42
+ "node-opcua-service-browse": "2.78.0",
43
+ "node-opcua-service-call": "2.78.0",
44
+ "node-opcua-service-discovery": "2.78.0",
45
+ "node-opcua-service-endpoints": "2.78.0",
46
+ "node-opcua-service-filter": "2.78.0",
47
+ "node-opcua-service-history": "2.78.0",
48
+ "node-opcua-service-query": "2.78.0",
49
+ "node-opcua-service-read": "2.78.0",
50
+ "node-opcua-service-register-node": "2.78.0",
51
+ "node-opcua-service-secure-channel": "2.78.0",
52
+ "node-opcua-service-session": "2.78.0",
53
+ "node-opcua-service-subscription": "2.78.0",
54
+ "node-opcua-service-translate-browse-path": "2.78.0",
55
+ "node-opcua-service-write": "2.78.0",
56
56
  "node-opcua-status-code": "2.77.0",
57
- "node-opcua-types": "2.77.0",
57
+ "node-opcua-types": "2.78.0",
58
58
  "node-opcua-utils": "2.77.0",
59
- "node-opcua-variant": "2.77.0",
59
+ "node-opcua-variant": "2.78.0",
60
60
  "once": "^1.4.0",
61
61
  "thenify": "^3.3.1"
62
62
  },
@@ -64,9 +64,9 @@
64
64
  "@types/underscore": "^1.11.4",
65
65
  "dequeue": "^1.0.5",
66
66
  "mocha": "^10.0.0",
67
- "node-opcua-address-space": "2.77.0",
67
+ "node-opcua-address-space": "2.78.0",
68
68
  "node-opcua-binary-stream": "2.77.0",
69
- "node-opcua-factory": "2.77.0",
69
+ "node-opcua-factory": "2.78.0",
70
70
  "node-opcua-leak-detector": "2.77.0",
71
71
  "node-opcua-nodesets": "2.77.0",
72
72
  "should": "^13.2.3",
@@ -93,5 +93,5 @@
93
93
  "internet of things"
94
94
  ],
95
95
  "homepage": "http://node-opcua.github.io/",
96
- "gitHead": "5c8d45772d786fa4ba59369dd26679353ab5482b"
96
+ "gitHead": "31c6eee3c51f52427584364fff2fdb07bbac65be"
97
97
  }
@@ -59,7 +59,12 @@ import { Callback } from "node-opcua-status-code";
59
59
  import { ExtensionObject } from "node-opcua-extension-object";
60
60
  import { ArgumentDefinition, CallMethodRequestLike, MethodId } from "node-opcua-pseudo-session";
61
61
  import { AggregateFunction } from "node-opcua-constants";
62
- import { HistoryReadRequest, HistoryReadResponse, HistoryReadValueIdOptions } from "node-opcua-types";
62
+ import {
63
+ AggregateConfigurationOptions,
64
+ HistoryReadRequest,
65
+ HistoryReadResponse,
66
+ HistoryReadValueIdOptions
67
+ } from "node-opcua-types";
63
68
 
64
69
  import { ExtraDataTypeManager } from "node-opcua-client-dynamic-extension-object";
65
70
  export { ExtraDataTypeManager } from "node-opcua-client-dynamic-extension-object";
@@ -505,6 +510,43 @@ export interface ClientSessionReadHistoryService {
505
510
  * @param aggregateFn
506
511
  * @param processingInterval in milliseconds
507
512
  * @param callback
513
+ *
514
+ *
515
+ * aggregateConfiguration contains additional parameters
516
+ *
517
+ * - The TreatUncertainAsBad Variable indicates how the Server treats data returned with a
518
+ * StatusCode severity Uncertain with respect to Aggregate calculations. A value of True
519
+ * indicates the Server considers the severity equivalent to Bad, a value of False indicates
520
+ * the Server considers the severity equivalent to Good, unless the Aggregate definition says
521
+ * otherwise. The default value is True. Note that the value is still treated as Uncertain when
522
+ * the StatusCode for the result is calculated.
523
+ *
524
+ * - The PercentDataBad Variable indicates the minimum percentage of Bad data in a given interval
525
+ * required for the StatusCode for the given interval for processed data request to be set to Bad.
526
+ * (Uncertain is treated as defined above.) Refer to 5.4.3 for details on using this Variable when
527
+ * assigning StatusCodes. For details on which Aggregates use the PercentDataBad Variable, see the
528
+ * definition of each Aggregate. The default value is 100.
529
+ *
530
+ * - The PercentDataGood Variable indicates the minimum percentage of Good data in a given interval
531
+ * required for the StatusCode for the given interval for the processed data requests to be set to
532
+ * Good. Refer to 5.4.3 for details on using this Variable when assigning StatusCodes. For details
533
+ * on which Aggregates use the PercentDataGood Variable, see the definition of each Aggregate.
534
+ * The default value is 100.
535
+ *
536
+ * - The PercentDataGood and PercentDataBad shall follow the following relationship
537
+ * PercentDataGood ≥ (100 – PercentDataBad).
538
+ * If they are equal the result of the PercentDataGood calculation is used. If the values
539
+ * entered for PercentDataGood and PercentDataBad do not result in a valid calculation
540
+ * (e.g. Bad = 80; Good = 0) the result will have a StatusCode of Bad_AggregateInvalidInputs
541
+ * The StatusCode Bad_AggregateInvalidInputs will be returned if the value of PercentDataGood
542
+ * or PercentDataBad exceed 100.
543
+ *
544
+ * - The UseSlopedExtrapolation Variable indicates how the Server interpolates data when no boundary
545
+ * value exists (i.e. extrapolating into the future from the last known value). A value of False
546
+ * indicates that the Server will use a SteppedExtrapolation format, and hold the last known value
547
+ * constant. A value of True indicates the Server will project the value using UseSlopedExtrapolation
548
+ * mode. The default value is False. For SimpleBounds this value is ignored.
549
+ *
508
550
  */
509
551
  readAggregateValue(
510
552
  nodesToRead: HistoryReadValueIdOptions[],
@@ -536,6 +578,40 @@ export interface ClientSessionReadHistoryService {
536
578
  aggregateFn: AggregateFunction,
537
579
  processingInterval: number
538
580
  ): Promise<HistoryReadResult>;
581
+ readAggregateValue(
582
+ nodesToRead: HistoryReadValueIdOptions[],
583
+ startTime: DateTime,
584
+ endTime: DateTime,
585
+ aggregateFn: AggregateFunction[],
586
+ processingInterval: number,
587
+ aggregateConfiguration: AggregateConfigurationOptions,
588
+ callback: Callback<HistoryReadResult[]>
589
+ ): void;
590
+ readAggregateValue(
591
+ nodesToRead: HistoryReadValueIdOptions[],
592
+ startTime: DateTime,
593
+ endTime: DateTime,
594
+ aggregateFn: AggregateFunction[],
595
+ processingInterval: number,
596
+ aggregateConfiguration: AggregateConfigurationOptions
597
+ ): Promise<HistoryReadResult[]>;
598
+ readAggregateValue(
599
+ nodeToRead: HistoryReadValueIdOptions,
600
+ startTime: DateTime,
601
+ endTime: DateTime,
602
+ aggregateFn: AggregateFunction,
603
+ processingInterval: number,
604
+ aggregateConfiguration: AggregateConfigurationOptions,
605
+ callback: Callback<HistoryReadResult>
606
+ ): void;
607
+ readAggregateValue(
608
+ nodeToRead: HistoryReadValueIdOptions,
609
+ startTime: DateTime,
610
+ endTime: DateTime,
611
+ aggregateFn: AggregateFunction,
612
+ processingInterval: number,
613
+ aggregateConfiguration: AggregateConfigurationOptions
614
+ ): Promise<HistoryReadResult>;
539
615
 
540
616
  historyRead(request: HistoryReadRequest, callback: Callback<HistoryReadResponse>): void;
541
617
  historyRead(request: HistoryReadRequest): Promise<HistoryReadResponse>;
@@ -701,17 +777,17 @@ export interface ClientSessionPublishService {
701
777
 
702
778
  export interface ClientSession
703
779
  extends ClientSessionTranslateBrowsePathService,
704
- ClientSessionQueryService,
705
- ClientSessionBrowseService,
706
- // ClientSessionRawSubscriptionService,
707
- ClientSessionSubscriptionService,
708
- ClientSessionCallService,
709
- ClientSessionRegisterService,
710
- ClientSessionReadService,
711
- // ClientSessionWriteService,
712
- ClientSessionReadHistoryService,
713
- ClientSessionConditionService,
714
- ClientSessionExtensionObjectService,
715
- ClientSessionNamespaceService,
716
- ClientSessionDataTypeService,
717
- IBasicSession { }
780
+ ClientSessionQueryService,
781
+ ClientSessionBrowseService,
782
+ // ClientSessionRawSubscriptionService,
783
+ ClientSessionSubscriptionService,
784
+ ClientSessionCallService,
785
+ ClientSessionRegisterService,
786
+ ClientSessionReadService,
787
+ // ClientSessionWriteService,
788
+ ClientSessionReadHistoryService,
789
+ ClientSessionConditionService,
790
+ ClientSessionExtensionObjectService,
791
+ ClientSessionNamespaceService,
792
+ ClientSessionDataTypeService,
793
+ IBasicSession {}
@@ -83,6 +83,7 @@ import { WriteRequest, WriteResponse, WriteValue } from "node-opcua-service-writ
83
83
  import { StatusCode, StatusCodes, Callback, CallbackT } from "node-opcua-status-code";
84
84
  import { ErrorCallback } from "node-opcua-status-code";
85
85
  import {
86
+ AggregateConfigurationOptions,
86
87
  BrowseNextRequest,
87
88
  BrowseNextResponse,
88
89
  HistoryReadValueIdOptions,
@@ -763,6 +764,40 @@ export class ClientSessionImpl extends EventEmitter implements ClientSession {
763
764
  aggregateFn: AggregateFunction,
764
765
  processingInterval: number
765
766
  ): Promise<HistoryReadResult>;
767
+ public readAggregateValue(
768
+ nodesToRead: HistoryReadValueIdOptions[],
769
+ startTime: DateTime,
770
+ endTime: DateTime,
771
+ aggregateFn: AggregateFunction[],
772
+ processingInterval: number,
773
+ aggregateConfiguration: AggregateConfigurationOptions,
774
+ callback: Callback<HistoryReadResult[]>
775
+ ): void;
776
+ public async readAggregateValue(
777
+ nodesToRead: HistoryReadValueIdOptions[],
778
+ startTime: DateTime,
779
+ endTime: DateTime,
780
+ aggregateFn: AggregateFunction[],
781
+ processingInterval: number,
782
+ aggregateConfiguration: AggregateConfigurationOptions
783
+ ): Promise<HistoryReadResult[]>;
784
+ public readAggregateValue(
785
+ nodeToRead: HistoryReadValueIdOptions,
786
+ startTime: DateTime,
787
+ endTime: DateTime,
788
+ aggregateFn: AggregateFunction,
789
+ processingInterval: number,
790
+ aggregateConfiguration: AggregateConfigurationOptions,
791
+ callback: Callback<HistoryReadResult>
792
+ ): void;
793
+ public async readAggregateValue(
794
+ nodeToRead: HistoryReadValueIdOptions,
795
+ startTime: DateTime,
796
+ endTime: DateTime,
797
+ aggregateFn: AggregateFunction,
798
+ processingInterval: number,
799
+ aggregateConfiguration: AggregateConfigurationOptions
800
+ ): Promise<HistoryReadResult>;
766
801
 
767
802
  public readAggregateValue(
768
803
  arg0: HistoryReadValueIdOptions[] | HistoryReadValueIdOptions,
@@ -772,8 +807,16 @@ export class ClientSessionImpl extends EventEmitter implements ClientSession {
772
807
  processingInterval: number,
773
808
  ...args: any[]
774
809
  ): any {
775
- const callback = args[0];
810
+ const callback = typeof args[0] === "function" ? args[0] : args[1];
776
811
  assert(typeof callback === "function");
812
+ const defaultAggregateFunction = {
813
+ percentDataBad: 100,
814
+ percentDataGood: 100,
815
+ treatUncertainAsBad: true,
816
+ useServerCapabilitiesDefaults: true,
817
+ useSlopedExtrapolation: false
818
+ };
819
+ const aggregateConfiguration = typeof args[0] === "function" ? defaultAggregateFunction : args[0];
777
820
 
778
821
  const isArray = Array.isArray(arg0);
779
822
 
@@ -791,7 +834,8 @@ export class ClientSessionImpl extends EventEmitter implements ClientSession {
791
834
  aggregateType: aggregateFns,
792
835
  endTime,
793
836
  processingInterval,
794
- startTime
837
+ startTime,
838
+ aggregateConfiguration
795
839
  });
796
840
 
797
841
  const request = new HistoryReadRequest({