ISY-99i/ISY-26 INSTEON:Program Commands
What are ISY Commands
The command set for the ISY is simple. It has only the commands needed to automate your INSTEON setup. Creating the code is done with the built-in editor in the ISY Administrative Console. It is not a freeform type of language, but rather a very structured language which is enforced by the editor itself. Everything is written by selecting your Commands and Arguments from GUI pull-downs, which make programming the ISY a snap. Please take time to review the command table below to further understand the syntax of this system.
- expr - is an expression is a combination of operators, variables, and grouping symbols (such as parentheses) arranged in a meaningful way which can be evaluated.
- body - is a group of commands and arguments arranged in a meaningful way which can be executed.
- arg - is one or more input variables to a sub-command or sub-program which are used to modify its functional behavior.
- node - is to be consider either a device or a scene in home automation terms.
- provider - is one or more of the notification message providers.
- is - compares status
- is not - compares inverse status
- > - compares greater than status
- < - compares less than status
Control vs Status
- Control 'node' is switched On
- When you use 'Control' you are testing for how it was turned on, eg. On, Fast On, Off, Fast Off etc. You see the word 'switched' to emphasize that.
- If the action listened for occurs (eg. Fast On) then this condition activates the program (causes program to run either then or else path).
- Status 'node' is On
- When you use 'Status' you are testing for its current brightness level.
- If the status changes then this condition activates the program (causes program to run either then or else path).
Device Intensity Level Arguments
With a device you have several options on what can be performed with them. Depending on if the device is a relay or a dimmer the ISY will provide the proper arguments for it. Here is a list of what each argument equates to.
- On - sends the INSTEON "Single Tap ON" command
- On means 100% for dimmer devices, select a Level (1-99%) if this is not the desired result.
- On will set a Scene to it's selected levels using the ramp rates set in the scene.
- Off - sends the INSTEON "Single Tap OFF" command
- Fast On - sends the INSTEON "Double Tap ON" command
- Fast Off - sends the INSTEON "Double Tap OFF" command
- On - sends the INSTEON "Single Tap ON" command
- Brighten - sends the INSTEON "Hold Press BRIGHTEN" command
- Dim - sends the INSTEON "Hold Press DIM" command
- Fade Up - sends a INSTEON "Manual Change Level UP" command, that says active until an ISY "Fade Stop" command
- Fade Down - sends a INSTEON "Manual Change Level DOWN" command, that says active until an ISY "Fade Stop" command
- Fade Stop - sends a INSTEON "Manual Change Level STOP" command, which ends an active ISY "Fade Up" or ISY "Fade Down" command
- Query - triggers the ISY to check an "ISY node" for status
|Content||The 'If' command evaluates its expression. The 'Then' and 'Else' arguments are key words to make the command easier to read. When the 'If' is true it will execute the 'Then' part of the program and when the 'If' is false it will execute the 'Else' part of the program.||na||
If Time is 6:00:00AM Then Set Scene 'Outside Lights' Off Else - No Actions - (To add one, press 'Action')
|Content||These words are expression key words that logically group together expressions. The 'And' requires both expressions to be a true result. The 'Or' requires only one expression to be a true result. The two can be used more than one time to check many different expressions.||na||
If Status 'Closet' is On And Control 'Closet' is not switched Off
If Status 'Pantry' is On Or Control 'Pantry' is not switched Off
|Time Is arg||Schedule||This command word is to specify an exact time for an event to occur. It has a small timeout window in which it makes sure that the event took place.||Sunset, Sunrise, Last Run, Time||
If Time is 3:00:00AM
|Schedule||The 'From' and 'To' words which are only used in pairs are for expressing a length of time.||Sunset, Sunrise, Last Run, Time, Date, Before, After, Same Day, Next Day, (2,3,4,5,6 Days Later)||
If From Sunset To Sunrise (next day)
If From 12:00:00AM on 2007/12/25 To 12:00:00AM on 2007/12/26
|Schedule||The 'From' and 'For' words which are only used in pairs are for expressing a length of time. The From time is the starting point and the For is the length of time it will be true.||Sunset, Sunrise, Last Run, Time, Date, Before, After||
If From Sunrise For 30 minutes
If From Last Run Time for 'New Years' For 1 hour and 30 minutes
|On arg||Schedule||The optional 'On' word is for specifying certain days of the week. It requires that a 'From', 'To' combo or 'Time is' command to be specified.
The 'Never' argument prevents the program from being evaluated, effectively commenting it out. To set 'On Never' deselect the 'All' option and deselect all seven of the days options.
|Mon, Tue, Wed, Thu, Fri, Sat, Sun, Never||
If On Mon, Tue, Wed, Thu, Fri From Sunset To Sunrise (next day)
If On Never Time is 12:00:00AM
|Status 'node' arg||Condition||The status command checks the current status of a node. It is true if the node meets the specified condition.||Is, Is Not, <, >, On, Off, 1% - 99%||
If Status 'Family Room' is On
|Control 'node' arg||Condition||The control command checks for a current event of a node. It is watching for a node to be activated by the user. It becomes true when the event matches the specified condition. It has a small timeout window in which it makes sure that the event took place.||Is, Is Not, On, Off, Fast On, Fast Off, Fade Up, Fade Down, Fade Stop||
If Control 'Garage' is not switched Off
|Program 'node' arg||Condition||The program command evaluates another program for its status.||Is, True, False||
If Program 'Christmas Day' is True
|X-10 'node/arg' arg||Condition||The X-10 command listens for X-10 events.||Is, Is Not, Received, X-10 Commands||
If X-10 'A1/On (3)' is Received
|IR 'node' arg||Condition||The IR command listens for IR events.||Is, Is Not, Pressed, Double Pressed, Held, Released||
If IR 'Movie Time' is Pressed
|Set 'node' arg
Set Scene 'node' arg
|Action||The 'Set' command sends INSTEON commands to the provided node. It also is used for setting the Query table with the latest status of a node. The 'Set Scene' is the same as the 'Set' command but sends INSTEON commands to a scene, it is an automatically displayed command when a scene node is selected.||On, Off, Fast On, Fast Off, Brighten, Dim, Fade Up, Fade Down, Fade Stop, 1% - 99%, Query||
Then Set 'Bath Light' On
Then Set Scene 'All Lights' On
Then Set Scene 'My Lighting' Query
|Send X-10 'node/arg'||Action||The 'X-10' command executes X-10 Commands for the provided X-10 node address.||X-10 Commands||
Then Send X-10 'A1/On (3)'
|Send Notification 'provider'||Action||The 'Send Notification' command triggers the ISY to brodcast a notice via the configured providers.||To All||
Then Send Notification to All
|Run program 'node' arg
Stop program 'node'
|Action||The 'Run program' command executes another program. It has the option to run another programs 'Else' statement too. The 'Stop program' command breaks execution of another program.||None, Else Path, Stop||
Then Run program 'Porch Timer' (Else path)
Then Stop program 'Porch Timer'
|Wait arg||Action||The 'Wait' command delays advancement to the next command in line.||Time||
Then Wait 5 seconds
Repeat Every arg
|Action||The 'Repeat' command loops execution of other commands.
The '0 times' arguments prevents the subsequent nested commands from being evaluated, effectively commenting them out.
|Every, For, Time||
Then Repeat 0 times Set 'Christmas Tree' On
Then Repeat Every 1 minute and 30 seconds
|Comment||Comment||The 'Comment' box creates a single note for the complete program. It is shown below the program in the same Program Content window pane.||na||
This is a comment for remembering some details about a program.
These are the X-10 commands has been included into the ISY. They are utilized through two different ISY program commands 'X-10' and 'Send X-10'.
- All Lights Off (1)
- Status=off (2)
- On (3)
- Preset Dim (4) - Preset dimmer levels 0% to 48%. See level chart below for corresponding letter code for the desired dim level.
- All Lights On (5)
- Hail Acknowledge (6)
- Bright (7)
- Status=on (8)
- Extended Code (9)
- Status Request (10)
- Off (11)
- Preset Dim (12) - Preset dimmer levels 52% to 100%. See level chart below for corresponding letter code for the desired dim level.
- All Units Off (13)
- Hail Request (14)
- Dim (15)
- Extended Data (16)
|Letter Code||Preset Dim (4)||Preset Dim (12)||Output Level (4)||Output Level (12)|