If a Rule Continues to Send Notifications Outside of a Configured Schedule
Monnit offers the ability to apply a schedule to Rules.
This functionality enables you to only receive Notifications from a Rule during specified periods of a day/week/month.
When a schedule has been applied to a Rule, a particular behavior will allow the Notification to continue to send on its Snooze time (default 60 minutes) if the Rule is not disarmed.
This article will discuss this expected behavior and offer a possible solution.
Why a Rule will continue to send outside of its configured schedule
The reason a Rule might continue to send outside of the configured schedule relates to the Rule’s Snooze setting.
For information on the Snooze setting of a Rule, see Understanding the Snooze Setting of a Rule in iMonnit Online.
If a Rule is triggered during its active schedule and is not Disarmed before it is scheduled to be inactive, it will continue sending on its Snooze time.
When a Rule is triggered within the scheduled active time, the scheduled period ends, and the sensor readings are still within the triggering parameters, the Snooze notifications will display the last reading that triggered the Notification within the schedule.
Example
In this example, we will use a temperature sensor that has been applied to trigger a Rule with a 45°F temperature reading, with the Rule scheduled to be active between 8 AM and 5 PM. It is worth noting that understanding the “Before and After” election of a sensor schedule can be critical to successfully implementing the schedule.
- Rule Condition: Notify when Sensor Reading is Greater than 45°F
- Rule Schedule: Between 8 AM and 5 PM
- Task: Send email
- Snooze Setting: Default 60 Minutes
- Sensor Configuration: 10-minute Standard and Aware State Heartbeat
4:23 PM > Sensor checks in reading 42°F - No Rule triggered
4:33 PM > Sensor checks in reading 46°F - Rule triggered, email sent (Snooze timer started)
4:43 PM > Sensor checks in reading 46.5°F - Rule still triggered, Rule not yet Disarmed by user, snoozing for 10 out of 60 minutes, no change
4:53 PM > Sensor checks in reading 47°F - Rule still triggered, Rule not yet Disarmed by user, snoozing for 20 out of 60 minutes, no change
4:03 PM > Sensor checks in reading 47.5°F - Rule still triggered, Rule not yet Disarmed by user, snoozing for 30 out of 60 minutes, no change
4:13 PM > Sensor checks in reading 48°F - Rule still triggered, Rule not yet Disarmed by user, snoozing for 40 out of 60 minutes, no change
5:00 PM > Rule scheduled inactive
5:23 PM > Sensor checks in reading 49°F - Rule still triggered, Rule not yet Disarmed by user, snoozing for 50 out of 60 minutes, no change
5:33 PM > Sensor checks in reading 50°F - Rule still triggered, Rule not yet Disarmed by user, since snooze reached 60 minutes additional email sent, Snooze timer restarted
5:43 PM > Sensor checks in reading 49°F - Rule still triggered, Rule not yet Disarmed by user, snoozing for 10 out of 60 minutes, no change
5:53 PM > Sensor checks in reading 50°F - Rule still triggered, Rule not yet Disarmed by user, snoozing for 20 out of 60 minutes, no change
6:03 PM > Sensor checks in reading 51°F - Rule still triggered, Rule not yet Disarmed by user, snoozing for 30 out of 60 minutes, no change
6:13 PM > Sensor checks in reading 50°F - Rule still triggered, Rule not yet Disarmed by user, snoozing for 40 out of 60 minutes, no change
6:23 PM > Sensor checks in reading 52°F - Rule still triggered, Rule not yet Disarmed by user, snoozing for 50 out of 60 minutes, no change
6:33 PM > Sensor checks in reading 52°F - Rule still triggered, Rule not yet Disarmed by user, since snooze reached 60 minutes additional email sent, Snooze timer restarted
6:43 PM > Sensor checks in reading 51°F - Rule still triggered, Rule not yet Disarmed by user, snoozing for 10 out of 60 minutes, no change
6:46 PM > User Disarms Rule
6:53 PM > Sensor checks in reading 49°F - Rule no longer triggered, Rule inactive as per schedule, no snooze timer
7:03 PM > Sensor checks in reading 50°F - Rule no longer triggered, Rule inactive as per schedule, no snooze timer
7:13 PM > Sensor checks in reading 51°F - Rule no longer triggered, Rule inactive as per schedule, no snooze timer
7:23 PM > Sensor checks in reading 48F - Rule no longer triggered, Rule inactive as per schedule, no snooze timer
7:33 PM > Sensor checks in reading 47°F - Rule no longer triggered, Rule inactive as per schedule, no snooze timer
7:43 PM > Sensor checks in reading 46°F - Rule no longer triggered, Rule inactive as per schedule, no snooze timer
7:53 PM > Sensor checks in reading 44°F - Rule Rearmed (Reset) since sensor reading is below configured Sensor Reading threshold in the Rule Settings, Rule can again be triggered only during active schedule
8:03 PM > Sensor checks in reading 48°F - Rule not triggered as it is outside of the active schedule, no email sent (despite the fact the reading was above triggering threshold)
As you can see in the above example, the reading continued to send on its Snooze time, even after the scheduled inactive time, because the trigger occurred prior to the scheduled inactive time.
Since it was not disarmed after this trigger, it continued to send on the Snooze time until the user Disarmed the Rule. After the Rule was disarmed, it went back to normal operation. The sensor had a subsequent reading of 48°F (which would normally trigger the Rule), but it did not trigger because this occurred after the scheduled inactive time.
Preventing a Rule from sending an alert during the scheduled inactive time, even when a trigger occurs during the scheduled active time
If you experience the scenario, we have a solution you can implement that will automatically prevent the Rule from sending outside of the scheduled inactive time.
Using a System Action, you can create an additional Scheduled Rule to automatically Rearm (Reset) the Rule at the scheduled inactive time. To do this, follow the steps below.
- Create a new Scheduled Rule in iMonnit Online (see Creating Rules in iMonnit Online).
- Set the time you wish this Scheduled Rule to run (you will want to schedule this to be the same as the scheduled off time in the original Rule schedule).
- Under the Task configuration, select the System Action button (to highlight it as enabled)
- In the System Action pane of the window, set the “Action to be done” to Full Reset.
- In the Delay field, select No Delay.
- Ensure the Rule selected for “Target Notification” is the One you wish to disable during scheduled inactive time.
- Select Save
With this Rule, the original Rule will be automatically reset (Rearmed) at the scheduled inactive time, so it will no longer send on its Snooze time.
Resetting itself as the Target Rule
Consider adding a Full Reset System Action to reset the scheduled Rule. The Scheduled Rule requires a Disarm/Rearm, just as any other notification. So you can either Rearm/Disarm it manually or add an additional System Action so it resets itself after it runs so that it will run the following day.
Logged data
Suppose a sensor or gateway logs data, and this data is subsequently uploaded during the configured schedule during which the Rule is active. In that case, the readings will trigger the Rule even if the reading was recorded during the time the Rule was inactive.
If you receive a notification for a reading during a scheduled off time, you will want to explore to see if a logged reading triggered the Notification.