diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/CalculateDeltaNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/CalculateDeltaNode.java index ca96fdead9..3e2618de98 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/CalculateDeltaNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/CalculateDeltaNode.java @@ -77,6 +77,9 @@ public class CalculateDeltaNode implements TbNode { public void onMsg(TbContext ctx, TbMsg msg) { if (msg.getType().equals(SessionMsgType.POST_TELEMETRY_REQUEST.name())) { JsonNode json = JacksonUtil.toJsonNode(msg.getData()); + if (!json.isObject()) { + throw new IllegalArgumentException("Message body is not an object!"); + } String inputKey = config.getInputValueKey(); if (json.has(inputKey)) { DonAsynchron.withCallback(getLastValue(msg.getOriginator()),