Virtual devices are devices that act like X10 or Z-Wave devices, but do not have the ability to actually receive or send X10 or Z-Wave commands. You can create a virtual device by selecting the lower case house codes in the range "q" through "z", and you can use unit codes 17 through 99 on all house codes. You set the status of these devices just as you would for real devices. When you set the actions for an event, you will notice that your virtual devices are listed with all your real devices. When an event triggers, you can set the status of one of your virtual devices to "ON", "OFF", or "DIM" to a specific brightness. An example use for a virtual device might be creating a flag that tells HomeSeer that someone is home or not. Depending on the flag, your events may take different actions. Here is an example:
1. Create a virtual device "q1" and call it "I am Home"
2. Create a new event and call it "I have arrived"
3. Set the trigger for this event to "X10 Command A1 ON"
4. For the actions for this event, set the device "q1 ON"
5. Create another event named "I am leaving", set the trigger to "A1 OFF" and the action to "q1 OFF"
6. When you are home, touch a keypad so it sends the X10 command "A1 ON", and when you are away, touch "A1 OFF" (this will set the state of the virtual device "q1" to either ON or OFF)
Now you have a "flag", that indicates when you are home. No other X10 or Z-Wave action will modify the flag. You can now use the flag with the conditional trigger. This allows you to control your lights differently when you are home as opposed to when you are away. To have a light go ON at 7:00pm when you are NOT home, create a condition like this: (conditions are created in the event properties, trigger type "conditions")
IF DEVICE "I am Home" IS OFF
AND
TIME IS 7:00PM then
light ON
Note that the status for the virtual devices (as well as all devices) is also available to any scripts you write. So you could create even more sophisticated logic by using the scripting language.