hollie/misterhouse — pull request #265 by krkeegan (2013-10-04 04:15:15+00:00)
Title: Insteon:  Add Link_to_Interface for I2CS Devices

This is what we have all wanted for a while. It enables MH to create the initial link even on an I2CS device. To use it you just need to call the normal link_to_interface voice command.

The link_to_interface process is slightly slower now as it calls get_enging_version first.
- If this results in a NAK it calls a specialized I2CS sequence
- If anything other than a NAK is received, it performs the normal link to interface routine.

The I2CS routine does:
- Sets the PLM to linking mode
- Asks the device to link to the PLM
- Scans the device to get the address of the resulting link
- Adds the link from the device->PLM

The routine generally works, but because it requires so many steps it is more prone to failure than other routines, but there does not appear to be any harm in calling it multiple times if you are having issues.