Overview

TPControl API can be used for configuring and controlling TPControl-specific features and functions, such as configuring and selecting profiles, configuring app settings, triggering TPCloud updates etc.


Implementation

For control of any TPControl-enabled device, commands can be implemented within NetLinx programming, or by parsing the API in the programming command port : 0 - loopback port of a TP4/TP5 design file. Refer to TPDesign4/TPDesign5   Button Properties Programming.


Launch TPControl from other applications

TPControl supports being launched from other applications installed on your device, using a common URI/URL call:

tpcontrol://


Parsing parameters in URI calls

TPControl supports parsing API parameters in the URI call. Using the TPControl API commands listed in this document, you can configure and launch TPControl from a single URI call.


For example:

tpcontrol://?tpccmd-1;LocalHost,10.100.1.11;DeviceID,11001;ScreenResize,Scale;ApplyProfile;


Testing URI calls on your device

To test URIs on a device, do the following: 

  • Android: Install/run URI Launcher from Google Play, enter the URI and press LAUNCH
  • iOS: Launch Safari browser, enter the URI, and press Go
  • Windows: Press the Windows-key + R, enter the URI, and press OK


Demonstration files

The following resources are provided to assist in reviewing and understanding some of the unique features available within TPControl. Simply download the resources and review at your convenience.

API command example 

A TP4 file demonstrating the use of Touch Panel Control API commands. Download the example here: TPC API command examples.TP4


Dynamic Profile manipulation

Have a need to dynamically assign connection profiles, independent of code? One profile can be used dynamically to connect to any number of unique control system configurations. Check out how to do this in this TP4 file: TPC API Profile examples.TP4


VoiceControl

Want to talk to your device to do anything you like? It can even talk back, and in a variety of languages! An example workspace for VoiceControl (Speech-to-Text, Text-to-Speech), which includes code and a TP4 file, is available for TPControl here: VoiceControl for TPControl.AXW


List Box elements

A powerful feature of many AMX G4 touch panels is List Box elements. Supported in TPControl for iOS starting v2.3.2.0, you can implement the standard AMX vertical List Box elements, or using our TPCLBO API command, switch to horizontal List Box elements. And yes, TPControl supports inertial scrolling within List Boxes! List Boxes are great for source selection options, channel selects, large tables of data just to mention a few ideas. All data can be dynamically updated via the standard AMX API. An example workspace for List Box implementation, including code and a TP4 file for use with TPControl is available here: TPC ListBoxes.AXW


Push Messaging Module

Send personalised messages to TPControl devices, even if TPControl is not running or connected to the control system! Just like SMS for mobile, you can send messages to validated/registered TPControl devices anywhere in the world, provided a WiFi or MobileData connection is available. Messages are routed via Apple, Google, and Microsoft's secure messaging services for respective devices. Download the example here: PUSHModule_r18.AXW.


Dynamic AMX Device ID allocation from code

Running a BYOD Licensed system or simply need to manage AMX Device IDs from code? This example code demonstrates a simple method for managing devices connecting using a common AMX Device ID. The example could be expanded to permit devices with full, restricted or no access, depending on your requirements.

Download the example here: TPControl Dynamic DeviceID assignments from code.AXW


H.264 Video/Audio example- Download an example TP4 file including reference H.264, MJPEG and other resources here Video Streaming (H264, MJPEG, etc).TP4. Specifically, H.264 support is available for: 

  • TPControl v2.5.0.0+ for Android 
  • TPControl v2.5.0.0+ for iOS 
  • TPControl v1.4.0.0+ for Windows 8/10/RT


Supported Commands

SIP Video & Audio conferencing

TPCSIP: Command List

Show

Presents the built-in SIP UI call 

interface, in full-screen mode.


TPCSIP-Show

Hide
Hides the built-in SIP UI call interface. 
TPCSIP-Hide
SendVideo
Provides the ability to enable or disable the video stream for video calls. Command can be instantiated before or during calls.
Syntax:
TPCSIP-SendVideo,<1|0>;

Example:
TPCSIP-SendVideo,1;
TPCSIP-SendVideo,0;
VideoCall
Place a video call to an endpoint registered SIP device. If the video is not supported by the endpoint, an audio call will be placed accordingly
Syntax:
TPCSIP-VideoCall,<extension|extension name|uri>;

Example:
TPCSIP-VideoCall,101;
TPCSIP-VideoCall,TPC;
TPCSIP-VideoCall,TPC@mydomain.com;
AudioCall
Place an audio call to an endpoint registered SIP device.
Syntax:
TPCSIP-AudioCall,<extension|extension name|uri>;

Example:
TPCSIP-AudioCall,101;
TPCSIP-AudioCall,TPC;
TPCSIP-AudioCall,TPC@mydomain.com;

NOTE: TPControl also supports AMX SIP API commands. AMX commands can be found in AMX PI. SIP commands not supported: Hold, Transfer, Privacy, Mailbox.



QR Code Scanner

TPCQRC: Command List
Scan
Initiates the QR Code scanner process within the current TPControl UI.
Syntax:
TPCQRC-Scan
Cancel | End
Ends the QR Code scanner process, removing the view from the TPControl UI
Syntax:
TPCQRC-<Cancel|End>;

Example:
TPCQRC-Cancel;
TPCQRC-End;

 

TPCURL and TPCCMD commands

TPCURL

Device-specific functionality such as;
  • launching URLs
  • launching applications
NOTE: To determine if an application can be launched using a URI, contact that application's developer.
Examples:
TPCURL-http://www.touchpanelcontrol.com
TPCURL-itms-apps://itunes.com/apps/TPControl
TPCURL-tel:+1234567890
TPCURL-sms:+1234567890
TPCURL-mailto:support@touchpanelcontrol.com? subject=Test%20subject&body=Great%20work!

For other schemes that may be supported by your device OS, please refer to: http://en.wikipedia.org/wiki/URI_scheme
TPCCMD

TPControl-specific configuration commands are prefixed with TPCCMD. 
Syntax:

TPCCMD-[<profileID>; ] <cmd> [, <value>; <cmd>, <value>]...;


Variables:

<profileID> = 0|1|2|3|4|5(optional)

If <profileID> is not declared, the command(s) will be applied to ProfileID "1".

A <profileID> value of "0" will apply the command(s) to

the current active profile.


<cmd>

Refer to the Command List.


<value>

Refer to the Command List for specific values for each

command.



TPCCMD: Command List
Verify

Verify/refresh the TPControl device license based on information stored on Touch Panel Control servers
Syntax and example:
TPCCMD-Verify;

A "Device successfully verified" message will be presented upon successful completion of the verification process.
Update

This option provides the ability to update the TPControl UI file(s) and/or Settings via the Internet. Management services for device Settings and TP4 files are provided via TPCloud
Syntax:
TPCCMD-Update,<TPCloud|TP4|Settings|All|BYOD>;

Examples:
TPCCMD-Update;
TPCCMD-Update,TPCloud;
Updates the device based on the ‘Enable/Disable TPCloud update’ options configured for the Token within TPCloud.

TPCCMD-Update,TP4;
TPCCMD-Update,Settings;
TPCCMD-Update,All;
Forces update of the specified resource(s) independent of the ‘Enable/Disable TPCloud update’ options configured for the Token within TPCloud.

TPCCMD-Update,BYOD;
When TPControl is connected to a BYOD licensed AMX system, this API command can be invoked to force retrieval of the BYOD UI file which is optionally hosted in TPCloud and/or on the AMX System.

How BYOD file retrieval works:
TPControl identifies BYOD licensed control systems when connecting to the AMX System, and if TPControl has Internet access, it queries TPCloud to see if a BYOD UI file has been configured via the "Assign BYOD UI file" option for the BYOD Token for the related AMX system. If so, the BYOD UI file will be retrieved from TPCloud. Otherwise, if TPControl does not have access to TPCloud (or there is no assigned BYOD UI file), and a BYOD UI file has been stored on the AMX system, TPControl will retrieve the BYOD UI file from the AMX system.

NOTE: Upon connection to a BYOD licensed AMX System, TPControl automatically downloads the BYOD UI file from TPCloud (if available) or the AMX system, but only if the file does not match a previously retrieved file for that AMX system.

The `TPCCMD-Update,BYOD;` command can be used to overwrite (within TPControl) a previously retrieved BYOD UI file for the related AMX system.
TPCloudPIN

PIN codes can be generated specific to each Token that is stored within TPCloud.

PIN codes are used to complete device registrations and deauthorizations as configured within TPCloud.

PIN entries will usually be entered via the device UI; however, this command provides a method of PIN entry independently.
Syntax:
TPCCMD-TPCloudPIN,<value>;

Variables:
<value> = 5-character alpha-numeric code

Example:
TPCCMD-TPCloudPIN,A1234;


TPCCMD: Profile Related options

LocalHost

Set the NetLinx Master Connection IP/URL

Syntax:

TPCCMD-[<profileID>;]LocalHost[:PortNumber],<IPAddress>;


Examples:

TPCCMD-LocalHost,192.168.10.11;

TPCCMD-1;LocalHost,192.168.10.11:1319;
TPCCMD-2;LocalHost,192.168.1.101

LocalPort


Set the ICSP port number value (Default Port value is: 1319)

Syntax:

TPCCMD-[<profileID>;]LocalPort,<PortNumber>;


Example:

TPCCMD-LocalPort,1319;

eICSPu

Set the Encrypted ICSP Username

Syntax:

TPCCMD-[<profileID>;]eICSPu,<username>;


Example:

TPCCMD-1;eICSPu,User 1;

eICSPp

Set the Encrypted ICSP Password

Syntax:

TPCCMD-[<profileID>;]eICSPp,<password>;


Example:

TPCCMD-1;eICSPp,Pass1;

eICSP


Enable or Disable Encrypted ICSP connection method

Syntax:

TPCCMD-[<profileID>;]eICSP,<true|false>;


Example:

TPCCMD-2;eICSP,true;

UseMobileData


Options available determine whether to use WiFi and/or MobileData to establish a connection with the NetLinx Master.

 

(UseMobileData replaces the legacy Use3G API command)

Syntax:

TPCCMD-[<profileID>;]UseMobileData,<false|withWiFi

|withoutWiFi>;


Variables:

false

Device will only use the WiFi adapter to establish a connection

 

withWiFi

Device will use the WiFi adapter to establish a connection if a connection is present. If no WiFi is available, MobileData will be used to establish a connection

 

withoutWiFi

Device will use only MobileData to establish a connection NOTE: MobileData may not be supported while an active WiFi connection is present.


Example:

TPCCMD-1;UseMobileData,false; TPCCMD-2;UseMobileData,withWiFi; TPCCMD-2;UseMobileData,withoutWiFi;

DeviceID


Set the Device ID number used upon connection to the NetLinx master.

Syntax:

TPCCMD-[<profileID>;]DeviceID,<value>;


Example:

TPCCMD-1;DeviceID,11001;

DeviceName


Set the Device Name

Syntax:

TPCCMD-[<profileID>;]DeviceName,<value>;


Example:

TPCCMD-1;DeviceName,Cinema;

TP4FileSlot

The TP4FileSlot parameter can be used to assign the TP4 File Slot to be used with any existing profile.


TPControl supports multiple TP4 files, with 2 x TP4 File Slots available as a default.

 

NOTE: If more than 2 x TP4 File Slots are required, TPControl ‘Full license’ Tokens can be licensed for as many TP4 File Slots as required, using TP4 File Slot KEYs which can be applied via TPCloud.

Syntax:

TPCCMD-[<profileID>;]TP4FileSlot,<value>;


Variables:

<value> = 0|n

Where 0 = BYOD system_license.tp4

Where n = File Slot number


Example:

TPCCMD-1;TP4FileSlot,0;

TPCCMD-1;TP4FileSlot,2;


NOTE: BYOD files are unique to each BYOD system, even if profile settings are common between different BYOD systems. TPControl will recall the relevant file based on the BYOD system it is connected to.

ProfileName

 

Provides the ability to name profiles

Syntax:

TPCCMD-[<profileID>;]ProfileName,<value>;


Variables:

<profileID> = 0|1|2|3|4|5 (optional)

If <profileID> is not declared, the command(s) will be applied to ProfileID "1".

A <profileID> value of "0" will apply the command(s) to the current active profile.


Example:

TPCCMD-ProfileName,Home;

TPCCMD-1;ProfileName,Home;

TPCCMD-2;ProfileName,Office;

TPCCMD-3;ProfileName,Home while in Office;

ApplyProfile

 

Provides the ability to recall the Settings stored within the declared profile.


If the profile is different from the current active profile, TPControl will disconnect the active connection and attempt to connect using the new profile settings.

Syntax:

TPCCMD-[<profileID>;]ApplyProfile;


Variables:

<profileID> = 0|1|2|3|4|5 (optional)

If <profileID> is not declared, the command(s) will be applied to ProfileID "1".

A <profileID> value of "0" will apply the command(s) to the current active profile.


Example:

TPCCMD-ApplyProfile;
TPCCMD-1;ApplyProfile;
TPCCMD-3;ApplyProfile;

DefaultProfile

 

Provides the ability to set the default start-up profile for TPControl, which will be retained between sessions.


Default is profileID “1”.

 

NOTE: Returning to TPControl from Home-screen or multi-tasking mode does not represent restarting TPControl. As such, TPControl retains the previous active profile when returning.

Syntax:

TPCCMD-[<profileID>;]DefaultProfile;


Variables:

<profileID> = 1|2|3|4|5 (optional)

If <profileID> is not declared, the command(s) will be applied to ProfileID "1".


Example:

TPCCMD-DefaultProfile;
TPCCMD-1;DefaultProfile;
TPCCMD-2;DefaultProfile;
QueryProfile

Returns a STRING including related profile data.

The current default profile and active profile information is included in the returned data. 

Syntax:

TPCCMD-[<profileID>;]QueryProfile;


Variables:

<profileID> = 0|1|2|3|4|5 (optional)

If <profileID> is not declared, the command(s) will be applied to ProfileID "1".

A <profileID> value of "0" will apply the command(s) to the current active profile.

 

Example:

TPCCMD-QueryProfile; TPCCMD-1;QueryProfile;

TPCCMD-2;QueryProfile; TPCCMD-0;QueryProfile;


Response format:

ProfileInfo-<profileID>;

LocalHost,<host_ip>:<local_port>;

DeviceID,<device_id>; eICSP,<0|1>;

DeviceName,<device_name>;

UseMobileData,<false|withWiFi|withoutWiFi>;

ProfileName,<profile_name>;

DefaultProfile,<default_profile_number>;

ActiveProfile,<current_active_profile_number>;

TP4FileSlot,<tp4_file_slot_number>;

 

Response Example:

ProfileInfo-3;

LocalHost,192.168.10.12:1319;

DeviceID,11001;

eICSP,1;

DeviceName,Galaxy Nexus; UseMobileData,withoutWiFi;

ProfileName,Home while in Office; DefaultProfile,1; ActiveProfile,1;

TP4FileSlot,2;
QueryDeviceInfo

Returns a STRING including related device identification information.

Syntax:

TPCCMD-QueryDeviceInfo;

 

Response format:

ProfileInfo-TPCDeviceID,<TPCDeviceID>; udid,<udid>; push_token,<push_messaging_token>;

 

Response Example:

DeviceInfo-TPCDeviceID,DEVID-0003-NKCORA; udid,b560e49d0d07feda01535dac88229e76eecca6b3; push_token,4f08bf3c4a1b30cfb9186ff97f6ae42d7818b7b 402f07ac978a6f39fdf659a32;

Example concatenated commands


Commands and their associated values

i.e., <cmd>,<value> can be concatenated, so that multiple commands can be applied by sending one command expression. Concatenate commands must be separated by semi-colons ';'

e.g. <cmd>,<value>;<cmd>,<value>

Examples:

TPCCMD-1;LocalHost,192.168.10.2;DeviceID,11006; TPCCMD-1;LocalHost,192.168.10.2:1319;DeviceID,11006; TPCCMD-2;LocalHost,192.168.5.51:1319;DeviceID,11004;

TPCCMD-2;LocalHost,192.168.5.51;eICSP,true;eICSPu,User 1;eICSPp,Pass;

 

NOTE: If you want to activate/apply the profile immediately, then simply append or issue the ‘ApplyProfile’ command.


Examples:

TPCCMD-1;LocalHost,10.0.0.2;DeviceID,11007;ApplyProfile;

TPCCMD-3;ApplyProfile;


TPCCMD: Settings Related options

KeepWiFiActive


When Enabled, TPControl will continue to keep a connection live with the NI Master when the device goes to sleep or another application takes device focus

e.g. the device Home screen.

Syntax:

TPCCMD-KeepWiFiActive,<true|false>;


Example:

TPCCMD-KeepWiFiActive,true;

Gestures

Enable or disable standard AMX gesture recognition.

 

NOTE: Recommend disabling gestures when device Accessibility mode is enabled, due to gesture specific operation of Accessibility functions.

Syntax:

TPCCMD-Gestures,<true|false>;


Example:

TPCCMD-Gestures,true;

AutoLock


When enabled, <true>, this will allow the Device to run the OS screen lock feature as set within the device settings. If AutoLock is set to <false> the screen will stay active until the Power button is pressed.

Syntax:

TPCCMD-AutoLock,<true|false>;

Example:

TPCCMD-AutoLock,true;

LockRotation


Enable or disable screen rotation.

Syntax:

TPCCMD-LockRotation,<true|false>;


Example:

TPCCMD-LockRotation,false;

DarkScreen


When enabled, provides a dark background loading image for TPControl as opposed to the default white background loading image. Avoid the potential for a bright white loading screen when in dark rooms by enabling this option.

 

Deprecated: DarkScreen is a permanent/fixed method in relevant versions of TPControl.

Syntax:

TPCCMD-DarkScreen,<true|false>;


Example:

TPCCMD-DarkScreen,true;

DisableMultitouch


Multitouch functionality (if supported) can be disabled/enabled with this option.

Syntax:

TPCCMD-DisableMultitouch,<true|false>;

 

Example:

TPCCMD-DisableMultitouch,false;

AccessibilityIncludeNoTextBtns


When enabled, buttons with no text will be included when navigating during Accessibility VoiceOver mode.

Syntax:

TPCCMD-AccessibilityIncludeNoTextBtns,<true| false>;


Example:

TPCCMD-AccessibilityIncludeNoTextBtns,true;

AccessibilityLevelIncrement


Defines the level increment/decrement percentage when a bargraph/level is selected during Accessibility VoiceOver mode.

Gesture Up/Down defines increment/decrement action for the selected level.

Syntax:

TPCCMD-AccessibilityLevelIncrement,<0-100>;


Example:

TPCCMD-AccessibilityLevelIncrement,10;

InactivityTimeout


TPControl will flip to the Inactivity page that has been defined within the properties of the TP4 file, based on the timeout defined.

Syntax:

TPCCMD-InactivityTimeout,<Never|0|1|2|5|10|15|30| 60|120|180|240>;


Example:

TPCCMD-InactivityTimeout,Never;

ScreenResize


Options allow the TP4 project file to be presented in various formats: No- scaling (None), Scale-to-fit (Scale), and Stretch-to-fit (Stretch).

Syntax:

TPCCMD-ScreenResize,<None|Scale|Stretch>;


Variables:

None

TP4 project will be presented in the original TP4 resolution

 

Scale

Upsizes/downsizes to maintain original aspect ratio of the TP4 file to fully extend to fill at least one dimension of the device display. Scale-to-fit.

 

Stretch

Upsizes/downsizes to fill the usable native screen area of the device display. Stretch-to-fit.

 

Example:

TPCCMD-ScreenResize,Scale;

ProfilePrompt


When enabled, TPControl will present a dialog requesting confirmation of the connection profile to use whenever returning from the Home screen or multi-tasking mode. This is independent of whether an active profile connection exists or not.

NOTE: Within supported versions of TPControl, the “Not Connected” dialog presents any named profiles for selection.

The following named or unnamed profiles will always be shown:

  • the current active profile
  • the current default profile
  • any named profile

Syntax:

TPCCMD-ProfilePrompt,<true|false>;

 

Example:

TPCCMD-ProfilePrompt,false;

ButtonHit


When enabled, Button Hit produces a “Beep” sound when a valid button area is pressed within the touch panel design file.

Syntax:

TPCCMD-ButtonHit,<true|false>;


Example:

TPCCMD-ButtonHit,true;

ButtonMiss


When enabled, Button Miss produces a “Double Beep” sound when any area outside of a valid button area is pressed within the touch panel design file.

Syntax:

TPCCMD-ButtonMiss,<true|false>;


Example:

TPCCMD-ButtonMiss,true;

BeepLevel


Sets the level at which the volume for the Beep will be announced.

Syntax:

TPCCMD-BeepLevel,0-100;


Example:

TPCCMD-BeepLevel,30;

DeveloperMode


When enabled, this will allow TPControl to communicate with TPTransfer.

Syntax:

TPCCMD-DeveloperMode,<true|false>;


Example:

TPCCMD-DeveloperMode,true;

TransferPort


The port used by TPControl to communicate with TPTransfer. (Default port value is: 10700).

Syntax:

TPCCMD-TransferPort,<integer>;


Example:

TPCCMD-TransferPort,10700;

IntercomCallNotify


When enabled, if TPControl is running but does not currently have application focus, an alert notification will be presented on the device.

Syntax:

TPCCMD-IntercomCallNotify,<true|false>;


Example:

TPCCMD-IntercomCallNotify,true;

NOTE: If the Keep WiFi Active option within device settings has been disabled, notifications will not be presented in multi-tasking mode, as TPControl disconnects when it loses application focus. Enable Keep WiFi Active to sustain connection when operating multi-tasking mode.


NOTE: iOS5 introduced an enforced 2.5 minute application timeout, which overrides the Multitasking timeout feature. So, if the device is running iOS5+, TPControl will be forced to disconnect after ~2.5 minutes when running in multi- tasking mode.

STTAutoHide

 

When disabled, TPControl will hide the Speech-to-Text recording dialog only after a successful result is processed.

When enabled, TPControl will hide the Speech-to-Text recording dialog once processing of recorded audio commences, irrespective of the result.

Syntax:

TPCCMD-STTAutoHide,<true|false>;


Example:

TPCCMD-STTAutoHide,true;

STTDisplayResult

(Speech-to-Text, DisplayResult)

 

The result of Speech-to-Text analysis can be displayed via a brief notification on-screen.

NOTE: Errors in processing will still solicit a notification.

Syntax:

TPCCMD-STTDisplayResult,<0|1|2|3>;


Variables:

0: Do Not Display

1: 1 result will be displayed (default) 2: Up to 2 results will be displayed 3: Up to 3 results will be displayed


Example:

TPCCMD-STTDisplayResult,1;

TTSOfflineMode

(Text-to-Speech, OfflineMode) (Android only)

 

When enabled, TPControl will utilise device-defined language packs to determine text-to-speech translation.

 

When disabled, TPControl will utilise online resources to determine text-to- speech translation.

NOTE: Results are cached with each completed translation when operating in online mode.

Syntax:

TPCCMD-TTSOfflineMode,<true|false>;


Example:

TPCCMD-TTSOfflineMode,true;

TTSClearCache


Clears the text-to-speech cache which is created during online operation.

Syntax and example:

TPCCMD-TTSClearCache;
RestoreAllSettings

This will restore all settings within the device Settings page back to defaults

Syntax and example:
TPCCMD-RestoreAllSettings;

ClearUserPages


The design file will be removed and the original Demo Pages will be loaded back onto the device.

Syntax and example:

TPCCMD-ClearUserPages;

DownloadDemo


Downloads the most recent TP4 demonstration file from Touch Panel Control.

Syntax and example:

TPCCMD-DownloadDemo;


NOTE: The device must have unrestricted access to the Internet in order to complete the command successfully.

ReprocessTP4


Clears any caching and reprocesses the installed TP4 file. This is the same process that runs whenever a file is transferred to the device.

Syntax and example:

TPCCMD-ReprocessTP4;



Speech-to-Text and Text-to-Speech commands

Speech-To-Text

LISTEN


When Speech-to-Text is activated, a 

recording window will appear on the 

device prompting you to speak.


An option for selecting supported 

languages is provided.


At the first discernible pause during 

speech, recording will automatically 

end, and processing will commence.


The result of the speech analysis will be

parsed to the NetLinx master in string 

format. The string is based on the 

language definition and will include up 

to three (3) closely matched results.


NOTE: Results can be displayed on the 

device display. By default <result1> 

will be displayed, however control over 

displayed results is also provided via 

STTDisplayResult.


Syntax:

TPCSTT

TPCSTT-LISTEN

 

Example:

TPCSTT


Response format:

TPCSTT-<result1>;<result2>;<result3>;[<UNI>];

 

Response Example:

TPCSTT-lights on;light song;like song;

 

If the response contains a UTF8 symbol, unicode format will be parsed for each result, with an appended <UNI> delimiter. e.g. "télé;tlf;tsr;" would be parsed as:

TPCSTT 007400E9006C00E9;0074006C0066;007400730072;<UNI>; 


NOTE: The device must have unrestricted access to the Internet in order to complete the command successfully.

Errors that may arise during Speech-to-Text operations invoke an onscreen notification message. Similarly, an error message is parsed to the NetLinx master in the following STRING format:
TPCSTTError-<errorID>,<errorText>

Where and related are:
1 - Unable to recognise speech due to connection errors.
2 - Unable to recognise speech due to connection errors.
3 - Unable to recognise speech due to an audio recording error.
4 - Unable to recognise speech due to server errors.
5 - Unable to recognise speech due to unknown errors.
6 - Unable to recognise speech.\n Please, try again.
7 - Unable to recognise speech.\n Please, try again.
8 - Recogniser is busy at the moment.\n Please, try again later.
9 - Unable to recognise speech, application does not have appropriate permission.

END

 

Ends recording, and processes the recorded result when applicable.

The recording window will be removed from the UI, provided no errors are detected during processing.

Syntax and example:

TPCSTT-END

CANCEL

 

Cancels recording, and the recording window will be removed from the UI.

Syntax and example:

TPCSTT-CANCEL

Text-To-Speech

 

Android:

Text to Speech will operate in one of two modes; offline or online, as determined by TTSOfflineMode.

 

iOS:

Text to Speech will operate in online mode only.

 

Where applicable, the device will present the audio, and the result of processing will be parsed to the NetLinx master in string format.

Syntax:

TPCTTS-<text>;<locale>

 

Variables:

<text>

The text to convert to speech

 

<locale>

The target language for the device to speak. Refer to the <locale> list below:

Catalan - ca

Chinese (Simp.) -  zh-CN

Chinese (Trad.) -  zh-TW

Croatian -  hr

Danish -  da

Dutch -  nl

English -  en

Esperanto -  es

Finnish -  fi

French -  fr

German -  de

Italian -  it

Japanese -  ja

Korean -  ko

Norwegian -  no

Polish -  pl

Portuguese -  pt

Russian -  ru

Spanish -  es

Swedish -  sv

 

Example:

TPCTTS-The lights are at 65%;en

 


Response format:

TPCTTS-<OK|Unsupported Language/Locale| Error_tts|Error_player>;

 

NOTE: When operating in online mode, the device must have unrestricted access to the Internet in order to complete the command successfully.

 

NOTE: When operating in offline mode, a supported language pack (locale) must be installed on the device in order to function as intended.




Listbox implementation

Listbox elements are used for the display of table data. The table data can be dynamically created and updated via associated AMX API commands. Refer to AMX PI (Mio Modero R-4) for further information.

TPCLBO

Listbox elements and their associated table data can be dynamically updated via related AMX API commands. The TPCLBO command extends on this, providing the ability to switch a Listbox element between vertical (default) and horizontal display modes. Inertial scrolling is supported for Listbox elements, fully independent of other Listbox elements
Syntax:
TPCLBO-<address code>,<Horizontal|Vertical|H|V>

Variables:
address code: programming address code for Listbox horizontal|h: associate Listbox with Horizontal scrolling vertical|v: associate Listbox with Vertical scrolling (default)

Examples:
TPCLBO-1,Horizontal
TPCLBO-2,Vertical
TPCLBO-3,H
TPCLBO-4,V


Device orientation

TPCACC

Used to return device orientation data, parsed to the controller in string format on Port 1. Unparsed parameters will assume disabling the function.

Syntax:

TPCACC-<Enable|Disable|Query>


Variables:

Enable: orientation data will be actively returned upon change of device orientation

Disable: orientation data will stop being actively issued

Query: returns the current device orientation


Examples:

TPCACC-ENABLE TPCACC-DISABLE TPCACC-QUERY

 

Response format:

TPCACC-<orientation>;

 

Examples:

TPCACC-DeviceOrientationPortrait;

TPCACC-DeviceOrientationPortraitUpsideDown;

TPCACC-DeviceOrientationLandscapeLeft;

TPCACC-DeviceOrientationLandscapeRight;

TPCACC-DeviceOrientationFaceUp;

TPCACC-DeviceOrientationFaceDown;


Notifications

TPCNotify


Notification messages can be presented when the device is running in Background multi-tasking mode.


Apple device:

Presents a notification window when the device is running in background mode, titled "TPControl". If a <text message> is included, the text will be presented within the dialog notification window.


The notification window will provide 2 options; Close and TPControl.

  • Pressing Close will close the notification.
  • Pressing TPControl will return TPCNotify-Accept to the NI Master and the device will relaunch TPControl.

Android device:

Presents a notification alert when the device is running in background mode, with title "TPControl". If a <text message> is included, the text will be provided within the notification list for review.

  • Pressing the notification will return to the NI Master TPCNotify-Accept and the device will relaunch TPControl

Syntax:

TPCNotify-<text message>


Examples:

TPCNotify

TPCNotify-A visitor is at the Front Door TPCNotify-There is an incoming call


NOTE: If the Keep WiFi Active option within device settings has been disabled, notifications will not be presented in multi-tasking mode, as TPControl disconnects when it loses application focus. Enable Keep WiFi Active to sustain connection when operating multi-tasking mode.


NOTE: iOS5 introduced an enforced 2.5 minute application timeout, which overrides the Multitasking timeout feature. So, if the device is running iOS5+, TPControl will be forced to disconnect after ~2.5 minutes when running in multi- tasking mode.
TPCWarn_Intercom

All incoming or outgoing intercom functionality is indicated via an Intercom Warning icon relating to the current mode of Intercom operation.


Modes indicated include:

TX (Outgoing audio only)

i.e. Device is being Monitored

 

RX (Incoming audio only)

i.e. Receiving a Page-All

 

TX/RX (Audio incoming and outgoing)

i.e. A two-way call is in progress

Syntax:

TPCWarn_Intercom-<value>


Variables:

Show (default)

All Intercom warnings will be shown

 

Hide

No Intercom warnings will be shown

 

Posn,<x>,<y>

Updates the top-left draw position for the TPCWarn icons. All Intercom warnings will appear from the x,y location.

 

Examples:

TPCWarn_Intercom-Show

TPCWarn_Intercom-Hide

TPCWarn_Intercom-Posn,100,100


TPCLockOut commands supported in TPControl for Android

TPCLockOut functionality may vary between different Android devices. Factors that can affect the intended operation can relate to the operating system version installed, and manufacturer or service provider software operating on the device.

Lockout

Enabling LockOut will restrict usage of the “Home”, “Back”, “Menu/Setting”, and “Search” soft-or-external button functions on the Android device.

TPControl retains application focus, and if TPControl detects that application focus has been lost, will attempt to automatically regain focus.

Restricted access to TPControl Settings is provided through a pin-code (see LockOutPin) when LockOut is enabled

Syntax:

TPCCMD-LockOut,<true|false>;

Example:

TPCCMD-LockOut,true;
LockOutPin

When the LockOut functionality is enabled, access to TPControl Settings is restricted by entry of a pin-code. The LockOutPin pin-code can be updated using this command.

There is no restriction on pin-code length.

Syntax:

TPCCMD-LockOutPin,<ascii-numeric>;

Example:

TPCCMD-LockOutPin,1234567890;

TPCCMD-LockOutPin;


NOTE: Non-numeric characters parsed will invalidate the command.


Autolaunch

Option to automatically launch TPControl when the device boots up.

Syntax:

TPCCMD-AutoLaunch,<true|false>;

Example:

TPCCMD-AutoLaunch,true;



NOTE: The device must have unrestricted access to the Internet in order to complete the command successfully.