INSTEON Commands (indigo.insteon.*)

Commands that are specific to INSTEON devices.

This command will send an INSTEON Scene Decrease (dim on dimmable loads) command to the specified PowerLinc scene. The value will decrease by 3% for each call.

Command Syntax Examples
indigo.insteon.sendSceneDecrease(11)
indigo.insteon.sendSceneDecrease(11, repeatCount=5)
indigo.insteon.sendSceneDecrease(11, suppressLogging=True)
indigo.insteon.sendSceneDecrease(11, updateStatesOnly=True)
indigo.insteon.sendSceneDecrease("working in office scene")
Parameters
Parameter Required Type Description
direct parameter Yes integer or string either the scene number or the scene name - we encourage numbers since they won't change and the scene names can.
repeatCount No integer a value from 1-32 for the number of times to repeat the decrease (default is 1)
suppressLogging No boolean True if if entries in the event log should be suppressed (default is False)
updateStatesOnly No boolean use if you only want Indigo's internal device state representation to be updated - no actual INSTEON command will be sent on RF or the power line (default is False)

This command will send an INSTEON Scene Increase (brighten on dimmable loads) command to the specified PowerLinc scene. The value will increase by 3% for each call.

Command Syntax Examples
indigo.insteon.sendSceneIncrease(11)
indigo.insteon.sendSceneIncrease(11, repeatCount=5)
indigo.insteon.sendSceneIncrease(11, suppressLogging=True)
indigo.insteon.sendSceneDecrease(11, updateStatesOnly=True)
indigo.insteon.sendSceneIncrease("working in office scene")
Parameters
Parameter Required Type Description
direct parameter Yes integer or string either the scene number or the scene name - we encourage numbers since they won't change and the scene names can.
repeatCount No integer a value from 1-32 for the number of times to repeat the increase (default is 1)
suppressLogging No boolean True if if entries in the event log should be suppressed (default is False)
updateStatesOnly No boolean use if you only want Indigo's internal device state representation to be updated - no actual INSTEON command will be sent on RF or the power line (default is False)

This command will send an INSTEON Scene ON command using the specified PowerLinc scene.

Command Syntax Examples
indigo.insteon.sendSceneOn(11)
indigo.insteon.sendSceneOn(11)
indigo.insteon.sendSceneOn(11, sendCleanUps=False)
indigo.insteon.sendSceneOn(11, suppressLogging=True)
indigo.insteon.sendSceneOn(11, updateStatesOnly=True)
indigo.insteon.sendSceneOn("working in office scene")
indigo.insteon.sendSceneDecrease(11, updateStatesOnly=True)
indigo.insteon.sendSceneOn("working in office scene", sendCleanUps=False)
Parameters
Parameter Required Type Description
direct parameter Yes integer or string either the scene number or the scene name - we encourage numbers since they won't change and the scene names can.
sendCleanUps No boolean True if if cleanup messages should be sent to each device in the scene after the scene command - this will have the PowerLinc send each device a message to make sure it received the command. You might want to stop cleanup messages from being sent because it involves adding a lot of INSTEON traffic and might effect performance (particularly if a group has a lot of responders). But, of course, disabling it may reduce reliability of some modules receiving the scene command so it's usually best to ignore this setting. (default is True)
suppressLogging No boolean True if if entries in the event log should be suppressed (default is False)
updateStatesOnly No boolean use if you only want Indigo's internal device state representation to be updated - no actual INSTEON command will be sent on RF or the power line (default is False)

This command will send an INSTEON Scene OFF command using the specified PowerLinc scene.

Command Syntax Examples
indigo.insteon.sendSceneOff(11)
indigo.insteon.sendSceneOff(11, sendCleanUps=False)
indigo.insteon.sendSceneOff(11, suppressLogging=True)
indigo.insteon.sendSceneOff(11, updateStatesOnly=True)
indigo.insteon.sendSceneOff("working in office scene")
indigo.insteon.sendSceneOff("working in office scene", sendCleanUps=False)
Parameters
Parameter Required Type Description
direct parameter Yes integer or string either the scene number or the scene name - we encourage numbers since they won't change and the scene names can.
sendCleanUps No boolean True if if cleanup messages should be sent to each device in the scene after the scene command - this will have the PowerLinc send each device a message to make sure it received the command. You might want to stop cleanup messages from being sent because it involves adding a lot of INSTEON traffic and might effect performance (particularly if a group has a lot of responders). But, of course, disabling it may reduce reliability of some modules receiving the scene command so it's usually best to ignore this setting. (default is True)
suppressLogging No boolean True if if entries in the event log should be suppressed (default is False)
updateStatesOnly No boolean use if you only want Indigo's internal device state representation to be updated - no actual INSTEON command will be sent on RF or the power line (default is False)

This command will send an INSTEON Scene Fast ON command using the specified PowerLinc scene.

Command Syntax Examples
indigo.insteon.sendSceneFastOn(11)
indigo.insteon.sendSceneFastOn(11, sendCleanUps=False)
indigo.insteon.sendSceneFastOn(11, suppressLogging=True)
indigo.insteon.sendSceneFastOn(11, updateStatesOnly=True)
indigo.insteon.sendSceneFastOn("working in office scene")
indigo.insteon.sendSceneFastOn("working in office scene", sendCleanUps=False)
Parameters
Parameter Required Type Description
direct parameter Yes integer or string either the scene number or the scene name - we encourage numbers since they won't change and the scene names can.
sendCleanUps No boolean True if if cleanup messages should be sent to each device in the scene after the scene command - this will have the PowerLinc send each device a message to make sure it received the command. You might want to stop cleanup messages from being sent because it involves adding a lot of INSTEON traffic and might effect performance (particularly if a group has a lot of responders). But, of course, disabling it may reduce reliability of some modules receiving the scene command so it's usually best to ignore this setting. (default is True)
suppressLogging No boolean True if if entries in the event log should be suppressed (default is False)
updateStatesOnly No boolean use if you only want Indigo's internal device state representation to be updated - no actual INSTEON command will be sent on RF or the power line (default is False)

This command will send an INSTEON Scene Fast OFF command using the specified PowerLinc scene.

Command Syntax Examples
indigo.insteon.sendSceneFastOff(11)
indigo.insteon.sendSceneFastOff(11, sendCleanUps=False)
indigo.insteon.sendSceneFastOff(11, suppressLogging=True)
indigo.insteon.sendSceneFastOff(11, updateStatesOnly=True)
indigo.insteon.sendSceneFastOff("working in office scene")
indigo.insteon.sendSceneFastOff("working in office scene", sendCleanUps=False)
Parameters
Parameter Required Type Description
direct parameter Yes integer or string either the scene number or the scene name - we encourage numbers since they won't change and the scene names can.
sendCleanUps No boolean True if if cleanup messages should be sent to each device in the scene after the scene command - this will have the PowerLinc send each device a message to make sure it received the command. You might want to stop cleanup messages from being sent because it involves adding a lot of INSTEON traffic and might effect performance (particularly if a group has a lot of responders). But, of course, disabling it may reduce reliability of some modules receiving the scene command so it's usually best to ignore this setting. (default is True)
suppressLogging No boolean True if if entries in the event log should be suppressed (default is False)
updateStatesOnly No boolean use if you only want Indigo's internal device state representation to be updated - no actual INSTEON command will be sent on RF or the power line (default is False)

This command will tell the specified PowerLinc scene to begin increasing/decreasing in value. It will continue to ramp each device in the scene until either the corresponding Send Scene Stop Change command is called or until the devices are at 100% for increase ramping or 0% for decrease ramping.

Command Syntax Examples
indigo.insteon.sendSceneIncrease(11, increase=True)
indigo.insteon.sendSceneIncrease(11, suppressLogging=True)
indigo.insteon.sendSceneIncrease("working in office scene")
Parameters
Parameter Required Type Description
direct parameter Yes integer or string either the scene number or the scene name - we encourage numbers since they won't change and the scene names can.
increase Yes boolean True if you want to ramp up, False if you want to ramp down
suppressLogging No boolean True if if entries in the event log should be suppressed (default is False)

This command will tell the specified PowerLinc scene to stop any ramping activity started by a Send Scene Start Change command.

Command Syntax Examples
indigo.insteon.sendSceneIncrease(11)
indigo.insteon.sendSceneIncrease(11, suppressLogging=True)
indigo.insteon.sendSceneIncrease("working in office scene")
Parameters
Parameter Required Type Description
direct parameter Yes integer or string either the scene number or the scene name - we encourage numbers since they won't change and the scene names can.
suppressLogging No boolean True if if entries in the event log should be suppressed (default is False)

This command will send an INSTEON Status Request command to the specified address.

Command Syntax Examples
reply = indigo.insteon.sendStatusRequest("0A.B9.DC")
indigo.server.log("reply success: %d, ack value: %02X" % (reply.cmdSuccess, reply.ackValue))
Parameters
Parameter Required Type Description
direct parameter Yes string the target INSTEON address as a hexidecimal string.
waitUntilAck No boolean true if the caller wants to wait for the result. (default is True)
suppressLogging No boolean True if if entries in the event log should be suppressed (default is False)

This command will send a raw INSTEON standard command.

Command Syntax Examples
reply = indigo.insteon.sendRaw("0A.B9.DC", [0x10, 0x00])
indigo.server.log("reply success: %d, ack value: %02X" % (reply.cmdSuccess, reply.ackValue))
Parameters
Parameter Required Type Description
direct parameter Yes string the target INSTEON address as a hexidecimal string.
cmdBytes Yes list a list of 2 integer bytes that represent the command to be sent.
waitUntilAck No boolean True if the caller wants to wait for the result. (default is True)
waitForStandardReply No boolean True if the caller wants to wait for a follow-up direct standard reply. (default is False)
waitForExtendedReply No boolean True if the caller wants to wait for a follow-up direct extended reply. (default is False)
suppressLogging No boolean True if if entries in the event log should be suppressed (default is False)

This command will send a raw INSTEON extended command (command payload can be between 2 and 16 bytes).

Command Syntax Examples
# Get KeypadLinc info (LED states, brightness, etc.)
reply = indigo.insteon.sendRawExtended("11.7B.2E", [0x2E, 0x00], waitForExtendedReply=True)
if reply.cmdSuccess:
	indigo.server.log("     backlight brightness: %d" % (reply.replyBytes[10],))
	indigo.server.log("button toggle mode bitmap: 0x%02X" % (reply.replyBytes[11],))
	indigo.server.log("     button states bitmap: 0x%02X" % (reply.replyBytes[12],))
# Change the Keypad LED brightness from dim to bright
setKeypadLedBrightness = [
	0x2E, 0x00,
	0x00,			# unused
	0x07,			# change LED backlight brightness
	0x11,			# brightness between 0x11 and 0x7F
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
]
for brightness in [0x07, 0x44, 0x66, 0x7F]:
	setKeypadLedBrightness[4] = brightness
	indigo.insteon.sendRawExtended("11.7B.2E", setKeypadLedBrightness)
Parameters
Parameter Required Type Description
direct parameter Yes string the target INSTEON address as a hexidecimal string.
cmdBytes Yes list a list of 2 to 16 integer bytes that represent the command to be sent.
calcCrc No boolean automatically calculate 8 bit CRC byte for message (used by i2CS firmware). (default is True)
calc16bitCrc No boolean automatically calculate 16 bit CRC byte for message (used by specific modules). (default is False)
waitUntilAck No boolean True if the caller wants to wait for the result. (default is True)
waitForStandardReply No boolean True if the caller wants to wait for a follow-up direct standard reply. (default is False)
waitForExtendedReply No boolean True if the caller wants to wait for a follow-up direct extended reply. (default is False)
suppressLogging No boolean True if if entries in the event log should be suppressed (default is False)

This will command the PowerLinc to send its SET Button Press Message, which can be useful in some linking scenarios.

Command Syntax Examples
reply = indigo.insteon.sendPowerLincSetButtonPress()
Parameters
Parameter Required Type Description
suppressLogging No boolean True if if entries in the event log should be suppressed (default is False)

Use the lower-level subscribeToIncoming() and subscribeToOutgoing() methods in the indigo.insteon command space to see commands regardless of their effect on device state.

Low Level Commands
indigo.insteon.subscribeToIncoming()
indigo.insteon.subscribeToOutgoing()

For example,

    def startup(self):
        self.logger.debug("startup called -- subscribing to all INSTEON commands")
        indigo.insteon.subscribeToIncoming()
        indigo.insteon.subscribeToOutgoing()

    ########################################
    def insteonCommandReceived(self, cmd):
        self.logger.debug(f"insteonCommandReceived: \n{str(cmd)}")

    def insteonCommandSent(self, cmd):
        self.logger.debug(f"insteonCommandSent: \n{str(cmd)}")
  • /www/perceptive/wiki/data/pages/indigo_2024.1_documentation/insteon_specific_commands.txt
  • Last modified: 2024/07/18 16:22
  • by 127.0.0.1