Elve Management Studio Application

Modified on 2010/12/12 16:26 by Administrator — Categorized as: Uncategorized


The Elve Management Studio application is a Windows desktop application used for system configuration, testing and diagnostics of the Elve system.

It has the following features:








The Elve Management Studio application can be installed on multiple pcs.

When do you need the Elve Management Studio application?

The Elve Management Studio application is not required for system operation, however it is required to do any system configuration and diagnostics. You do not need to install Elve Management Studio on any computer which will not be used for system configuration and diagnostics.

Requirements

The Elve Management Studio application must be able to establish a network connection to the Master Service, and the Master Service must be able to establish a network connection with the Elve Management Studio application (or be installed on the same machine).

Sign-In

User's are required to sign into the Elve Management Studio application when it is started.

The user must be a member of one of the following user types:


Tip:To bypass the sign in window when security is not a concern, a user name and password can be added to the application shortcut as command line switches. See the Auto Sign-In section later in this document.

System Status Dashboard

Elve Management Studio Main Window

Elve Management Studio Main Window

The System Status dashboard is shown on the main window of the Elve Management Studio application and gives an at-a-glance view of the system's status. If a problem has been identified with the system, it will appear in the list as well as a suggested correction.

Each device driver server that has connected to the service will be shown in the list.

Below the system status dashboard you will find buttons for the most common configuration tasks, including device configuration and diagnostics, rule configuration, and infrared library management. These features can be accessed through the Configuration menu as well.


Product Licenses

To view your current product licenses or add a new license select the Product Licenses menu item from the Help menu.

How to obtain a Trial License

The Trial License provides free use of Elve for 40 days, afterwhich the Elve system will no longer run any device drivers.

After you install Elve the first time, Elve will attempt to automatically register itself using an internet connection and obtain and activate a Trial License. This process may take several minutes. The System Status grid in Elve Management Studio will indicate how many days are remaining for your Trial License. If you do not see this soon after installing, wait a few minutes and click Refresh.

If the Elve Master Service machine does not have an internet connection or if a network connectivity issue prevents Elve from automatically obtaining a Trial License, then the Elve system will not run any device drivers, however Elve will continue attempting to automatically retrieve a Trial License. You may also visit this link to manually obtain a Trial License.

How to Activate a License

  1. Start the Elve Management Studio application.
  2. From the 'Help' menu choose the 'Product Licenses' menu item.
  3. If you have not yet purchased a license, you may click the "Purchase License..." link to do so.
  4. After you have purchased a license from the online store, click the "Activate a License" button.
  5. Enter the order # for your license purchase and the email address you use to log into the Elve online store.
  6. Click the Activate.
  7. After a short period of time your license will be activated and you will see the license in the Product Licenses window.

If you have any problems please contact us here

Device Configuration

From the Elve Management Studio application's main window, click the 'Devices' button (or choose 'Devices' from the 'Configuration' menu).

The top grid shows all the physical and virtual devices currently configured and their status. Disabled devices are shown as gray text and devices that failed to start are shown as orange text. You can right click on the grid for a list of command tasks such as editing a device or restarting a device.

The bottom tabbed interface shows the configuration and diagnostics information about the selected device.

Configured Device List

Adding a Device

Adding a Device



After adding a new device it is usually a good idea to use the diagnostics tabs (Properties and Methods) to ensure the device is up and running properly and the system is communicating with the hardware. See Device Diagnostics for details.





1. Ensure that the device's Run On (Hostname) setting is set to a machine hostname or IP address running the driver service. If you clear the setting and it will default to the local machine.
2. Check the system dashboard in the Elve Management Studio application's main window to verify that your driver service(s) are connected.
3. If the driver service is not connected then...
a. Make sure that there is network connectivity between the master service machine and the driver service machine.
b. Ensure the firewalls have been configured appropriately.
c. Ensure the driver service is running using the Services administration tool.

Device Configuration Tab

Device Configuration Tab

Device Configuration Tab


This tab contains all the information needed to connect to and run the device. After adding a new device or clicking the 'Change' button, you may make changes on this tab.







When you are finished editing the device click the 'Save' button, which will restart the device with the new configuration.

Associated Rules Tab

This tab shows a view only view of all the user defined rules that are associated with the selected device. To edit rules, use the Rule Editor.

Device Diagnostics

The Properties and Methods tabs are used for testing devices to ensure they are up and running properly.


It is also recommended that if the device has any methods associated with it, that you test a couple simple methods to ensure that the driver is properly communicating with the hardware.


Device Properties Tab

Device Properties Tab

Device Properties Tab

This tab is generally only used for diagnostics and testing.

A device property is a named attribute associated with a device. Each device can have it's own set of properties and associated property values, for instance a noaa weather device has a Temperature property as well as many other weather related properties. The Temperature property could for example have a value of 75, meaning 75 degrees.

Some device properties are editable (writable), which is indicated by the accessibility in the description. In this case the user can change the device property's value from it's current value to a new value. For example lighting and electrical drivers have a LightLevels property that indicates the the level of each light. You may also change a light's level by editing this property.

Some properties return an array, which is a list of multiple values. The LightLevels property mentioned above for example is an array of numeric values indicating the level of each light.


1. Double click the desired property name in the list
2. A pop up window will appear with a description of the property.
3. Change the value.
4. Click 'OK'.

Device Methods Tab

Device Methods Tab

Device Methods Tab

This tab is generally only used for diagnostics and testing.

Device methods consist of the computations and actions that the device can perform. Think of a device method as a command on the device. Each device can have a list of methods that are used to control the device.

For example, the SqueezeCenter device has Play, Stop, Pause and other methods. Invoking the Play method causes the SqueezeCenter hardware to begin playing the current track.

Use this tab to test invoking methods on the device.


1. Choose a method from the list.
2. Add a value for each method parameter.
3. Click the 'Invoke' button.

You will be notified if an error was detected while invoking the method. In many cases an error can occur and not be detected, so it is always recommended that you physically check to ensure that the command ran properly.


Rule Configuration

From the Elve Management Studio application's main window, click the 'Rules' button (or choose 'Rules' from the 'Configuration' menu).

Event System Overview

A rule is an association between an event that occurs in a device and a list of actions to take when the event occurs. Rules can be added to the system by the user from the Elve Management Studio application.

Each device driver watches it's hardware or virtual device for state changes known as events. When an event occurs it scans all associated rules for eligibility based on the rule's whenever filter criteria and then executes the rule's action list (or script) if it is eligible.

Some events have whenever filter criteria that can be set to filter when the rule's list of actions are run. For example the SqueezeCenter Driver's PowerChange event has an optional Power whenever filter that can be set to only run the rule's action list when the player's power state has changed to the specified state. Since the Power whenever filter is optional, if it is not specified the rule will execute for any power state change. More advanced filtering can be done within the action list using conditions or conditional script statements.

Rules can be run concurrently, meaning multiple rules can be run simultaneously. A rule is run as soon as it's associated event is triggered and the whenever filter criteria matches, so more than one rule can be executing at any given time. The same rule can also be running concurrently with itself multiple times. This depends on when the rule is rune and how long it takes to complete.

Examples:


Rules List

The top grid shows all the rules currently configured and some basic information about each. Rules that have been explicitly disabled are shown as gray text are shown as orange text. It should also be noted that rules for disabled devices or devices that failed to start will not run.

The bottom tabbed interface shows detailed information about the selected rule.





Rule Tab

Rule Tab

Rule Tab

This tab contains the basic rule information and which device event the rule applies to. After adding a new rule or clicking the 'Change' toolbar button, you may make changes on this tab.








Whenever Tab

Whenever Tab

Whenever Tab

Some device events have 'whenever filter criteria' that can be set to filter when the rule's list of actions are run. This tab lists any filters for the device event chosen on the 'Rule Tab'.

Filters that are required are shown as bold text. To edit a filter value, double click the filter item.

For example the SqueezeCenter Driver's PowerChange event has an optional Power whenever filter that can be set to only run the rule's action list when the player's power state has changed to the specified state. Since the Power whenever filter is optional, if it is not specified the rule will execute for any power state change. More advanced filtering can be done within the action list using conditions or conditional script statements.


Action List Tab

Action List Tab

Action List Tab

The action list tab contains an action list editor which is used to specify an ordered list of actions that are to be run if the rule's event occurs and the filter criteria are met. The action list editor is an easy to use point and click editor assigning a list of actions to a rule or touch screen control event.



Control Device
Clicking this will show a list of all devices configured in the system. Each device has a list of actions that can be added to the action list. Some actions have parameters that must be set after the action is added to the action list. For example the Elk M1 device's Activate Task action has a parameter to specify which task id to activate.

Touch Screen Control
This option is only available when editing an action list for a touch screen control event in the Touch Screen Builder application. Actions can be taken on each control in the loaded touch screen, such as hiding a control, changing it's size or text, and more.

Conditional Statement
Conditional Statements contain a beginning row and an ending row. If the specified condition is met then each action between the beginning and ending condition rows will be run. These rows are indented in the action list for clarity purposes. Conditional Statements can be nested, meaning a conditional statement can be added between the beginning and end of an existing conditional statement.

An 'Otherwise Condition' can be added to specify a list of actions to run if the above specified condition is NOT met.

Assign Local Variable
Variables represent storage locations. Local variables can be assigned to the script using this action, and can later be referenced in actions that have parameters or in a script action. Global variables can be accessed through the Global Variables driver.

Comment
A comment can contain any information that a user wants to add to the action list.

Advanced Script
To provide the ultimate control of the system, the user can enter a script using the J9Script Scripting Language which allows the user to do more complicated routines, such as looping, mathematics, file IO, database access, and much more. The Script Editor is used to edit script.






Action Parameter Editor

Each action parameter can be set to:


Most action parameters are expected to be a specific value type (also known as datatype in scripting), such as a number, text, a date/time, or a boolean (true/false). If you choose a value that does not match the expected value type, the value will be coerced into the expected type.

Only the value on the selected tab will be used when you click the 'OK' button.


Event Information Tab

This tab lists any information that is specific to rule's selected device event. So for example when the CallerID Modem's Incoming Call event is triggered, the Name, Phone Number, etc are now available in the action list editor.

If the event does not have any information associated with it, this tab will not be shown.

This tab is not available when editing Touch Screen action lists.

Named Identifier Tab

Named Identifer

Named Identifer

This tab lists all the named identifiers for the given parameter, such as light names, security zone names, etc.

This means you don't need to know for example that light #5 is the Dining Room light. You just select Dining Room from the list of light names.

This tab is only available when the parameter you are editing has an associated named identifier list.

Example Named Identifier Lists:


The name of the named identifier list will be shown on the tab's label.

Custom Value Tab

Value Tab

Value Tab

This tab allows free form entering of a value.




From Device Tab

From Device Tab

From Device Tab

This tab allows choosing a return value from a device action.

Choose the device in the tree and select the action. Please note that a few device driver's do not have any properties or methods.

If you choose a device action that return a value type that does not match the expected value type, the returned value will be coerced into the expected type. For example, if the action parameter is expected to be text and you choose a device action that returns a numeric value, the numeric value will be converted to text to match the expected value type.


Local Variable Tab

Local Variable Tab

Local Variable Tab

This tab allows entering a previously assigned local variable name.

Local variables are used to temporarily store information for later retrieval while the action list is running, such as text, a number, etc.





Script Tab

Script Tab

Script Tab

This tab allows for the result of a script to be used as the action parameter value.

Use the scripting language 'return' keyword to return the action parameter value.

The script may be as short or long as you need and can reference device properties/methods and so on.

See the Script Editor documentation below for more information.


User Accounts

The sign in window should look familiar to most users increasing it's ease of use.

The sign in window should look familiar to most users
increasing it's ease of use.


User accounts prevent unauthorized access to the system and allow for assigning which parts the the system a user has access to. Each user account can optionally limit which days and the time of day the user is authorized to use the system, which touchscreens the user is authorized to view, and more.

If you are not interested in using user accounts, see the Auto Sign In section below.

User Accounts List

User Accounts List

User Accounts List

The User Accounts List shows all users in the system.

User accounts can be added, modified, or deleted using the Elve Management Studio application.

In the Elve Management Studio application's main window, choose the following menu:

Configuration -> User Accounts

This menu is hidden from users with the System Operator user type. Only users with a user type of Administrator can can access user account information.

User Account Details

User Account Detail - General Tab

User Account Detail - General Tab








Administrative User Types:
Administrative user types grant access to certain parts of the system configuration and diagnostics.

Administrator : Access to everything.
System Operator : Access to everything except user accounts.
Touch Screen Designer : Access to the Touch Screen Builder application but not the Elve Management Studio application.

End User Types:
End user types do not have access to system configuration or diagnostics. Some features in touch screen interfaces can be limited in functionality by end user types. For example individual touch screen controls can be disabled or hidden if the user does not have a sufficient user type, and the slider control can have a limited value range based on user type.

Super User : Usually granted all touch screen rights.
Power User : Usually granted more advanced touch screen rights.
Standard User : Usually granted normal touch screen rights.
Guest : Usually granted limited touch screen rights.



User Account Detail - Touch Screens Tab

User Account Detail - Touch Screens Tab




User Account Detail - Time Restrictions Tab

User Account Detail - Time Restrictions Tab



Original System Administrator Account

The system is installed by default with one account with the Adminstrator user type. Although other user accounts can be assigned the Administrator user type as well, the original system administrator account can not be deleted and can not be assigned reduced permissions. This ensures that there is always at least one account with full system access. You can change this account's username and password.

Default Original System Administrator Account Sign In information:

Username: Admin
Password: admin

For enhanced security purposes, the original system administrator username and password can be changed. If you change the username, be sure to remember it.

Auto Sign In

The following applications allow the Sign In window to be bypassed by passing the username and password as command line switches:


The command line switches are as follows:

/username <your username>
/password <your password>

Example: /username jim /password tuna

You can edit the existing start menu shortcuts or create your own to take advantage of this.


Infrared

Infrared Library Manager

Infrared Library Manager

Infrared Library Manager

The Infrared Library Manager window (in the Elve Management Studio application) is used to stored your collections of infrared commands by make and model.

Infrared commands can be learned from your remote controls or be manually added. RemoteCentral.com has a large database of known Pronto infrared commands.

Later you will see how to use these commands in your devices, rules and scripts.

Tip: Most fields and buttons in the window provide tooltip help when hovering the mouse over them.

Infrared Device List

You may filter which infrared devices are shown in the list by Device Type and Make. Just select the desired filter using the drop down lists above the grid.

An infrared device is considered to be any device that can send or receive infrared signals, such as a TV, Tivo, Stereo, etc.

Selecting an infrared device in the list shows its details in the lower half of the window.

Next to the infrared device list are Add, Edit, and Delete buttons.


Infrared Device Details

The lower half of the window displays the details for the selected infrared device.


The infrared command list at the lower right of the window shows all known infrared commands for the selected infrared device.

Next to the infrared commands list are Add / Learn, Edit, and Delete buttons.


Infrared Command Learning

Infrared Command Learning

Infrared Command Learning

Infrared commands can be learned using a compatible infrared receiver device, such as a Global Cache or USB-UIRT device.

After clicking the Add / Learn button from the infrared device details, you may learn a new infrared command, or manually enter the infrared command data.

To learn a new infrared command:

An infrared receiver device driver must be configured and running to learn infrared commands.

  1. Enter a name for the command, e.g. PowerOn, Play, FastForward.
  2. Ensure the Learn tab is selected.
  3. You will see all running infrared receiver devices in the drop down list on the Learn tab.
  4. Choose the infrared receiver device to learn from.
  5. Choose one of the two learning options (for blasting or receiving).
  6. Click the Learn button.
  7. You now have 15 seconds to press a remote control button to learn. A progress bar will increment while learning.
  8. See the documentation for your infrared receiver device for more details on learning. This usually involves holding the remote control 1 to 6 inches from the receiver with little or no light in the room and pressing a remote control button. Some infrared receiver devices (such as USB-UIRT) require you to press and hold the remote control button, others (such as Global Cache) do not.

Some infrared receiver devices will learn infrared commands in multiple formats, so you may see more than one resulting learned infrared command appear in the infrared command list.

Manually Adding/Editing Commands

Infrared Command Editing

Infrared Command Editing

After clicking the Add / Learn button or Edit button from the infrared device details, you may manually enter the infrared command data. RemoteCentral.com has a large database of known Pronto infrared commands.




Associating Infrared Devices with Automation Devices

Global Cache IRDevices Parameter

Global Cache IRDevices Parameter

To send or receive infrared commands, the infrared devices must be associated with an infrared blaster/receiver device.

From the Automation Devices window, edit the desired infrared blaster/receiver device and double click the IRDevices configuration parameter.

The IRDevices parameter is circled in red in the example image to the right.

Infrared Device List

Infrared Device List

A new window will open with a list of all the infrared devices associated with the infrared blaster/receiver device. Click Add IR Device create a new association.

Infrared Device Chooser

Infrared Device Chooser

The Infrared Device Chooser window will open. Use this window to choose an infrared device from your infrared library.

Enter a name and a zone for the named infrared device.

Some infrared blaster devices support multiple zones, which allow for sending infrared command isolated A/V components, etc. This is useful when you have more than one of the same dvd player for example, allowing you to control them independently when using zones.

Because of this you may associate the same infrared device multiple times, however each must have a unique name.

Infrared Commands in Rules

Infrared Command Chooser

Infrared Command Chooser

Devices that support receiving infrared commands usually have a ReceivedIR event that occurs when an infrared command is "heard". This event can usually be filtered by an optional InfraredCommandName parameter. When editing this parameter, the following window is shown. You can use this window to choose the infrared command to fire the event for.

Infrared Commands in Action Lists

The actions list editor makes it simple to blast an infrared signal.

  1. Select 'Add Action'.
  2. Choose 'Control Device'.
  3. Choose the IR capable device from the menu (such an Global Cache or USB-UIRT).
  4. Choose the IR device (such as Sony TV or Tivo).
  5. Choose the IR command (such as PowerOn or ChannelUp).

Important: The device must be running for the list of IR devices (such as Sony TV or Tivo) to be shown in the device's list of actions.

Infrared Commands in Scripts

The recommended practice for sending an infrared command from a script is to reference the command stored in the Infrared Library as follows (See the device documentation for details):

gc100.MyTivo.Info();  // assume gc100 is a Global Cache device

The above scripting statement would send the Info infrared command which is part of the the MyTivo infrared device's library.

Each infrared blaster device usually also has a set of instance methods to send infrared signals as well. These require passing the digitized infrared data as a method parameter, which can be tedious.

Script Editor

Script Editor

Script Editor

Scripting is an optional advanced feature that can used in action lists for complete control. The J9Script Scripting Language provides the ability to do complicated looping, mathematics, file IO, database access, and much more.

Reference: See the Scripting Language, DataTypes and Objects document for details on creating scripts.

The Script Editor helps make scripting easier by providing:


Right clicking in the script editor will display the context menu with more options.

How to display the auto-complete popup window:


How to use the auto-complete pop up window:


If the data type of the object name preceding the cursor can not be determined, a list of data types and driver will be displayed. After choosing the data type, a list of members will be shown.

After selecting a member from the auto-complete pop up, the member name and it's parameter names will be placed into the script. The member names will be orange and should be replaced with value values.

Testing your script:

You can test your script by pressing F5 or right clicking and selecting 'Run Script'. This will actually run your script. Scripts that contain references to a touch screen, a touch screen control, the this keyword, or the EventArgs keyword will result in an error because the script editor does not contain the context for those objects.


Log Viewer

The log viewer lists all recorded log entries for the specified date range.

Double clicking a log entry or clicking the 'View Detail' button will show a pop-up window with the log entry details. You can copy the entire entry to the clipboard from this window as well.

Each log entry has a severity attribute that indicates one of the following: Error, Warning, System Message, Information, Debug. The system will determine if each log entry request is eligible for recording from a machine based on the LoggingVerbosity setting for the machine, so not all . Each machine's LoggingVerbosity can be set using the clientconfig.exe command line application. See the Client Configuration File documentation for more details.

Elve Local Machine Settings

The Machine Settings menu is used to configure Elve settings specific to the local machine.

Running from Internet or Other Network

Running Elve Management Studio on a different network than the Master Service or with a firewall between them usually requires additional configuration using the Machine Settings Tool.