NX Series - WebConsole ProgrammingGuide
NX Series - WebConsole ProgrammingGuide
N X - S E R I ES C O N T RO L LE RS
E N OVA ® DVX A L L - I N - O N E P RES E N T AT I O N SW I TC H E RS
E N OVA ® D GX DI G I T A L M EDIA SW I TC H E RS
M ASS I O ™ C O N T RO LPAD S
NX -1 20 0, N X- 220 0, N X- 320 0, N X-4 200
DVX-3250HD-SP , DVX-3250HD-T, DVX-3255HD-SP , DVX-3255HD-T, DVX-3256HD-SP, DVX-3256HD-T
DVX-2250HD-SP , DVX-2250HD-T, DVX-2255HD-SP , DVX-2255HD-T, DVX-2210HD-SP, DVX-2210HD-T
DGX8-ENC, DGX16-ENC, DGX-EN C-A, DGX64- ENC
MCP- 10 6, MCP- 10 8
IMPORTANT SAFETY INSTRUCTIONS
1. READ these instructions.
2. KEEP these instructions.
3. HEED all warnings.
4. FOLLOW all instructions.
5. DO NOT use this apparatus near water.
6. CLEAN ONLY with dry cloth.
7. DO NOT block any ventilation openings. Install in accordance with the manufacturer's instructions.
8. DO NOT install near any heat sources such as radiators, heat registers, stoves, or other apparatus (including amplifiers) that
produce heat.
9. DO NOT defeat the safety purpose of the polarized or grounding type plug. A polarized plug has two blades with one wider than the
other. A grounding type plug has two blades and a third grounding prong. The wider blade or the third prong are provided for your
safety. If the provided plug does not fit into your outlet, consult an electrician for replacement of the obsolete outlet.
10. PROTECT the power cord from being walked on or pinched, particularly at plugs, convenience receptacles, and the point where
they exit from the apparatus.
11. ONLY USE attachments/accessories specified by the manufacturer.
12. USE ONLY with a cart, stand, tripod, bracket, or table specified by the manufacturer, or sold with the apparatus. When a cart is
used, use caution when moving the cart/apparatus combination to avoid injury from tip-over.
13. UNPLUG this apparatus during lightning storms or when unused for long periods of time.
14. REFER all servicing to qualified service personnel. Servicing is required when the apparatus has been damaged in any way, such as
power-supply cord or plug is damaged, liquid has been spilled or objects have fallen into the apparatus, the apparatus has been
exposed to rain or moisture, does not operate normally, or has been dropped.
15. DO NOT expose this apparatus to dripping or splashing and ensure that no objects filled with liquids, such as vases, are placed on
the apparatus.
16. To completely disconnect this apparatus from the AC Mains, disconnect the power supply cord plug from the AC receptacle.
17. Where the mains plug or an appliance coupler is used as the disconnect device, the disconnect device shall remain readily operable.
18. DO NOT overload wall outlets or extension cords beyond their rated capacity as this can cause electric shock or fire.
The exclamation point, within an equilateral triangle, is intended to alert the user to the presence of important operating and maintenance
(servicing) instructions in the literature accompanying the product.
The lightning flash with arrowhead symbol within an equilateral triangle is intended to alert the user to the presence of uninsulated "dangerous
voltage" within the product's enclosure that may be of sufficient magnitude to constitute a risk of electrical shock to persons.
ESD Warning: The icon to the left indicates text regarding potential danger associated with the discharge of static electricity from an outside
source (such as human hands) into an integrated circuit, often resulting in damage to the circuit.
WARNING: To reduce the risk of fire or electrical shock, do not expose this apparatus to rain or moisture.
WARNING: No naked flame sources - such as candles - should be placed on the product.
WARNING: Equipment shall be connected to a MAINS socket outlet with a protective earthing connection.
WARNING: To reduce the risk of electric shock, grounding of the center pin of this plug must be maintained.
COPYRIGHT NOTICE
AMX© 2015, all rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any
means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of AMX. Copyright protection claimed
extends to AMX hardware and software and includes all forms and matters copyrightable material and information now allowed by statutory or judicial
law or herein after granted, including without limitation, material generated from the software programs which are displayed on the screen such as
icons, screen display looks, etc. Reproduction or disassembly of embodied computer programs or algorithms is expressly prohibited.
LIABILITY NOTICE
No patent liability is assumed with respect to the use of information contained herein. While every precaution has been taken in the preparation of this
publication, AMX assumes no responsibility for error or omissions. No liability is assumed for damages resulting from the use of the information
contained herein. Further, this publication and features described herein are subject to change without notice.
Table of Contents
Overview ..........................................................................................................12
NetLinx NX Integrated Controllers................................................................................. 12
Enova DVX All-in-One Presentation Switchers ............................................................... 12
Enova DVX-21xxHD & DVX-315xHD ...................................................................................................... 12
Enova DGX Digital Media Switchers................................................................................ 13
Massio™ ControlPads ..................................................................................................... 13
About This Document ..................................................................................................... 13
Differences in DEFINE_PROGRAM Program Execution................................................... 13
CPU Usage ............................................................................................................................................ 14
Quick Setup and Configuration Overview....................................................................... 16
Installation Procedures ........................................................................................................................ 16
Configuration and Communication ...................................................................................................... 16
Update the On-board Master and Controller Firmware........................................................................ 16
Configure NetLinx Security on the NX Controller ................................................................................. 16
Using Zero Configuration ............................................................................................... 16
Bonjour (Zero-Configuration) Client .................................................................................................... 16
Connecting to a Network with a DHCP Server ...................................................................................... 16
Initial Configuration ........................................................................................18
Overview ......................................................................................................................... 18
Before You Start ............................................................................................................. 18
Preparing the Master for USB Communication .............................................................. 18
Configuring the NX Controller for LAN Communication................................................. 20
Obtaining the NX Controller’s IP Address (using DHCP) ................................................ 22
Assigning a Static IP to the NX Controller ...................................................................... 23
Communicating via IP Address ...................................................................................... 24
Upgrading Firmware .......................................................................................27
Overview ......................................................................................................................... 27
NX Controllers - Firmware Files ............................................................................................................ 27
NX Master Firmware .............................................................................................................................................................. 27
Device Controller Firmware................................................................................................................................................... 27
Enova DVX ............................................................................................................................................. 27
Before You Start .............................................................................................................. 28
Verifying the Current Firmware Version ......................................................................... 28
Downloading the Latest Firmware Files from www.amx.com ......................................... 28
NetLinx Integrated Controllers ............................................................................................................ 28
Master and Device Firmware Kit Files for NX-Series Controllers ....................................................................... 28
Downloading NX-Series Controller Firmware Files on www.amx.com............................................................... 29
Enova DVX All-In-One Presentation Switchers..................................................................................... 29
Master, Switcher and Device Firmware Files for Enova DVX All-In-One Presentation Switchers ...................... 29
HSON....................................................................................................................................................................................... 85
RXCLR ..................................................................................................................................................................................... 85
RXOFF ..................................................................................................................................................................................... 85
RXON ....................................................................................................................................................................................... 86
SET BAUD................................................................................................................................................................................ 86
SET FAULT DETECT OFF .......................................................................................................................................................... 86
SET FAULT DETECT ON............................................................................................................................................................ 86
TSET BAUD............................................................................................................................................................................. 87
TXCLR .................................................................................................................................................................................... 87
XOFF....................................................................................................................................................................................... 87
XON ........................................................................................................................................................................................ 87
RS-232/422/485 SEND_STRING Escape Sequences...................................................... 88
27,17,<time> ......................................................................................................................................................................... 88
27,18,0 ................................................................................................................................................................................... 88
27,18,1 ................................................................................................................................................................................... 88
27,19,<time> ......................................................................................................................................................................... 88
27,20,0 ................................................................................................................................................................................... 88
27,20,1 ................................................................................................................................................................................... 88
IR/Serial Ports Channels................................................................................................. 89
IRRX Port Channels ......................................................................................................... 89
IR/Serial SEND_COMMANDs............................................................................................ 89
CAROFF ................................................................................................................................................................................... 89
CARON .................................................................................................................................................................................... 89
CH ........................................................................................................................................................................................... 89
CLEAR FAULT .......................................................................................................................................................................... 89
CP........................................................................................................................................................................................... 90
CTOF ...................................................................................................................................................................................... 90
CTON ...................................................................................................................................................................................... 90
GET BAUD .............................................................................................................................................................................. 90
GET FAULT ............................................................................................................................................................................. 90
GET MODE .............................................................................................................................................................................. 90
GET STATUS........................................................................................................................................................................... 90
IROFF ..................................................................................................................................................................................... 91
POD ........................................................................................................................................................................................ 91
POF......................................................................................................................................................................................... 91
PON ........................................................................................................................................................................................ 91
PTOF....................................................................................................................................................................................... 91
PTON ...................................................................................................................................................................................... 91
SET BAUD................................................................................................................................................................................ 92
SET FAULT DETECT OFF .......................................................................................................................................................... 92
SET FAULT DETECT ON............................................................................................................................................................ 92
SET IO LINK ............................................................................................................................................................................ 92
SET MODE................................................................................................................................................................................ 93
SP............................................................................................................................................................................................ 93
XCH ......................................................................................................................................................................................... 93
XCHM ..................................................................................................................................................................................... 94
Input/Output SEND_COMMANDs..................................................................................... 95
GET DBT .................................................................................................................................................................................. 95
SET DBT .................................................................................................................................................................................. 95
GET INPUT .............................................................................................................................................................................. 95
SET INPUT .............................................................................................................................................................................. 95
PoE SEND_COMMANDs .................................................................................................... 96
GET CLASS .............................................................................................................................................................................. 96
GET CURRENT ......................................................................................................................................................................... 96
GET FAULT .............................................................................................................................................................................. 96
GET STATUS............................................................................................................................................................................ 96
GET VOLTAGE.......................................................................................................................................................................... 96
SET FAULT DETECT OFF .......................................................................................................................................................... 96
SET FAULT DETECT ON............................................................................................................................................................ 96
SET POWER OFF ...................................................................................................................................................................... 96
SET POWER ON........................................................................................................................................................................ 96
Overview
NetLinx NX Integrated Controllers
NetLinx NX Integrated Controllers (Masters) can be programmed to control RS-232/422/485, Relay, IR/Serial, and Input/Output
devices using the NetLinx Studio application (version 4.0 or higher).
NetLinx NX Integrated Controllers
Name Description
NX-1200 NetLinx NX Integrated Controller
NX-2200 NetLinx NX Integrated Controller
NX-3200 NetLinx NX Integrated Controller
NX-4200 NetLinx NX Integrated Controller
Note: Refer to the Products > Central Controllers > NetLinx NX Integrated Controllers page at www.amx.com for details and variations
available for these products.
NX controllers feature an on-board Web Console which allows you to connect to the NX controller via a web browser and make
various configuration and security settings. The WebConsole is described in this document (starting with the On-Board WebConsole
User Interface section on page 32).
NX controllers are Duet-compatible and can be upgraded via firmware. Duet is a dual-interpreter firmware platform from AMX which
combines the proven reliability and power of NetLinx with the extensive capabilities of the Java® MicroEdition (Java Standard
Edition Embedded) platform. Duet simplifies the programming of a system that includes the NX controller and other third party
devices by standardizing device and function definitions, defaulting touch panel button assignments, and controlling feedback
methods.
Dynamic Device Discovery makes integration even easier by automatically identifying and communicating with devices which
support this beaconing technology. Refer to the Manage Devices - Device Options section on page 66 for more detailed information
on the use of Dynamic Device Discovery (DDD).
Note: Refer to the Products > All-in-One Presentation Switchers page at www.amx.com for details and variations available for these
products.
Enova DVX-21xxHD & DVX-315xHD
Enova DVX-22xxHD All-in-One Presentation Switchers utilize an NX-2200 Controller, therefore all controller-related information
that applies to the NX-2200 is fully applicable to DVX-22xxHD products.
Enova DVX-325xHD All-in-One Presentation Switchers utilize an NX-3200 Controller, therefore all controller-related information
that applies to the NX-3200 is fully applicable to DVX-325xHD products.
Enova DVX All-In-One Presentation Switchers features many functions that do not apply to NX-series Controllers, most of
which relate directly to the Audio/Video capabilities of the DVX.
Refer to the Enova DVX-325xHD/22xxHD All-in-One Presentation Switchers Instruction Manual for information specific to
Enova DVX products.
Note: Refer to the Products > Digital Media Switchers page at www.amx.com for details and variations available for these products.
Massio™ ControlPads
Massio ControlPads
Name Description
MCP-106 6-Button Massio ControlPad
MCP-108 8-Button Massio ControlPad
Note: Refer to the Products > ControlPads page at www.amx.com for details and variations available for these products.
The Initial Conf iguration and Firmware Upgrade section on page 5 describes upgrading the firmware on NX controllers.
The NetLinx Programming section on page 79 lists and defines the NetLinx send commands that are supported by the NX
controllers.
The Terminal (Program Port/Telnet) Commands section on page 97 describes the commands and options available via a
Telnet terminal session with the NX controller.
The code in PRGM EX. 1 would be better implemented using a timeline, as illustrated in PRGM EX. 2:
DEFINE_CONSTANTS
LONG FEEDBACK_TIMES[1] = {500}
INTEGER FEEDBACK_TIMELINE = 1
DEFINE_START
TIMELINE_CREATE(FEEDBACK_TIMELINE, FEEDBACK_TIMES, 1, TIMELINE_RELATIVE, TIMELINE_REPEAT)
DEFINE_EVENT
TIMELINE_EVENT[FEEDBACK_TIMELINE]
{
[dvTP,1] = [dvDev,1]
[dvTP,2] = value1
[dvTP,3] = ![dvTP,3]
}
PRGM EX. 2 Using feedback statements in a timeline
The code in PRGM EX. 2 evaluates the feedback statements every half second regardless of other program activity. If a shorter
feedback refresh is needed, you can specify a smaller constant in the FEEDBACK_TIMES constant. Even a time of 100ms executes
far less frequently than a DEFINE_PROGRAM section stuck in an infinite execution loop due to a global variable change.
By moving all code out of the DEFINE_PROGRAM section, you ensure your NetLinx application is executing only when needed, and
therefore not expending unnecessary CPU cycles.
If you choose to continue to use the DEFINE_PROGRAM section, it is critical that you ensure that you are not modifying a variable
within the section. Any variable change will force a repeated execution of the section, thereby creating an infinite execution loop.
Variables should never fall on the left-hand side of an evaluation statement, as in PRGM EX. 3.
DEFINE_PROGRAM
Var1 = !Var1
PRGM EX. 3 Variable declared within the DEFINE_PROGRAM section
You must also take care to not inadvertently change a variable. For example, if a function is called within DEFINE_PROGRAM, then
that function must likewise not change a global variable. Additionally, accessing global “values” such as TIME and DATE constitute
a variable change. Take for example the code in PRGM EX. 4:
IF (TIME = ’22:00:00’)
{…}
PRGM EX. 4 Time check
At first glance, this code does not appear to change a variable. It is simply checking to see if the current time is equal to 22:00:00.
However, this code effectively changes the TIME variable by retrieving the current system time and assigning it to the TIME variable.
If this code were present in a DEFINE_PROGRAM section, it would infinitely re-execute the DEFINE_PROGRAM section. You should
place evaluations such as this in a TIMELINE_EVENT similar to the feedback timeline described earlier.
CPU Usage
The new NX masters provide several diagnostics that can be used to determine if your program is overloading the CPU and, if so,
what might be causing its excessive use. All of these commands are accessible through a Telnet or USB terminal connection with
the master.
>cpu usage
Gathering CPU usage over a 10 second period. Please wait ...
CPU usage = 2.10% over a 10 second period.
An idle application normally runs below 5% of the CPU. If your idle application shows more usage than this, then it is probable that
your application is experiencing excessive execution of the DEFINE_PROGRAM section.
You can use the following diagnostic to diagnose executions of the DEFINE_PROGRAM section:
>superuser 10
>enable interp stats
>show interp stats
increasing. A normal idle application that is executing DEFINE_PROGRAM every half second will only see the “Periodic Mainline”
count increasing.
For example, consider this diagnostic output from a NetLinx application that is changing a variable in DEFINE_PROGRAM:
>show interp stats
3. In the Workspace area, right-click and select Refresh Zero Conf ig List. The controller appears in the list of devices as shown in
FIG. 2:
FIG. 3 NetLinx Studio menu bar - Settings > Workspace Communication Settings
2. This opens the Workspace Communication Settings dialog (FIG. 4).
3. Click the System Settings button to open the Communications Settings dialog (FIG. 5). If there is no system selected, click the
Default Settings button to open the dialog.
9. Right-click the Online Tree tab entry and select Refresh System: the Controller should appear in the Device Tree (FIG. 7):
3. Click Get IP Information to enable the fields for editing (FIG. 9):
7. Repeat steps 1 - 5 from the previous section, but rather than selecting the USB tab, select Network and edit the settings to
match the IP address you are using (Static or Dynamic).
8. If you want the Master to require authentication for access, enter a User Name and Password in the provided fields to secure
the Master.
9. Click the OK to close all dialogs and return to the main application.
7. Click OK to save your newly entered information and close the Communication Settings dialog and return to the
Communication Settings dialog. Note the selected IP address is indicated in the Conf iguration field (FIG. 20):
FIG. 20 NetLinx Studio - Communication Settings dialog (Current Master Connection field indicating the selected IP address)
8. Click OK to begin the communication process to your Master (and close the dialog).
If you are currently connected to a Master, a pop-up asks whether you would want to stop communication to the current
Master and apply the new settings.
Click Yes to interrupt the current communication from the Master and apply the new settings.
NOTE: On the front panel of the NetLinx Master, the STATUS and OUTPUT LEDs should begin to alternately blink during the
incorporation. Wait until the STATUS LED is the only LED to blink.
9. Click the OnLine Tree tab in the Workspace window to view the devices on the System. The default System value is one (1).
10. Right-click the associated System number and select Refresh System. This establishes a new connection to the specified
System and populates the list with devices on that system. The communication method is then highlighted in green on the
bottom of the NetLinx Studio window.
NOTE: If the connection fails to establish, a Connection Failed dialog appears. Try selecting a different IP address if communication
fails. Press the Retry button to reconnect using the same communication parameters. Press the Change button to alter your
communication parameters and repeat the steps above.
Upgrading Firmware
Overview
The basic process of upgrading firmware on NX-series controllers involves downloading the latest firmware files from
www.amx.com and using NetLinx Studio to transfer the files to a target NX controller.
Use the OnLine Device tree in NetLinx Studio to view the firmware files currently loaded on the Central Controller. FIG. 21 shows an
example OnLine Tree indicating an NX-3200:
Enova DVX
Enova DVX All-In-One Presentation Switchers contain three devices (NX Master, Device Controller, and A/V Switcher/ Scaler), each
of which require a separate Kit file. These three devices must be kept at compatible firmware versions for proper operation.
Therefore, all three files should be used when upgrading any firmware associated with the Enova DVX All-In-One Presentation
Switchers.
DVX Controllers - Firmware Files
NX Master Firmware The on-board NX Master is listed first in the Online Tree as
"00000 NX Master (<f irmware version>)"
• "00000" represents Device ID 0, which is reserved for the Master
• The number in parenthesis is the current Master firmware version.
Device Controller Firmware The Device Controller is listed next as
"05001 NX-XXXX (<f irmware version>)"
• "05001" represents Device ID 5001, which is reserved for the Device Control ports.
• The number in parenthesis is the current Device Controller firmware version.
A/V Switcher/Scaler Firmware The A/V Switcher/Scaler is listed third as
"05002 NX-XXXX (<f irmware version>)"
• "05002" represents Device ID 5002, which is reserved for the A/V Switcher/Scaler.
• The number in parenthesis is the current Device Controller firmware version.
NOTE: The HTTP f irmware kit enables you to upgrade f irmware via an HTTP server. Follow the same steps in NetLinx Studio as you
would with a typical f irmware upgrade. Upgrading f irmware via HTTP server is typically much faster than upgrading with the standard
f irmware kit f iles. See the Upgrading Firmware via NetLinx Studio section on page 29 for more information.
FIG. 24 NetLinx Studio - Tools > Firmware Transfers > Send to NetLinx Device
This step opens the Send to NetLinx Device dialog.
5. Click the Browse button (...) to locate and select the firmware (*.kit) file that will be transferred, in the Browse for Folders
dialog (FIG. 25):
FIG. 26 Send to NetLinx Device dialog (showing on-board NX Master firmware update)
7. Click Send to begin the transfer. The file transfer progress is indicated in the Progress section of the dialog. The Master
reboots when the file transfer is complete.
8. Click Close once the Master is finished rebooting.
9. In the OnLine Tree, right-click on the Master and select Refresh System. This establishes a new connection and refreshes the
device list and their firmware versions in your system.
Once the process is complete, you can upgrade the remaining firmware files. All device files must be kept at compatible firmware
versions for proper operation. Therefore, all files should be used when upgrading any firmware associated with the Integrated
Controllers.
Be sure to follow the required order for installing firmware files. See the Required Order of Firmware Updates section on page 29 for
more information.
System/Device info:
System (read-only): indicates the name of the System currently connected
Device: click the down-arrow to select from a list of all devices connected to this Master
Refresh: Click to refresh the Device list.
Device Tree
Click the Show Device Tree check box to show/hide the online device tree, which indicates all devices currently connected to this
Master. Use the plus and minus symbols to the left of each item in the Device Tree to expand the view to include System devices,
ports and individual Port settings.
At the Port view, you can use the Device Tree to make specific port assignments (including Channel and Level assignments)
(FIG. 30).
(all collapsed)
LDAP Options
Check the LDAP Enabled option on the right side of this page to make the LDAP options available for selection.
All parameters are case sensitive and must be entered exactly as they are entered into the LDAP database.
LDAP Client Configuration can also be done via terminal commands to the NetLinx Master’s Program Port - see the Enabling
LDAP via the Program Port section on page 117 for details.
See Appendix A: LDAP Implementation Details on page 127 for additional information on implementing LDAP on the NetLinx
Master.
The LDAP options are described in the following table:
LDAP Options
Option Description
LDAP Enabled: This parameter enables the LDAP configuration parameters described below.
LDAP URI: This parameter has the syntax ldap[s]://hostname:port.
• The ldap:// URL is used to connect to LDAP servers over unsecured connections.
• The ldaps:// URL is used to connect to LDAP server over Secure Sockets Layer (SSL)
connections.
• The hostname parameter is the name or IP address, in dotted format, of the LDAP server (for
example, LDAPServer01 or 192.202.185.90).
• The port parameter is the port number of the LDAP server (for example, 696).
Note: The standard unsecured port number is 389 and the standard secured port number is 636.
LDAP BASE DN: This parameter specifies the Distinguished Name (DN) of an entry in the directory. It identifies
the entry that is the starting point of the user search.
BIND DN: This parameter specifies the Distinguished Name (DN) to use to bind to the LDAP server for the
initial search for the user's DN.
User Query Attr. This LDAP attribute is used for the AMX equipment user search (for example, UID).
Note: This attribute MUST be unique in the context of the LDAP BASEDN or the search will fail.
Search Password: This is the password used for the initial bind to the LDAP server - it is the password associated
with BIND DN.
Admin groupOfNames cn: This parameter is the common name (cn) of the groupOfNames objectClass that contains the
member DNs of the AMX equipment users that have administrator privileges.
User groupOfNames cn: This parameter is the common name (cn) of the groupOfNames objectClass that contains the
member DNs of the AMX equipment users that have only user privileges.
When LDAP is enabled, users are authenticated using the configuration set up on the LDAP server.
The "administrator" user is handled by the local NetLinx Master, and does not connect to the LDAP server for user
verification.
If an administrator password change is desired, LDAP must be disabled, the password changed and saved and then LDAP re-
enabled.
Users may not be added or deleted via the web pages when LDAP is enabled.
AMX equipment users are set up on the LDAP server with either full access to the master or HTTP access only.
User access privileges cannot be changed via the web pages.
As users log onto a NetLinx Master, their user name and access privileges are displayed on the User Security Details page
(see System Security - User Level section on page 43). This information is stored in the master's RAM but is not written to
non-volatile memory, and is lost after a reboot of the Master.
If a user is removed from the LDAP directory tree, access is denied, and if that user name is on the master's User Security
Details web page it is removed.
Conf iguring ICSP Connectivity with LDAP Enabled
If ICSP connectivity security is desired, the user name and password must be set up on the LDAP server and its DN added as a
member to the administrator groupOfNames objectClass. This user name and password must also be present on the master due to
the authentication algorithms used for this type security.
Before LDAP is enabled, a user account must be set up with the user name, password and privileges matching the ones stored on
the LDAP server.
If there is a mismatch with the user name or password, the AMX hardware or software component will not be allowed
access.
If there is a mismatch with the access privileges, the master will use the privileges value stored on the server.
Accepting Changes
Click the Accept button to save changes on this page. Accepting changes is instantaneous and does not require a reboot.
FIG. 35 Group Level Security Settings Page (Add a group and modify settings page)
3. In the Group Name field, enter a unique name for the new group.
The name must be a valid character string consisting of 4 - 20 alpha-numeric characters.
The string is case sensitive and must be unique.
The word "administrator" cannot be used for a new group name since it already exists by default.
4. Enable the security access rights you want to provide to the group. By default, all of these options are disabled. See the Group
and User Security Access Options section on page 41 for details.
5. Click the Accept button to save your changes to the target Master.
If there are no errors within any of the page parameters, a “Group added successfully” displays at the top of the page.
NOTE: Security changes made from within the web browser are applied instantly without the need to reboot.
Group and User Security Access Options
Group and User Security Access Options
Option Description
Admin Change This selection enables or disables the Administrator right to change Group and User passwords.
Password Access:
Terminal (RS232) If selected, a valid user name and password is required for Terminal communication via the Master’s
Access: Program port.
HTTP Access: If selected, a valid user name and password is required for communication over HTTP or HTTPS Ports,
including accessing the WebConsole.
Telnet/SSH/SFTP If selected, a valid user name and password is required for Telnet Access. Telnet access allows
Access: communication over either the Telnet and/or SSH Ports, and Secure FTP access.
NOTE: SSH version 2 (only) is supported.
To establish a secure Telnet connection, an administrator can decide to disable the Telnet Port and then
enable the SSH Port. Refer to the Manage System - Server Options section on page 54.
Configuration: If selected, a valid user name and password is required before allowing a group/user to alter the current
Master’s security and communication settings via NetLinx Studio.
This includes such things as: IP configuration/Reset, URL list settings, Master communication settings,
and security parameters.
ICSP Connectivity: If selected, a valid user name and password is required to communicate with the NetLinx Master via an
ICSP connection (TCP/IP, UDP/IP, and RS-232).
• This feature allows communication amongst various AMX hardware and software components. This
feature works in tandem with the Require Encryption option (see below) to require that any application
or hardware communicating with the Master must provide a valid user name and password.
• In a Master-to-Master system, the Master which accepts the IP connection initiates the authentication
process. This configuration provides compatibility with existing implementations and provides more
flexibility for the implementation of other devices.
NOTE: The ICSP Connectivity option is required to allow authenticated and/or secure
communication between the Master and other AMX hardware/software. To establish an
authenticated ICSP connection (where the external AMX hardware/software has to provide a valid
user name and password), this option must be enabled.
Encrypt ICSP If selected, this option requires that any data being transmitted or received via an ICSP connection
Connection: (among the various AMX products) be encrypted, and that any application or hardware communicating
with the Master over ICSP must provide a valid user name and password.
NOTE: When enabled, this option requires more processor cycles to maintain.
FIG. 40 User Level Security Settings Page (Viewing User Security Settings Details)
Click the Edit button to edit the Security Access options for the selected User.
Click Delete to delete the selected User from the Master.
Deleting a User
1. Select the User Level tab (in the Security section) to open the User Security Details page.
2. Press the Delete button to remove the selected User and refresh the page. The system will prompt you to verify this action -
click OK to proceed.
If you are not logged into the Master, you receive a reminder message: "You must login before Security Settings can be
changed". In this case, log into the Master and repeat the previous steps.
3. Reboot the Master via the Reboot button on the Manage System Page (select the System control button to access).
TTLS/MSCHAPv2
TTLS/PAP
MD5
Customer provided X.509 certificates are uploaded to the NX-Series controller using NetLinx Studio, and 802.1x is configured via
the Command Line Interface and the syntax:
DOT1X[status|enable|disable]
Once you add the certificate file to your workspace, NetLinx Studio transfers the file to the appropriate directory on the controller.
1. Click to select (highlight) a System (in the Workspace tab of the Workspace Bar).
2. Right-click on the Other folder to access the Other File Folder context menu, and select Add Existing Other File.
3. In the Add Existing Other File dialog, locate and select the certificate file (.crt) that you want to add to the selected System.
Change the Files of Type option to All Files (*.*) to look for other file types, if necessary.
4. Click Open to access the File Properties dialog, where you can view/edit general file information for the selected file.
5. Click OK to add the file to the selected System. The file should now appear in the Other folder under the selected System.
Compression options
FIG. 41 Manage Web Control Connections page (populated with 1 compatible G4 touch panel)
To establish a secure connection between the touch panel and the target Master, the panel must be using a valid user name and
password (that can be matched to a previously conf igured user on the target Master) and the ICSP Connectivity option must be
enabled within the System Level Security page.
Compression Options
The checkboxes at the bottom of this page allow you to choose from two compression options. Use compression to decrease
response delay when viewing G4 Web Control windows over a bandwidth-restricted network, or over the Internet. By default, both
compression options are disabled.
Use Compression allows you to specify that the transmitted data packets be compressed. This speeds up the visual
responses from the panel by minimizing the size of the information relayed through the web and onto the screen.
Use Low Color allows you to specify the number of colors used to display the image from the panel be reduced. By reducing
the numbers of colors, the size of the information is reduced and the response delay is decreased.
FIG. 44 Select Control/Emulate from within a selected Device’s Network Settings page
2. Select either the Control or Emulate option.
3. In the Channel Code section, enter a valid Channel number to emulate Channel messages (i.e., Push/Release, CHON, and
CHOFF) for the specified <D:P:S>.
The Channel number range is 1 - 65535.
Select the On or Off buttons to Emulate Channel ON (CHON) and Channel OFF (CHOFF) messages for the specified <D:P:S>.
4. Select the Push button to Emulate a push/release on the specified channel (not displayed if the Control option is selected).
Click and hold the Push button to observe how the device/Master responds to the push message.
5. In the Level Code section, enter a valid Level number and Level data value for the specified <D:P:S> and press the Send button
to transmit the level data.
The Level number range is 1 - 65535.
The table below lists the valid Level data types and their ranges:
Level Data Type Minimum Value Maximum Value
CHAR 0 255
INTEGER 0 65535
SINTEGER -32768 32767
LONG 0 429497295
SLONG -2147483648 2147483647
FLOAT -3.402823466e+38 3.402823466e+38
6. In the Command and String fields, enter any character strings that can be sent as either a String or Command, and press Send
to transmit to the Master.
When entering a Send Command, do not include the "send c" or "SEND_COMMAND" in the statement - only type what
would normally occur within the quotes (but don't include the quotes either).
For example to send the "CALIBRATE" send command, type CALIBRATE (no quotes) rather than SEND_COMMAND <dev>
"CALIBRATE".
String Expressions start and end with double quotes (" "). Double quotes are not escaped, rather they are embedded within
single quotes. String expressions may contain string literals, decimal numbers, ASCII characters and hexadecimal
numbers (pre-pended with a $), and are comma-delimited.
String Literals start and end with single quotes ('). To escape a single quote, use three single quotes (''').
FIG. 46 Select Diagnostics from within a selected Device’s Network Settings page
NOTE: The currently selected device is also indicated in the Device f ield at the top of the page.
2. By default, all diagnostics are disabled (see FIG. 46). To enable diagnostic messages from this device, click on one of the Edit
buttons along the bottom of the Diagnostics Options table.
This opens the Edit Options window (FIG. 47) where you can select which Diagnostics messages to enable or disable for this
device.
FIG. 49 Edit Options window indicating four devices with Diagnostics enabled
NOTE: You can monitor diagnostics for up to eight System Devices in this page.
Diagnostics Options Def initions
The following table describes each of diagnostics options that can be enabled via the Edit Options window:
Diagnostic Options
Diagnostic Option Description
All Notifications: Enables every notification field.
System
Number Use these fields to enter a Device:Port:System (D:P:S) combination for the device for which you want to
Device enable notifications. A value of 0 for any option gives you all of the systems, devices, or ports. This dialog
also allows you to store/recall presets.
Port:
Messages
Online/Offline Generates a message when there is a change in the target device’s online/offline status.
Configuration Generates a message when there is a change in the target device’s configuration.
Status Generates a message when there is a change in the target device’s status.
Channel Changes
Input Generates a message when there is an input channel change (i.e. Push/Release) in the target device.
Output Generates a message when there is an output channel change (i.e. CHON/CHOFF) in the target device.
Feedback Generates a message when there is a feedback channel change in the target device.
Device Options
Level Changes From Generates a message when there is a level channel change from the target device.
Level Changes To Generates a message when there is a level channel change to the target device.
Strings To Generates a message when there is a string sent to the target device.
Strings From Generates a message when there is a string from the target device.
Commands To Generates a message when there is a command to the target device.
Commands From Generates a message when there is a command from the target device.
Custom Events From Generates a message there is a custom event occurring from the target device.
Port Settings
Allows a user to modify the server settings; specifically those port assignments associated with individual services.
All items can be either enabled/disabled via the Enabled checkboxes.
The port number values (except the FTP port) can be modified in this page.
The default port for each service is listed to the right.
Server Port Settings
The following table describes each of the Port Settings presented on this page:
Server Port Settings
Feature Description
Telnet: The port value used for Telnet communication to the target Master. Enabling this feature allows future communication with
the Master via a separate Telnet application (such as HyperTerminal).
• The default port value is 23.
• Refer to the NetLinx Security with a Terminal Connection section for more information on the related procedures.
ICSP: The port value used for ICSP data communication among the different AMX software and hardware products. This type of
communication is used by the various AMX product for communication amongst themselves. Some examples would be:
NetLinx Studio communicating with a Master (for firmware or file information updates) and TPDesign4 communicating
with a touch panel (for panel page and firmware updates).
• The default port value is 1319.
NOTE: To further ensure a secure connection within this type of communication, a user can enable the Require
Encryption option which requires additional processor cycles. Enabling of the encryption feature is determined by the
user.
HTTP: The port value used for unsecure HTTP Internet communication between the web browser’s UI and the target Master. By
disabling this port, the administrator (or other authorized user) can require that any consecutive sessions between the UI
and the target Master are done over a more secure HTTPS connection.
By default, the Master does not have security enabled and must be communicated with using http:// in the Address field.
• The default port value is 80.
NOTE: One method of adding security to HTTP communication is to change the Port value. If the port value is
changed, any consecutive session to the target Master has to add the port value at the end of the address (within the
Address f ield). An example is if the port were changed to 99, the new address information would be: http://
192.192.192.192:99.
HTTPS/SSL: The port value used by web browser to securely communicate between the web server UI and the target Master. This port
is also used to simultaneously encrypt this data using the SSL certificate information on the Master as a key.
This port is used not only used to communicate securely between the browser (using the web server UI) and the Master
using HTTPS but also provide a port for use by the SSL encryption key (embedded into the certificate). Whereas SSL
creates a secure connection between a client and a server, over which any amount of data can be sent securely, HTTPS is
designed to transmit individual messages securely. Therefore both HTTPS and SSL can be seen as complementary and are
configured to communicate over the same port on the Master. These two methods of security and encryption are
occurring simultaneously over this port as data is being transferred.
• The default port value is 443.
NOTE: Another method of adding security to HTTPS communication would be to change the port value. If the port
value is changed, any consecutive session to the target Master has to add the port value at the end of the address
(within the Address f ield). An example is if the port were changed to 99, the new address information would be:
http://192.192.192.192:99.
SSH: • The port value used for secure Telnet communication. A separate secure SSH Client would handle communication over
this port. When using a secure SSH login, the entire login session (including the transmission of passwords) is
encrypted; therefore it is secure method of preventing an external user from collecting passwords.
• SSH version 2 is supported.
• The default port value is 22.
NOTE: If this port’s value is changed, make sure to use it within the Address f ield of the SSH Client application.
FTP: The default port value used for FTP communication = 21.
NOTE: This port can be disabled/enabled but the value can not be changed.
Once any of the server port settings have been modified, press the Accept button to save these changes to the Master. Once these
changes are saved, the following message appears: "Unit must be rebooted for the change to take effect".
Click the Reboot button (from the top of the page) to remotely reboot the target Master. No dialog appears while using this button.
The Device Tree then reads "Rebooting....". After a few seconds, the Device Tree refreshes with the current system information
(indicating updated port numbers).
NOTE: If the Device Tree contents do not refresh within a few minutes, press the browser’s Refresh button and reconnect to the
Master.
There are three SSL Certificate options, presented as links along the bottom of this page:
SSL Certif icate Options
Create SSL Certificate: Opens the Create SSL Certificate window where you can create a self-generated SSL certificate.
NOTE: A self-generated certif icate has lower security than an external CA (off icially issued)
generated certif icate.
Export SSL Certificate Request: Takes the user to the Server Certificate page where they can view a previously created certificate.
An authorized user can also copy the raw text from a generated Certificate request into their clipboard
and then send it to the CA.
Import SSL Certificate: Takes the user to the Import Certificate page where they can import and paste the raw text from a CA
issued Certificate.
The following table describes the SSL Certificate entries presented in the Create SSL Certif icate window (FIG. 51):
SSL Certif icate Entries
Entry Description
Bit Length: Provides a drop-down selection with three public key lengths (512, 1024, 2048).
• A longer key length results in more secure certificates.
• Longer key lengths result in increased certificate processing times.
Common Name: The Common Name of the certificate must match the URL Domain Name used for the Master.
Example: If the address used is www.amxuser.com, that must be the Common name and format used.
• The Common Name can not be an IP Address.
• If the server is internal, the Common Name must be Netbios.
• For every website using SSL that has a distinct DNS name, there must be a certificate installed. Each website for
SSL must also have a distinct IP Address.
• This domain name must be associated to a resolvable URL Address when creating a request for a purchased
certificate.
• The address does not need to be resolvable when obtaining a free certificate.
Action: Provides a drop-down selection with a listing of certificate actions:
• Display Certif icate - Populates the Server Certificate fields with the information from the certificate currently
installed on the Master. This action is used only to display the information contained in the certif icate on the
target Master.
• Create Request - Takes the information entered into these fields and formats the certificate so it can be
exported to the external Certificate Authority (CA) for later receipt of an SSL Certificate.
This action is used to request a certif icate from an external source.
• Self Generate Certif icate - Takes the information entered into the previous fields and generates its own SSL
Certificate.
This action is used when no previous certif icate has been installed on the target Master, or a self-signed
certif icate is desired.
• Regenerate Certif icate - Takes the information entered into the previous fields and regenerates an SSL
Certificate. This action changes the Master Key.
This method of certif icate generation is used to modify or recreate a previously existing certif icate already on the
Master.
Organization Name: Name of your business or organization. This is an alpha-numeric string (1 - 50 characters in length).
Organization Unit: Name of the department using the certificate. This is an alpha-numeric string (1 - 50 characters in length).
City/Location: Name of the city where the certificate is used. This is an alpha-numeric string (1 - 50 characters in length).
State/Province: Name of the state or province where the certificate is used (alpha-numeric string, 1 - 50 characters in length).
Note: The state/province name must be fully spelled out.
Country Name: Provides a drop-down selection with a listing of currently selectable countries.
2. Modify the certificate information as needed (see the SSL Certif icate Entries section on page 57).
3. Click the down arrow next to Action and choose Regenerate Certif icate.
4. Click Create SSL Certif icate to save the newly modified certificate information to the Master. Click Close to exit without
making changes to the Master.
CAUTION: Only use the Regenerate Certif icate option when you have self-generated your own certif icate. Do not regenerate an
external CA-generated certif icate.
Exporting an SSL Certif icate Request
1. First follow the procedures outlined in the Creating a Request for an SSL Certif icate section on page 57 to create a session-
specific Master certificate.
2. Click the Export SSL Certif icate link to display the certificate text file in the Export SSL Certificate window (FIG. 52).
2. Click the Import SSL Certif icate link to open the Import SSL Certificate window (FIG. 53).
3. Place the cursor inside the text box and paste the returned certificate text, in its entirety.
4. Click Import SSL Certif icate to save the new certificate information to the Master.
You can select a different NIST Server (or specify the IP Address of a known NIST Server) in the NIST Servers tab (see the
Selecting a Custom NIST Server section on page 61).
Stand Alone: This option lets the Master use its own internal clock. When this option is selected, two additional fields are
available on this tab:
Date - Enter the current date in these fields (mm/dd/yyyy).
Time - Enter the current time in these fields (hh/mm/ss).
2. Click Accept to save these settings to the Master.
Setting Daylight Savings Rules
1. In the Daylight Savings tab (FIG. 55), enable Daylight Savings mode by clicking the On button.
Refresh List: Click this button to regenerate the device listing by looking for broadcasting devices. This causes the Master to
send out a message asking devices to resend their NDP device announcements. The list is then updated as those devices
send back their announcements to the Master.
The information displayed can not only include Masters and devices on this system but Masters and devices on other
systems as well. By default, the target Master always appears in the list.
NOTE: Due to system delays, message collisions, and multicast routing, not all devices may respond immediately.
Clear List: Click this button causes the entries to be temporarily deleted from the page, either until you refresh the list
(using the Refresh List button), or until the Master begins to detect any multi-cast transmissions from System Devices.
Binding Options
Option Description
Enable Auto Bind: This selection allows you to toggle the state of the automatic binding for DDD (On/Off).
When auto-binding is enabled, the Master automatically attempts to connect any newly discovered device
with an associated application device (defined in the running NetLinx application).
Auto-binding can only be accomplished if the Master's firmware determines a one-to-one correlation
between the newly discovered device and a single entry within the list of defined application devices
(accessed via the Binding link at the top of this page).
For example, if the application only has one VCR defined and a VCR is detected in the system, auto-binding
can then be accomplished. If there were two VCRs defined within the application, auto-binding could not be
completed due to the lack of a clearly defined one-to-one correspondence.
When this option is not selected, no auto-binding activity takes place and all binding of the newly discovered
devices must be accomplished manually via the Web control interface.
Enable Auto-Shutdown: Auto-Shutdown forces the termination of modules that have lost communication with their respective
physical device. This capability is needed for plug-and-play support.
By default, Auto-Shutdown is enabled. If automatic termination of modules when they have lost
communication is not desired, this selection should be disabled.
Enable Subnet Match: This selection allows you to specify whether or not IP devices should only be detected/discovered if they are
on the same IP Subnet as the Master.
Purge Bound Modules This selection indicates that all modules should be deleted from the bound directory upon the next reboot.
on Reset: During the binding process, the associated Duet modules for a device are copied from the /unbound
directory into a protected /bound area.
Due to the dynamic nature of Java class loading, it is not safe to delete a running .JAR file. Therefore, this
selection provides the administrator the capability of removing existing modules upon reboot by forcing a
re-acquisition of the module at bind time.
This selection is a one-time occurrence - upon the next reboot, the selection is cleared.
Enable/Disable Module This option toggles the capability of searching the Internet (either AMX's site or a device specified site) for a
Search via Internet: device’s compatible Duet modules. This capability is automatically disabled if the Master does not have
Internet connectivity.
Upon enabling Internet connectivity, the AMX License Agreement is displayed. The License Agreement must
be accepted for Internet Module search feature to be enabled.
When this feature is enabled, the Master queries either AMX's Online database of device Modules and/or pulls
Modules from a separate site specified by the manufacturer's device.
You can later disable this feature by toggling this button.
DEFINE_CONSTANT
DEFINE_TYPE
DEFINE_VARIABLE
DEFINE_START
DYNAMIC_POLLED_PORT(COM2)
DYNAMIC_APPLICATION_DEVICE(dvRECEIVER1, DUET_DEV_TYPE_RECEIVER,
'My Receiver')
(***********************************************************)
(* THE EVENTS GO BELOW *)
(***********************************************************)
DEFINE_EVENT
DATA_EVENT [dvRECEIVER1]
{
// Duet Virtual device data events go here
}
Sample code can be found within the DEFINE_START section, as shown in FIG. 63:
This code gives the Master a “heads-up” notification to look for those devices meeting the criteria outlined within the code.
Application Devices and Association Status
There are two types of application devices: Static Bound application devices and Dynamic application devices:
Static Bound application devices specify both a Duet virtual device and its associated Device SDK class type, as well as a
NetLinx physical device port to which the application device is always associated (i.e. statically bound).
FIG. 63 Manage Device Bindings page - showing the NetLinx code relation
Dynamic application devices specify both the Duet virtual device and its associated Device SDK with no association to a
physical port. Binding of an application device to a physical device/port occurs at run-time (either via auto-binding or
manual binding).
Application devices that have a "bound" physical device display their physical device ID within the Physical Device column. If an
associated Duet module has been started to communicate with the device, its associated property information is displayed in a
mouse-over popup dialog when the cursor hovers over the physical device ID (see FIG. 64 on page 69).
Each entry in the table has one of four buttons to the right of the Physical Device D:P:S assignment:
Static Bound application devices will either be blank, or display a Release button:
Static Bound application devices that have not yet detected a physical device attached to their associated port have a
blank button.
Once a physical device is detected and its associated Duet module has been started, a Release button is then displayed.
Click Release to force the associated Duet module to be destroyed and the firmware then returns to detecting any
physical devices attached to the port.
Dynamic application devices either display a Bind or Unbind button:
Dynamic application devices that have been bound display an Unbind button. When the user selects Unbind, any
associated Duet module is then destroyed and the "link" between the application device and the physical device is then
broken.
Dynamic application devices that have not been bound to a physical device display a Bind button. When this button is
selected, a secondary display appears with a listing of all available unbound physical devices that match the application
device's Device SDK class type.
NOTE: If a currently bound device needs to be replaced or a Duet Module needs to be swapped out, the device should be unbound and
the new module/driver should then be bound.
The administrator/user can then select one of the available physical devices to bind with the associated application device. When
the Save button is selected, the binding is created and a process begins within the target Master to find the appropriate Duet
Module driver. Once a driver is found, the Duet Module is then started and associated with the specified application device (Duet
virtual device). If the Cancel button is selected, the binding activity is then aborted.
NOTE: If the manufacturer device does not support Dynamic Device Discovery (DDD) beaconing, you must use the Add New Device
page to both create and manage those values necessary to add a dynamic physical device. This process is described in detail within
the following section.
Viewing Physical Device Properties
Hold the mouse cursor over the Physical Device - Device entry in the table to display detailed device properties for that device, in a
pop-up window (FIG. 64).
SDK-Class Types
Amplifier Digital Video Recorder PreAmpSurroundSoundProcessor Utility
AudioConferencer Disc Device Receiver VCR
AudioMixer DocumentCamera RelayDevice VideoConferencer
AudioProcessor HVAC Security System VideoProcessor
AudioTape IODevice Sensor Device VideoProjector
AudioTunerDevice Keypad SettopBox VideoWall
Camera Light SlideProjector VolumeController
Digital Media Decoder Monitor Switcher Weather
Digital Media Encoder Motor Text Keypad
Digital Media Server MultiWindow TV
Digital Satellite System PoolSpa UPS
4. Click the Accept button. The new device is indicated in the list of discovered physical devices (in the User-Def ined Devices
page).
NetLinx Programming
Overview
This section describes the Send_Commands, Send_Strings, and Channel commands you can use to program the Master. The
examples in this section require a declaration in the DEFINE_DEVICE section of your program to work correctly.
Refer to the NetLinx Programming Language instruction manual for specifics about declarations and DEFINE_DEVICE information.
NOTE: All f ile names on the X-Series controllers are case sensitive. This includes all user f iles created or used within NetLinx or Java
code. If you have legacy code that uses f iles, it is important that you verify that every reference to each f ile is consistent with regard
to case. If your legacy code generates an error when accessing a f ile, it is likely due to inconsistent use of case in the f ilename.
NOTE: Massio ControlPads do not directly accept NetLinx code. You can conf igure Massio ControlPads with Rapid Project Maker
(RPM). You can only send NetLinx commands to a Massio ControlPad through a Terminal (Telnet) window.
Master SEND_COMMANDs
These commands are specific to the Master and not the Controller. These commands are sent to the DPS 0:1:0 (the Master you are
connected to).
A device (<DEV>) must first be defined in the NetLinx programming language with values for the Device: Port: System (<D:P:S>).
Master SEND_COMMANDs
Command Description
CLOCK Set the date and time on the Master. The date and time settings are propagated over the local bus.
Syntax:
SEND_COMMAND <DEV>,"'CLOCK <mm-dd-yyyy> <hh:mm:ss>'"
Variables:
mm-dd-yyyy = Month, day, and year. Month and day have 2 significant digits. Year has 4 significant digits.
hh-mm-ss = Hour, minute, and seconds. Each using only 2 significant digits.
Example:
SEND_COMMAND 0,"'CLOCK 04-12-2005 09:45:31'"
Sets the Master's date to April 12, 2005 with a time of 9:45 am.
G4WC Add G4 Web Control devices to Web control list displayed by the Web server in a browser. The internal G4WC
Send command (to Master 0:1:0) has been revised to add G4 Web Control devices to Web control list displayed
in the browser.
Syntax:
SEND_COMMAND <D:P:S>,"'G4WC "Name/Description",IP Address/URL,IP Port,Enabled'"
Variables:
• Name/Description = A string, enclosed in double quotes, that is the description of the G4 Web Control
instance. It is displayed in the browser.
• IP Address/URL = A string containing the IP Address of the G4 Web Control server, or a URL to the G4 Web
Control server.
• IP Port = A string containing the IP Port of the G4 Web Control Server.
• Enabled = 1 or 0. If it is a 1 then the link is displayed. If it is a 0 then the link is disabled.
The combination of Name/Description, IP Address/URL, and IP Port are used to determine each unique
listing.
Example:
SEND_COMMAND 0:1:0,"'G4WC "Bedroom",192.168.1.2,5900,1'"
Adds the BEDROOM control device using the IP Address of 192.168.1.2.
~IGNOREEXTERNAL Set the Master so that it cannot have it’s time set by another device which generates a ‘CLOCK’ command.
CLOCKCOMMANDS Syntax:
SEND_COMMAND <D:P:S>,"'~IGNOREEXTERNALCLOCKCOMMANDS'"
Example:
SEND_COMMAND 0:1:0,"'~IGNOREEXTERNALCLOCKCOMMANDS'"
LED SEND_COMMANDs
NOTE: The following sections only apply to the integrated controller component of the NX-series controllers.
The following commands enable or disable the LEDs on the Controller.
In the examples: <DEV> = Port 1 of the device. Sending to port 1 of the controller affects all ports.
NOTE: The LED SEND_COMMANDs are not compatible with Massio ControlPads. While you may execute any of these commands via
Telnet, the command will have no effect on the ControlPad, and the ControlPad also will not return an error message.
LED SEND_COMMANDs
Command Description
LED-DIS Disable all LEDs (on 32 LED hardware) for a port. Regardless of whether or not the port is active, the LED will not be
lit.
Issue this command to port 1 to disable all the LEDs on the Controller.
When activity occurs on a port(s) or Controller, the LEDs will not illuminate.
Syntax:
SEND_COMMAND <DEV>,"'LED-DIS'"
Example:
SEND_COMMAND Port_1,"'LED-DIS'"
Disables all the LEDs on Port 1 of the Controller.
LED-EN Enable the LED (on 32 LED hardware) for a port. When the port is active, the LED is lit. When the port is not active,
the LED is not lit.
Issue the command to port 1 to enable the LEDs on the Controller (default setting). When activity occurs on a
port(s) or Controller, the LEDs illuminate.
Syntax:
SEND_COMMAND <DEV>,'LED-EN'
Example:
SEND_COMMAND System_1,'LED-EN'
Enables the System_1 Controller's LEDs.
NOTE: Massio ControlPads do not support RS-422 or RS-485 communications to other devices.
RS-232/422/485 SEND_COMMANDs
RS-232/422/485 SEND_COMMANDs
Command Description
B9MOFF Disables 9-bit in 232/422/455 mode. By default, this returns the communication settings on the serial port to the last
programmed parameters. This command works in conjunction with the 'B9MON' command.
Syntax:
SEND_COMMAND <DEV>,"'B9MOFF'"
Example:
SEND_COMMAND RS232_1,"'B9MOFF'"
Sets the RS-232 port settings to match the port's configuration settings.
B9MON Override and set the current communication settings and parameters on the RS-232 serial port to 9 data bits with one
stop bit. This command works in conjunction with the 'B9MOFF' command.
Syntax:
SEND_COMMAND <DEV>,"'B9MON'"
Example:
SEND_COMMAND RS232_1,"'B9MON'"
Resets the RS-232 port's communication parameters to nine data bits, one stop bit, and locks-in the baud rate.
CHARD Set the delay time between all transmitted characters to the value specified (in 100 Microsecond increments).
Syntax:
SEND_COMMAND <DEV>,"'CHARD-<time>'"
Variable:
time = 0 - 255. Measured in 100 microsecond increments.
Example:
SEND_COMMAND RS232_1,"'CHARD-10'"
Sets a 1-millisecond delay between all transmitted characters.
CHARDM Set the delay time between all transmitted characters to the value specified (in 1-Millisecond increments).
Syntax:
SEND_COMMAND <DEV>,"'CHARDM-<time>'"
Variable:
time = 0 - 255. Measured in 1 millisecond increments.
Example:
SEND_COMMAND RS232_1,"'CHARDM-10'"
Sets a 10-millisecond delay between all transmitted characters.
CLEAR FAULT Forces a reset back to normal status.
Syntax:
SEND_COMMAND <DEV>, "'CLEAR FAULT'"
Example:
SEND_COMMAND RS232_1,"'CLEAR FAULT'"
CTSPSH Enable Pushes, Releases, and Status information to be reported via channel 255 using the CTS hardware handshake
input. This command turns On (enables) channel tracking of the handshaking pins.
If Clear To Send (CTS) is set high, then channel 255 is On.
NOTE: This SEND_COMMAND is not compatible with Massio ControlPads. While you may execute this command via
Telnet, the command will have no effect on the ControlPad, and the ControlPad also will not return an error
message.
Syntax:
SEND_COMMAND <DEV>,"'CTSPSH'"
Example:
SEND_COMMAND RS232_1,"'CTSPSH'"
Sets the RS232_1 port to detect changes on the CTS input.
CTSPSH OFF Disable Pushes, Releases, and Status information to be reported via channel 255. This command disables tracking. Turns
CTSPSH Off.
NOTE: This SEND_COMMAND is not compatible with Massio ControlPads. While you may execute this command via
Telnet, the command will have no effect on the ControlPad, and the ControlPad also will not return an error
message.
Syntax:
SEND_COMMAND <DEV>,"'CTSPSH OFF'"
Example:
SEND_COMMAND RS232_1,"'CTSPSH OFF'"
Turns off CTSPSH for the specified device.
IR/Serial SEND_COMMANDs
The following IR and IR/Serial Send_Commands generate control signals for external equipment. In these examples: <DEV> =
device.
IR/Serial SEND_COMMANDs
Command Description
CAROFF Disable the IR carrier signal until a 'CARON' command is received.
Syntax:
SEND_COMMAND <DEV>,"'CAROFF'"
Example:
SEND_COMMAND IR_1,"'CAROFF'"
Stops transmitting IR carrier signals to the IR_1 port.
CARON Enable the IR carrier signals (default).
Syntax:
SEND_COMMAND <DEV>,"'CARON'"
Example:
SEND_COMMAND IR_1,"'CARON'"
Starts transmitting IR carrier signals to the IR_1 port.
CH Send IR pulses for the selected channel. All channels below 100 are transmitted as two digits.
• If the IR code for ENTER (function #21) is loaded, an Enter will follow the number.
• If the channel is greater than or equal to (>=) 100, then IR function 127 or 20 (whichever exists) is generated for the
one hundred digit.
• Uses 'CTON' and 'CTOF' times for pulse times.
Syntax:
SEND_COMMAND <DEV>,"'CH',<channel number>"
Variable:
channel number = 0 - 199.
Example:
SEND_COMMAND IR_1,"'CH',18"
This device performs the following:
• Transmits IR signals for 1 (IR code 11). The transmit time is set with the CTON command.
• Waits until the time set with the CTOF command elapses.
• Transmits IR signals for 8 (IR code 18).
• Waits for the time set with the CTOF command elapses. If the IR code for Enter (IR code 21) is programmed, the
Controller performs the following steps.
1) Transmits IR signals for Enter (IR code 21).
2) Waits for the time set with the CTOF command elapses.
CLEAR FAULT Forces a reset back to normal status.
Syntax:
SEND_COMMAND <DEV>, "'CLEAR FAULT'"
Example:
SEND_COMMAND IR_1,"'CLEAR FAULT'"
Input/Output SEND_COMMANDs
The I/O port is port 22 on the NX-series controllers and the MCP-108 Massio ControlPad.
The following SEND_COMMANDs program the I/O ports on the Integrated Controller.
I/O SEND_COMMANDs
Command Description
GET DBT Get Debounce Time
Syntax:
GET DBT <n>
Variable:
n = the channel number of the I/O input port
Example:
SEND_COMMAND 5001:22:0,'GET DBT 1'
Retrieves the Debounce time channel 1 on the I/O port.
Response:
DBT 1 50
Responds with the channel number and the Debounce time in milliseconds (ms).
SET DBT Set Debounce Time
Syntax:
SET DBT <n><v>
Variables:
n = the channel number of the I/O input port
v = Value 1-50 which sets the debounce time in increments of 5ms
Example:
SEND_COMMAND 5001:22:0,'SET DBT 1 10'
Sets channel 1 on the I/O port to 50ms Debounce time.
GET INPUT Get the active state for the selected channels. An active state can be high (logic high) or low (logic low or contact closure).
Channel changes, Pushes, and Releases generate reports based on their active state. The port responds with either 'HIGH'
or 'LOW'.
Syntax:
SEND_COMMAND <DEV>,"'GET INPUT <channel>'"
Variable:
channel = Input channel 1 - 8.
Example:
SEND_COMMAND IO,"'GET INPUT 1'"
Gets the I/O port's active state.
The system could respond with:
INPUT1 ACTIVE HIGH
SET INPUT Set the input channel's active state. An active state can be high (logic high) or low (logic low or contact closure). Channel
changes, Pushes, and Releases generate reports based on their active state. Setting an input to ACTIVE HIGH will disable
the ability to use that channel as an output.
Syntax:
SEND_COMMAND <DEV>,"'SET INPUT <channel> <state>'"
Variable:
channel = Input channel 1 - 8.
state = Active state HIGH or LOW (default).
Example:
SEND_COMMAND IO,"'SET INPUT 1 HIGH'"
Sets the I/O channel to detect a high state change, and disables output on the channel.
PoE SEND_COMMANDs
The NX-4200 has 4 ICSLAN ports, each of which feature Power-over-Ethernet (PoE). The ports are numbered 1-4. The following
PoE SEND_COMMANDs program the ICSLAN ports on the controller.
NOTE: Note: These commands are not compatible with Massio ControlPads.
PoE SEND_COMMANDs
Command Description
GET CLASS Retrieve the class type of the device connected via PoE. This command receives a COMMAND event of ’DISABLED’, ’NO
DEVICE’, or ’CLASS x DEVICE’, with x being a value from 0 to 4.
Syntax:
SEND_COMMAND <DEV>,"'GET CLASS'"
Example:
SEND_COMMAND PoE_24,"'GET CLASS'"
GET Retrieve the current of the device connected via PoE. This command receives a COMMAND event with the number in
CURRENT milliamps (mA).
Syntax:
SEND_COMMAND <DEV>,"'GET CURRENT'"
Example:
SEND_COMMAND PoE_24,"'GET CURRENT'"
GET FAULT Retrieve the type of fault on the PoE port. This command receives a COMMAND event of ’DISABLED’, ’NONE’, ’UNDER-
VOLTAGE / OVER-VOLTAGE’, ’CURRENT OVERLOAD’, ’LOAD DISCONNECT’, MAX POWER EXCEEDED,’ or ’POE NOT
AVAILABLE’.
Syntax:
SEND_COMMAND <DEV>,"'GET FAULT'"
Example:
SEND_COMMAND PoE_24,"'GET FAULT'"
GET STATUS Retrieve the status of the PoE port. This command receives a COMMAND event of ’STATUS: NORMAL’ or, ’STATUS: FAULT’.
Syntax:
SEND_COMMAND <DEV>,"'GET STATUS'"
Example:
SEND_COMMAND PoE_24,"'GET STATUS'"
GET Retrieve the current draw on the PoE port. This command receives a COMMAND event with the number in volts.
VOLTAGE Syntax:
SEND_COMMAND <DEV>,"'GET VOLTAGE'"
Example:
SEND_COMMAND PoE_24,"'GET VOLTAGE'"
SET FAULT Disables fault detection on the PoE port. Fault detection is turned on by default.
DETECT OFF Syntax:
SEND_COMMAND <DEV>,"'SET FAULT DETECT OFF'"
Example:
SEND_COMMAND PoE_24,"'SET FAULT DETECT OFF'"
SET FAULT Enables fault detection on the PoE port. Fault detection is turned on by default.
DETECT ON Syntax:
SEND_COMMAND <DEV>,"'SET FAULT DETECT ON'"
Example:
SEND_COMMAND PoE_24,"'SET FAULT DETECT ON'"
SET POWER Disables PoE to the port. PoE is turned on by default.
OFF Syntax:
SEND_COMMAND <DEV>,"'SET POWER OFF'"
Example:
SEND_COMMAND PoE_24,"'SET POWER OFF'"
SET POWER Enables PoE to the port. PoE is turned on by default.
ON Syntax:
SEND_COMMAND <DEV>,"'SET POWER ON'"
Example:
SEND_COMMAND PoE_24,"'SET POWER ON'"
AxLink Commands
The following commands program the AxLink ports on the NX controller.
NOTE: These commands are not compatible with Massio ControlPads.
AxLink SEND_COMMANDs
Command Description
AXPWROFF Powers off the specified AxLink port.
Syntax:
SEND_COMMAND <DEV>,"'AXPWROFF <UPPER|LOWER>'"
Variable:
UPPER|LOWER = Specifies the AxLink port on the controller
Example:
SEND_COMMAND 5001:1:0,"'AXPWROFF UPPER'"
Powers off the upper AxLink port on the controller.
AXPWRON Powers on the specified AxLink port.
Syntax:
SEND_COMMAND <DEV>,"'AXPWRON <UPPER|LOWER>'"
Variable:
UPPER|LOWER = Specifies the AxLink port on the controller
Example:
SEND_COMMAND 5001:1:0,"'AXPWRON LOWER'"
Powers on the lower AxLink port on the controller.
GET AX FAULT Retrieve the AxLink port which currently has a fault.
Syntax:
SEND_COMMAND <DEV>,"'GET AX FAULT'"
Example:
SEND_COMMAND 5001:1:0,"'GET AX FAULT'"
Responds with the COMMAND event: ’AX FAULT: UPPER/LOWER’ or ’NONE’.
To restrict access to the Master via terminal connection, enable Configuration Security on the Master via the
CONFIGURATION SECURITY option in the Security Options menu - see the Security Options Menu section on page 118
for details). With Configuration Security enabled, a valid user with Configuration Security access will have to login before
being able to execute Telnet commands. If security is not enabled, these commands are available to all.
If a connection is opened, but a valid username / password combination is not entered (i.e. just sitting at a login prompt),
the connection will be closed after one minute.
Terminal Commands
The Terminal commands listed in the following table can be sent directly to the Master via either a Program Port or a Telnet terminal
session (with the exception of the "Help Security" and "Resetadminpassword" commands, which are only available to a Program
Port (RS232) connection.
In your terminal program, type "Help" or a question mark ("?") and <Enter> to access the Help Menu, and display the Program
port commands described below:
Terminal Commands
Command Description
----- Help ----- <D:P:S> (Extended diag messages are OFF)
<D:P:S>: Device:Port:System. If omitted, assumes Master.
? or Help Displays this list of commands.
AUTO LOCATE Enables/Disables/queries the auto locate feature on the Master.
(ENABLE|DISABLE|STATUS) Auto locate adds additional broadcast information for use by AMX Touch Panel devices configured
in Auto connect mode.
BOOT STATUS Returns the current boot state of the master.
Response is either "Boot in progress." or "Boot complete."
CLEAR AUDIT LOG Purges the entire database of audit records.
See the SHOW AUDIT LOG section on page 110.
CLEAR MAX BUFFERS Reset the max buffers high-water counters to zero.
CLEAR PERSISTENT VARS Clear out the persistent/non-volatile variable values without having to download a new NetLinx
program.
CPU USAGE Diagnostic tool to calculate a running average of the current CPU usage of the Master.
DATE Displays the current date and day of the week.
Example:
>DATE
10/31/2004 Wed
DATE/TIME ON|OFF ENABLES/DISABLES the addition of a date time stamp to the terminal logs displayed via "msg on"
DATE/TIME is Off by default at the start of each Terminal/Telnet session.
DEVICE HOLDOFF ON|OFF Sets the Master to holdoff devices (i.e. does not allow them to report ONLINE) until all objects in
the NetLinx program have completed executing the DEFINE_START section.
If set to ON, any messages to devices in DEFINE_START will be lost, however, this prevents
incoming messages being lost in the Master upon startup.
When DEVICE_HOLDOFF is ON, you must use ONLINE events to trigger device startup
SEND_COMMANDs.
By default, DEVICE_HOLDOFF is OFF to maintain compatibility with Axcess systems where devices
are initialized in DEFINE_START.
NOTE: This command sets the state of the device holdoff. The GET DEVICE HOLDOFF command
reveals whether the state is On or Off (see page 99).
Example:
>Device Holdoff ON
Device Holdoff Set.
DEVICE STATUS <D:P:S> Displays a list of all active (on) channels for the specified D:P:S.
DIPSWITCH Displays the current state of the Master's hardware dip switches.
DISK FREE Displays the total bytes of free space available on the Master.
Example:
>DISK FREE
The disk has 2441216 bytes of free space.
DNS LIST <D:P:S> Displays the DNS configuration of a specific device including:
• Domain suffix·
• Configured DNS IP Information
Example:
>DNS LIST [0:1:0]
Domain suffix:amx.com
The following DNS IPs are configured
Entry 1-192.168.20.5
Entry 2-12.18.110.8
Entry 3-12.18.110.7
DOT1X Enables/disables wired 802.1x security or displays its current settings.
(ENABLE|DISABLE|STATUS) Syntax:
DOT1X[status|enable|disable]
-- File Names = 2
1 = C:\Program Files\AMX Applications\i!-PCLinkPowerPoint
2 = C:\Program Files\Common Files\AMXShare\AXIs\NetLinx.axi
2 = Name is MDLPP
-- File Names = 2
1 C:\AppDev\i!-PCLink-PowerPoint\i!-PCLinkPowerPointMod.axs
2 C:\Program files\Common Files\AMXShare\AXIs\NetLinx.axi
PULSE [D:P:S or NAME,CHAN] Pulses a specified channel on a device on and off. The device can be on any system the Master you
are connected to can reach. You can specify the device number, port, and system; or the name of
the device that is defined in the DEFINE_DEVICE section of the program.
Example:
>PULSE[50001:8:50,1]
Sending Pulse[50001:8:50,1]
PWD Displays the name of the current directory.
Example:
pwd
The current directory is doc:
REBOOT Reboots the Master or specified device. Options for rebooting the Master are cold, soft, and warm.
The reboot command with no parameter executes as "reboot cold".
Example (Rebooting device):
>REBOOT [0:1:0]
Rebooting...
Example (Rebooting Master):
>reboot cold
Reboots the Master and restarts the entire operating system.
>reboot warm
>reboot soft
Reboots the Master but only starts the AMX NetLinx application firmware.
RENEW DHCP Renews/Releases the current DHCP lease for the Master.
NOTE: The Master must be rebooted to acquire a new DHCP lease.
Example:
>RENEW DHCP
RESETADMINPASSWORD This command resets the administrator password back to "password".
NOTE: This command is only available to Program Port terminal sessions. It is not available to
Telnet sessions (see the Overview section on page 97).
RESET FACTORY Resets the Master to factory default state including removal of all security settings, removal of all
user files, resetting to DHCP, and loading an empty NetLinx program. The Master will be effectively
in an out-of-box state.
This will set the timeout for TCP connections for both ICSP and i!-Web
Control.When no communication has been detected for the specified number of
seconds, the socket connection is closed.ICSP and i!-Web Control have built-in
timeouts and reducing the TCP timeout below these will cause undesirable
results. The default value is 45 seconds.
-- This will set the thresholds of when particular tasks are pended. The
threshold is the number of messages queued before a task is pended.--
--Use extreme caution when adjusting these values.--
Current Interpreter Threshold = 2000
Enter new Interpreter Threshold (Between 1 and 2000)(Default=10):
Once you enter a value and press the ENTER key, you get the following message:
Current Lontalk Threshold = 50
Enter new Lontalk Threshold (Between 1 and 2000)
(Default=50):50
Current IP Threshold = 600
Enter new IP Threshold (Between 1 and 2000)
(Default=200): 600
Setting Thresholds to: Interpreter 2000
Lontalk 50
IP 600
New thresholds set, reboot the Master for the changes to take effect.
SET TIME Sets the current time. When the time is set on the Master, the new time will be reflected on all
devices in the system that have clocks (i.e. touch panels). By the same token, if you set the time on
any system device, the new time will be reflected on the system’s Master, and on all connected
devices.
NOTE: This will not update clocks on devices connected to another Master (in Master-to-
Master systems).
Example:
>SET TIME
Enter Date: (hh:mm:ss) ->
SET TIMELINE LOOPCNT Sets the Master's timeline/event max loopcount.
SET UDP BC RATE Sets the UDP broadcast rate. A broadcast message is sent by the Master to allow devices to
discover the Master. This command allows the broadcast frequency to be changed or eliminate the
broadcast message.
Example:
>SET UPD BC RATE
Current broadcast message rate is 5 seconds between messages.
Enter broadcast message rate in seconds between messages
(off=0 ; default=5) (valid values 0-300):
Once you enter a value and press the ENTER key, you get the following message:
Setting broadcast message rate to 300 seconds between messages
New broadcast message rate set.
Con Manager 0
Interpreter 0
Device Mgr 0
Diag Mgr 0
Msg Dispatch 0
Cfg Mgr 0
Route Mgr 0
Notify Mgr 0
---- ---- ----
Total 0 0 0 GrandTotal 0
NOTE: See the SHOW MAX BUFFERS section on page 112.
SHOW COMBINE Displays a list of devices, levels, and channels that are currently combined.
Example:
> SHOW COMBINE
Combines
--------
Combined Device([33096:1:1],[96:1:1])
Combined Level([33096:1:1,1],[128:1:1,1],[10128:1:1,1])
Combined Device([33128:1:1],[128:1:1],[10128:1:1])
Con Manager 8
Interpreter 17
Device Mgr 8
Diag Mgr 1
Msg Dispatch 0
Cfg Mgr 0
Route Mgr 0
Notify Mgr 0
---- ---- ----
Total 2 34 GrandTotal 36
See the SHOW BUFFERS section on page 110.
SHOW MEM Displays the memory usage for all memory types.
SHOW NOTIFY Displays the Notify Device List (Master-Master). This is a list of devices (up to 1000) that other
systems have requested input from and the types of information needed.
NOTE: The local system number is 1061.
Example:
>SHOW NOTIFY
---- These commands apply to the Security Manager and Database ----
1) Set system security options for NetLinx Master
2) Display system security options for NetLinx Master
3) Add user
4) Edit user
5) Delete user
6) Show the list of authorized users
7) Add group
8) Edit group
9) Delete group
10) Show list of authorized groups
11) Set Telnet Timeout in seconds
12) Display Telnet Timeout in seconds
13) Enter LDAP security information
14) Test connection to the LDAP server
15) Make changes permanent by saving to flash
16) Reset Database
17) Display Database
Or <ENTER> to return to previous menu
---- These commands apply to the Security Manager and Database ----
1) Set system security options for NetLinx Master
2) Display system security options for NetLinx Master
3) Add user
4) Edit user
5) Delete user
6) Show the list of authorized users
7) Add group
8) Edit group
9) Delete group
10) Show list of authorized groups
11) Set Telnet Timeout in seconds
12) Display Telnet Timeout in seconds
13) Enter LDAP security information
14) Test connection to the LDAP server
15) Make changes permanent by saving to flash
16) Reset Database
17) Display Database
Or <ENTER> to return to previous menu
Adding a Group
1. Type 7 and <Enter> at the Security Setup prompt (at the bottom of the Main Security Menu) to add a group account. A sample
session response is:
The following groups are currently enrolled:
administrator
By default, all accounts that enable HTTP Access are given a '/*' Directory Association if no other Directory Association has
been assigned to the account. When you are prompted to enter the path for a Directory Association, the NetLinx Master will
attempt to validate the path. If the directory or file is not valid (i.e. it does not exist at the time you entered the path), the
NetLinx Master will ask you whether you were intending to grant access to a file or directory. From the answer, it will enter the
appropriate Directory Association. The NetLinx Master will not create the path if it is not valid. That must be done via another
means, most commonly by using an FTP client and connecting to the FTP server on the NetLinx Master.
Default Security Conf iguration
By default, the NetLinx Master will create the following accounts, access rights, directory associations, and security options.
Account 1: User Name: administrator
Password: password
Group: administrator
Rights: All
Directory Association: /*
NOTE: If the DN of a user is in both the administrator groupOfNames and the user groupOfNames, the administrative privileges take
precedence over user privileges.
Sending Mail
Sending mail is accomplished with the use of the Master's built-in Mail Service. An outbound mail is handed to the Mail Service via
the following built-in NetLinx function:
sinteger SMTP_SEND (DEV responseDPS, CONSTANT CHAR toAddress[], CONSTANT CHAR mailSubject[], CONSTANT
CHAR mailBody[], CONSTANT CHAR textAttachment[])
where:
responseDPS - The DPS address to return asynchronous send status. Ex. 0:3:0
toAddress - The email address of destination. Ex. [email protected].
Note that the NetLinx mail service supports up to eight recipient address (semi-colon delimited). These are "To"
addresses only (not "Cc" or "Bcc" addresses.)
The maximum number of characters allowed for email destination is 127.
mailSubject - The email subject line.
mailBody - The email body text.
textAttachment - A text filename to attach to the email (optional argument). Filenames must be 256 characters or less,
and file size must be under 65536 bytes. When no attachment is included textAttachment should be set to NULL_STR.
SMTP_SEND returns a signed integer.
If the return value is negative (<0) that is an indication there was a failure in handing the message off to the mail service,
most likely due to an invalid argument supplied to the SMTP_SEND call.
If the return value is positive (>0) then the value is the index associated with the mail being sent.
Mail sends are asynchronous to the normal processing of the NetLinx application.
When SMTP_SEND is called and the mail is posted to the internal Mail Service, the NetLinx application will continue
executing the code following the SMTP_SEND.
The failed send status will be returned via an ONERROR DATA_EVENT for the responseDPS specified in the SMTP_SEND call
with DATA.NUMBER set to the error code and DATA.TEXT set to the mail identifier returned from the SMTP_SEND call.
Example SMTP_SEND:
DEFINE_DEVICE
MAIL_SERVICE=0:3:0
DEFINE_VARIABLE
SINTEGER MAIL_IDX
…
MAIL_IDX = SMTP_SEND(MAIL_SERVICE,'[email protected]','Mail Subj','Mail Body', NULL_STR)
IF (MAIL_IDX < 0)
{
// FAILED TO SEND MAIL
}
…
DATA_EVEN [MAIL_SERVICE]
{
ONERROR:
{
// AN ERROR OCCURRED
LOG_ERROR("MAIL SEND FAILURE - IDX=',DATA.TEXT,' ERROR=',ITOA(DATA.NUMBER))
}
}
The possible error codes are:
MALFORMED DATA = 1;
NOT ENOUGH MEMORY = 2;
SERVER UNREACHABLE = 3;
AUTHENTICATION FAILURE = 4;
SMTP PROTOCOL ERROR = 5;
(*-----------------------------------------------------------------------------*)
(* Added v1.28, Clock Manager Time Server Entry Structure *)
(*-----------------------------------------------------------------------------*)
STRUCTURE CLKMGR_TIMESERVER_STRUCT
{
CHAR IS_SELECTED; (* TRUE/FALSE *)
CHAR IS_USER_DEFINED; (* TRUE/FALSE *)
CHAR IP_ADDRESS_STRING[48]; (* Allow enough room for IPv6 in the future *)
CHAR URL_STRING[32]; (* Example: time.organization.net *)
CHAR LOCATION_STRING[32]; (* Example: Boulder, Colorado, US *)
}
Library Calls
The NetLinx.axi file that ships with NetLinx Studio includes the following Clock Manager-specific library calls:
NetLinx.axi - Library Calls
CLKMGR_IS_NETWORK_SOURCED() Returns FALSE/0 or TRUE/1 (default = FALSE/0)
CLKMGR_SET_CLK_SOURCE Can be set to CLKMGR_MODE_NETWORK or CLK-MGR_MODE_STANDALONE.
(CONSTANT INTEGER MODE)
CLKMGR_IS_DAYLIGHTSAVINGS_ON() Returns FALSE/0 or TRUE/1 (default = FALSE/0).
CLKMGR_SET_DAYLIGHTSAVINGS_MODE Can be set to ON/TRUE or OFF/FALSE.
(CONSTANT INTEGER ONOFF)
CLKMGR_GET_TIMEZONE() Returns Timezone as a string in the format: UTC[+|-]HH:MM
CLKMGR_SET_TIMEZONE Input string must have the correct format: UTC[+|-]HH:MM
(CONSTANT CHAR TIMEZONE[])
CLKMGR_GET_RESYNC_PERIOD() Returns the Clock Manager's re-sync period in minutes (default = 60). This
setting has no effect if the Clock Manager mode is set to STANDALONE.
CLKMGR_SET_RESYNC_PERIOD Sets the re-sync period to the specified minute value. The upper bound is 480
(CONSTANT INTEGER PERIOD) minutes (i.e., 8 hours).
CLKMGR_GET_DAYLIGHTSAVINGS_OFFSET Populates the TIMEOFFSET structure with the current Daylight Savings Offset
(CLKMGR_TIMEOFFSET_STRUCT T) configured. The function returns a negative SLONG value if it encounters an
error.
CLKMGR_SET_DAYLIGHTSAVINGS_OFFSET Sets the Daylight Savings Offset to the specified value.
(CONSTANT CLKMGR_TIMEOFFSET_STRUCT T)
CLKMGR_GET_ACTIVE_TIMESERVER Populates the TIMESERVER structure with the currently active time server's
(CLKMGR_TIMESERVER_STRUCT T) data. The function returns a negative SLONG value if it encounters an error.
CLKMGR_SET_ACTIVE_TIMESERVER Sets the time server entry that has the matching IP-ADDRESS to the IP
(CONSTANT CHAR IP[]) parameter as the active time server entry.