@bcall, the original author, has graciously given us the code to the plugin to open source. See this post for details and use that thread for any further discussion.
----------------------------------------------
This plugin integrates the ISY 99 into Indigo. It's only been tested by me, so please use caution and report any errors back here.
What it does:
- control and monitor insteon devices linked to ISY 99.
- control ISY scenes and programs
- control and monitor insteon devices at remote location over IP via ISY.
- immediate notification of insteon communication errors reported by ISY.
What it doesn't do:
- link insteon devices; create, modify or delete ISY scenes and programs.
Plugin configuration:
- debug checkbox - check to output debug info to indigo log
- event viewer menu - determine whether, and how, ISY event log info is output to indigo event log
Device creation and configuration:
- only ISY Insteon Controller devices should be created. All other device types are auto created by the plugin.
- create the ISY device in the folder in which you would like all related devices to be created. The plugin will auto create devices corresponding to the supported insteon devices linked to ISY in the same folder.
- the device config ui will automatically find any ISYs on your local network. If no ISY is found, check network connections and press the poll again button.
- select an ISY from the menu of found ISYs.
- enter your ISY username and password.
- save. The plugin will then create all devices.
- note: most devices are custom versions of the standard indigo insteon devices, so the standard indigo device ui is made available.
Device types and states:
-ISY Insteon Controller
- connectionStatus - monitors whether the plugin is connected to ISY
- badNodesList - list of devices with reported communication errors
-ISY relay, dimmer, thermostat
- standard indigo device states for the applicable type
- communicationError - Boolean reports whether device reported comm error
ISY irrigation
- each irrigation zone is treated like a separate relay (see above)
ISY IO device
- treated like a relay (see above)
Scenes:
- ISY scenes are controlled via plugin Actions
Programs:
- programs are controlled via plugin Actions
- programs can be monitored via plugin Events. The events currently supported are: (1) then fork finished running and (2) else fork finished running
- UDI is currently modifying the soap interface for programs. When they have completed this and published information regarding the new interface, it should be possible to include additional functionality.
Updating ISY Menu Item:
- once an ISY is set up, if you add or delete programs or scenes on that ISY, you should update the plugin using the "update ISY" menu item.
- the plugin is set up to automatically add or delete devices when insteon devices are linked to or unlinked from ISY. However, this updating is dependent upon information reported to the plugin via ISY over its web services subscription. If this subscription is interrupted, the plugin can become out of sync. In this case, the plugin can be manually updated using the "update ISY" menu item.
- note: if ISY reports state information for a device that is not set up in indigo (an unsupported device that has been ignored by the plugin or a newly added ISY device that the plugin did not receive notification of), the plugin will output an error message to the indigo log. This is purely for informational purposes and does not cause a problem for the plugin. If it is a supported device, simply update the plugin using the menu item and the device should be created in indigo.
Notes:
- if you would like to monitor an individual device for communication errors, created a trigger based on that devices communicationError state. The state becomes true if ISY reports a comm error and false if ISY subsequently reports that the error has been resolved (or if ISY otherwise starts sending state information for the device).
- if you would like to monitor for any comm error, create a trigger based on the ISY insteon controller device's badNodesList. Device addresses are added to the list when they have comm errors reported, and removed from the list if and when those errors are resolved. The badNodesList state is a string containing a dump of the actual list using simplejson.dumps.
Thanks to Michel Kohanim at UDI for patiently answering all my boneheaded questions about the ISY soap interface, and to Matt and Jay for answering my similarly noob questions regarding the Indigo plugin interface.
I hope someone (hopefully more than one) gets some use out of this!
https://www.dropbox.com/s/d69v8cmyh93ln ... Plugin.zip