IndigoServer.app terminology

/Users/jay/Projects/Cocoa/Perceptive/Code/Indigo/build/IndigoServer.app

Required Suite

Terms that every application should support

Commands

  • run -- Sent to an application when it is launched
  • quit -- Quit an application program

Standard Suite

Common terms for most applications

Commands

  • count -- Return the number of elements of a particular class within an object
    • reference -- the object whose elements are to be counted
    • each type class -- the class of the elements to be counted
    • Result: integer -- the number of elements
  • data size -- Return the size, in bytes, of an object
    • reference -- the object whose data size is to be returned
    • Result: integer -- the size of the object in bytes
  • select -- Select the specified object
    • reference -- the object to select
  • make -- Make a new element
    • new type class -- the class of the new element
    • [with properties record] -- the initial values for the properties of the element
    • Result: reference -- Object specifier for the new element
  • delete -- Delete an element from an object
    • reference -- the element to delete
  • duplicate -- Duplicate object(s)
    • reference -- the object(s) to duplicate
    • Result: reference -- to the duplicated object(s)
  • exists -- Verify if an object exists
    • reference -- the object in question
    • Result: boolean -- true if it exists, false if not
  • get -- Get the data for an object
    • reference -- the object whose data is to be returned
    • Result: anything -- The data from the object
  • set -- Set an object's data
    • reference -- the object to change
    • to anything -- the new value

Classes

  • window -- A window
    • Plural name:
      • windows
    • Properties:
      • bounds bounding rectangle -- the boundary rectangle for the window
      • closeable (r/o) boolean -- Does the window have a close box?
      • floating (r/o) boolean -- Does the window float?
      • modal (r/o) boolean -- Is the window modal?
      • name (r/o) string -- the title of the window
      • position (r/o) point -- upper left coordinates of window
      • resizable (r/o) boolean -- Is the window resizable?
      • titled (r/o) boolean -- Does the window have a title bar?
      • visible boolean -- Is the window visible?
      • zoomable (r/o) boolean -- Is the window zoomable?
      • zoomed boolean -- Is the window zoomed?

Indigo Main Suite

Terms specific to Indigo Application

Commands

  • turn on -- Turn a device on
    • string -- the device name to turn on
    • [in integer] -- time delay in seconds
    • [for integer] -- time duration in seconds to keep device on
  • turn off -- Turn a device off
    • string -- the device name to turn off
    • [in integer] -- time delay in seconds
    • [for integer] -- time duration in seconds to keep device off
  • toggle -- Toggle the on/off state of a device
    • string -- the device name to toggle on/off
    • [in integer] -- time delay in seconds
    • [for integer] -- time duration in seconds until device is toggled back to original state
  • dim -- Dim a device
    • string -- the device name to dim
    • [by integer] -- relative amount to dim device (0 - 100)
    • [to integer] -- absolute value for brightness of the device (0 - 100)
    • [in integer] -- time delay in seconds
  • brighten -- Brighten a device
    • string -- the device name to brighten
    • [by integer] -- relative amount to brighten device (0 - 100)
    • [to integer] -- absolute value for brightness of the device (0 - 100)
    • [in integer] -- time delay in seconds
  • status request -- Send status request message to device
    • string -- the target device name
  • all lights on -- Turn on all lights
    • [string] -- optional x10 house code of lights to turn on -- leave blank to turn on all lights
  • all lights off -- Turn off all lights
    • [string] -- optional x10 house code of lights to turn off -- leave blank to turn off all lights
  • all off -- Turn off all devices
    • [string] -- optional x10 house code of devices to turn off -- leave blank to turn off all devices
  • execute group -- Execute an action group
    • string -- the name of the action group to execute
    • [in integer] -- time delay in seconds
  • execute time date action -- Execute all of the actions within a time date action (ignores any conditions)
    • string -- the name of the time date action to execute
  • execute trigger action -- Execute all of the actions within a trigger action (ignores any conditions)
    • string -- the name of the trigger action to execute
  • execute script -- Executes one of the currently installed scripts
    • «class furl» -- the file URL of the script to run
  • enable time date action -- Enable the execution of a time/date action
    • string -- the name of the time/date action to enable
    • [in integer] -- time delay in seconds
    • [for integer] -- time duration in seconds until the time/date action is disabled
  • disable time date action -- Disable the execution of a time/date action
    • string -- the name of the time/date action to disable
    • [in integer] -- time delay in seconds
    • [for integer] -- time duration in seconds until the time/date action is enabled
  • enable trigger action -- Enable the execution of a trigger action
    • string -- the name of the trigger action to enable
    • [in integer] -- time delay in seconds
    • [for integer] -- time duration in seconds until the trigger action is disabled
  • disable trigger action -- Disable the execution of a trigger action
    • string -- the name of the trigger action to disable
    • [in integer] -- time delay in seconds
    • [for integer] -- time duration in seconds until the trigger action is enabled
  • remove delayed actions -- Removes all delayed actions, or removes delayed actions for a specific device or trigger
    • [for device string] -- the device name to remove all delayed actions for (ex: remove delayed actions for device "office light")
    • [for trigger string] -- the trigger name to remove all delayed actions for (ex: remove delayed actions for trigger "porch motion detected")
  • build device state list -- Returns a string containing all of the current device states
    • Result: string -- text string containing all of the current device states
  • build event log list -- Returns a string containing the latest log history lines
    • [line count integer] -- optional number of lines to return -- leave blank to return entire saved log history (last 1500 lines)
    • [time stamp every line boolean] -- optionally show time stamp on every line
    • [as html boolean] -- optionally return HTML formatted text
    • Result: string -- text string containing the latest log history
  • calculate sunset -- Return date and time of next sunset
    • [for date] -- optional specific date to calculate sunset on -- leave blank to calculate next sunset from current time
    • Result: date -- the date and time of next sunset
  • calculate sunrise -- Return date and time of next sunrise
    • [for date] -- optional specific date to calculate sunrise on -- leave blank to calculate next sunrise from current time
    • Result: date -- the date and time of next sunrise
  • log -- Output text string to Event Log
    • string -- the text to output
    • [using type string] -- specifies the log message type (ex: log "temperature is now 77" using type "Thermostat")
  • reload attachments -- Reloads all attachment scripts
  • send email to -- Send email message
    • string -- the email recipient address (use semicolons to separate multiple addresses)
    • [with subject string] -- the subject line of the email
    • [with body string] -- the body text of the email
  • send insteon group -- Send insteon group/scene command to remote modules
    • instnTurnOn / instnFastOn / instnTurnOff / instnFastOff -- the insteon group function type
    • [using index integer] -- the insteon group/scene broadcast number (ex: send insteon group instnTurnOn using index 5)
    • [using name string] -- (or) the insteon group/scene broadcast name (ex: send insteon group instnTurnOn using name "my lighting scene name")
  • send insteon raw -- Send insteon raw direct command bytes to a remote module
    • cmd1 integer -- the first command byte (0 to 255)
    • cmd2 integer -- the second command byte (0 to 255)
    • to address string -- the destination insteon address (ex: send insteon raw cmd1 68 cmd2 02 to address "05.09.00")
  • send insteon remote poke -- Remotely poke data (byte, byte list) to an insteon module (be careful!)
    • to address string -- the destination insteon address (ex: send insteon remote poke to address "05.09.00" at memory location 1024 byte 128)
    • at memory location integer -- the memory location to which to poke the byte data
    • [byte small integer] -- the byte value to poke
    • [byte list list of small integer] -- (or) a list of bytes (integers) to poke
  • send insteon powerlinc set button pressed -- Send the insteon command simulating that the PowerLinc's set button was held down
  • send x10 address -- Send an x10 address to the interface with NO function code
    • string -- the x10 house code/device code address (ex: send x10 address "D6")
  • send x10 brighten -- Send x10 brighten command to the interface
    • integer -- relative amount to brighten device (0 - 100)
    • to address string -- the x10 house code/device code address (ex: send x10 brighten 20 to address "D6")
  • send x10 dim -- Send x10 dim command to the interface
    • integer -- relative amount to dim device (0 - 100)
    • to address string -- the x10 house code/device code address (ex: send x10 dim 20 to address "D6")
  • send x10 on -- Send x10 on command to the interface
    • to address string -- the x10 house code/device code address (ex: send x10 on to address "D6")
  • send x10 off -- Send x10 off command to the interface
    • to address string -- the x10 house code/device code address (ex: send x10 off to address "D6")
  • send x10 preset -- Send an x10 preset value and address to the interface
    • integer -- preset value (0 to 31) to send
    • to address string -- the x10 house code/device code address (ex: send x10 preset 15 to address "D6")
  • send x10 extended -- Send x10 extended bytes and address to the interface
    • data integer -- the extended data (first byte) (0 to 255)
    • command integer -- the extended command (second byte) (0 to 255)
    • to address string -- the x10 house code/device code address (ex: send x10 extended data 63 command 165 to address "D6")
  • send x10 status request -- Send x10 status request command to the interface
    • to address string -- the x10 house code/device code address (ex: send x10 status request to address "D6")
  • send x10 status response on -- Send x10 status response on command to the interface
    • to address string -- the x10 house code/device code address (ex: send x10 status response on to address "D6")
  • send x10 status response off -- Send x10 status response off command to the interface
    • to address string -- the x10 house code/device code address (ex: send x10 status response off to address "D6")
  • send x10 hail request -- Send x10 hail request command to the interface
    • to address string -- the x10 house code/device code address (ex: send x10 hail request to address "D6")
  • send x10 hail ack -- Send x10 hail acknowledge command to the interface
    • to address string -- the x10 house code/device code address (ex: send x10 hail ack to address "D6")
  • upload actions -- Uploads Trigger and Time/Date Actions to the interface
  • transaction suppress logging -- Suppresses, within this transaction block, event logging
  • transaction suppress state change sending -- Suppresses, within this transaction block, all interface command sending for device state changes

Classes

  • application -- An application program
    • Plural name:
      • applications
    • Properties:
      • online boolean -- true if interfaces are online
      • main interface enabled boolean -- true if main interface is enabled
      • main interface port name (r/o) string -- serial port name used by main interface
      • main interface type name (r/o) string -- main interface type name
      • RF interface enabled boolean -- true if RF interface is enabled
      • RF interface port name (r/o) string -- serial port name used by RF interface
      • RF interface type name (r/o) string -- RF interface type name
      • database file (r/o) «class furl» -- file URL for the currently active database file
      • script files (r/o) list of «class furl» -- list of file URLs for all installed scripts
      • default x10 house code string -- default x10 house code used when creating new devices and actions
      • smart coalesce functions boolean -- true if x10 functions are coalesced on output to main x10 interface
      • nested action limit integer -- maximum number of allowed nested actions before reset (5 - 75)
      • daylight (r/o) boolean -- true if current time is after sunrise and before sunset
      • latitude (r/o) real -- the user's current latitude (range: 90 to -90; negative values are South of equator)
      • longitude (r/o) real -- the user's current longitude (range: 180 to -180; negative values are West of Prime Meridian)
      • current time date action name (r/o) string -- name of time/date action currently being executed
      • current trigger action name (r/o) string -- name of trigger action currently being executed
      • current action group name (r/o) string -- name of action group currently being executed
    • Elements:
  • device -- A device
    • Plural name:
      • devices
    • Properties:
      • name string -- the name
      • description string -- the device description
      • address string -- the insteon or x10 address (r/o for insteon addresses)
      • type x10 / insteon -- the device type
      • model string -- the device model name
      • display in remote ui boolean -- true if device should be shown in remote UI
      • last changed (r/o) date -- the time/date this device state last changed
      • supports on off (r/o) boolean -- true if device has an off/off state
      • on state boolean -- true if device is on
      • supports dimming (r/o) boolean -- true if device supports dimming
      • brightness integer -- current brightness value of device (0 - 100)
      • supports sprinkler (r/o) boolean -- true if device controls sprinkler zone valves
      • sprinkler zone integer -- active sprinkler zone on device (0=off, 1=zone1, 2=zone2, etc.)
      • supports multiple i/o (r/o) boolean -- true if device has multple inputs or outputs
      • binary outputs list of boolean -- list of all boolean output values
      • binary inputs (r/o) list of boolean -- list of all boolean input values
      • analog inputs (r/o) list of integer -- list of all analog input values
      • sensor inputs (r/o) list of integer -- list of all sensor input values
      • supports hvac (r/o) boolean -- true if device controls an HVAC module or thermostat
      • temperatures (r/o) list of small real -- list of all temperature values available
      • humidities (r/o) list of small real -- list of all humidity values available
      • heat setpoint small real -- current heat setpoint
      • cool setpoint small real -- current cool setpoint
      • hvac mode offMode / heatOn / coolOn / heatCoolOn / runProgramHeat / runProgramCool / runProgramAuto -- current thermostat mode
      • fan mode fanAutoOn / fanAlwaysOn -- current fan mode
      • supports all lights on and off (r/o) boolean -- true if device supports all lights on/off messages
      • supports all off (r/o) boolean -- true if device supports all off messages
      • supports status request (r/o) boolean -- true if device supports status request messages
  • time date action -- A time/date based action
    • Plural name:
      • time date actions
    • Properties:
      • name string -- the name
      • description string -- the time/date action description (not visible in UI)
      • time trigger type absolute / sunrise / sunset / countdown -- the trigger time-of-day type
      • date trigger type absolute / specificDays / everyDay -- the trigger date or day-of-week type
      • absolute trigger time date -- (use if time and/or date trigger type is absolute) the absolute time/date of the trigger
      • days of week string -- (use if date trigger type is specificDays) seven '1' or '0' characters, one for each day (ex: 0111110 is Monday through Friday)
      • countdown delta integer -- (use if time trigger type is countdown) the number of seconds between triggers
      • sun delta integer -- (use if time trigger type is sunrise or sunset) the number of seconds (+ or -) to offset from sunrise or sunset
      • randomize by integer -- the number of seconds by which to randomly vary the trigger time
      • auto delete boolean -- true if this time/date action should automatically delete after triggering
      • enabled boolean -- true if this time/date action is currently enabled
      • upload boolean -- true if this time/date action is set to upload to the interface
      • stealth boolean -- true if this time/date action should suppress trigger logging
      • next trigger time (r/o) date -- the next time/date this action will be executed
    • Elements:
  • trigger action -- A trigger based action
    • Plural name:
      • trigger actions
    • Properties:
      • name string -- the name
      • description string -- the trigger action description (not visible in UI)
      • trigger type x10orRF / insteonReceived / deviceChanged / variableChanged / emailReceived / startup / powerFailure / interfaceInitialized / interfaceFailure -- the trigger type
      • device name string -- (use if trigger type = x10orRF, insteon, deviceChanged) the trigger device name
      • state change type stateBecomesTrue / stateBecomesFalse / stateBecomesEqual / stateBecomesNotEqual / stateBecomesGreaterThan / stateBecomesLessThan / stateChanges -- (use if trigger type = deviceChanged) the trigger device state change type
      • state selector string -- (use if trigger type = deviceChanged) the trigger device state compare selector
      • state value string -- (use if trigger type = deviceChanged) the trigger device state compare value
      • variable change type varBecomesTrue / varBecomesFalse / varBecomesEqual / varBecomesNotEqual / varBecomesGreaterThan / varBecomesLessThan / varChanges -- (use if trigger type = variableChanged) the trigger variable change type
      • variable name string -- (use if trigger type = variableChanged) the trigger variable name
      • variable value string -- (use if trigger type = variableChanged) the trigger variable value
      • email filter anyEmailReceived / matchEmailFields -- (use if trigger type = emailReceived) the email received trigger filter type
      • email subject string -- (use if trigger type = emailReceived and matchEmailFields) the trigger email subject compare value
      • email from string -- (use if trigger type = emailReceived and matchEmailFields) the trigger email from compare value
      • enabled boolean -- true if this trigger action is currently enabled
      • upload boolean -- true if this trigger action is set to upload to the interface
      • stealth boolean -- true if this trigger action should suppress trigger logging
    • Elements:
  • action group -- An action group
    • Plural name:
      • action groups
    • Properties:
      • name string -- the name
      • description string -- the group description
      • display in remote ui boolean -- true if action group should be shown in remote UI
    • Elements:
  • variable -- A user defined variable
    • Plural name:
      • variables
    • Properties:
      • name string -- the name
      • value string -- the value
      • display in remote ui boolean -- true if variable should be shown in remote UI
  • action step -- An action
    • Plural name:
      • action steps
    • Properties:
      • action type none / controlLightOrAppliance / controlSprinkler / executeGroup / executeScript / modifyVariable / enableTrigger / disableTrigger / enableTimeDateTrigger / disableTimeDateTrigger / sendEmail / resetInterfaces / sendGroupSceneCommand -- the action type
      • device name string -- (use if action type = controlLightOrAppliance or controlSprinkler) the device name to change
      • device action allOff / allLightsOn / allLightsOff / turnOn / turnOff / toggleDevice / setBrightness / brightenDevice / dimDevice / statusRequest -- (use if action type = controlLightOrAppliance) the type of action to send to the device
      • device value integer -- (use if action type = controlLightOrAppliance) the device action value
      • sprinkler action runSchedule / stopSchedule / pauseSchedule / resumeSchedule / prevZone / nextZone / zoneOn -- (use if action type = controlSprinkler) the type of sprinkler action to execute
      • zone index integer -- (use if sprinkler action = zoneOn) the zone index which should be turned on
      • zone durations list of real -- (use if sprinkler action = runSchedule) list of zone durations to schedule
      • group name string -- (use if action type = executeGroup) the action group name to execute
      • script code string -- (use if action type = executeScript) the applescript code to execute
      • variable action setValue / incrementValue / decrementValue -- (use if action type = modifyVariable) the type of variable action to execute
      • variable name string -- (use if action type = modifyVariable) the variable name to modify
      • variable value string -- (use if action type = modifyVariable) the new variable value
      • trigger name string -- (use if action type = enableTrigger, disableTrigger, enableTimeDateTrigger, disableTimeDateTrigger) the trigger name to enable or disable
      • email to string -- (use if action type = sendEmail) the recipient's email address
      • email subject string -- (use if action type = sendEmail) the email subject
      • email body string -- (use if action type = sendEmail) the email body
      • delay amount integer -- the time to delay the action execution in seconds (0 for no delay)
      • replace existing boolean -- if true then any existing delayed actions are replaced
      • complement delay integer -- the time before complement action is executed in seconds (0 for no complement)
      • speak text string -- the text to speak

Indigo PlugIn Suite

Subroutines called on attachment scripts

Commands

  • receive insteon event -- Sent to all attachments when Indigo receives an Insteon event from any interface
    • instnTurnOn / instnFastOn / instnTurnOff / instnFastOff / instnBrightenDevice / instnDimDevice / instnStatusRequest / instnStartDim / instnStopDim / instnStartBrighten / instnStopBrighten / instnStatusChanged -- the insteon function type
    • [for address integer] -- the insteon address as a long integer (ex: "543221")
    • [using broadcast group integer] -- the insteon group broadcast number as an integer (ex: "1"); if 0, then command type is direct to a single address or is a global broadcast command
    • [with increment integer] -- relative amount of dim or brighten (0 - 100)
    • [command value integer] -- command value (0 to 255; ex: sprinkler valve status)
  • receive x10 event -- Sent to all attachments when Indigo receives an X10 event from any interface
    • x10AllOff / x10AllLightsOn / x10AllLightsOff / x10TurnOn / x10TurnOff / x10BrightenDevice / x10DimDevice / x10StatusRequest / x10ExtendedCode / x10HailRequest / x10HailAcknowledge / x10PresetDim / x10ExtendedXfer / x10StatusOn / x10StatusOff -- the x10 function type
    • [for address string] -- the x10 house code/device code address (ex: "D6")
    • [with dim integer] -- relative amount of dim or brighten (0 - 100)
    • [with preset integer] -- the preset value (0 to 31)
    • [with xdata integer] -- the extended data (first byte) (0 to 255)
    • [with xcommand integer] -- the extended command (second byte) (0 to 255)
  • receive av event -- Sent to all attachments when Indigo receives an A/V command from an RF interface
    • rcvd_0 / rcvd_1 / rcvd_2 / rcvd_3 / rcvd_4 / rcvd_5 / rcvd_6 / rcvd_7 / rcvd_8 / rcvd_9 / rcvd_power / rcvd_pc / rcvd_display / rcvd_menu / rcvd_recall / rcvd_enter / rcvd_exit / rcvd_title / rcvd_right / rcvd_left / rcvd_down / rcvd_up / rcvd_return / rcvd_mute / rcvd_ab / rcvd_channelUp / rcvd_channelDown / rcvd_volumeUp / rcvd_volumeDown / rcvd_play / rcvd_record / rcvd_stop / rcvd_pause / rcvd_rewind / rcvd_fforward -- the A/V function type
  • receive security event -- Sent to all attachments when Indigo receives a security command from an RF interface
    • sec_ArmHome_min / sec_ArmHome_max / sec_ArmAway_min / sec_ArmAway_max / sec_Disarm / sec_PanicPressed / sec_PanicReleased / sec_LightsOn / sec_LightsOff / sec_SensorNormal_min / sec_SensorNormal_max / sec_SensorAlert_min / sec_SensorAlert_max -- the security function type
    • [with code integer] -- security code identifier for device (0 - 255)
  • receive power failure -- Sent to all attachments when Indigo detects a power failure