INSTEON Commands

This plugin is a collection of miscellaneous INSTEON commands that aren't yet available natively in the UI (and may never be). There are several reasons for adding some INSTEON commands as actions via this plugin: it's sometimes desirable to be able to perform these actions more frequently than just once during setup (so it's in addition to the native UI) and it's often faster than adding it into the native UI. In any event, here are the actions available:

Set LED Brightness

This action will set the brightness of the LEDs on certain devices. Newer KeypadLincs are supported as well as some SwitchLinc models. Unfortunately there isn't really a way to tell you which devices are supported so you'll just have to try it and see if it works.

Available in v1.0.0.

Turn On/Off KeypadLinc Buttons

This action allows you to turn on/off groups of buttons. Why not just have multiple actions using the built-in Turn ON/Turn OFF LED actions? Because each of those requires a lot of INSTEON traffic - and if you need to set several buttons at once this action will do it in one (or two if you want to maintain some buttons) action(s). It's more efficient and easier to configure (one action versus potentially seven actions). Select the action you want to take for each button: Turn On, Turn Off, Leave Alone. The latter option will require that we query the KPL to find the states first so if you select that for any of the buttons the action may execute a bit slower than it would otherwise.

Note: using this action, which is sending raw INSTEON commands through the IndigoServer, will cause the KeypadLinc's button states in Indigo to become out of sync. This is because the server doesn't know that you're changing the button states given that it's just a raw command message that it's being asked to send to the PowerLinc. If you need to keep the states in sync then add another action to do a status request to the KeypadLinc (after a short delay to avoid collisions).

Available in v1.0.0.

Set KeypadLinc Auto-Off Button Group

This action will allow you to specify what buttons will go off automatically when you press any other button. Useful in conjunction with Toggle Mode below for creating “radio groups”. See the FanLinc and KeypadLinc article for usage examples.

Available in v1.0.0.

Set KeypadLinc Button Toggle Mode

This action will allow you to specify whether a button toggles (alternates between ON and OFF when pressed) or whether it sends a single command anytime it's pressed (can send either ON or OFF). Useful in conjunction with Auto-Off groups above for creating “radio groups”. See the FanLinc and KeypadLinc article for usage examples.

Available in v1.0.0.

Set Motion Sensor LED Brightness

This action will set the brightness of the LED that flashes inside the motion sensor when motion is detected. While the brightness value is between 0 and 255, 0 does not mean the LED is completely off - it's just very dim. Note: only revision 2 Motion Sensors with jumper 5 set can be configured.

Available in v1.0.1.

Set Motion Sensor Timeout

This action will set the timeout value between the time the motion sensor stops detecting motion and when it sends the OFF command. The timeout values work like this: 0 is equal to 30 seconds and 255 is equal to 2 hours. Values in between are proportional to those values.

Note: only revision 2 Motion Sensors with jumper 5 set can be configured.

Note: a value of 0 will be interpreted as 3 for Motion Sensor II models.

Available in v1.0.1.

Set Motion Sensor Day/Night Sensitivity

This action will set the sensitivity for when the motion sensor detects changes from dawn to dusk and vice versa. The sensitivity values work like this: 0 will make the sensor register day all the time and 255 is equal to night all the time. Values in between are proportional to those values. Note: only revision 2 Motion Sensors with jumper 5 set can be configured.

Available in v1.0.1.

Set I/O Linc Momentary Mode

This action will allow you to set the momentary mode of an I/O Linc to A, B, C, or None (the built-in UI only sets A or None).

Available in v1.0.0.

Configure SynchroLinc

This action will allow you to configure the Trigger Watts, Threshold Watts, and Delay Seconds in a SynchroLinc. Here are the details of those settings:

  • Trigger Watts (0 to 1800 watts in 0.5 watt steps): the wattage needed before the SynchroLinc broadcasts.
  • Threshold Watts (aka hysteresis, 0 to 127.5 watts in 0.5 watt steps): tolerance before on/off toggle is sent.
  • Delay Seconds (0.15 to 38.25 seconds): prevents message flooding if thresholdWatts is too low.

Available in v1.0.0.

Send Raw INSTEON Command

This action will allow you to send a raw INSTEON command to any INSTEON device. You can send standard messages (2 bytes) or extended messages (16 bytes). You can also have the results of the command inserted into a variable for later processing.

Available in v1.0.0.

As of v1.0.2 all the above actions can be run interactively from the plugin's menu so you don't need to create a separate Action Group to run them.

We'll add other functionality here where it makes sense. Drop us an email if you have an idea.

Scripting Support

As with all plugins, actions defined by this plugin may be executed by Python scripts. Here's the information you need to script the actions in this plugin.

Plugin ID: com.perceptiveautomation.indigoplugin.InsteonCommands

Action specific properties

Set LED Brightness

Action id: setLedBrightness

Properties for scripting:

device required the ID of the target device
brightness optional desired brightness of the device from 1-100 (100 is default)
brightenMethod optional method to use to try the command, one of “kpl” (default) or “swl”

Example:

acId = "com.perceptiveautomation.indigoplugin.InsteonCommands"
actionPlugin = indigo.server.getPlugin(acId)
if actionPlugin.isEnabled():
	actionPlugin.executeAction("setLedBrightness", props={'device':'1435361545','brightness':'1', 'brightenMethod':'kpl'})

Turn On/Off KeypadLinc Buttons

Action id: setKPLLeds

Properties for scripting:

keypadlinc required the ID of the target keypadlinc
button2 optional one of the following actions for button: “turnOn” (default), “turnOff”, “leaveAlone”
button3 optional one of the following actions for button: “turnOn” (default), “turnOff”, “leaveAlone”
button4 optional one of the following actions for button: “turnOn” (default), “turnOff”, “leaveAlone”
button5 optional one of the following actions for button: “turnOn” (default), “turnOff”, “leaveAlone”
button6 optional one of the following actions for button: “turnOn” (default), “turnOff”, “leaveAlone”
button7 optional one of the following actions for button: “turnOn” (default), “turnOff”, “leaveAlone”
button8 optional one of the following actions for button: “turnOn” (default), “turnOff”, “leaveAlone”

Example:

acId = "com.perceptiveautomation.indigoplugin.InsteonCommands"
actionPlugin = indigo.server.getPlugin(acId)
if actionPlugin.isEnabled():
	actionPlugin.executeAction("setKPLLeds", props={'keypadlinc':'1435361545','button4':'leaveAlone'})

Set KeypadLinc Auto-Off Button Group

Action id: setAutoOffButtonGroup

Properties for scripting:

keypadlinc required the ID of the target keypadlinc
controlButton required the control button (the one that turns off the others) - value from 1-8
button2 optional True if you want a press on the controlButton to turn off, False (default) otherwise
button3 optional True if you want a press on the controlButton to turn off, False (default) otherwise
button4 optional True if you want a press on the controlButton to turn off, False (default) otherwise
button5 optional True if you want a press on the controlButton to turn off, False (default) otherwise
button6 optional True if you want a press on the controlButton to turn off, False (default) otherwise
button7 optional True if you want a press on the controlButton to turn off, False (default) otherwise
button8 optional True if you want a press on the controlButton to turn off, False (default) otherwise

Example:

acId = "com.perceptiveautomation.indigoplugin.InsteonCommands"
actionPlugin = indigo.server.getPlugin(acId)
if actionPlugin.isEnabled():
	# Here we set button 3 so that it turns off buttons 4, 5, and 6
	actionPlugin.executeAction("setAutoOffButtonGroup", props={'keypadlinc':'1435361545','controlButton':'3', "button4":True, "button5":True, "button6":True})

Set KeypadLinc Button Toggle Mode

Action id: setKPLToggleMode

Properties for scripting:

keypadlinc required the ID of the target keypadlinc
button1toggle optional True if you to put the button into non-toggle mode, False (default) if you want it to toggle (standard behavior)
button1onMode optional True (default) if you want a press on the button to always send ON when in non-toggle mode, False to have it send OFF (has no effect if the button isn't set to non-toggle mode)
button2toggle optional True if you to put the button into non-toggle mode, False (default) if you want it to toggle (standard behavior)
button2onMode optional True (default) if you want a press on the button to always send ON when in non-toggle mode, False to have it send OFF (has no effect if the button isn't set to non-toggle mode)
button3toggle optional True if you to put the button into non-toggle mode, False (default) if you want it to toggle (standard behavior)
button3onMode optional True (default) if you want a press on the button to always send ON when in non-toggle mode, False to have it send OFF (has no effect if the button isn't set to non-toggle mode)
button4toggle optional True if you to put the button into non-toggle mode, False (default) if you want it to toggle (standard behavior)
button4onMode optional True (default) if you want a press on the button to always send ON when in non-toggle mode, False to have it send OFF (has no effect if the button isn't set to non-toggle mode)
button5toggle optional True if you to put the button into non-toggle mode, False (default) if you want it to toggle (standard behavior)
button5onMode optional True (default) if you want a press on the button to always send ON when in non-toggle mode, False to have it send OFF (has no effect if the button isn't set to non-toggle mode)
button6toggle optional True if you to put the button into non-toggle mode, False (default) if you want it to toggle (standard behavior)
button6onMode optional True (default) if you want a press on the button to always send ON when in non-toggle mode, False to have it send OFF (has no effect if the button isn't set to non-toggle mode)
button7toggle optional True if you to put the button into non-toggle mode, False (default) if you want it to toggle (standard behavior)
button7onMode optional True (default) if you want a press on the button to always send ON when in non-toggle mode, False to have it send OFF (has no effect if the button isn't set to non-toggle mode)
button8toggle optional True if you to put the button into non-toggle mode, False (default) if you want it to toggle (standard behavior)
button8onMode optional True (default) if you want a press on the button to always send ON when in non-toggle mode, False to have it send OFF (has no effect if the button isn't set to non-toggle mode)

Example:

acId = "com.perceptiveautomation.indigoplugin.InsteonCommands"
actionPlugin = indigo.server.getPlugin(acId)
if actionPlugin.isEnabled():
	# Here we set button 3 so that it always sends an OFF command
	actionPlugin.executeAction("setKPLToggleMode", props={'keypadlinc':'1435361545', "button3toggle":True, "button3onMode":False})

Set Motion Sensor LED Brightness

Action id: setMotionSensorLedBrightness

Properties for scripting:

device required the ID of the target motion sensor
brightness optional desired brightness of the motion sensor from 0-255 (100 is default)

Example:

acId = "com.perceptiveautomation.indigoplugin.InsteonCommands"
actionPlugin = indigo.server.getPlugin(acId)
if actionPlugin.isEnabled():
	actionPlugin.executeAction("setMotionSensorLedBrightness", props={'device':'554249383','brightness':'0'})

Set Motion Sensor Timeout

Action id: setMotionSensorTimeout

Properties for scripting:

device required the ID of the target motion sensor
timeout optional desired timeout of the motion sensor from 0-255 (1 is default)

Example:

acId = "com.perceptiveautomation.indigoplugin.InsteonCommands"
actionPlugin = indigo.server.getPlugin(acId)
if actionPlugin.isEnabled():
	actionPlugin.executeAction("setMotionSensorTimeout", props={'device':'554249383','timeout':'5'})

Set Motion Sensor Day/Night Sensitivity

Action id: setMotionSensorSensitivity

Properties for scripting:

device required the ID of the target motion sensor
sensitivity optional desired sensitivity of the motion sensor from 0-255 (128 is default)

Example:

acId = "com.perceptiveautomation.indigoplugin.InsteonCommands"
actionPlugin = indigo.server.getPlugin(acId)
if actionPlugin.isEnabled():
	actionPlugin.executeAction("setMotionSensorSensitivity", props={'device':'554249383','sensitivity':'200'})

Set I/O Linc Momentary Mode

Action id: setIOLincMomentaryMode

Properties for scripting:

iolinc required the ID of the target device
momentaryMode optional the mode, one of “A”, “B”, “C”, and “None” - see the I/O Linc docs for details

Example:

acId = "com.perceptiveautomation.indigoplugin.InsteonCommands"
actionPlugin = indigo.server.getPlugin(acId)
if actionPlugin.isEnabled():
	actionPlugin.executeAction("setIOLincMomentaryMode", props={'iolinc':'1053088701','momentaryMode':'A'})

Configure SynchroLinc

Action id: configureSynchroLinc

Properties for scripting:

synchrolinc required the ID of the target device
triggerWatts optional (0 to 1800 watts in 0.5 watt steps): the wattage needed before the SynchroLinc broadcasts (will retain existing setting if not included)
thresholdWatts optional (aka hysteresis, 0 to 127.5 watts in 0.5 watt steps): tolerance before on/off toggle is sent (will retain existing setting if not included)
delaySeconds optional (0.15 to 38.25 seconds): prevents message flooding if thresholdWatts is too low (will retain existing setting if not included)

Example:

acId = "com.perceptiveautomation.indigoplugin.InsteonCommands"
actionPlugin = indigo.server.getPlugin(acId)
if actionPlugin.isEnabled():
	actionPlugin.executeAction("configureSynchroLinc", props={'synchrolinc':'662726927','triggerWatts':'14.5','thresholdWatts':'4.0','delaySeconds':'4.50'})

Send Raw INSTEON Command

Use the indigo.insteon.sendRaw() and indigo.insteon.sendRawExtended() commands. FIXME add links when those methods get documented

plugins/insteon_commands.txt · Last modified: 2019/01/26 00:10 (external edit)
 

© Perceptive Automation, LLC. · Privacy