diff --git a/src/plugins/condition/Condition.js b/src/plugins/condition/Condition.js index b4c146b790..9f01e9ebc0 100644 --- a/src/plugins/condition/Condition.js +++ b/src/plugins/condition/Condition.js @@ -82,7 +82,9 @@ export default class Condition extends EventEmitter { if (this.isAnyOrAllTelemetry(criterion)) { criterion.updateResult(datum, this.conditionManager.telemetryObjects); } else { - criterion.updateResult(datum); + if (criterion.usesTelemetry(datum.id)) { + criterion.updateResult(datum); + } } }); @@ -102,7 +104,7 @@ export default class Condition extends EventEmitter { isTelemetryUsed(id) { return this.criteria.some(criterion => { - return this.isAnyOrAllTelemetry(criterion) || criterion.telemetryObjectIdAsString === id; + return this.isAnyOrAllTelemetry(criterion) || criterion.usesTelemetry(id); }); } diff --git a/src/plugins/condition/criterion/TelemetryCriterion.js b/src/plugins/condition/criterion/TelemetryCriterion.js index 90d92e7065..c2f49671bb 100644 --- a/src/plugins/condition/criterion/TelemetryCriterion.js +++ b/src/plugins/condition/criterion/TelemetryCriterion.js @@ -58,6 +58,10 @@ export default class TelemetryCriterion extends EventEmitter { } } + usesTelemetry(id) { + return this.telemetryObjectIdAsString && (this.telemetryObjectIdAsString === id); + } + subscribeForStaleData() { if (this.stalenessSubscription) { this.stalenessSubscription.clear();