The Virtual Crib - Home Automation Software Forum Index
RegisterSearchFAQMemberlistUsergroupsLog in
vCrib 101: Basic Definitions

This topic is locked: you cannot edit posts or make replies.    The Virtual Crib - Home Automation Software Forum Index » Virtual Crib general discussion View previous topic
View next topic
vCrib 101: Basic Definitions
Author Message

Joined: 22 Aug 2007
Posts: 519
Location: Seattle, WA

Post vCrib 101: Basic Definitions Reply with quote
I though it would be good to start a thread to help explain what the basic components of the vCrib system are and how they work together. Please keep discussion in this thread informative instead of inquisitive. Start a new thread if you have a question that you can not find and answer to hear.


Objects are people, places or things.

Location Objects
Location plays an important roll in vCrib because it qualifies devices objects into logical groups enabling many of the most frequently used features of vCrib to be automatically created for you as you add devices. When configuring a new location make sure to give it an appropriate unique name for the location and a value for the “Auto-Off (sec)”. The “Auto-Off (sec)” determines how long it will take a location to revert to a status of Vacant after the last occupying event occurs. This value can be changed by a command if different values are more appropriate for different conditions.
"Vacancy Minutes" changed to "Auto-Off (sec)" starting in version Now any object can have an Auto-Off time and behave as described above. A value of zero will disable the Auto-Off timer. Timer resolution is now in seconds instead of minutes.

Typically you will add Locations for each room of your home, or at least those rooms where you have devices that you would like to control. You may also want to create outdoor locations or specific area’s of a room if you want them distinguished separately. I.e. TV area, Kitchen Nook, or Driveway East.

Locations have occupancy events and status conditions associated with them. I.e. a location can become occupied ( an Event ), be occupied (a status condition) or become or be vacant. Occupancy can be triggered by events, or by a command. Vacancy can be triggered by the “Auto-Off” timeout or by a command.

Device Objects
--Controlled Devices such as: automated light switches, electrically actuated door locks, garage doors, speaker switches, alarm bells, IR or RF transmitters etc.
--Sensor Devices such as: Motion, light, temperature, smoke, contact, moisture, humidity, pressure and noise sensors or anything other such device that would input environmental data into the system automatically as conditions change.
--Manually Activated Input devices such as: Remote controls, keypads, smart card readers, RFID access, etc. These are configured similar to sensors because they only transmit information to the system however they are generally triggered intentionally by user interaction.

Each device object requires a unique name. Other fields that should be completed to properly form devices would include the primary device address, and the “location object” name where the device is located.

Some default configuration for device objects is set through the Device Types dialog under the settings menu item in the Admin.exe application. Events, Conditions, and Commands are associated with each device depending on the capabilities of the device as defined by the device types dialog. I.e. Some devices are only ON/OFF capable and others can also DIMM/BRIGHT etc. The naming of the associated events, conditions and commands is determined by the label provided in the Device Types dialog.

Events are moments in time when something happens. The moment a door opens is an event, the moment a light turns on is an event. By recording these moments in time we can make use of them to trigger other actions or to make arguments to logically determine a condition.

Events can also trigger occupancy for the location for which they are associated. I.e. A motion sensor device object is located in the Kitchen, The event named “Kitchen Motion Detected” can be configured to trigger occupancy for the Kitchen. From that point forward when the “Kitchen Motion Detected” event occurs a corresponding “Kitchen Occupied” event will be entered into the log with a time stamp so that the vacancy time can be determined based on the “Auto-Off” entered for the Location Object.

Starting in version events can also turn ON any object that has an Auto-Off time defined. Repeated events with this property enabled will refresh the Auto-Off origin date for that object and delay the OFF event time. In previous versions this property was called "Triggers Occupancy" on the events tab of Admin.exe. It is now called "Turns ON ___" Where in you check the box if you'd like it to turn on a device. By default it will automatically select the parent location of your device, but you can change it to select any object with an Auto-Off time. Activating multiple devices using this method may be available in later releases, for now you'll have to build an action to trigger additional objects.

Conditions are created to coincide with Events in two ways. The first is to determine a triggering moment for an Action, these are called Event Conditions. Event Conditions can be configured that link more than one event so as to allow for more complex scenarios where one event must happen before another before its triggering action will take place.

The second way Conditions are used is to record the current Status of a device, called a Status Condition, so that an Action can have qualified Conditions that must be met before a Command can be issued. Status is updated by an associated event as well, however, as a status, we can reference its current state at any later point in time. A Devices current condition is its “Status Condition.” I.e. the “Kitchen Light OFF” event occurs and the Status Condition for that device is set to OFF.

Conditions can also be created quasi independently of Events for things like Time and Variables. Parameters can be entered for a condition to record a triggering time, time range, or check the value of variable against other variables etc. before triggering an action

Actions are the set of rules that we construct to make commands happen. The IF THEN ELSE logic has been simplified somewhat here to make things a little easier. To create an event we first name it and give it a limit. The limit is the amount of time in seconds that must pass before an action can be run for a second time.

Next we select a triggering Event Condition that will start this action.

Next we select a Status condition or set of conditions that must be met, if any, before the commands can be issued.

For example: Lets say we want a light to come on when the kitchen is occupied, but only if the kitchen is dark. We know that when a room becomes occupied an event is created in the log; “Kitchen Occupied” That is a point in time but we also want it to act as a trigger to start an action. By linking an “Event Condition” to that occupancy event this triggering effect is created. So in our new action we select the “Kitchen Occupied” Event Condition. Next we need to determine if the room is dark or light. So we want to add a Status Condition to our action. Assuming that we have a photocell in the kitchen there should be a Status Condition available such as “Kitchen is Dark” that we can select. So we have constructed an action that should fire when the kitchen becomes occupied and the kitchen is dark. Now all we need to do is assign a command to turn on the light.

Multiple commands can be chained together in an action, some actions can accept command parameters to determine things like Brightness Level. Vacancy Time Out Value etc.

Commands are instructions to change something. Turn on a light, update a variable value, start a text to speech message etc. Commands are injected into the command queue table and are processed independently by their respective process or application module. I.e. Speaker.exe carries out text to speech commands and clears that item from the queue.

More to come later. I got to catch a bus.

vCrib Tester #1, Forum moderator, using INSTEON devices, X10 sensors and remotes via W800RF, All doors are wired with contact closures.
vCrib Wiki
Fri Nov 09, 2007 6:29 pm View user's profile Send private message
Display posts from previous:    
This topic is locked: you cannot edit posts or make replies.    The Virtual Crib - Home Automation Software Forum Index » Virtual Crib general discussion All times are GMT - 6 Hours
Page 1 of 1

Jump to: 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum

Powered by phpBB © 2001, 2005 phpBB Group
Design by Freestyle XL / Flowers Online.