mcsAudrey is a Homeseer plug-in that supports use of 3Com Audrey as a control touchscreen geared to Home Automation applications. The plugin provides access to manipulate Audrey’s assets from both a natural device interface that is available via the Homeseer GUI or web interface and a rich set of methods and properties that can be used with script or other programming tools.
Each Audrey is characterized as an interface with the following controlable entities
1. Display Screen
2. Sleep/Awake
3. Backlight Power
4. Top LED
5. Mail LED
6. Browser
7. Sound Byte
8. Sound Byte Volume
9. Master Volume
10. Reserved for Growth
Each of these is associated with a virtual device. Each virtual device contains controls (GUI) or buttons (Web) that allow interactive control of the corresponding Audrey feature. For example, the Sleep/Awake device presents the user the option of “Put to sleep” or “Awaken” or "Awaken Forever". The device string of this virtual device will contain the status “Awake” or “Asleep” and this string contains an icon that graphically illustrates the status on the web inerterface.
In addition to access to individual Audrey features, the plugin will maintain the overall state of each Audrey. For example, a change of Sleep/Awake will also automatically change the status of Backlight power since the hardware turns the backlight power off when sleeping. Likewise data pushed to the Display will result in the browser mode to automatically change to reflect the presence of navigation buttons on the browser.
The plugin also includes the Audrey environment in its management repertoire. Power to Audrey is controlled by an X10 device (Appliance Module) and user proximity to Audrey is sensed by an X10 motion sensor. Power control is used manage situations where Audrey locks-up. Motion control is used to awaken Audrey as well as augment the slideshow presention criteria.
Most of the ten virtual devices associated with an Audrey attempt to mirror the actual state of Audrey's hardware and firmware. The first device, the display screen, takes on some special functionality including
1. Route formatted CID information, to ACID
2. Route CID information for browser display
3. Display text message on full screen
4. Speak text message
5. Play wav file
6. Push page from an URL
7. Display slideshow from image files in a directory tree
Programatic (Script) control of Audrey can be done using the standard capabilities of homeseer such as hs.SetDeviceValueByName “Den Audrey”, TopLEDOn or it can be done via method and property calls to the plugin. Internally, all commands are tagged and queued. The tags can be used to support broadcast-like modes or determine if a command given has actually been executed or is in the queue pending completion of prior commands. This queue persists through Audrey power-cycles. It is implemented in a manner that is totally event-driven with timeout protections. No wait loops exist to hold up other scritps or needlessly consume CPU cycles.
Scripting Interface:
<pre class="ip-ubbcode-code-pre">
VIDEO
-----
AUDREY PUSH PAGE Push a web page from homeseer server
AUDREY PUSH IIS PAGE Push a web page from any server
AUDREY PUSH FULLSCREEN Push a web page and toggle to full screen
AUDREY CID Deliver CID to browser
AUDREY TEXT Deliver a text message to Audrey's full browser screen
AUDREY SLIDESHOW Start Slideshow
AUDIO
-----
AUDREY SPEAK Perform TTS for Audrey to speak
AUDREY WAV Send Wav file to audrey to play
AUDREY WAV TIME Calculate how long it will take to play a wav file
AUDREY SOUNDS Play one of audrey's predefined sound bites
AUDREY SOUNDS VOLUME Set sound volume to 0 to 100% for sound bites
AUDREY VOLUME Set % master full volume
HARDWARE FEATURES
-----------------
AUDREY LED Turn Audrey's LED on, blink, off
AUDREY MAIL LED Turn Audrey's Mail LED on, blink, off
AUDREY TOP LED Turn Audrey's Top LED on, blink, off
AUDREY BACKLIGHT Backlight Turn Audrey's Backlight on, off
AUDREY TOGGLE BROWSER FULL SCREEN Simulate hitting Audrey's browser button
AUDREY SET BROWSER FULL SCREEEN Specify browser nav/full screen mode
AUDREY SLEEP Control Audrey sleep / awake modes including screen saver
AUDREY REFRESH SLEEP STATUS Requests sleep status from audrey
AUDREY CYCLE POWER Cycle Power
COMMAND MANAGEMENT
------------------
AUDREY WAITSECS Delay between commands sent to Audrey
AUDREY COMMAND BUSY Determine if a specific command has completed execution
AUDREY RESET QUEUE Remove pending commands from Queue
ASP INTERFACE
-------------
AUDREY WHO SENT Determine which audrey made an ASP request
AUDREY IP Deliver Audrey's IP based upon her name
AUDREY IP LOOKUP Deliver Audrey's name based upon her IP
STATUS
------
AUDREY IS SPEAKING Returns true if audio (speak, wav) is playing
AUDREY MAILLED STATUS Return the LED state
AUDREY TOPLED STATUS Return the LED state
AUDREY BACKLIGHT STATUS Return the Backlight state
AUDREY SOUNDS VOLUME STATUS Returns % sound byte full volume
AUDREY VOLUME STATUS Returns % master full volume
AUDREY SLEEP STATUS Returns true if audrey is awake (not in sleep mode)
AUDREY PLUGIN DISABLE STATUS Returns true if plugin is disabled from anagement of Audrey interface
MISC
----
AUDREY EXECUTE Execute any program resident on Audrey (Requires Audrey Server Plugin)
AUDREY ACID Send CID to ACID on Audrey (Requires Audrey Server Plugin)
AUDREY SLIDESHOW ASP Support browser request for a slideshow presentation
AUDREY TEST Execute test / demo sequence to evaluate plugin and Audrey hack implementation
AUDREY NAMES Return comma separate string of audrey names
AUDREY IPS Return comma separated string of audrey IP addresses
AUDREY PLUGIN DISABLE Stop/Start plugin management of Audrey interface
</pre>
Access to hardware features of Audrey are achieved through the plugin after some modifications to a stock Audrey are performed. These modifications can be done per the keystroke-by-keystroke instructions contained in the included document or can be achieved by downloading the available Audrey image that contains all the “hacks” already performed.
Overall the plugin provides a fully-integrated environment for use of Audrey as a homeseer interface.
[This message was edited by Michael McSharry on Tue, 06 May 2003 at 02:38 AM.]
Each Audrey is characterized as an interface with the following controlable entities
1. Display Screen
2. Sleep/Awake
3. Backlight Power
4. Top LED
5. Mail LED
6. Browser
7. Sound Byte
8. Sound Byte Volume
9. Master Volume
10. Reserved for Growth
Each of these is associated with a virtual device. Each virtual device contains controls (GUI) or buttons (Web) that allow interactive control of the corresponding Audrey feature. For example, the Sleep/Awake device presents the user the option of “Put to sleep” or “Awaken” or "Awaken Forever". The device string of this virtual device will contain the status “Awake” or “Asleep” and this string contains an icon that graphically illustrates the status on the web inerterface.
In addition to access to individual Audrey features, the plugin will maintain the overall state of each Audrey. For example, a change of Sleep/Awake will also automatically change the status of Backlight power since the hardware turns the backlight power off when sleeping. Likewise data pushed to the Display will result in the browser mode to automatically change to reflect the presence of navigation buttons on the browser.
The plugin also includes the Audrey environment in its management repertoire. Power to Audrey is controlled by an X10 device (Appliance Module) and user proximity to Audrey is sensed by an X10 motion sensor. Power control is used manage situations where Audrey locks-up. Motion control is used to awaken Audrey as well as augment the slideshow presention criteria.
Most of the ten virtual devices associated with an Audrey attempt to mirror the actual state of Audrey's hardware and firmware. The first device, the display screen, takes on some special functionality including
1. Route formatted CID information, to ACID
2. Route CID information for browser display
3. Display text message on full screen
4. Speak text message
5. Play wav file
6. Push page from an URL
7. Display slideshow from image files in a directory tree
Programatic (Script) control of Audrey can be done using the standard capabilities of homeseer such as hs.SetDeviceValueByName “Den Audrey”, TopLEDOn or it can be done via method and property calls to the plugin. Internally, all commands are tagged and queued. The tags can be used to support broadcast-like modes or determine if a command given has actually been executed or is in the queue pending completion of prior commands. This queue persists through Audrey power-cycles. It is implemented in a manner that is totally event-driven with timeout protections. No wait loops exist to hold up other scritps or needlessly consume CPU cycles.
Scripting Interface:
<pre class="ip-ubbcode-code-pre">
VIDEO
-----
AUDREY PUSH PAGE Push a web page from homeseer server
AUDREY PUSH IIS PAGE Push a web page from any server
AUDREY PUSH FULLSCREEN Push a web page and toggle to full screen
AUDREY CID Deliver CID to browser
AUDREY TEXT Deliver a text message to Audrey's full browser screen
AUDREY SLIDESHOW Start Slideshow
AUDIO
-----
AUDREY SPEAK Perform TTS for Audrey to speak
AUDREY WAV Send Wav file to audrey to play
AUDREY WAV TIME Calculate how long it will take to play a wav file
AUDREY SOUNDS Play one of audrey's predefined sound bites
AUDREY SOUNDS VOLUME Set sound volume to 0 to 100% for sound bites
AUDREY VOLUME Set % master full volume
HARDWARE FEATURES
-----------------
AUDREY LED Turn Audrey's LED on, blink, off
AUDREY MAIL LED Turn Audrey's Mail LED on, blink, off
AUDREY TOP LED Turn Audrey's Top LED on, blink, off
AUDREY BACKLIGHT Backlight Turn Audrey's Backlight on, off
AUDREY TOGGLE BROWSER FULL SCREEN Simulate hitting Audrey's browser button
AUDREY SET BROWSER FULL SCREEEN Specify browser nav/full screen mode
AUDREY SLEEP Control Audrey sleep / awake modes including screen saver
AUDREY REFRESH SLEEP STATUS Requests sleep status from audrey
AUDREY CYCLE POWER Cycle Power
COMMAND MANAGEMENT
------------------
AUDREY WAITSECS Delay between commands sent to Audrey
AUDREY COMMAND BUSY Determine if a specific command has completed execution
AUDREY RESET QUEUE Remove pending commands from Queue
ASP INTERFACE
-------------
AUDREY WHO SENT Determine which audrey made an ASP request
AUDREY IP Deliver Audrey's IP based upon her name
AUDREY IP LOOKUP Deliver Audrey's name based upon her IP
STATUS
------
AUDREY IS SPEAKING Returns true if audio (speak, wav) is playing
AUDREY MAILLED STATUS Return the LED state
AUDREY TOPLED STATUS Return the LED state
AUDREY BACKLIGHT STATUS Return the Backlight state
AUDREY SOUNDS VOLUME STATUS Returns % sound byte full volume
AUDREY VOLUME STATUS Returns % master full volume
AUDREY SLEEP STATUS Returns true if audrey is awake (not in sleep mode)
AUDREY PLUGIN DISABLE STATUS Returns true if plugin is disabled from anagement of Audrey interface
MISC
----
AUDREY EXECUTE Execute any program resident on Audrey (Requires Audrey Server Plugin)
AUDREY ACID Send CID to ACID on Audrey (Requires Audrey Server Plugin)
AUDREY SLIDESHOW ASP Support browser request for a slideshow presentation
AUDREY TEST Execute test / demo sequence to evaluate plugin and Audrey hack implementation
AUDREY NAMES Return comma separate string of audrey names
AUDREY IPS Return comma separated string of audrey IP addresses
AUDREY PLUGIN DISABLE Stop/Start plugin management of Audrey interface
</pre>
Access to hardware features of Audrey are achieved through the plugin after some modifications to a stock Audrey are performed. These modifications can be done per the keystroke-by-keystroke instructions contained in the included document or can be achieved by downloading the available Audrey image that contains all the “hacks” already performed.
Overall the plugin provides a fully-integrated environment for use of Audrey as a homeseer interface.
[This message was edited by Michael McSharry on Tue, 06 May 2003 at 02:38 AM.]