New Plugin to Simplify Integration of Custom Devices

Forum rules

This is a legacy forum which is locked for new topics. New topics should be started in one of the other forums under Extending Indigo

Posted on
Thu Jul 26, 2012 3:59 pm
bcall offline
Posts: 59
Joined: May 17, 2012

New Plugin to Simplify Integration of Custom Devices

The Multi Device Plugin is a new plugin that makes the task of integrating custom devices (like AV Receivers, pool controllers, etc.) into Indigo much easer. If you can write an xml file and about a page of python code you can create a custom plugin for your own device (assuming it meets certain parameters).

All you need to worry about is the logic for creating command strings for your device and parsing feedback strings. The plugin does the rest.

The Multi Device Plugin comes with controllers for 4 built in devices: an Onkyo Receiver, a Russound Multi Zone Receiver, a TiVo premier and an Intellitouch pool controller.

There is a full description of this new plugin, together with tutorials and a quasi-sdk (lists of python methods that should be implemented and helper methods to help you do it, along with the xml and python files for each of the built in devices) available at http://www.bradcall.com/multideviceplugin.

The plugin is inexpensive but not free. It is available in a single device version (if you want to use the functionality of just one of the built in devices), a standard version which includes all of the built in devices, and a pro version which includes all of the built in devices plus the ability to create your own.

If you are interested in any of the built in devices, or if you would be interested in a way to create your own custom devices more easily, take a look at the available documents to get a sense of whether this might be something useful to you.

Also, adding new devices to the plugin is fairly straight forward, so if you have a device you’d like to see added, let me know. The most important part is to get the communication protocol for the device (some manufacturers don’t make that easy). But, if you have it or can get it, let me know and I’ll see what I can do to help.

By the way, just in case you find python a little daunting, here is the entire python file that supports the TiVo within the plugin. The other devices have a bit more in their python files, but not that much more.

Code: Select all
from deviceDrivers.baseDeviceDriver import BaseDeviceDriver

class TivoDeviceDriver(BaseDeviceDriver):

    def preParseFeedback(self, feedback):
    splitFeedback = feedback.split(' ')
    if splitFeedback[0] == 'CH_STATUS':
        channel = int(splitFeedback[1])
        if len(splitFeedback) > 3:
            channel = '%d-%d' % (int(splitFeedback[1]), int(splitFeedback[2]))
        else:
            channel = '%d' % int(splitFeedback[1])
            self.updateDeviceState('tivoPremier', 'channel', channel)
            self.updateLastFeedbackInfo(True, feedback)
            return True
        elif feedback[0] == 'CH_FAILED':
            self.updateLastFeedbackInfo(False, feedback)
            return True
        return False



NOTE: The Multi Device Plugin is currently in BETA. Please be patient!

NOTE ON MOUNTAIN LION: I've seen the recent discussion on Mountain Lion and Indigo. This plugin was built on Lion and Indigo 5. It's compatibility with Mountain Lion will depend upon how Mountain Lion affects Indigo 5 and python 2.5

Posted on
Fri Jul 27, 2012 5:50 pm
jay (support) offline
Site Admin
User avatar
Posts: 18199
Joined: Mar 19, 2008
Location: Austin, Texas

Re: New Plugin to Simplify Integration of Custom Devices

Excellent additions - thanks much!

Jay (Indigo Support)
Twitter | Facebook | LinkedIn

Posted on
Fri Jul 27, 2012 10:23 pm
matt (support) offline
Site Admin
User avatar
Posts: 21411
Joined: Jan 27, 2003
Location: Texas

Re: New Plugin to Simplify Integration of Custom Devices

Yes, definitely great to see more A/V control available now in Indigo. Thanks!

Image

Posted on
Thu Dec 27, 2012 1:12 pm
ckeyes888 offline
Posts: 2417
Joined: Nov 26, 2009
Location: Kalispell, MT

Re: New Plugin to Simplify Integration of Custom Devices

Anyone know if this plugin can access Pandora stations directly using an Onkyo NR708?

Thanks,

Carl

Posted on
Sun Mar 24, 2013 9:15 am
asw24b offline
Posts: 222
Joined: Dec 30, 2007
Location: Los Altos Hills, CA

Re: New Plugin to Simplify Integration of Custom Devices

bcall wrote:
The Multi Device Plugin is a new plugin that makes the task of integrating custom devices (like AV Receivers, pool controllers, etc.) into Indigo much easer. If you can write an xml file and about a page of python code you can create a custom plugin for your own device (assuming it meets certain parameters).

All you need to worry about is the logic for creating command strings for your device and parsing feedback strings. The plugin does the rest.

The Multi Device Plugin comes with controllers for 4 built in devices: an Onkyo Receiver, a Russound Multi Zone Receiver, a TiVo premier and an Intellitouch pool controller.

There is a full description of this new plugin, together with tutorials and a quasi-sdk (lists of python methods that should be implemented and helper methods to help you do it, along with the xml and python files for each of the built in devices) available at http://www.bradcall.com/multideviceplugin.

The plugin is inexpensive but not free. It is available in a single device version (if you want to use the functionality of just one of the built in devices), a standard version which includes all of the built in devices, and a pro version which includes all of the built in devices plus the ability to create your own.

If you are interested in any of the built in devices, or if you would be interested in a way to create your own custom devices more easily, take a look at the available documents to get a sense of whether this might be something useful to you.

Also, adding new devices to the plugin is fairly straight forward, so if you have a device you’d like to see added, let me know. The most important part is to get the communication protocol for the device (some manufacturers don’t make that easy). But, if you have it or can get it, let me know and I’ll see what I can do to help.

By the way, just in case you find python a little daunting, here is the entire python file that supports the TiVo within the plugin. The other devices have a bit more in their python files, but not that much more.

Code: Select all
from deviceDrivers.baseDeviceDriver import BaseDeviceDriver

class TivoDeviceDriver(BaseDeviceDriver):

    def preParseFeedback(self, feedback):
    splitFeedback = feedback.split(' ')
    if splitFeedback[0] == 'CH_STATUS':
        channel = int(splitFeedback[1])
        if len(splitFeedback) > 3:
            channel = '%d-%d' % (int(splitFeedback[1]), int(splitFeedback[2]))
        else:
            channel = '%d' % int(splitFeedback[1])
            self.updateDeviceState('tivoPremier', 'channel', channel)
            self.updateLastFeedbackInfo(True, feedback)
            return True
        elif feedback[0] == 'CH_FAILED':
            self.updateLastFeedbackInfo(False, feedback)
            return True
        return False



NOTE: The Multi Device Plugin is currently in BETA. Please be patient!

NOTE ON MOUNTAIN LION: I've seen the recent discussion on Mountain Lion and Indigo. This plugin was built on Lion and Indigo 5. It's compatibility with Mountain Lion will depend upon how Mountain Lion affects Indigo 5 and python 2.5




Is this plug in still being developed ??

Thanks !

Mike

Page 1 of 1

Who is online

Users browsing this forum: No registered users and 2 guests