View unanswered posts | View active topics It is currently Wed May 22, 2013 8:18 pm



Reply to topic  [ 5 posts ] 
 New Plugin to Simplify Integration of Custom Devices 
Author Message

Joined: May 17, 2012
Posts: 59
Post 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


Thu Jul 26, 2012 3:59 pm
Profile
Site Admin
User avatar

Joined: Mar 19, 2008
Posts: 6659
Location: Austin, Texas
Post Re: New Plugin to Simplify Integration of Custom Devices
Excellent additions - thanks much!

_________________
Jay (Indigo Support)
Image


Fri Jul 27, 2012 5:50 pm
Profile WWW
Site Admin
User avatar

Joined: Jan 27, 2003
Posts: 11692
Location: Texas
Post Re: New Plugin to Simplify Integration of Custom Devices
Yes, definitely great to see more A/V control available now in Indigo. Thanks!

_________________
Image


Fri Jul 27, 2012 10:23 pm
Profile WWW

Joined: Nov 26, 2009
Posts: 925
Location: Kalispell, MT
Post 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


Thu Dec 27, 2012 1:12 pm
Profile

Joined: Dec 30, 2007
Posts: 179
Location: Los Altos Hills, CA
Post 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


Sun Mar 24, 2013 9:15 am
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 5 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.   Template designed by STSoftware.