Go Back   HomeSeer Message Board > 3rd Party Plug-Ins/Scripts > Plug-ins by Author > Click Here for List of Author Forums > MCS Plug-Ins and Scripts > Miscellaneous

Miscellaneous (Formerly MCS Free Plug-Ins) Discussions relating to the WebAgent and other free plug-ins, provided by Michael McSharry. For MCS "pay" plug-ins, please see the specific plug-in forum.

Closed Thread
Thread Tools Display Modes
Old January 30th, 2005, 02:07 AM
Michael McSharry's Avatar
Michael McSharry Michael McSharry is online now
Join Date: Jul 2001
Location: North Bend, WA, USA
Posts: 13,526
mcsMovement Introduction

mcsMovement is intended to provide convienient setup for device string management, a way to track movement patterns and take actions based upon a specific From-To pair of sensors or upon activity in generalized areas. It contains an intuitive GUI which is used to define the layout, virtual device and scripting methods that provide real-time decision making, and a web interface to view historical movement patterns. The visuals can be applied to a graphic presentation such as UltraView to show movement down a hallway or up a road. The logic can be used to control X10 or other IO based a directional movement.

The plugin is provided with source to provide a reference for a variety of techniques used in plugin development. As is often the case, the bulk of the code deals with the human interface. The actual algorithms to manage sensor on/off states is actually a relatively trivial part of the plugin. It is probably on the order of 10% of the source lines.

The plugin provides a scrolling window of the devices available within homeseer. Double-clicking on one of these will move the sensor to a second window which is the list that will be managed by the plugin. As the device moves from the first to the second window it captures the properties of a similar sensor. This minimizes the effort required to select the sensors of interest and still provides the ability to fully customize each.

The plugin extends the basic properties of a device to include the following:
• Icon and Text string to display when the status is ON
• Icon and Text string to display when the status is OFF
• Script execution method to use which includes
o Standard Homeseer Script Engine
o Optimized ScriptControl Engine
o Independent Process
• Virtual device to monitor status and terminate scripts run in separate processes
• ON Time and OFF management to augment physical sensor shortcommings
• Associated devices for movement and area relationships
• Transition values as movement enters, within, exits, or reverses
• Type definitions that carry associated expected behaviors

The plugin will update the device strings of the devices it manages using the properties specified or these strings can be left untouched to let other software perform the updates. In addition to the text and icon, the plugin will include the elapsed time that a sensor has been in its current state.

The plugin manages sensors that reflect their state based upon a status, such as a Hawkeye or sensors that reflect their state based upon a value such as the W800 Security sensors.

The initial configuration is done from the Homeseer PC. The browser interface is used to display color intensity charts that show movement patterns for periods from one day to one year. The browser is also used to select groups of sensors that should be displayed on the same chart.

Feature Summary
• Full VB source code provided to allow individual customizations and as a reference for plugin implementation techniques.
• Maintains custom device strings for any selected Homeseer devices that maintain device status or enumerated device values such as X10 devices, plugin devices including support for custom icons for web display. The device string can also show the elapsed time in the current state if selected.
• A Fail Safe Time feature that resets device state after user-specified timeout on a sensor-by-sensor basis.
• Synthesizes virtual “movement” devices that track motion between two motion sensors or other devices. This includes forward motion and reverse motion. Supporting web page icons are animated to show direction of motion. This is particularly impressive when coupled with a floorplan graphic such as UltraView.
• Synthesizes virtual "area/occupancy" devices which are controlled based upon whether a configurable set of devices have not detected motion for some specified amount of time. The Occupancy Elapsed Time is independently configurable for each motion sensor. The user can have as many occupancy sensors as the user wishes allowing the user to track occupancy on each floor of the user's house and/or for the whole house. Area/Occupancy sensors can overlap so that the same sensor can participate in multiple areas.
• Supports direct execution of script sequences based upon changes in a device status. These scripts can be run in independent process with a created virtual device used to monitor its status or to terminate it. Scripts can also be run in the Homeseer process if desired.
• Supports sensor-related triggers and actions within HomeSeer® Events.
• Maintains state transitions in a database for historical record of motion or other device patterns. The database can be either Access or SQL Server. All necessary databases and table schema are created as needed.
• Custom browser display available to view the historical patterns graphically. A second browser display is available to select groups of devices to be displayed together.
• Browser style of presentation can be customized from the setup GUI to allow browser displays that do not support style sheets to be customized to user tastes.
• Maintains elapsed time stamps for individual devices to support management of battery replacement. Virtual device is maintained that tracks the longest period of all devices selected for this support function as well as a trigger threshold for this device to be used to trigger an event when notification of a battery change is needed.
• Allows selected device state changes to be recorded in the mcsTemperature database or delivered via an xAP xapBSC message to allow discrete event activity to be integrated on the same line chart display as analog or other discrete data.
• Plugin provides configurable windows of time during which device changes are ignored. This allows arming an area for security action while leaving time to exit the security zone before the synthesized device will trigger.
• Provides ability to create a plugin house code for general purpose use. The device is controllable via GUI or Browser.
• Synthesizes a “Toggle” device that has the properties of toggling after each burst of ON activity. This device is appropriate for a situation of a motion sensor in a car where a burst of activity means that the car is either leaving or arriving at the house.
• Maps devices for which state is maintained by device value into ON/OFF states to allow them to be used as binary devices. It also allows the ON/OFF polarity to be reversed for any device so that the presentation of the state will be more natural.
• Maintains historical configuration of every setup saved and allows any prior setup to be restored. This is similar in concept the XP’s system restore points.
Closed Thread


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump

All times are GMT -4. The time now is 12:04 AM.

Copyright HomeSeer Technologies, LLC