diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/profile/AlarmState.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/profile/AlarmState.java index f03d1e46ba..44005f9d65 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/profile/AlarmState.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/profile/AlarmState.java @@ -250,8 +250,9 @@ class AlarmState { newAlarm.setCleared(false); newAlarm.setSeverity(severity); long startTs = dataSnapshot.getTs(); - if (startTs == 0L) { - startTs = System.currentTimeMillis(); + long currentTime = System.currentTimeMillis(); + if (startTs == 0L || startTs > currentTime) { + startTs = currentTime; } newAlarm.setStartTs(startTs); newAlarm.setEndTs(startTs);