An Additional Elk M1 Plugin and Pentair Intellitouch Plugin
I have created plugins for the Elk M1 Security Panel and the Pentair Intellitouch Pool Controller. Unfortunately, during the time it took me to get these up and running it appears that others have already released plugins for these devices. I'm making these available in case anyone is interested in an alternative version, or if anyone would like to use them as another plugin learning example. I've tried to put in enough commenting to make them helpful to anyone looking through the code.
My plan is to use the form of these two plugins as a building block for the additional plugins I hope to create for my system: ISY 99i, Onkyo, Russound (RIO) and TiVo. I will post these additional plugins once I have something stable.
Any comments (bugs, crashes, ways to optimize) on the existing plugins would be appreciated. Since I'm using these as a base for the others, the sooner I integrate improvements, the simpler it will be to get those improvements into the other plugins. Please note, though, that I have designated these plugins as version 0.5. I have had both of them running on my system for a few days, and I've tested the actions, but it could certainly still be buggy. Also note that in some places i have used the errorLog instead of the debugLog to make a communication from the plugin stand out during this phase (or to make it appear even if I have debugging off). So, not all red outputs to the log are actually errors. But I have tried to make the intention clear from what is stated in the message. For example, in the Elk plugin, I have not dealt with all of the feedback the Elk provides (thermostat feedback for example). So, the log will show a red entry for any feedback that the plugin does not recognize. This is so that I can easily catch these and determine whether I need to implement code for them. So, please don't let the red ink put you off.
Here's a brief outline of the plugins:
- Configuration and Devices - set up is done at the plugin config level. Input the address of your elk and query the elk for areas and zones that are set up. The plugin will get the list of active areas and zones and their respective names and set each up as an indigo device. The area devices have states for arm state, arm status and alarm state. The zone devices have a state for zone status.
- Actions - disarm or arm (at one of the available arm levels) the Elk
- Configuration and Devices - as with the above, set up is done at the plugin config level. This version includes devices for the panel itself, a single pool pump, a gas and/or solar heater, and up to 4 auxiliary relays. The panel device has states for air temp, pool temp and (if a spa is present) spa temp. The pool pump has one state which can be set to off, pool mode, or (if a spa is present) spa mode. The heater has states for pool temp set point and pool heater settings (off, gas heater, solar heater only, or solar heater pref) and (if a spa is present) parallel states for the spa. The auxiliary relays have an on/off state.
- Actions - turn a device on/off, toggle a device, set a temp set point, increment or decrement a temp set point.
I hope this is useful!
Pentair Intellitouch plugin: https://www.dropbox.com/s/jumu6dqavx2sy ... Plugin.zip
Elk M1 plugin: https://www.dropbox.com/s/73qyrrsdz0mwi ... Plugin.zip