Codecore Logo
Quick Search
»
Advanced Search »

CommandFusion iViewer / webViewer

RSS
Supports the CommandFusion iViewer and webViewer applications for the iPhone, iPod Touch, iPad, and web browser.

Elve offers its own Touch Screen Viewer applications for a variety of platforms as well as the Touch Screen Builder application to design touch screen interfaces. As and alternative, this driver offers users of CommandFusion iViewer and webViewer applications to interface their CommandFusion user interfaces to control an Elve system.

Use the CommandFusion guiDesigner application to create your user interface. Each guiDesigner control such as buttons, sliders, etc, have a Join Number assigned to them. This join number is used by this driver to identify which button was pressed, which slider value changed, etc. You also use the join number to update control values in the user interface such as setting a slider control's value or setting a button's display text.

The driver offers a variety of events for which rules can be created to react to. For example when a viewer button is pressed the driver will run any rules associated with the Digital Pressed event that has a matching join number for the control. The control related events can be filtered by the control's join number so you can create rules for specific controls. So for example when a button with a join number of 12 is pressed, any rule associated with the Digital Pressed event for join number 12 will execute.

The driver can also update user interface values in the viewer application. For example you might have a slider control in your user interface that is used to control the volume of your SqueezeBox device. After a viewer connects to the driver the driver's Initialized event will be triggered. To set the slider control to the current value of the SqueezeBox volume (and any other viewer controls), create a Rule and associate it with the Initialized event, then add the Change Analog action to the rule's action list to set the value of the control with the specified join number to the value of the SqueezeBox volume. You may want to create a Scene and include all your viewer update actions, then have the rule just run the scene. To keep the viewer up to date you can take two different approaches:

  • The viewer control values can be updated at regular timed intervals by creating a rule for a timer event that runs the same scene every few seconds. This is the simplest way but the viewer application won't be updated immediately after a device property value changes but only at the regular timed intervals.

  • The viewer control values can be updated whenever a specified device property value changes. So for example if you are displaying the SqueezeBox volume, you could create a new rule for the SqueezeBox Volume Changed event which runs the same scene you created above. This will ensure that the volume on the viewer is updated as soon as the volume changes.

Using a scene to update all the viewer controls is kind of a shotgun approach since you are sending a lot of info to the viewer when really only the volume may have changed. So you can see that instead of running the scene you could also just send the volume with the "Change Analog" action. You could create rules for most all of your display values assuming there is an event associated with the device property change. That's a lot of work but is the most efficient way to go. If you only have a few items and you don't mind the delay then then just sending all the values at once from a scene on Initialized and on a timer then that's the simplest way to go.

Manufacturer: CommandFusion

Primary Communications Port: Network


Configuration Settings

  • Port : The TCP network port specified in the CommandFusion guiDesigner project properties (which is a separate application provided by CommandFusion). Copy the port from the guiDesigner's properties and enter it here.
  • Password : The password used to connect.

Events

Ready State Changed

The device's running and ready state changed.

Whenever Filter:

none

EventArgs:

  • Number NewValue : The new property value.
  • Number PreviousValue : The previous property value.

Client Connected

Occurs when a viewer client connects.

Whenever Filter:

none

EventArgs:

none

Client Initializing

Occurs when a viewer client is initializing. This is a good event to trigger updating the viewer control values.

Whenever Filter:

none

EventArgs:

none

Client Disconnected

Occurs when a viewer client disconnects.

Whenever Filter:

none

EventArgs:

none

Digital Pressed

Occurs when a digital element changes to the pressed state, such as a button press, a slider press, input field is pressed, a page is flipped to, or a subpage is shown.

Whenever Filter:

  • JoinNumber : (optional) Specifies the join number of the control that this rule applies to.

EventArgs:

  • Number JoinNumber : The join number of the digital join.

Digital Released

Occurs when a digital element changes to the released state, such as a button is released, a slider is released, or a subpage is closed.

Whenever Filter:

  • JoinNumber : (optional) Specifies the join number of the control that this rule applies to.

EventArgs:

  • Number JoinNumber : The join number of the digital join.

Analog Join Received

Occurs when an analog element's value changes, such as a guage or slider value.

Whenever Filter:

  • JoinNumber : (optional) Specifies the join number of the control that this rule applies to.
  • Value : (optional) The value of the analog join to filter this rule on.

EventArgs:

  • Number Value : The value of the analog join.
  • Number JoinNumber : The join number of the analog join.

Text Received

Occurs when text is received from a serial join.

Whenever Filter:

  • Value : (optional) Specifies the text value to filter this rule on.
  • JoinNumber : (optional) Specifies the join number that this rule applies to.

EventArgs:

  • String Value : The text value of the serial join.
  • Number JoinNumber : The join number of the serial join.

Orientation Changed To Portrait

Occurs when the orientation mode of the client changes to portrait.

Whenever Filter:

none

EventArgs:

none

Orientation Changed To Landscape

Occurs when the orientation mode of the client changes to landscape.

Whenever Filter:

none

EventArgs:

none

Instance Properties

ClientConnectionCount

Gets the number of iViewer clients currently connected.

Accessibility : Read Only

Type: Number

DeviceDisplayName

The display name for this device.

Accessibility : Read Only

Type: String

DeviceStartTime

The date and time when this device was started.

Accessibility : Read Only

Type: DateTime

DeviceLifecycleStage

The current lifecycle stage of the device. The stages in order are: Pending Start, Starting, Running, Stopping

Accessibility : Read Only

Type: Number

DeviceIsRunningAndReady

Indicates if the device is ready for use, ie it is in the Running lifecycle stage and all properties are valid and all methods are ready to be used.

Accessibility : Read Only

Type: Boolean

Instance Methods

ChangeDigital ( Number, Boolean )

Sends a command to all connected viewers to change the state of a digital join.

Syntax

void ChangeDigital( Number joinNumber, Boolean state )

Parameters

joinNumber : The digital join to change the state of.
state : The state to set the digital join to. For buttons, 1=active, 0=inactive. For input fields, 1 returns the text. For pages, 1 flips to the page. For sub-pages, 1 shows the sub-page, 0 closes the sub-page.

ChangeAnalog ( Number, Number )

Sends a command to all connected viewers to change the value of a analog join.

Syntax

void ChangeAnalog( Number joinNumber, Number value )

Parameters

joinNumber : The digital join to change the state of.
value : The value to set the digital join to.

ChangeSerial ( Number, String )

Sends a command to all connected viewers to change the value of a serial join.

Syntax

void ChangeSerial( Number joinNumber, String value )

Parameters

joinNumber : The digital join to change the state of.
value : The value to set the digital join to.

SendRawCommand ( String )

Sends a command to all connected iViewer clients that may otherwise not be supported by the driver.

Syntax

void SendRawCommand( String message )

Parameters

message : The iViewer message to send. Messages are automatically appended with the  hex byte before being sent.

ToggleStatusBar

Toggles the status bar on the viewer device.

Syntax

void ToggleStatusBar( )

Parameters

none

ShowStatusBar

Shows the status bar on the viewer device.

Syntax

void ShowStatusBar( )

Parameters

none

HideStatusBar

Hides the status bar on the viewer device.

Syntax

void HideStatusBar( )

Parameters

none

SetPropertyForDuration ( String, TimeSpan, Object, Object )

Sets a property for a duration of time and then sets the property to a subequent value asynchronously. This action returns after setting the first value and the timer and subsequent property set run in the background. Subsequent sets of the same property will reset the timer if the subsequent value has not yet been set. This is an advanced feature, be sure to set the property name correctly.

Syntax

void SetPropertyForDuration( String propertyName, unknown duration, Object initialValue, Object finalValue )

Parameters

propertyName : The name of the property to set.
duration : The amount of time to wait after setting the initial value to set the subsequent value.
initialValue : The value to set the property to initially.
finalValue : The value to set the property to after the duration of time has passed.

SetPropertyForDuration ( String, Number, TimeSpan, Object, Object )

Sets a property for a duration of time and then sets the property to a subequent value asynchronously. This action returns after setting the first value and the timer and subsequent property set run in the background. Subsequent sets of the same property will reset the timer if the subsequent value has not yet been set. This is an advanced feature, be sure to set the property name correctly.

Syntax

void SetPropertyForDuration( String propertyName, Number arrayIndex, unknown duration, Object initialValue, Object finalValue )

Parameters

propertyName : The name of the property to set.
arrayIndex : The property's array index to set.
duration : The amount of time to wait after setting the initial value to set the subsequent value.
initialValue : The value to set the property to initially.
finalValue : The value to set the property to after the duration of time has passed.

Privacy Policy | Conditions Of Use

Copyright ©2014 Codecore Technologies, All rights reserved.