AMX I!-MACROMANAGER User manual

instruction manual
integration!Solutions
i!-MacroManager

Software Limited Agreement
LIMITED WARRANTY
LIMITED WARRANTY. AMX Corporation warrants that the SOFTWARE will perform substantially in accordance with
the accompanying written materials for a period of ninety (90) days from the date of receipt. Any implied warranties on
the SOFTWARE and hardware are limited to ninety (90) days and one (1) year, respectively. Some states/countries do
not allow limitations on duration of an implied warranty, so the above limitation may not apply to you.
CUSTOMER REMEDIES. AMX Corporation’s entire liability and your exclusive remedy shall be, at AMX Corporation's
option, either (a) return of the price paid, or (b) repair or replacement of the SOFTWARE that does not meet AMX Cor-
poration's Limited Warranty and which is returned to AMX Corporation. This Limited Warranty is void if failure of the
SOFTWARE or hardware has resulted from accident, abuse, or misapplication. Any replacement SOFTWARE will be
warranted for the remainder of the original warranty period or thirty (30) days, whichever is longer.
NO OTHER WARRANTIES. AMX Corporation disclaims all other warranties, either expressed or implied, including, but
not limited to implied warranties of merchantability and fitness for a particular purpose, with regard to the SOFTWARE,
the accompanying written materials, and any accompanying hardware. This limited warranty gives you specific legal
rights. You may have others which vary from state/country to state/country.
NO LIABILITY FOR CONSEQUENTIAL DAMAGES. In no event shall AMX Corporation be liable for any damages
whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business
information, or any other pecuniary loss) arising out of the use of or inability to use this AMX Corporation product, even
if AMX Corporation has been advised of the possibility of such damages. Because some states/countries do not allow
the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to you.
U.S. GOVERNMENT RESTRICTED RIGHTS
The SOFTWARE and documentation are provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the
Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of The Rights in Technical Data and Com-
puter Software clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial Computer Soft-
ware--Restricted Rights at 48 CFR 52.227-19, as applicable. Manufacturer is AMX Corporation, 3000 Research Drive,
Richardson, TX 75082.
If you acquired this product in the United States, this Agreement is governed by the laws of the State of Texas.
Should you have any questions concerning this Agreement, or if you desire to contact AMX for any reason, please
write: AMX Corporation, 3000 Research Drive, Richardson, TX 75082.

Table of Contents
i
i
!-MacroManager
Table of Contents
Introduction ...............................................................................................................1
Macro and Schedule Persistence...................................................................................... 1
Programming i!-MacroManager ..............................................................................3
i!-MacroEngineMod ........................................................................................................... 3
i!-MacroEditorMod ............................................................................................................. 3
i!-MacroExecuteMod ......................................................................................................... 3
i!-MacroSchedulerEngineMod ........................................................................................... 3
i!-MacroSchedulerEditorMod............................................................................................. 4
Non i!-MacroManager Modules ......................................................................................... 4
KeyboardMod........................................................................................................................... 4
i!-TimeManagerMod ................................................................................................................. 4
Programming i!-MacroEngineMod..................................................................................... 4
Commands............................................................................................................................... 4
Strings ...................................................................................................................................... 5
i!-MacroEngineMod Module Definition ..................................................................................... 5
Parameters............................................................................................................................... 5
Touch Panel Pages.................................................................................................................. 5
Programming i!-MacroEditorMod ...................................................................................... 5
Commands............................................................................................................................... 5
Parameters............................................................................................................................... 6
Touch Panel Pages................................................................................................................ 10
Programming i!-MacroExecuteMod................................................................................. 11
i!-MacroExecuteMod Module Definition ................................................................................. 11
Parameters............................................................................................................................. 11
Touch Panel Pages................................................................................................................ 12
Programming i!-MacroSchedulerEngineMod .................................................................. 13
Channels ................................................................................................................................ 13
Levels..................................................................................................................................... 13
Commands............................................................................................................................. 13
Strings .................................................................................................................................... 15
i!-MacroSchedulerEngineMod Module Definition ................................................................... 16
Parameters............................................................................................................................. 16
Touch Panel Pages................................................................................................................ 16
Programming i!-MacroSchedulerEditorMod .................................................................... 16
Levels..................................................................................................................................... 16
Commands............................................................................................................................. 17

ii i!-MacroManager
Table of Contents
i!-MacroSchedulerEditorMod Module Definition..................................................................... 17
Parameters............................................................................................................................. 18
Touch Panel Pages................................................................................................................ 23

Introduction
1
i
!-MacroManager
Introduction
i!-MacroManager allows users to create custom macros from any NetLinx compatible touch panel
and execute them in real time without modification to the NetLinx program. i!-MacroManager is
composed of a series of modules that allow users to create, edit, delete, execute and schedule
macros from any NetLinx compatible touch panel.
i!-MacroManager creates macros from the actions available through i!-ConnectLinx. Each macro
can contain up to 50 actions. Each action can have an associated delay, set in 1/100-second
increments, to handle time delays required between actions. The user can configure a macro
execution button to execute any macro.
i!-MacroScheduler allows users to schedule NetLinx macros directly from any NetLinx compatible
touch panel. i!-MacroScheduler provides a user interface for creating up to 240 scheduled events to
run any available macro on a repeating or non-repeating basis. i!-MacroScheduler also provides a
scheduling engine that will trigger each event at the appropriate time and reschedule repeating
events.
i!-ConnectLinx provides the mechanism to expose actions to i!-MacroManager and to manage
action execution on the NetLinx system. Once i!-MacroManager builds a macro from the actions in
the i!-ConnectLinx action list, i!-MacroManager makes a request to i!-ConnectLinx to execute
those actions. i!-ConnectLinx handles this request and presents it to the NetLinx program for
execution.
Macro and Schedule Persistence
i!-MacroManager stores macros on the NetLinx master's file system in macro files. These files are
located in the doc:\user\macros directory. You can use i!-MacroManager to create and delete
macros.
i!-MacroManager does not store macros in memory, only on the file systems. If a macro is
scheduled via i!-MacroScheduler and then the macro is deleted, the macro will fail to run since the
macro no longer exists on the file system. Deleting macros will not delete all references to the
macro, only the macro itself.
i!-MacroScheduler stores the schedule information in a file called MMSchedule.bin located in the
doc:\user\schedule directory. All event information will be stored in this file and recalled during
power up. Any event scheduled by the user is stored and will not be lost during a power cycle.
The scheduling engine will always attempt to read the MMSchedule.bin file on start up. If you are
loading a new program containing macro scheduling into an old master that used to have macro
scheduling, you should use FTP to browse the NetLinx master's file system and delete the old
schedule file. Otherwise, the old scheduling information will be automatically loaded.
NetLinx Master firmware (build 130 or greater) supports up to 199 macros.

Introduction
2i!-MacroManager

Programming i!-MacroManager
3
i
!-MacroManager
Programming i!-MacroManager
i!-MacroManager is implemented as a series of NetLinx modules to simplify adding macro
functionality to your program. To add any of the i!-MacroManager modules to your program,
simply add the module definition and all it's parameters to your code and integrate the sample touch
panel pages for that module into your touch panel design.
One simple way of doing this is to save the i!-MacroManager test file as an include file that you can
include into your main program. Then you can make any needed modifications to your include file.
To integrate the touch panel pages, copy each page and popup page from the i!-MacroManager test
touch panel file and paste it into your design. After copying the popup pages to the new file, you
will need to create the necessary popup groups and group the popup properly. As an option you can
base your design on the i!-MacroManager test touch panel file. If the channel and variable text
codes for i!-MacroManager conflict with existing channel or variable text codes, you can move
i!-MacroManager to another device using Power Assign and editing the touch panel devices in the
include file.
In order to use i!-MacroManager, you will need to program and define a series of actions through
i!-ConnectLinx. The i!-ConnectLinxEngineMod module is included with i!-MacroManager and
some simple examples appear in the i!-MacroManager test file. For complete documentation on
i!-ConnectLinx, download the i!-ConnectLinx install from the AMX web site.
Once the i!-ConnectLinx programming has been established, choose which i!-MacroManager
features you want to include in your program and add the corresponding module code and pages.
The following list describes the i!-MacroManager modules:
i!-MacroEngineMod
This is the macro engine module. This module executes macros and must always be included for
any i!-MacroManager functions. This module requires the i!-ConnectLinxEngineMod module.
i!-MacroEditorMod
This is the macro editor module. This module creates, edits and deletes macros. This module must
be used to create macros but is not required to run the macros. Since this module creates macros,
you will likely include this module in your program. This module requires the
i!- ConnectLinxEngineMod, i!-MacroEngineMod and KeyboardMod modules.
i!-MacroExecuteMod
This is the macro execute module. This module allows the user to dynamically assign a macro to a
touch panel button and run the macro when the button is pressed. This is the most common method
of macro execution; therefore you will likely include this module in your program. This module
requires the i!-MacroEngineMod module.
i!-MacroSchedulerEngineMod
This is the macro scheduler engine module. This module allows the scheduling and scheduled
execution of macros. This module is only needed if you want to support the scheduling of macros.
This module requires the i!-MacroEngineMod module.

Programming i!-MacroManager
4i!-MacroManager
i!-MacroSchedulerEditorMod
This is the macro scheduler editor module. This module allows the user to create scheduled macros
from a touch panel. This module is only needed if you want to support the scheduling of macros
from a touch panel. If you want to support scheduled macros but the schedule is fixed or very
simple, you can configure the i!-MacroSchedulerEngineMod via SEND_COMMANDs and you do
not need to include this module. This module requires the
i!-MacroEngineMod, i!-MacroSchedulerEngineMod and KeyboardMod modules.
Non i!-MacroManager Modules
KeyboardMod
This is the keyboard module. This module is required by any module requiring
on-screen text entry of data. Both i!-MacroEditorMod and i!-MacroSchedulerEditorMod require
this module.
i!-TimeManagerMod
This is the i!-TimeManager module. This module manages the systems clock by synchronizing
with Internet timeservers. This module also provides sunrise and sunset information. If you are
including the i!-MacroSchedulerEngineMod module, you will want to include this module.
Without this module, i!-MacroScheduler cannot run schedules based on sunrise/sunset. Complete
documentation for i!-TimeManager can be downloaded from the AMX website.
Programming i!-MacroEngineMod
i!-MacroEngineMod appears on the NetLinx bus as a NetLinx device. This device has 1 port with
channels, levels, commands and strings like most other devices.
Commands
i!-MacroEngineMod supports the following out-bound commands (master to device).
i!-MacroEngineMod - Commands
Command Description
'RUN-[MacroFile/MacroName]' Run a macro file.
'KILL-[MacroFile/MacroName]' Stop running a macro file if it is currently running.
'NOTIFY-[ON/OFF]' Turn macro execution notification on or off. Default is off.
'DEBUGON' Turn on debug.
'DEBUGOF' Turn off debug. (Default)
'VERSION' Send version information to master debug port (master
messaging)

Programming i!-MacroManager
5
i
!-MacroManager
Strings
i!-MacroEngineMod supports the following in-bound strings (device to master).
i!-MacroEngineMod Module Definition
DEFINE_MODULE 'i!-MacroEngineMod' mdlMMEng(vdvMacroEngine,vdvConnectLinx)
Where mdlMMEng is a unique module name.
Parameters
vdvMacroEngine
A virtual device for communicating to the macro engine.
vdvConnectLinx
An array of virtual devices for communicating to i!-ConnectLinx.
Touch Panel Pages
i!-MacroEngineMod does not require any touch panel pages.
Programming i!-MacroEditorMod
i!-MacroEditorMod appears on the NetLinx bus as a NetLinx device. This device has 1 port with
channels, levels, commands and strings like most other devices.
Commands
i!-MacroEditorMod supports the following out-bound commands (master to device).
i!-MacroEngineMod - Strings
Command Description
'LOAD-[Slot],[MacroName]' Notification that macro MacroName was started in engine
slot Slot (1-10).
'KILL-[Slot],[MacroName]' Notification that macro MacroName was kill with a KILL
command.
'STEP-[Slot],[Step#],[StepName]' Notification that step Step# named StepName was
executed in engine slot Slot (1-10).
'UNLOAD-[Slot],[MacroName]' Notification that macro MacroName was unload from
engine slot Slot (1-10). Occurs when the macro is finished
executing.
i!-MacroEditorMod - Commands
Command Description
'DEBUGON' Turn on debug.
'DEBUGOF' Turn off debug. (Default)
'VERSION' Send version information to master debug port (master messaging)

Programming i!-MacroManager
6i!-MacroManager
i!-MacroEditorMod Module Definition
Where mdlMMEdt is a unique module name.
Parameters
vdvMacroEditor
A virtual device for communicating to the macro editor.
vdvMacroEngine
A virtual device for communicating to i!-MacroEngineMod.
vdvConnectLinx
An array of virtual devices for communicating to i!-ConnectLinx.
vdvKB
The virtual device of the KeyboardMod module for editing text.
dvKB
An array of touch panel base devices implementing i!-MacroEditorMod.
DEFINE_MODULE 'i!-MacroEditorMod' mdlMMEdt (vdvMacroEditor,
vdvMacroEngine,
vdvConnectLinx,
vdvKB,
dvKB,
dvTP,
nchMMMacroEdit,
nvtMMMacroEdit,
nchMMMacroList,
nvtMMMacroList,
nchMMMacroListCtrl,
nchMMStepEdit,
nvtMMStepEdit,
nchMMParameterEdit,
nvtMMParameterEdit,
nchMMEnumList,
nvtMMEnumList,
nchMMEnumListCtrl,
nvtMMDelayEdit,
nchMMStepList,
nvtMMStepList,
nchMMStepListCtrl,
nchCLActionListNavigate,
nchCLActionList,
nvtCLActionList,
nchCLActionListCtrl)

Programming i!-MacroManager
7
i
!-MacroManager
dvTP
An array of touch panel devices implementing i!- MacroEditorMod.
nchMMMacroEdit
An INTEGER array with the following buttons:
Add new macro
Edit macro
Delete confirm
Delete macro
Save macro
Rename macro
Test macro
nvtMMMacroEdit
An INTEGER array with the following variable text channels:
Macro Name
nchMMMacroList
An INTEGER array with the following buttons:
Macro Browser List Items 1-10
nvtMMMacroList
An INTEGER array with the following variable text channels:
Macro Browser List Total Items
Macro Browser List Slider Level Code
Macro Browser List Items 1-10
nchMMMacroListCtrl
An INTEGER array with the following buttons:
Page Up
Page Down
Top of List
End of List
Slider Channel Code
nchMMStepEdit
An INTEGER array with the following buttons:
Add To Macro
Delete From Macro

Programming i!-MacroManager
8i!-MacroManager
Shift Up
Shift Down
Edit Delay
Edit Parameter
nvtMMStepEdit
An INTEGER array with the following variable text channels:
Action Name
Parameter Name
Edit Parameter
nchMMParameterEdit
An INTEGER array with the following buttons:
Level Parameter Increment
Level Parameter Decrement
Level Parameter Slider
Enumeration/Level Parameter Done
Enumeration /Level Parameter Abort
Previous Parameter
Next Parameter
nvtMMParameterEdit
An INTEGER array with the following variable text channels:
String Parameter Value
Number Parameter Value
Level Parameter Slider Level
Level Parameter Value
Previous Parameter
Next Parameter
nchMMEnumList
An INTEGER array with the following buttons:
Parameter Enumeration List Items 1-10
nvtMMEnumList
An INTEGER array with the following variable text channels:
Parameter Enumeration List Total Items
Parameter Enumeration List Slider Level Code

Programming i!-MacroManager
9
i
!-MacroManager
Parameter Enumeration List Items 1-10
nchMMEnumListCtrl
An INTEGER array with the following buttons:
Page Up
Page Down
Top of List
End of List
Slider Channel Code
nvtMMDelayEdit
An INTEGER array with the following variable text channels:
Hour Field
Min Field
Sec Field
Sub-Sec Field
nchMMStepList
An INTEGER array with the following buttons:
Macro Step List Item 1-10
nvtMMStepList
An INTEGER array with the following variable text channels:
Macro Step List Total Items
Macro Step List Slider Level Code
Macro Name
Macro Step List Item Name 1
Macro Step List Item Delay 1
Macro Step List Item Name 2
Macro Step List Item Delay 2…
Macro Step List Item Name 10
Macro Step List Item Delay 10
nchMMStepListCtrl
An INTEGER array with the following buttons:
Page Up
Page Down
Top of List

Programming i!-MacroManager
10 i!-MacroManager
End of List
Slider Channel Code
nchCLActionListNavigate
An INTEGER array with the following buttons:
Back/Up
Home
Select System
nchCLActionList
An INTEGER array with the following buttons:
i!-ConnectLinx Action List Items 1 - 8
nvtCLActionList
An INTEGER array with the following variable text channels:
i!-ConnectLinx Action List Total Items
i!-ConnectLinx Action List Slider Level Code
i!-ConnectLinx Action List Systems Name
i!-ConnectLinx Action List Folder Name
i!-ConnectLinx Action List Items Name 1
i!-ConnectLinx Action List Items Icon 1
i!-ConnectLinx Action List Items Name 2
i!-ConnectLinx Action List Items Icon 2…
i!-ConnectLinx Action List Items Name 8
i!-ConnectLinx Action List Items Icon 8
nchCLActionListCtrl
An INTEGER array with the following buttons:
Page Up
Page Down
Top of List
End of List
Slider Channel Code
Touch Panel Pages
i!-MacroEditorMod requires the following touch panel pages:
mmManage
mmEdit

Programming i!-MacroManager
11
i
!-MacroManager
mmParameterEnum
mmParameterLevel
mmConnectlinxActions
KBKeyboard
KBKeypad
KBEKeypad
i!-MacroEditorMod requires the following touch panel pop-up pages:
Programming i!-MacroExecuteMod
i!-MacroExecuteMod does not appear on the NetLinx bus as a NetLinx device. There is no need for
communication to this module.
This module is designed to allow the programmer to provide the user with a series of buttons that
can have macros assigned to them. These buttons use a variable text code so the module can assign
the macro name to the text of the button. These buttons also use a channel code to trigger the
execution of the macro and to provide feedback if the macro is running. The programer can place
the macro buttons anywhere on the touch panel allowing the user to customize the macro buttons to
achieve the end-user goals without modifications to the NetLinx code.
i!-MacroExecuteMod Module Definition
Where mdlMMExe is a unique module name.
Parameters
vdvMacroEngine
A virtual device for communicating to the macro engine.
Popup Page Popup Group
mmParameterString KBClients
mmParameterNumber KBClients
mmMacroName KBClients
mmDelay KBClients
mmDeleteConfirm N/A
KBShift KBClients
DEFINE_MODULE 'i!-MacroExecuteMod' mdlMMExe (vdvMacroEngine,
dvTP,
nchMMExeMacroExecute,
nvtMMExeMacroExecute,
nchMMExeMacroEdit,
nchMMExeMacroList,
nvtMMExeMacroList,
nchMMExeMacroListCtrl)

Programming i!-MacroManager
12 i!-MacroManager
dvTP
An array of touch panel devices implementing i!-MacroExecuteMod.
nchMMExeMacroExecute
An INTEGER array with the following buttons:
Macro Execute buttons 1-10
nvtMMExeMacroExecute
An INTEGER array with the following variable text channels:
Macro Execute buttons 1-10
nchMMExeMacroEdit
An INTEGER array with the following buttons:
Add New Macro
Save Macro Name To Preset
Clear Macro Name From Preset
nchMMExeMacroList
An INTEGER array with the following buttons:
Macro Browser List Items 1-10
nvtMMExeMacroList
An INTEGER array with the following variable text channels:
Macro Browser List Total Items
Macro Browser List Slider Level Code
Macro Browser List Items 1-10
nchMMExeMacroListCtrl
An INTEGER array with the following buttons:
Page Up
Page Down
Top of List
End of List
Slider Channel Code
Touch Panel Pages
i!-MacroExecuteMod requires the following touch panel page:
mmExecute

Programming i!-MacroManager
13
i
!-MacroManager
i!-MacroExecuteMod requires the following touch panel pop-up page:
Programming i!-MacroSchedulerEngineMod
i!-MacroSchedulerEngineMod appears on the NetLinx bus as a NetLinx device. This device has 1
port with channels, levels, commands and strings like most other devices.
Channels
i!-MacroSchedulerEngineMod supports the following channels:
Levels
i!-MacroSchedulerEngineMod supports the following levels:
Commands
i!-MacroSchedulerEngineMod supports the following out-bound commands (master to device):
Popup Page Popup Group
mmMacroBrowse N/A
Channel Description
250 Enable debugging
Channel Description
1-8 Unused
9 Total Event Slots
10 Available Slots
11 Next free Event index
12 Unused
13 Next Event to start
14 Next Event to stop
15 Total Events today
16 Events completed today
17 Number of current events
18 Events left today
i!-MacroSchedulerEngineMod - Commands
Command Description
'SET EVENT-[Event Number],
[Event Name],[Date String],
[Start Time String],
[End Time String]'
Set the name, date, start and end time of an event. All
parameters are optional.
'GET EVENT-[Event Number]' Get the name, date, start and end time, next start and end
data and time for event.
'SET NAME-[Event Number],
[Event Name]'
Set the name of an event. If name is an empty string, event
will be deleted.
'GET NAME-[Event Number]' Get the name of an event.
'SET STIME-[Event Number],
[Time String]'
Set start time for event number. If time string is empty, the
event is set for "No Start Time" (i.e. not scheduled)

Programming i!-MacroManager
14 i!-MacroManager
i!-MacroSchedulerEngineMod - Commands (Cont.)
'GET STIME-[Event Number]' Get start time for event number.
'SET ETIME-[Event Number],
[Time String]'
Set end time for event number. If time string is empty, the
event is set for one-shot (non-time spanning) event.
'GET ETIME-[Event Number]' Get end time for event number.
'SET DATE-[Event Number],
[Date String]'
Get date for event number. If time string is empty, the event
is set for "No Date" (i.e. not scheduled)
'GET DATE-[Event Number]' Get date string for event number.
'SET SMACRO-[Event Number],
[Start Macro]'
Set start macro for event number.
'GET SMACRO-[Event Number]' Get start macro for event number.
'SET EMACRO-[Event Number],
[End Macro]'
Set end macro for event number.
'GET EMACRO-[Event Number]' Get end macro for event number.
‘GET SNEXT-[Event Number]' Gets next start Date and Time for event number.
'GET ENEXT-[Event Number]' Gets next end Date and Time for event number.
'GET ELIST-[Start],[Count]' Get list of events from Start through Start+Count ordered by
name.
'GET NLIST-[Start],[Count]' Get list of events from Start through Start+Count ordered by
number.
'GET PLIST-[Start],[Count]' Get list of today's past events from Start through
Start+Count ordered by time.
'GET CLIST-[Start],[Count]' Get list of today's current events from Start through
Start+Count ordered by time.
'GET FLIST-[Start],[Count]' Get list of today's future events from Start through
Start+Count ordered by time.
'GET EVENT LISTS' Return past, current/active and future event lists.
'RUN-[Event Number]' Run event number and re-schedule the event (if it can be
rescheduled).
'CANCEL-[Event Number]' Cancel event from running today and re-schedule the event
(if it can be rescheduled)
'DFORMAT-DAY/MONTH' Set Date format European format: Day/Month/Year
'DFORMAT-MONTH/DAY' Set Date format US format: Month/Day/Year
'TFORMAT-12 HOUR' Set Time format to 12 hour format: [01-12]:[00-59] [AM,PM]
'TFORMAT-24 HOUR Set Time format to 24 hour (military) format: [00-23]:[00-59]
'FBON' Turn on unsolicited feedback. As today's event lists change,
they will be sent (see string section below).
'DEBUGON' Turn on debug.
'DEBUGOF' Turn off debug. (Default)
'RESET' Reset the schedule engine to re-schedule all events and
re-build the event list for today.
'VERSION' Send version information to master debug port (master
messaging)
Where:
[Event Name] Any ASCII Readable string of characters

Programming i!-MacroManager
15
i
!-MacroManager
Strings
i!-MacroSchedulerEngine supports the following in-bound strings (device to master):
i!-MacroSchedulerEngineMod - Commands (Cont.)
[Time String] Any time or time from Astronomical event in 24 hour time
where Astronomical event is 'Sunrise" or "Sunset" and
offset can be '-' or '+' and time is 'HH:MM'.
Examples:
'01:00', 'Sunset', 'Sunrise', 'Sunrise+00:30', 'Sunrise-01:00',
'Sunset-00:30', 'Sunset+00:25'
[Date String] Any fixed date in "MM/DD/YYYY" format
Daily: "[WD,WE] [xMultiplier]
"Weekly: "[SMTWTFS] or [-------] [xMultiplier]
"Monthly: "[Day 1-31] [xMultiplier]
"Monthly: "[First,Second,Third,Fourth,Last]
[Sun,Mon,Tue,Wed,Thu,Fri,Sat] [xMultiplier]
" Yearly: "[Jan,Feb,Mar,.Apr,May,Jun,Jul,Aug,
Sep,Oct,Nov,Dec] [Day 1-31]
"Yearly: "[First,Second,Third,Foruth,Last]
[Sun,Mon,Tue,Wed,Thu,Fri,Sat][Jan,Feb,Mar,.Apr,May,Jun,
Jul,Aug,Sep,Oct,Nov,Dec]"
[Start] 1 - 240
[Count] 1 - 240
[Start Macro] Any valid macro file
[End Macro] Any valid macro file
Command Description
"'PAST-',[Binary Event List String]" List of past event indexes
"'CURRENT-',[Binary Event List String]" List of current/active event indexes
"'FUTURE-',[Binary Event List String]" List of future event indexes
'CANCEL-[Event
Number],[Name],[STime],[SDate],[Time],
[Date]'
Notification that an event was cancelled by
the CANCEL- command.
'END-[Event
Number],[Name],[STime],[SDate],[Time],
[Date]'
Notification that an event ended normally.
'RUN-[Event
Number],[Name],[STime],[SDate],[Time],
[Date]'
Notification that a scheduled event started.
'NAME-[Event Number],[Event Name]' Event Name for event Event Number
'SMACRO-[Event Number],[MacroFile]' Start Macro for event Event Number.
'EMACRO-[Event Number],[MacroFile]' End Macro for event Event Number.
'STIME[Event Number],[Time String]' Start Time String for event Event Number
'ETIME[Event Number],[Time String]' End Time String for event Event Number
'DATE[Event Number],[Date String]' Date String for event Event Number
'SNEXT-[Event Number],[Date],[Time]' Next start Date and Time for event Event
Number.
'ENEXT-[Event Number],[Date],[Time]' Next end Date and Time for event Event
Number.

Programming i!-MacroManager
16 i!-MacroManager
i!-MacroSchedulerEngineMod Module Definition
Where mdlSchEng is a unique module name.
Parameters
vdvSchEngine
A virtual device for communicating to the macro scheduling engine.
vdvMacroEngine
A virtual device for communicating to i!-MacroEngineMod for running macros.
vdvTmEvents
The virtual device of the i!-TimeManager module for sunrise and sunset information.
Touch Panel Pages
i!-MacroEngineMod does not require any touch panel pages.
Programming i!-MacroSchedulerEditorMod
i!-MacroSchedulerEditorMod appears on the NetLinx bus as a NetLinx device. This device has 1
port with channels, levels, commands and strings like most other devices.
Levels
i!-MacroSchedulerEditorMod supports the following levels:
DEFINE_MODULE 'i!-MacroSchedulerEngineMod' mdlSchEng (vdvSchEngine,
vdvMacroEngine,
vdvTmEvents)
Channel Description
12 Current Event selected
Table of contents
Other AMX Software manuals

AMX
AMX FILETRANSFER2 V1.0 User manual

AMX
AMX Design XPress User manual

AMX
AMX VISUALARCHITECT CONTENT DATABASE EDITOR User manual

AMX
AMX AXCENTWire User manual

AMX
AMX NetLinx Studio User manual

AMX
AMX I!-PCLINK WEB User manual

AMX
AMX BCS User manual

AMX
AMX Camrobotics User manual

AMX
AMX CAFE DUET V1.8 User manual

AMX
AMX Modero NXD-CA12 Assembly instructions

AMX
AMX NSS-VOTE User manual

AMX
AMX CAFE DUET STANDARD NETLINX API (SNAPI)... User manual

AMX
AMX TPDOC User manual

AMX
AMX Podcast User manual

AMX
AMX AXWire User manual

AMX
AMX OLDesign User manual

AMX
AMX USB LAN Driver USBLAN Parts list manual

AMX
AMX IRLIB User manual

AMX
AMX ALD-D48 Manual

AMX
AMX G3 User manual