Aurora Multimedia WACI NX-22 Reference Manual & Programming Manual

Web access control system
Table of Contents

Advertisement

Quick Links

Reference Manual &
Programming Guide
WACI NX-22
Revision 2009.09.03
Aurora Multimedia
205 Commercial Court
Morganville, NJ 07751
(732) 591-5800
(732) 591-5801 (Fax)
www.auroramultimedia.com

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the WACI NX-22 and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for Aurora Multimedia WACI NX-22

  • Page 1 Reference Manual & Programming Guide WACI NX-22 Revision 2009.09.03 Aurora Multimedia 205 Commercial Court Morganville, NJ 07751 (732) 591-5800 (732) 591-5801 (Fax) www.auroramultimedia.com...
  • Page 2 © Copyright 2009, Aurora Multimedia Corp. All rights reserved, including the right to reproduce this guide or parts thereof, in any form without the express written permission of Aurora Multimedia, Inc. Trademarks and registered trademarks are the properties of their respective owners. Software and hardware...
  • Page 3: Table Of Contents

    I. Quick Contents I. QUICK CONTENTS..............................3 II. FULL CONTENTS..............................4 III. INTRODUCTION..............................6 IV. BOX CONTENTS..............................7 V. HARDWARE SPECIFICATIONS........................8 VI. EXPANSION HARDWARE ..........................17 VII. FACTORY DEFAULT CONFIGURATIONS..................18 VIII. QUICK START..............................19 IX. USING THE WACI..............................23 X. WEB SERVER FEATURES..........................26 XI.
  • Page 4: Full Contents

    II. Full Contents I. QUICK CONTENTS..............................3 II. FULL CONTENTS..............................4 III. INTRODUCTION..............................6 IV. BOX CONTENTS..............................7 NX-22............................7 ONTENTS FOR THE V. HARDWARE SPECIFICATIONS........................8 ..............................8 ENERAL PECIFICATIONS ....................... 10 BSOLUTE AXIMUM ATINGS FOR ARDWARE ............................11 ARDWARE ARTS VERVIEW ..........................
  • Page 5 XII. ADMIN WEB PAGES............................31 ..................................32 ETUP ................................38 IAGNOSTICS )........................ 49 VENTS EE SECTION VENT ANAGER ...................................49 ILES XIII. THE EVENT MANAGER..........................54 , & V .......................54 VERVIEW OF VENTS CTIONS ARIABLES ..........................55 VENT ANAGER ..................................57 VENTS ..................................63 CTIONS ...................................71 ARIABLES ...................................73 UNCTIONS...
  • Page 6: Iii. Introduction

    Aurora Multimedia did not stop at the software user interfaces to increase the serviceability and value of the WACI. Other simple but effective innovations include C Type relays (normally open & closed physically available), which allow creative use such as a switcher or to expand the amount of discrete ports;...
  • Page 7: Iv. Box Contents

    IV. Box Contents Box Contents for the NX-22 12v 15 Watt Supply 2 IR Port Emitters International Supply NX-22 Device Power Adapters IR Emitters...
  • Page 8: Hardware Specifications

    V. Hardware Specifications General Specifications NX-22 Notes Size 1.75” H x 8.4” W x 4.51” D √ Weight 0.8 lbs. √ Power 12V DC 15watt Adapter Processor 32-Bit √ 900 MIPS Normal Mode √ Processing Cipher √ Supports DES, 3DES, Implements entire IPsec packet processing in hardware –...
  • Page 9 Infrared Outputs (IR) 30KHz – 2MHz RS-232 TX as well Infrared Input IR input device triggers Digital Input / Digital Output High Impedance 200ma Sink Open Drain Relay (SPDT) C-Type (NO, NC, CP) Audio Unbalance Input 20Hz-20Khz Unbalanced Output 20Hz-20Khz Monitoring 32-Bit Internal Clock/Calendar √...
  • Page 10 Absolute Maximum Ratings for Hardware Below is a summary of the minimum, maximum, and typical values for the hardware. These are maximum ratings only. Operation of the device at or above these ratings for extended periods of time may affect reliability. Units Notes WACI Input Voltage...
  • Page 11 Hardware Parts Overview NX-22 Parts Overview Short Description More Info Built-in LCD display for setup and diagnostics LED Indicators Power, IR In, Serial, IR, Relays, I/O Six button menu navigation IR Learner Port Reset paperclip button hole Micro SD Memory Expansion USB 2.0 Host IR In Port Power Adapter Port...
  • Page 12: D Escriptions

    Detailed Hardware Descriptions Power Indicator and LCD A green power indicator is available on both the NX-22. The power indicator is lit whenever power is applied to the WACI. The LED will stay solid if the system is OK. Power Adapter The power adapter is included with the WACI NX.
  • Page 13 Serial Port Pin-Out Diagram RS-232 RS-422/485 LED Indicators for Serial Ports 1 & 2 There are two (2) sets of LEDs, one set for each serial port. Each set consists of two (2) red LEDs that indicate activity on the pins. When using RS-232 communications, the two LEDs indicate activity on the TX and RX pins.
  • Page 14 Network Interface The WACI NX has two 10/100 Auto MDX Ethernet ports. LAN1 is POE (Power Over Ethernet) capable. The Auto MDX allows the use of null or straight through LAN cables to the ports. LAN Port The WACI may be connected to a network using a standard RJ-45 Ethernet cable in this port. Both 10Mb and 100Mb connections are supported.
  • Page 15 Digital I/O 1&2 Each I/O port is capable of being used in one of two different configurations; Digital Input, and Digital Output. These modes of operation can be configured in the built in setup pages of the WACI NX or via RPC commands.
  • Page 16 The IR Learner is used to learn the IR codes from a device’s remote control. It can read many different types of remotes. If it has trouble with your remote, you may need to download from Aurora Multimedia a .WIR file that is specific to the device.
  • Page 17: Vi. Expansion Hardware

    VI. Expansion Hardware The WACI NX control system has the ability to expand its capabilities using the docking USB 2.0 Host and USB 2.0 OTG connectors. This expansion bus is capable of high speed connection up to 400Mbps to pass through small or large amounts of data for additional features like additional ports, Bluetooth Voice Lift, WIFI, and much more.
  • Page 18: Factory Default Configurations

    VII. Factory Default Configurations Default Network Settings for LAN 1 & 2 DHCP Enabled IP Address From DHCP Subnet Mask From DHCP Gateway From DHCP Host Name WACI Password admin Default Serial Settings Baud rate 9600 baud Data bits Parity bits None Stop Bits Signal Level...
  • Page 19: Viii. Quick Start

    VIII. Quick Start STEP 1: Powering Up Locate the power adapter that came with your WACI. Plug the small end into the power supply port (labeled “Power”) on the lower left side on the back of the WACI, and the large plug into a wall socket or compatible power supply.
  • Page 20: Step 2: Determining Waci Connection

    STEP 2: Determining WACI Connection Decide how you would like to connect to your WACI to configure it: Connection Type Why use this connection What do I do next to type? connect my WACI this way? This is the typical set up for STEP 3A: Connecting general WACI NX use.
  • Page 21: Step 3B: Direct Connection If Static Ip Is Set Step 3C: Direct Connection With A Serial Cable Step 4: Access The Waci

    methods for doing this: 1) press and hold any of the 6 buttons from the front panel for 5 seconds while plugging in the power for the boot menu 2) go into Setup page of the Admin Web Pages (see Admin Web Pages, page 31).
  • Page 22: Step 5: Configure Waci Using The Admin Web

    The WACI supports the NBNS (NetBIOS Naming Service) for host name resolution. To access the WACI by its host name, make sure your computer has the appropriate protocols loaded. If you are running Windows XP, make sure the NWLink NetBIOS protocol is installed. For Windows 9x, the protocol of interest is NetBEUI.
  • Page 23: Ix. Using The Waci

    IX. Using the WACI This section summarizes common administrative tasks for running your WACI and refers you to appropriate sections of this manual for further details. Testing Hardware From the Boot Menu (see Boot Menu Reference, page 27), you may: •...
  • Page 24: Viewing Server Logs

    Note: Firmware can be uploaded only one file at a time, and the WACI cannot be used for any other purpose while in the upgrade mode. Viewing Server Logs Logs for the RPC, Web, and FTP servers may be monitored in the Logs section (see Log Files, page 46) of the Admin Web Pages: •...
  • Page 25: Using Remote Procedure Calls (Rpc S )

    • Reducing training costs for employees who operate the system controlled by the WACI. • Easy network access to interfaces is required. • Facilitation of documentation distribution. Once your custom web files are created, and your WACI is live on your network, the files may be uploaded with any standard FTP client to: ftp://[IP Address or Host Name]/wwwpub/ These custom web pages may be viewed with a web browser at:...
  • Page 26: Web Server Features

    X. Web Server Features One of the greatest benefits of the WACI is its ability to serve up custom web pages that you upload to the device. The WACI has built-in support for the following web features: Content Type Notes Active Server Pages .ASP File Extension Hyper Text Markup Language...
  • Page 27: Boot Menu Reference

    XI. Boot Menu Reference Accessing the Boot Menu with a Serial Connection Connect the Serial 1 Port of the WACI to your computer with an RS-232 Data Transfer Cable (also known as a Null Modem Cable). Using Hyper Terminal (or similar software), connect to the WACI with the default Serial Settings: Baud Rate: 115k, Data bits: 8, Parity: None, Stop bits: 1, and Flow control: None.
  • Page 28: 1: Restore Factory Defaults

    IP address : [Automatic] Subnet Mask : [Automatic] Gateway : [Automatic] Ethernet Port 2 Settings MAC address : [00-11-02-01-00-03] Host Name : [WACINX2] DHCP Enabled : Yes IP address : [Automatic] Subnet Mask : [Automatic] Gateway : [Automatic] Password : [admin] OS Loaded : Yes OS Filename : nk.bin <Press Enter>...
  • Page 29: 3: Change Password

    Note: The TFTP client is available on Linux, Windows NT, 2000, and XP. Windows 9x, Windows ME, and the Macintosh O/S’s don’t come with a TFTP client. You’ll need to acquire a third-party client to upgrade your WACI using these operating systems. Contact Aurora Multimedia for a list of clients that will work with your O/S.
  • Page 30: 6: Lamp Test

    6: Lamp Test Turns all LEDs on, so you can verify that they are working correctly. 7: Memory Test Performs a memory scan to validate the integrity of the system RAM. 8: Erase File System Deletes all files downloaded to the WACI. These are normally the files that have been downloaded using an FTP client to <ftp://[Host Name]/>.
  • Page 31: Admin Web

    XII. Admin Web Pages Admin web pages include setup and diagnostic options, and may be accessed at: http://[IP Address or Host Name]/setup/ From this web page, you may click on: • SETUP - for firmware version, date/time setting, network settings, and network security settings.
  • Page 32: Setup

    Setup This web page allows you to set several administrative options. Many of these options are also available from the Boot Menu. Firmware Version The firmware version installed on the WACI is displayed.
  • Page 33 Date / Time The current date and time is displayed. You may also set the date and time using the pull-down menus. Once you have made new selections, use the “Set Date and Time” button next to the pull-downs to save the new date and time.
  • Page 34 Network Settings If DHCP is enabled for the WACI, the IP Address, Subnet Mask, and Default Gateway are automatically assigned, and the values will be grey and un-editable. If the DHCP is disabled, the values for IP Address, Subnet Mask, and Default Gateway will be black and editable.
  • Page 35 User account settings allows the admin to set up an unlimited amount of accounts for various users and their required privileges. The URL for user account setup is the IP address of the unit /user (ex. 10.10.10.10/user). Entering this URL address will bring up the user log on access which is limited by the access granted.
  • Page 37 Port Setup This page allows you to change Serial Port and IR Port settings. NX-22 has 2 Serial ports and 2 IR ports. SQL Setup Using SQL Setup, users are able to create tables, make queries, and store data in a WACI’s database.
  • Page 38: Diagnostics

    Diagnostics The Diagnostics web page for the WACI NX-22 reflects its supported diagnostics: Clicking on either the button or the link on the web page will take you to the available diagnostic tools. All the diagnostics are presented in this section in the order found on the NX-22 Diagnostics web page.
  • Page 39: System Information

    System Information System information is available for the NX-22. It shows available memory, current network settings, IR Port, Serial Port, Relay Port, and I/O Port settings. By clicking “System Reset” button, you can remotely restart WACI. It is useful after making changes to...
  • Page 40 some settings or modifying EventManager file. IR Settings When selecting IR Settings a page with 2 choices will appear. One is for IR diagnostics to test already learned commands or to send RS-232 commands out the IR if used as a serial device. The other selection is to learn a new remote or to add commands to an existing one.
  • Page 41 Once a command is selected from the menus of the stored IR commands, you may send the command out the selected port to the attached IR emitter. When the IR emitter is sending a command, the LED on the back of the emitter will light up. You may also refresh the file and command lists by selecting “Refresh Lists”, delete the selected command by selecting “Delete Command”, or delete the selected group (including all its associated commands) by selecting “Delete Group”.
  • Page 42 In Step 1, choosing a File Name allows you to “group” all of your IR commands by device. For your convenience, you may choose a File Name that indicates which device you have chosen to support (such as “acmeDVD” or “acmeVCR”. You may also enter the Make, Model, Remote Model, and any Comments about your device (this information is optional).
  • Page 43 what is available in this area for learning. If a template was used then fields with predefined names that can still be edited will appear otherwise you may choose a name for your Command (such as “Play” or “Eject”). Use letters and numbers only, no spaces should be included in the name. This Command will be associated with the device / File Name you specified in step 1.
  • Page 44 The serial send and receive histories logs the bytes being output or input through the ports. First, select which port to log (1 or 2), and then specify the display. The bytes passing through the port may be displayed as printable ASCII characters, hex values, or decimal values. If you select ASCII characters, you must also choose how you wish to view non-printable characters.
  • Page 45 equivalents. For example, the decimal byte stream “103 111 111 100 32 100 111 103” is equivalent to the hex byte stream “67 6F 6F 64 20 64 6F 67”. It is also equivalent to the ASCII string “good dog”. However, to send the string to the serial port, you must use a combination of printable ASCII characters and hex values only.
  • Page 46 When the state of the port is “High”, the LED light will be on. Log Files Log files for the WACI servers are available for the WACI NX-22. An admin may review or clear (reset) the logs from this page:...
  • Page 47 RPC Server Info Displays the build date and version number of the RPC server. Also displays all tokens and methods available from the server. RPC Server Commands Logs all HTTP Post calls to the server. Active X calls are not logged. Use this log to monitor calls made to the WACI by your custom web applications.
  • Page 48 Firmware The Firmware page, available on the WACI NX-22., will walk you through a WACI firmware update: First, you will be prompted for the firmware files. Firmware upgrade files will have either the extension .AFW for operating system upgrades, or .ABT for bootstrap loader upgrades.
  • Page 49: Events (See Section: The Event Manager)

    If ActiveX is enabled for your web browser, you may also request that the WACI create a batch file waciload.bat that will execute this command. The batch file will be placed at the root of your local drive. To actually upload the file, click the “Ready to Download Firmware“ button. The blue Status LED will turn OFF, and all the Serial LEDs for both ports will be on.
  • Page 50 You may be prompted for password, which is the same as the administrative password for the WACI. Any user name, such as “user”, is valid as long as the password is correct. NOTE: While this is a convenient way to access the WACI's FTP directories, any standard FTP client (such WFTP for Windows, Fetch for Macintosh, or “ftp”...
  • Page 51 EventManager This directory is created when you create a custom Event, Action, or Variable from the Event Manager web page (see The Event Manager Web Page, page 55). All Event Manager data is stored in the file EventManager.wem and backed up in the file EventBackup.wem. Access to these files are provided for your own convenience, so that you may archive your backups, restore a backup, or create “frequently-used”...
  • Page 52 Command files for IR Learning are stored in the IR directory, and have extension *.WIR. The WACI's built-in web server supports many Internet standards such as HTML, XML, DHTML, Visual Basic, Active Server Pages, Java, JavaScript, server-side includes, and Macromedia Flash. All files supporting these standards (.htm, .html, .gif, .jpg, .asp, .fla, .swf, etc.) may be safely uploaded to the wwwpub directory.
  • Page 53 Finally, drag and drop selected files from your File Explorer:...
  • Page 54: The Event Manager

    XIII. The Event Manager The Event Manager is a feature of the WACI that allows you to program the WACI to perform operations autonomously. With the Event Manager, you can associate different hardware or software events with actions to be performed directly on the WACI. There is then no need to continuously control the WACI using some client side software.
  • Page 55: The Event Manager Web Page

    The Event Manager Web Page The Event Manager page may be accessed by clicking on “Events“ at the top of any page. This page is organized by Events, Actions, and Variables. Note that Actions are always associated with its Event. Selecting an Event will highlight the Event and display all its associated Actions.
  • Page 56 sometimes necessary, while: • Configuring or reconfiguring your WACI with a device. • Debugging configurations. • Restoring, copying, or updating an Event Manager file (see EventManager, page 51). Disable the Event Manager by selecting the Disabled” radio button at the top of the page. Enable the Event Manager to reactivate all triggers when you are finished with your WACI administration.
  • Page 57: Events

    Events Creating and Editing Events Selecting the “Add event” button from the Event Manager page will create a new Event, while selecting the “Edit” button above the Event list will allow you to edit whichever Event is highlighted. You will be prompted for the name of the Event, the type of Event, and any options associated with the Event, as described in the next two sections.
  • Page 58 Timer The timer operates by counting down from a value specified by hours:minutes:seconds. When the timer “runs out”, the Timer Event is triggered, and the timer is restarted at the specified value. While Clock Events allow you to schedule recurring tasks based on fixed, regular calendar periods (daily, weekly, etc,), Timer Events allow you to schedule recurring tasks based on user-defined time periods.
  • Page 59 DIO (Digital Input/Output) A DIO Event is triggered when the INPUT or OUTPUT value at a specified Digital I/O port reaches the desired state, either low or high. If an expression is defined for a DIO Event, then the expression is evaluated whenever the state of DIO port changes.
  • Page 60 Network The Network Event allows you to trigger when the status of one of the Ethernet Ports changes. IR Input The IR Input Event allows you to trigger events based on the IR command received from the external device connected to WACI using IR In port. Named Event The Named Event is the Event that can be only triggered manually.
  • Page 61 Other Event Options Group Name To help organize Events into meaningful groups, a Group field is available. Enter any text into this field. On the main Event Manager page, you can click on the Group label at the top of the Event list’s Group column to sort the Events by their Group name.
  • Page 62 When a remote Event is created, a copy of the Event is place on the remote WACI. This remote copy cannot be changed, but can be seen if you open the Event Manager web page on the remote WACI. The copy will have the IP address of the local WACI appended to the end of the Event’s name.
  • Page 63: Actions

    Actions Creating and Editing Actions Actions are the tasks performed when an Event is triggered, so they are always associated and displayed with their Events. Actions may be created from the main Event Manager web page by first selecting an Event, highlighting it, and then selecting the “Add action”...
  • Page 64 Types of Actions Variable A Variable Action allows you to change the value of a Variable (see Variables, page 71) once an Event is triggered. Options that must be defined for the Variable Action are the Output Variable and the Output Value.
  • Page 65 Event An Event can fire Actions that trigger or cancel other Events. An Event Action allows you to specify the Events to “execute” or “cancel”. Executing an Event means that if the Action’s Event is not already running at the time the Event Action is called, the Action’s Event will then be triggered, and any associated Actions will be fired.
  • Page 66 There are no repeat values for HTTP Post Actions. The Action will execute only once each time the owning Event is triggered. Use the “Timeout in” value to have the Action abort, if it doesn’t complete before the time-out period expires.
  • Page 67 There are no repeat values for Telnet Actions. The Action will execute only once each time the owning Event is triggered. Use the “Timeout in” value to have the Action abort, if it doesn’t complete before the time-out period expires. A DIO Action sends an Output Value of “High”...
  • Page 68 Command to execute must be specified by its Group name and Command name. UDP Actions allow information to be sent to a device which use the UDP as its means of communication via LAN. PJLink PJLink action, also known as Projector link, is an action that allows easy communication to a PJLink device via LAN.
  • Page 69 Audio Audio Actions can play, stop, pause, change rate, skip tracks, change volume, and position. In addition, the audio action can work off of playlists stored on the WACI to simplify playback sequences. Action Timing Options Actions may be: • Infinite - execute forever, or until another Action cancels the Event.
  • Page 70 • Delayed by as many as 2 seconds. The value can be a real number, e.g. 2.5 for 2500 milliseconds. If the Action is repeated any number of times, this delay only applies to the first run. • Repeated every N seconds, where N can be a maximum of 2 seconds.
  • Page 71: Variables

    Variables Variables are used to store information that can be retrieved or acted upon by the Event Manager, or by calls to RPC functions (see Variable Methods, page 161). You can create Variables that hold temporary data, or configure them to keep their value even when the WACI is reset. You can also use Variables to store data to be used by your own Web interface or Flash application stored on the WACI.
  • Page 72 failure, so the Default Value is not used when the “Persist” check box is CHECKED. The storage of the Current Value does take some time, since it is stored into flash. Therefore, if a Variable is changed often, such as a counter, the WACI will perform more efficiently if you set a Default Value, and UNCHECK the “Persist”...
  • Page 73: Functions

    Range A Range Variable specifies a range of values between a minimum and maximum value. Each value can be a number between -2 and +2 -1. The maximum value should be greater than the minimum. Range Variables have one other parameter, which is calculated from the minimum and maximum values. The de-bounce value, displayed after the maximum value, is used to provide a small measure of hysteresis to prevent flutter.
  • Page 74 • bincpy(binary_data, Start, Count) - returns ‘count’ bytes of binary data starting at ‘start’. • binlen(binary_data) - - returns the number of bytes of binary data • CHAR(integer) Returns string Converts a integer to a ASCII character. Range of input number: 0 to 255. Example: varstring = CHAR(65) varstring = ‘A’...
  • Page 75 Generates a random number between 0 and 32,767 seeded by the number of milliseconds since the device boot. • replace(String, S1, S2) Search string for findstr and replace with newstr. If the string S1 cannot be found inside of String, just return the original string. Example: replace(“abcdef”,”xyz”,”abc”) returns “abcdef”.
  • Page 76: Expressions

    Expressions Trigger Values for Events and Output Values for Actions may be written as expressions (instead of constant values) by checking the “(expression)” flag. Evaluating expressions is described in this section. Interpreting Values as Expressions If the “(expression)” option is UNCHECKED, the trigger and output values are treated as simple strings, and no quotation marks are needed.
  • Page 77 This expression..resolves to this Notes value. Hello+3 Assuming Hello is a number Variable holding a value of 4. 3+”6” The string “6” is valued as 6, a number, and 3 is a number. 3+”Hello” The string is treated as 0 because “Hello”...
  • Page 78 Subtraction/Minus (-) Operator The subtraction operator works with both numerical values and strings values. Use this operator with strings to remove a sub-string from a source string, or use this operator to subtract two integer values. For example: This expression..
  • Page 79 “John”: This expression..resolves to this value. MyNumber==4 MyNumber==“4” MyNumber==5 MyName==“John” MyName==“J*” 0==“John” Not-Equal Comparison (!=) Operator The not-equal comparison operator will compare two tokens, which can be strings or integers. Exactly opposite to the equal comparison operator, the expression will return 0 if the two tokens are equivalent, and 1 if they are NOT equal.
  • Page 80 Greater-Than or Equal Comparison (>=) Operator The greater-than or equal comparison operator will compare two tokens, which can be integers or strings (assuming the string represents an integer value). The expression will return 1 if the first token has an integer value larger than or equal to the second, and 0 if the second value is larger.
  • Page 81 returning true (1) or false (0). The logical-and operator determines the true or false state of the complex expression Expression1&&Expression2 using the rules applying to a traditional logical AND statement: If Expression1 Expression1&&Expression2 Expression2 resolves to... is... is... True (1) True (1) True (1) True (1)
  • Page 82 Logical-Not (!) Operator The logical-not is a prefix operator that “negates” the Boolean expression that follows it. In other words, if Expression1 returns true (1), !Expression1 returns false (0). For example: This expression..resolves to this value. !(4==3) !(“Hello”==“Hello”) Bitwise-And (&) Operator The bitwise-AND operator performs the logical AND operation bit by bit between two integers.
  • Page 83 Therefore: ~5 = (Binary) 010 = (Decimal) 2 Realize that the bitwise not is performed on a 32-bit value, e.g. ~0 converts to a 32-bit value with all bits in the integer set to 1. To get just the bits you want, you should AND the result with the bits of interest, e.g.
  • Page 84 This expression..resolves to this value. MyNumber+=4 7 (MyNumber also contains 7) MyString+=3 “Hello3” (MyString also contains “Hello3”) 3+=“6” Illegal (L-Value not a Variable) Subtraction Assignment (-=) Operator The subtraction assignment operator works with both numerical values and strings values. Use this operator with strings to remove a sub-string from a string Variable, or use this operator to subtract an integer value from a numeric Variable.
  • Page 85 For example, assuming MyNumber has an integer value of 4: This expression..resolves to this value. MyNumber/=3 1 (MyNumber is also 1) MyNumber/=0 0 (MyNumber is also 0) Bitwise-And Assignment (&=) Operator The bitwise-and assignment operator performs the logical AND operation bit by bit between an integer Variable and another integer.
  • Page 86 Code Name Description Date Represents the date as a string: MM/DD/YYYY Form feed Character code: 0x0C Trigger data Data that triggered the current Event Time Time that the current Event was triggered at: HH:MM:SS in 24hr format New line or linefeed Character code: 0x0D Origin that triggered Port number, Variable name, etc.
  • Page 87: Remote Procedure Calls

    XIV. Remote Procedure Calls Remote procedure calls (RPCs) are used to control a WACI using another WACI, or using a client computer. You can turn on and off the relays, send e-mail, add Events and Actions, etc. Anything the WACI can do can be configured or controlled through the RPC interface. The WACI supports RPCs for most web interfaces, including HTML, Flash (.fla), and Active Server Pages (.asp).
  • Page 88 General format for a call using HTTP Post: [version=[ RPC Server Version ]&]method=[ Method to Call ] [&encoding=[ Count ]][&param1=[ Value for Parameter 1 ]&param2=[ Value for Parameter 2 ]&param3=[ Value for Parameter 3, etc...]] See the detailed list of methods at the end of this reference for the method name and the values for param1, param2, etc.
  • Page 89: Fault Codes

    EXAMPLE #2: Net_GetSubnetMask The call for the Net_GetSubnetMask method: method=Net_GetSubnetMask Sample response: status=1&response1=255.255.255.0 Fault Codes Fault Code Fault Description Function parameter out of range / item specified does not exist Timed out waiting for a mutex or shared resource Memory allocation failure Configuration does not support action (i.e.
  • Page 90: Using Macromedia Flash

    Using Macromedia Flash You may access all WACP RPCs using HTTP post. In Flash, you may accomplish this using LoadVars{} and sendAndLoad(). An example for making these calls follows. STEP 1: Pass WACI IP Address to Flash To begin, you must pass the IP address of WACI to your Flash file. There is more than one way to do this, but below, we describe one sample method using JavaScript.
  • Page 91 STEP 2: Call RPC with HTTP Post Once you have the IP address, you are able to access the RPC server. Load the method and it's parameters into a LoadVars() object as shown below, then make the call with sendAndLoad(). // Get WACI IP RPCServerIP = [callerID, or whatever you used to get the IP address of the WACI];...
  • Page 92: Visual Basic Scripting

    Visual Basic Scripting To access an RPC using Visual Basic, first create a WACI object of type “WACI.UserAPI.1”. Then, call the method with the object, specifying any parameters in parentheses. For example, this script in an Active Server Page retrieves the IP address of the WACI and the settings for serial ports 1 and 2. Dim waciUser Dim strIP, strErr Dim strPort1, strPort2...
  • Page 93: Rpc Quick Reference

    RPC Quick Reference I. QUICK CONTENTS..............................3 II. FULL CONTENTS..............................4 III. INTRODUCTION..............................6 IV. BOX CONTENTS..............................7 NX-22............................7 ONTENTS FOR THE V. HARDWARE SPECIFICATIONS........................8 ..............................8 ENERAL PECIFICATIONS ....................... 10 BSOLUTE AXIMUM ATINGS FOR ARDWARE ............................11 ARDWARE ARTS VERVIEW NX-22 Parts Overview............................
  • Page 94 STEP 1: P ..............................19 OWERING STEP 2: D WACI C ........................20 ETERMINING ONNECTION STEP 3A: C NX-22 LAN......................20 ONNECTING THE TO A STEP 3B: D ...................... 21 IRECT ONNECTION IF TATIC STEP 3C: D ....................21 IRECT ONNECTION WITH A ERIAL ABLE STEP 4: A...
  • Page 95 RPC Server Commands............................... 47 Event Manager Log................................47 FTP Server Connections & Commands..........................47 Web Server..................................Firmware................................48 )........................ 49 VENTS EE SECTION VENT ANAGER ...................................49 ILES File Structure............................... 50 EventManager..................................IR......................................wwwpub....................................Allowable File Types............................51 Uploading Files..............................52 XIII. THE EVENT MANAGER..........................54 , &...
  • Page 96 Current Value..................................Types of Variables..............................72 Number....................................Schedule....................................String....................................Range......................................................................73 UNCTIONS Note: ALL FUNCTIONS ARE CASE SENSITIVE!!!................... 73 Note: You can utilize decimal, hex, binary, and octal integers for functions as exampled here:.......73 The following functions are available for use when the expression check box is checked in one of the supported actions.
  • Page 97 GetLastErrorCode ( )............................100 GetLastErrorString ( )............................100 GetLastExtendedErrorString ( )........................100 ..........................101 ENERAL NFORMATION ETHODS AllState_Get ( )..............................101 GetMachineType ( )............................101 GetFirmwareVersion ( ).............................101 ValidatePassword ( Password ).........................102 Time_GetDate ( )............................... 102 Time_Sleep ( Milliseconds )..........................103 ..............................104 ETWORK ETHODS Net_GetNetCardCount ( )..........................
  • Page 98 IR_SendData ( Port, Sequence, Data )......................120 IR_ListAllGroups ( )............................121 IR_ListAllCommandsInGroup ( Group )......................122 IR_ListAllCommands ( )............................ 122 IR_GetGroupMake ( Group )..........................122 IR_GetGroupModel ( Group )........................... 123 IR_GetGroupRemote ( Group )......................... 123 IR_GetGroupComment ( Group )........................124 IR_GetPortCount ( )............................124 ............................
  • Page 99 GetActionByIdx ( EventId, Idx ).........................149 GetActionByName ( EventId, Name )........................ 149 GetActionCount ( EventId )..........................149 GetActionDelay ( ActionId )..........................150 GetActionDutyCycle ( ActionId )........................150 GetActionHost ( ActionId )..........................150 GetActionIds ( EventId )............................ 151 GetActionInfo ( ActionId )..........................151 GetActionName ( ActionId )..........................152 GetActionOption ( ActionId, OptionType )......................
  • Page 100: Error Information Methods

    Error Information Methods GetLastErrorCode ( ) Returns the fault code from the last failed method call. Syntax HRESULT GetLastErrorCode( [out, retval] long* Code Parameters Code [out, retval] Integer representing fault code. Remarks The value of Code corresponds to faultCode of an HTTP Post response when status is 0 (failure). See {see Error: Reference source not found, page Error: Reference source not found} for a list of defined codes.
  • Page 101: General Information Methods

    General Information Methods AllState_Get ( ) Returns the entire hardware state Syntax HRESULT AllState_Get( [out, retval] VARIANT* Array Parameters Array [out, retval] Array representing entire hardware state. Remarks The array is filled as follows. Each port value is separated from the next port value by a comma. Element Field Type...
  • Page 102: Validatepassword ( Password )

    HRESULT GetFirmwareVersion( [out, retval] BSTR* Version Parameters Version [out, retval] A returned string of the format “DEVICE #.# DATE”, where “DEVICE” is the name of the device, #.# represents the version number, and DATE represents the build date for the firmware image in MMM DD YYYY format. ValidatePassword ( Password ) Checks a password against the administrator password.
  • Page 103: Time_Sleep ( Milliseconds )

    Time_Sleep ( Milliseconds ) Generates a wait period using the specified number of milliseconds. Syntax HRESULT Time_Sleep( [in] long Milliseconds, [out, retval] VARIANT_BOOL* Success Parameters Milliseconds [in] The number of milliseconds to wait. Success [out, retval] TRUE if the Milliseconds value is greater than or equal to 0 and less than or equal to 999999, and FALSE if value is outside this range.
  • Page 104: Network Methods

    Network Methods Net_GetNetCardCount ( ) Returns the number of Ethernet ports on the device. Syntax HRESULT Net_GetNetCardCount( [out, retval] long* Count Parameters Count [out, retval] The response send back from the server. Net_GetIPAddress ( ) Returns the current IP address of the device. Syntax HRESULT Net_GetIPAddress( [out, retval] BSTR* IP...
  • Page 105: Net_Getsubnetmaskex ( Netcard )

    Parameters SubnetMask [out, retval] String containing the current subnet mask of the device, such as “255.255.255.0”. Net_GetSubnetMaskEx ( NetCard ) Returns the current subnet mask of the network interface specified. Syntax HRESULT Net_GetSubnetMask( [in] long NetCard [out, retval] BSTR* SubnetMask Parameters NetCard [in] The ID of the netcard to get the subnet mask from SubnetMask...
  • Page 106: Net_Sendmail( Senderid, Toids, Ccids, Bccids, Subject, Messagebody )

    [in] The server address to post to, e.g. http://192.168.0.100/rpc. [in] Flag indicating whether PostData contains simple text or an expression. Set to 1, if IsExpression PostData is an expression; otherwise, set to 0. PostData [in] A string or expression that represents the data to send to the server. Timeout [in] The number of milliseconds to wait for a response from the web server before the call aborts.
  • Page 107 Syntax HRESULT Net_SendMailEx( [in] long NetCard, [in] BSTR SenderId, [in] BSTR ToIds, [in] BSTR CcIds, [in] BSTR BccIds, [in] BSTR ReturnPathId, [in] BSTR ReturnRcpId, [in] BSTR MsgComment, [in] BSTR Subject, [in] long IsExpression, [in] BSTR MessageBody, [out, retval] long *Result Parameters NetCard [in] The ID of the Network port to send the mail through...
  • Page 108: Telnet Methods

    Telnet Methods Telnet_Send ( NetCard, Msg, MaxWaitMS ) Writes a string to the log file identified by FileName. Syntax HRESULT Telnet_Send( [in] long NetCard, [in] BSTR Msg, [in] long MaxWaitMS [out, retval] long* NotSent Parameters Netcard [in] ID of network port to use. [in] Message to send.
  • Page 109: Logging Methods

    Parameters Netcard [in] ID of network port to use. Read [out, retval] Returns the data in the buffer. Telnet_ClearReadBuffer ( NetCard ) Clears the telnet buffer of the specified network port. Syntax HRESULT Telnet_ClearReadBuffer( [in] long NetCard, [out, retval] VARIANT_BOOL* Success Parameters Netcard [in] ID of network port to use.
  • Page 110: Log_Readfile ( Filename, Maxlength )

    [in] Set to 0 if Buffer is a simple string, and 1 if Buffer contains an expression. IsExpression Buffer [in] String to write to the log file. MaxSize [in] The maximum size the log file can grow to. Once the file reaches this size, then the oldest data is discarded.
  • Page 111: Log_Nextfile ( Wildcard )

    Syntax HRESULT Log_ClearFile( [in]BSTR Wildcard, [out, retval]BSTR* Filename Parameters Wildcard [in] Filters the list of log names returned. Leave blank for all. Success [out, retval] TRUE if the log file was cleared, FALSE on failure. Log_NextFile ( Wildcard ) Read the name of the last file in the Logs directory. Use this to loop through all filenames, and use wildcards to filter results.
  • Page 112: Serial Methods

    Serial Methods Serial_GetSettings ( Port ) Returns the port settings for the specified serial port. Use the WACI DIP switches or Web interface to set these parameters. Syntax HRESULT Serial_GetSettings( [in] long Port, [out, retval] BSTR* Settings Parameters Port [in] Port number for the serial port. Valid values are 1 and 2. Settings [out, retval] Comma separated string representing the current port settings.
  • Page 113: Serial_Sendexpression ( Port, Expression, Data )

    Remarks The Msg parameter text should be passed in as a URL encoded string. To have a Nul character sent out the serial port, pass a “%00” as part of the Msg string. Serial_SendExpression ( Port, Expression, Data ) Sends the result of an expression to a serial port. Syntax HRESULT Serial_SendExpression( [in] long Port,...
  • Page 114: Serial_Readbuffercount ( Port )

    Syntax HRESULT Serial_ClearReadBuffer( [in] long Port, [out, retval] VARIANT_BOOL* Success Parameters Port [in] Port number for the serial port. Valid values are 1 and 2. Success [out, retval] TRUE if the buffer was cleared, FALSE if buffer failed to clear. Remarks If you wish to read a specific response to a sent command, then make a call to this function just prior to calling Serial_Send.
  • Page 115: Relay Methods

    Relay Methods Relay_On ( Port ) Switches on the relay at the specified port. Syntax HRESULT Relay_On( [in] long Port, [out, retval] VARIANT_BOOL* Success Parameters Port [in] Port number for the relay. Valid values are 1, 2, 3, and 4. Success [out, retval] TRUE if the relay was switched on, FALSE if the relay failed to switch on.
  • Page 116: Relay_Getportcount ( )

    State [out, retval] 1 if the relay is on, 0 if is off. Relay_GetPortCount ( ) Returns the number of relays supported by the WACI hardware. Syntax HRESULT Relay_GetPortCount( [out, retval] long* NumPorts Parameters NumPorts [out, retval] Number of relays supported by the hardware.
  • Page 117: Digital I/O Methods

    Digital I/O Methods DIO_Read ( Port ) Reads the digital I/O at the specified port. Syntax HRESULT DIO_Read( [in] long Port, [out, retval] long* State Parameters Port [in] Port number for the digital I/O. Valid values are 1, 2, 3, and 4. State [out, retval] The state of the DIO port.
  • Page 118: Dio_Isoutput ( Port )

    Success [out, retval] TRUE if the digital I/O port was successfully set high, and FALSE if the port was not set. Remarks The voltage is a reference from the GND line of the DIO connector block. DIO_IsOutput ( Port ) Returns whether the Digital I/O line is set for output or input.
  • Page 119: Ir Methods

    IR Methods IR_SendCommand ( Port, Group, Command ) Sends an IR command out the specified IR port. Syntax HRESULT IR_SendCommand( [in] long Port, [in] BSTR Group, [in] BSTR Command, [out, retval] VARIANT_BOOL* Success Parameters Port [in] Port number of the IR Port of interest. Valid values are 1 and 2. Group [in] Name of the file that contains the command.
  • Page 120: Ir_Senddata ( Port, Sequence, Data )

    Remarks Commands are typically grouped together by device. IR_SendData ( Port, Sequence, Data ) Converts the supplied Data to a valid IR command and sends the command out the specified IR port. Syntax HRESULT IR_SendData( [in] long Port, [in] long Sequence, [in] BSTR DATA, [out, retval] VARIANT_BOOL* Success Parameters...
  • Page 121: Ir_Listallgroups ( )

    The sequence is formatted as follows: Offset Size (in 16 Ident. Name Description Sample bit words) wFormat Format. 0100: No carrier 0000 0000: Use carrier wFreq Carrier The formula below is 005C frequency used to calculate this value. wOnce Once size The number of on/off 0000 pairs in the sequence...
  • Page 122: Ir_Listallcommandsingroup ( Group )

    Parameters List [out, retval] String containing a list of all group names. Commas separate the group names. Remarks A group typically represents a device, or more specifically, a group of commands for a device. Each group is stored in its own .WIR file. IR_ListAllCommandsInGroup ( Group ) Returns a string listing all commands in a specified group.
  • Page 123: Ir_Getgroupmodel ( Group )

    Syntax HRESULT IR_GetGroupMake( [in] BSTR Group, [out, retval] BSTR* Make Parameters Group [in] Name of the group representing the specified device. Make [out, retval] String containing the make of the device. Remarks This function returns the string that follows the “Make:” label in the .WIR file associated with the specified Group.
  • Page 124: Ir_Getgroupcomment ( Group )

    IR_GetGroupComment ( Group ) Returns any stored comments about a device. The device is specified by its group name. Syntax HRESULT IR_GetGroupComment( [in] BSTR Group, [out, retval] BSTR* Comment Parameters Group [in] Name of group representing the specified device. Comment [out, retval] String containing comments about the specified device.
  • Page 125: Event Manager Methods

    Event Manager Methods IsEventManagerEnabled ( ) Returns whether the Event Manager is active. When active, the Event Manager monitors the system hardware and triggers Events to run. Syntax HRESULT IsEventManagerEnabled( [out, retval]long* Enabled Parameters Enabled [out, retval] Returned as TRUE if the Event Manager is enabled and active, and returns FALSE when the Event Manager has been disabled.
  • Page 126 Syntax HRESULT WaitOnChangeEvent( [in]long ChangeMask, [in]long TimeOut, [out, retval]long* Result Parameters ChangeMask [in] A bit mask that defines which Events to watch for. TimeOut [in] Number of milliseconds to wait for an Event. If the timeout expires, the function returns with Result set to 0.
  • Page 127: Event Methods

    Event Methods Most of the Event methods use the Event’s ID to retrieve information about an Event. The Event’s ID is set when an Event is created, and is unique to the Event. The ID is re-issued when the system is powered up or the reset button is pressed.
  • Page 128: Cloneeventbyid ( Eventid, Cloneactions, Newname )

    Parameters Client [in] IP address or host name of the remote WACI. EventRecord [in] Text string that contains the information about the Event record for the format of the record EventId [out, retval] ID of the Event on the remote host. Remarks This function is called by the Event Manager when a local Event’s host_name field has been filled in.
  • Page 129: Deleteeventbyname ( Name )

    Remarks Calling this function deletes the Event as well as all Actions belonging to the Event. DeleteEventByName ( Name ) Delete an Event specified by its name. Syntax HRESULT DeleteEventByName( [in] BSTR Name, [out, retval] VARIANT_BOOL* Success Parameters Name [in] Name of the Event to delete. Success [out, retval] TRUE if the specified Event was successfully deleted, FALSE if deleting the Event failed.
  • Page 130: Geteventconcurrent ( Eventid )

    Syntax HRESULT GetEventByName( [in] BSTR Name, [out, retval] long* EventId Parameters Name [in] Name of the Event to identify. EventId [out, retval] Event ID of the specified Event. Remarks The ID returned by GetEventByName is used by the Event functions to retrieve information about the named Event, e.g.
  • Page 131: Geteventgroup ( Eventid )

    Syntax HRESULT GetEventCount( [out, retval] long* NumEvents Parameters NumEvents [out, retval] Total number of Events in the system. Remarks This function is used in conjunction with GetEventByIdx to get a list of the available Events. GetEventGroup ( EventId ) Returns the group name for the Event with a specified ID. Syntax HRESULT GetEventGroup( [in]long EventId,...
  • Page 132: Geteventids ( )

    Parameters EventId [in] ID for the specified Event. Host [out, retval] The name of the remote WACI that the Event is monitoring. Remarks Use SetEventHost to set the name of the remote host. When a remote host name is specified, then the local Event is triggered on a change in the remote WACI’s hardware or a change in one of the remote WACI’s Variables.
  • Page 133: Geteventmatch ( Eventid )

    Syntax HRESULT GetEventInfo( [in]long EventId, [out, retval] VARIANT* Info Parameters EventId [in] ID of the Event of interest. Info [out, retval] An array of data values that define the Event. Remarks The Info array is filled with the following: Element Field Type Info[0]...
  • Page 134: Geteventname ( Eventid )

    GetEventName ( EventId ) Returns the name of the Event with a specified ID. Syntax HRESULT GetEventName( [in] long EventId, [out, retval] BSTR* Name Parameters EventId [in] ID for the specified Event. [out, retval] Name of the specified Event. GetEventOption ( EventId, OptionType ) Returns the value of a specified option for a specified Event.
  • Page 135: Geteventschrecurtype ( Eventid )

    Syntax HRESULT GetEventSchClockType( [in] long EventId, [out, retval] long* ClockType Parameters EventId [in] ID for the specified Event. ClockType [out, retval] Is set to 1, if the Event is a scheduled Event, and 0, if the Event is a timer based Event.
  • Page 136: Geteventschmonth ( Eventid )

    Syntax HRESULT GetEventSchMaskOrDay( [in] long EventId, [out, retval] long* MaskDay Parameters EventId [in] ID for the specified Event. MaskDay [out, retval] Day of the month, or a mask of bits for the days of the week. MaskDay values for weekly Events: Value Bit # 0x00000001 (1)
  • Page 137: Geteventschrecureveryn ( Eventid )

    Syntax HRESULT GetEventSchYear( [in] long EventId, [out, retval] long* Year Parameters EventId [in] ID for the specified Event. Year [out, retval] Integer representing the scheduled year (for example, “1984” or “2003”). Remarks This function gets a value that is not used by the Event Manager. GetEventSchRecurEveryN ( EventId ) Returns the “Recur every”...
  • Page 138: Geteventschminute ( Eventid )

    GetEventSchMinute ( EventId ) Returns the minute that the Event is to be triggered. Syntax HRESULT GetEventSchMinute( [in] long EventId, [out, retval] long* Minute Parameters EventId [in] ID for the specified Event. Minute [out, retval] Integer representing the scheduled minute. Values range from 0 to 59. Remarks This function is valid only for Clock and Timer Events.
  • Page 139: Geteventtype ( Eventid )

    Remarks An Event monitors its Source for changes. When new data arrives, or the data changes, the Event is notified. The setting of the Event’s match value determines whether the Event is signaled to execute on this change in data. The value of Source depends on the type of Event.
  • Page 140: Seteventbyname ( Name, Type, Concurrent, Source, Match )

    Syntax HRESULT SetEventById( [in] long EventId, [in] BSTR Name, [in] long Type, [in] long Concurrent, [in] BSTR Source, [in] BSTR Match, [out, retval] VARIANT_BOOL* Success Parameters EventId [in] ID for the specified Event. Name [in] Name of the specified Event. Type [in] Type of the Event, e.g.
  • Page 141: Seteventnetcard ( Eventid, Netcard )

    Match [in] Value to match to trigger the Event. If the Match value is an expression, then the expression will need to evaluate to 1 to cause the Event to trigger. Success [out, retval] TRUE if specified Event was successfully set, FALSE if setting the Event failed. Remarks Call this function to set up an Event.
  • Page 142 Set OptionVal to Value Option Concurrent 0 – Event’s Actions will execute serially 1 – Event’s Actions will execute concurrently Expression 0 – The trigger value is a simple text string 1 – The trigger value is an expression Disable 0 –...
  • Page 143: Seteventschedule ( Eventid, Recur, Maskorday, Month, Year, Recureveryn, Hour, Minute, Second )

    SetEventSchedule ( EventId, Recur, MaskOrDay, Month, Year, RecurEveryN, Hour, Minute, Second ) Modify the schedule settings of a specified Event. Syntax HRESULT SetEventSchedule( [in] long EventId, [in] long Recur, [in] long MaskOrDay, [in] long Month, [in] long Year, [in] long RecurEveryN, [in] long Hour, [in] long Minute, [in] long Second,...
  • Page 144: Sortevents ( Sorttype, Direction )

    Year [in] Year setting for the schedule. An integer such as “1984” or “2001” RecurEveryN [in] Number of periods between successive triggers of the Event. Hour [in] Hour setting for the schedule. An integer between 0 and 23. Minute [in] Minute setting for the schedule. An integer between 0 and 60. Second [in] Second setting for schedule.
  • Page 145 Data [in] The data received that caused the trigger. Success [out, retval] TRUE if the Events are successfully sorted, FALSE if sorting the Events failed. Remarks An Action executed by the triggered Event has access to the Data value by using the \g escape sequence within the Action’s output value.
  • Page 146: Action Methods

    Action Methods AddActionByEvId ( EventId, Name, Type, Delay, DutyCycle, StopAfter, Port, Output ) Creates an Action for an Event, specified by the Event ID. Syntax HRESULT AddActionByEvId( [in] long EventId, [in] BSTR Name, [in] long Type, [in] double Delay, [in] double DutyCycle, [in] long StopAfter, [in] BSTR Port, [in] BSTR Output,...
  • Page 147: Addactionbyevname ( Eventname, Name, Type, Delay, Dutycycle, Stopafter, Port, Output )

    AddActionByEvName ( EventName, Name, Type, Delay, DutyCycle, StopAfter, Port, Output ) Creates an Action for an Event, specified by the Event name. Syntax HRESULT AddActionByEvName( [in] BSTR EventName, [in] BSTR Name, [in] long Type, [in] double Delay, [in] double DutyCycle, [in] long StopAfter, [in] BSTR Port, [in] BSTR Output,...
  • Page 148: Deleteactionbyidx ( Eventid, Idx )

    Syntax HRESULT DeleteActionById( [in] long ActionId, [out, retval] VARIANT_BOOL* Success Parameters ActionId [in] ID of the Action to delete. Success [out, retval] TRUE if the specified Action was successfully deleted, FALSE if deleting the Action failed. Remarks Using the Action’s ID, this function locates the owning Event and removes the Action from the Event’s list of Actions.
  • Page 149: Getactionbyidx ( Eventid, Idx )

    GetActionByIdx ( EventId, Idx ) Returns the Action ID for a specified Event ID and Action index number. Syntax HRESULT GetActionByIdx( [in] long EventId, [in] long Idx, [out, retval] long* ActionId Parameters EventId [in] ID of the Event that contains the Action. [in] Index number for the Action.
  • Page 150: Getactiondelay ( Actionid )

    NumActions [out, retval] Total number of Actions owned by specified Event. GetActionDelay ( ActionId ) Returns the “Delay before start” value for the specified Action. Syntax HRESULT GetActionDelay( [in] long ActionId, [out, retval] double* Delay Parameters ActionId [in] ID of the Action to examine. Delay [out, retval] Number of seconds to delay.
  • Page 151: Getactionids ( Eventid )

    Remarks A return value of ““ indicates that the Action will be executed locally GetActionIds ( EventId ) Returns the IDs of the Actions owned by the specified Event. Syntax HRESULT GetActionIds( [in]long EventId, [out, retval]VARIANT* ActionIds Parameters EventId [in] ID for the owning Event. ActionIds [out, retval] The returned array of Action IDs.
  • Page 152: Getactionname ( Actionid )

    Info[9] Group BSTR GetActionName ( ActionId ) Returns the name of an Action specified by its ID. Syntax HRESULT GetActionName( [in] long ActionId, [out, retval] BSTR* Name Parameters ActionId [in] ID for specified Action. Name [out, retval] Name of the Action. GetActionOption ( ActionId, OptionType ) Returns the option for an Action, specified by its ID and the option type.
  • Page 153: Getactionport ( Actionid )

    Syntax HRESULT GetActionOutput( [in] long ActionId, [out, retval] BTSR* Output Parameters ActionId [in] ID of the Action to examine. Output [out, retval] Value to be output Remarks The value for Output depends on the type of Action. Action Type Values to set Output to Variable Depends on the type of Variable being assigned (see below) Serial...
  • Page 154: Getactionstopafter ( Actionid )

    Syntax HRESULT GetActionPort( [in] long ActionId, [out, retval] BTSR* Port Parameters ActionId [in] ID of the Action to examine. Port [out, retval] Port to output to Remarks The value of Port represents where the Action is going to send its output. Action Type Value for Port Variable...
  • Page 155: Moveactionbyidx ( Eventid, Idx, Where )

    Syntax HRESULT GetActionType( [in] long ActionId, [out, retval] long* Type Parameters ActionId [in] ID for specified Action. Type [out, retval] Type of the specified Action. Remarks Action types that the WACI supports, depends on the device’s hardware capabilities. Type values are: Value Action Type Supported on...
  • Page 156: Setactionbyid ( Actionid, Name, Type, Delay, Dutycycle, Stopafter, Port, Output )

    Remarks If Where == 0, and the Action is already at the top of the execution list (Idx == 0), then the function returns an error. Similarly, if Where == 1 and the Action is at the bottom of the list, then an error is returned. SetActionById ( ActionId, Name, Type, Delay, DutyCycle, StopAfter, Port, Output ) Modifies an Action specified by its Action ID.
  • Page 157: Setactionbyidx ( Eventid, Idx, Name, Type, Delay, Dutycycle, Stopafter, Port, Output )

    SetActionByIdx ( EventId, Idx, Name, Type, Delay, DutyCycle, StopAfter, Port, Output ) Modifies an Action specified by its associated Event ID and index. Syntax HRESULT SetActionByIdx( [in] long EventId, [in] long Idx, [in] BSTR Name, [in] long Type, [in] double Delay, [in] double DutyCycle, [in] long StopAfter, [in] BSTR Port,...
  • Page 158: Setactionhost ( Actionid )

    Syntax HRESULT SetActionByName( [in] long EventId, [in] BSTR Name, [in] long Type, [in] double Delay, [in] double DutyCycle, [in] long StopAfter, [in] BSTR Port, [in] BSTR Output, [out, retval] VARIANT_BOOL* Success Parameters Event ID [in] ID of the Event that contains the Action. Name [in] Name of the desired Action.
  • Page 159: Setactionoption ( Actionid, Optiontype, Optionval )

    Parameters ActionId [in] ID for specified Action. Host [in] Host name or IP address of the remote WACI. Success [out, retval] TRUE if the specified Action option was updated, FALSE if updating the option failed. Remarks When an Action’s host name is set to the name or IP address of a remote WACI, then the Action will be performed as if it were running locally on the remote WACI.
  • Page 160 Parameters SortType [in] Type of sort to perform Direction [in] Direction of the sort: 1 for ascending, and 0 for descending. Success [out, retval] TRUE if the Actions were successfully sorted, FALSE if sorting the Actions failed. Remarks This function is no longer supported.
  • Page 161: Variable Methods

    Variable Methods AddVariable ( Name, Type, Default, Value, Persist ) Creates a new Variable Syntax HRESULT AddVariable( [in] BSTR Name, [in] long Type, [in] BSTR Default, [in] BSTR Value, [in] long Persist, [out, retval] long VarId Parameters Name [in] Name to give the newly added Variable. Type [in] Type of Variable to add.
  • Page 162: Assignvariable ( Varname, Isexpression, Value )

    Persistence If a Variable is persistent, the value of the Variable is stored to permanent storage each time it is changed. So, if the device is reset or the power is turned off, the Variable will still have its last value when the system restarts. If the Variable is not persistent, then the Variable’s value is set to its default whenever the system restarts.
  • Page 163: Getvariablebyidx ( Idx )

    Syntax HRESULT DeleteVariableByName( [in] BSTR Name, [out, retval] VARIANT_BOOL* Success Parameters Name [in] Name of the Variable to delete. Success [out, retval] TRUE if the specified Variable was successfully deleted, FALSE if deleting the Variable failed. GetVariableByIdx ( Idx ) Returns the ID of the Variable located at the specified index.
  • Page 164: Getvariabledefault ( Varid )

    Parameters NumVariables [out, retval] Total number of Variables in the system. Remarks Use GetVariableCount in conjunction with GetVariableByIdx to enumerate the list of available Variables. GetVariableDefault ( VarId ) Returns the default value of the specified Variable. Syntax HRESULT GetVariableDefault( [in] long VarId, [out, retval] BSTR* Default Parameters...
  • Page 165: Getvariablepersist ( Varid )

    Syntax HRESULT GetVariableByName( [in] long VarId, [out, retval] BSTR* Name Parameters VarId [in] ID of the Variable to get the name of. Name [out, retval] Name of specified Variable. Remarks Variable names consist of letters, numbers, and the underscore. All other characters are not permitted. The Variable name should start with a non-number.
  • Page 166: Getvariablevalue ( Varid )

    Type Value Description Number Schedule String Range GetVariableValue ( VarId ) Returns the current value of the specified Variable. Syntax HRESULT GetVariableValue( [in] long VarId, [out, retval] BSTR* Value Parameters VarId [in] ID of specified Variable. Value [out, retval] String containing the current value of the specified Variable. Remarks The returned value is a string that represents the stored value of the Variable.
  • Page 167: Setvariablebyid ( Varid, Name, Type, Default, Value, Persist )

    SetVariableById ( VarId, Name, Type, Default, Value, Persist ) Modifies a Variable, specified by its ID. Syntax HRESULT SetVariableById( [in] long VarId, [in] BSTR Name, [in] long Type, [in] BSTR Default, [in] BSTR Value, [in] long Persist, [out, retval] VARIANT_BOOL* Success Parameters VarId [in] ID of the Variable.
  • Page 168: Setvariablegroup ( Varid, Group )

    Syntax HRESULT SetVariableByName( [in] BSTR Name, [in] long Type, [in] BSTR Default, [in] BSTR Value, [in] long Persist, [out, retval] VARIANT_BOOL* Success Parameters Name [in] Name of the Variable to change. Type [in] Variable type. Default [in] Default value for the specified Variable. Value [in] Current value for the Variable.
  • Page 169: Sortvariables ( Sorttype, Direction )

    Remarks The group name is an arbitrary value, and is used only to help manage and sort Variables within the Event Manager web pages. SortVariables ( SortType, Direction ) Sorts all Variables by the sort type and direction. Syntax HRESULT SortVariables( [in] long SortType, [in] long Direction, [out, retval] VARIANT_BOOL* Success...
  • Page 170: Limited 3 Year Warranty

    Limited 3 Year Warranty Aurora Multimedia Corp. (“Manufacturer”) warrants that this product is free of defects in both materials and workmanship for the product lifetime as defined herein for parts and labor from date of purchase. This Limited Lifetime warranty covers products purchased in the year of 2008 and after. Motorized mechanical parts (Hard Drives, DVD, etc) are covered for a period of 1 year.
  • Page 171: Fcc Part 15 Statement

    XVI. FCC Part 15 Statement RADIO AND TELEVISION INTERFERENCE This equipment has been tested and found to comply with the limits for a Class A digital device, pursuant to Part 15 of the FCC rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation.
  • Page 172: Index

    XVII. Index AddVariable............................... 161 Admin Web Pages............................31 Boot Menu Reference..........................27 Contents..............................3, 4, 7 D/A................................. 6 Date / Time..............................33 DeleteVariableById........................... 162 DeleteVariableByName..........................162 Diagnostics............................16, 22, 38 Digital I/O Methods........................... 117 Digital Input............................6, 9, 15 Digital Output............................6, 9, 15 DIO..............................
  • Page 173 IP Access Table............................35 IP Settings.............................. 27, 28 IR Emitters..............................16 IR Learner..........................9, 11, 15, 16, 43 IR Methods..............................119 IR Ports............................11, 15, 16 Lamp Test.............................. 27, 30 LAN Port..............................14 LCD Display............................... 12 Limited Lifetime Warranty........................170 Log Files..............................
  • Page 174 Time Zone..............................33 Using the WACI............................23 Variables...................... 50, 54, 55, 61, 71, 72, 73, 78, 84 Web Server Features............................ 26...

Table of Contents