Conditions are checked once every minute and when an event occurs (like an X10 signal received or device state change for example). All conditions are checked only once and an action for a condition cannot affect any other conditions during the current check. For example, suppose we have the following two conditions. These conditions would allow a wall switch to turn a light on if it’s off, or brighten the light by 10% if it’s already on.
If received A1-ON AND B1 is OFF then turn B1 ON
If received A1-ON AND B1 is ON then brighten B1 10%
Let's assume B1 is OFF. HomeSeer receives an A1-ON. HomeSeer does the following:
Condition 1 is now true (received A1-ON and B1 is OFF) B1 goes ON
HomeSeer does not update the status for B1 until ALL conditions have been tested.
Condition 2 is NOT true, and does not execute (HomeSeer still thinks B1 is OFF)
After all conditions are tested, the status for A1 is set to ON and the status for B1 is set to ON.
Why, if the status of
a device is changed in the event, is the change not detected during that
event?
If the status for the device was updated immediately, both conditions would become true and the light at B1 would go on, and then brighten 10%. (This is probably not what you want.)
Status of devices changed by a condition are not updated until all the conditions are checked.
All conditions must be true for the event to trigger.
X10 commands received will reset the timer associated with the device. If device A1 was on for 10 minutes and an A1-ON was received, then the timer for A1 is reset back to 0.
If you enable the SmartOn feature for a device, then X10 commands sent by HomeSeer will not reset the ON time for a device if it is already ON.
You can use the Status Change trigger to trigger events when the status of a device actually changes. Status changes trigger events immediately.
Conditions take the form:
IF (condition) AND (condition) AND ….
OR
IF (condition) AND (condition) AND …
THEN (take some action)
For example, suppose you would like a light to be turned off if it was left on for 30 minutes. Assuming the light was named closet light:
IF closet light has been ON for 30 minutes then turn it off
In the trigger dialog, set the trigger to conditions, select the closet light device from the first drop down list box, then select: "Has been on for" in the second drop down list box. Set the time for :30. You would then add the closet light device to the events device list and set its action to OFF. This will turn the light off after it has been on for 30 minutes. This only works if you turned the light on from a switch that sends X10 commands over your house wiring, or a Z-Wave switch that is being polled for status, so that HomeSeer knows when it was turned on. If an event turns a device ON or OFF, HomeSeer knows the status.
Here is another example. Suppose you would like all the lights downstairs to go off after you go to bed. You would use a tabletop keypad to tell HomeSeer that you are going to bed. HomeSeer treats all devices the same; that is, even a switch has an ON/OFF status. You would set it up like this:
1. Create a device that is nothing more than the switch that will send the bedtime command. Label it Switch A1 ON.
2. Create a new event and label it Bedtime.
3. Set the trigger for this event to conditions, the following conditions would be added.
IF Switch A1 Has been ON for 5 minutes
4. Set the Actions for this event to turn off all the lights downstairs lights.
This will allow you to leave the room (with the lights on) and have the lights turn OFF 5 minutes later. A modification to this could turn on the bedroom lights when the button was pressed, then turn the downstairs lights off 5 minutes later. Modify the conditions on the bedtime event to trigger by X10 command and trigger on the command A1 ON. Set the actions for this event to turn on the bedroom lights. Create a second event and set its trigger to conditions and set the condition to what we set above: (IF Switch A1 Has been ON for 5 minutes). Then set its actions to turn off all the downstairs lights.
Conditions can also contain an X10 trigger. That is, the condition is dependent on the reception of a particular X10 command.
Using conditions to control devices using timed offsets
Conditions can be used to delay the action of a trigger. Suppose you would like a light to come on at 10:00 PM, and then have a second light go on 30 minutes later. Create an event that triggers at 10:00 PM and turns ON light #1. Create a second event and set its trigger to the following condition:
If (light #1) (HAS BEEN ON FOR) (:30)
Set the action for the event to turn ON light #2. You can add as many events as you like as offsets from the light #1 event.
About Time After/Time Before Conditions
Note that using the "before" and "after" time conditions are based on a 24 hour day. For example, if you would like the condition to trigger "after 9:00 pm", the valid range is "9:01 pm to 11:59 pm". This makes sense since 12:00 am starts a new day and is treated as "time 0:00". The condition "before 8:00 AM" is valid between "12:00 AM and 7:59 AM". The "day time" and "night time" conditions make dealing with this issue a little easier.
See the timers section to see how timers can be used with devices.
Or conditions
The condition triggers if all the conditions in the condition list are true. It may be desirable to trigger the event if any of the conditions are true, rather than all of them. You can create OR groups, where all conditions in a particular group must be true, but the event will trigger if any group is true. This allows you to group your AND conditions together and OR them with other groups. Click the Next OR Group button to create a new group.