This plugin creates Indigo devices that are essentially timers with built-in triggers. The goal is to make some common tasks in Indigo simpler to setup, easier to maintain, and requiring fewer Indigo entities.
This plugin doesn't do anything that can't be accomplished in Indigo with a combination of Triggers, Variables, and Timers and/or Delayed Actions. However, I find it very helpful in accomplishing those things quickly and simply. I have seen a number of new users on the forums struggle with these sorts of tasks, and hope this may be useful to them as well.
Activity Timer devices
Activity Timer devices infer an ongoing activity from one or more momentary inputs. Devices will turn on if the number of inputs reaches a defined threshold within a defined period of time. Devices will expire (turn off) after a defined period of time with no additional inputs.
Once configured, these devices are simply ON to indicate recent activity and OFF to indicate no recent activity.
The most common use is inferring activity in a room or area by tracking motion sensors. I commonly wish to have more than one motion sensor activate before assuming a room is in use, and extend the timeout when one or more motion sensors are re-activated.
I first wrote the plugin for this scenario and in one case was able to replace 13 indigo entities (2 variables, 2 timers, and 9 triggers) with a single plugin device.
Threshold Timer devices
These devices are similar to Activity Timer devices, but are intended to track non-momentary inputs. Devices turn on when tracked inputs reach a defined threshold. When the count of inputs becomes less than the threshold a timer is started and devices turn off when the timer expires.
Once configured, these devices are simply ON to indicate recently reaching threshold and OFF to indicate not recently reaching threshold.
This is useful for motion sensors that remain on for an extended period and thus do not repeatedly trigger when additional motion is detected.
Persistence Timer devices
These devices track the state of a single device or variable, but only change state after the tracked entity state has persisted for a defined period of time.
Once configured, these devices are just ON or OFF to reflect the delayed/confirmed state of some other device or variable (eliminating the need for cancel-delayed-action actions).
An obvious example if you want to track if a door has been left open or closed, but ignore the door being opened or closed momentarily.
Lockout Timer devices
These devices track a single device or variable and change state immediately when the tracked entity changes, but will lockout (ignore) subsequent changes for a user-defined period of time. At the end of the lockout period, the plugin will reevaluate if the tracked entity has changed in the interim, and initiate another lockout period if it has.
Once configured, these devices are just ON or OFF to reflect the state of some other device or variable, but are guaranteed not to change more often than some pre-set period of time (allowing your triggered actions to complete before, say, reversing themselves).
This is useful when a device oscillates at its transition point. For example, a presence detector may report OFF-ON-OFF when exiting. Lockout Timer devices will react to the first change and ignore subsequent changes if the occur within the lockout period.
Alive Timer devices
These devices track whether single device or variable is alive and becomes OFF when the tracked entity hasn't changed for a user-defined period of time.
Once configured, these devices are just ON or OFF to reflect whether or not some other device or variable has been seen within some pre-set period of time.
The obvious use is battery-powered devices like sensors. Unlike the other device types, these will react to heartbeats even if none of device's states have changed value.
Running Timer devices
These devices track how long a single device or variable has been running and calculate accumulated ON times over various time periods.
Once configured, these devices are just ON or OFF to reflect whether or not some other device or variable is ON or OFF.
Device states report how long the tracked entity was ON during the current and prior hour, day, week, month, and year.
---
Details: https://github.com/kmarkley/Indigo-Time ... /README.md
Download: https://github.com/kmarkley/Indigo-Time ... ses/latest