Hi,
A couple questions:
1. Is there documentation for the XML control protocol (port 1176)?
2. Would using this protocol allow changing the properties of 3rd party plugin based devices (such as changing the color of Hue Lights, pausing a Sonos, etc.)?
Thanks!
XML Control Protocol
- jay (support)
- Site Admin
- Posts: 18351
- Joined: Wed Mar 19, 2008 11:52 am
- Location: Austin, Texas
- Contact:
Re: XML Control Protocol
Not public and not particularly complete. Can you describe what you're wanting to do?nanobots wrote:1. Is there documentation for the XML control protocol (port 1176)?
Not directly. We specifically designed the API such that only the plugin that "owns" any given device instance can modify it's properties (otherwise misbehaving plugins/scripts could cause a device to stop working properly).nanobots wrote:2. Would using this protocol allow changing the properties of 3rd party plugin based devices (such as changing the color of Hue Lights, pausing a Sonos, etc.)?
Any action that the plugin defines can be scripted if the developer documents the appropriate information, but I'm not sure that's what you're looking for. Without more description, I'm going to guess that what you want to do (control custom devices) isn't currently possible outside of rendering control pages (a la Indigo Touch and HousePad). This is primarily because there really isn't a way for plugins to define control UIs - this is something that's on the list to consider (and has been since the Plugin API was created) but just hasn't yet reached sufficient priority to make it to a release.
Re: XML Control Protocol
Thanks Jay,
Working on a home automation dashboard that pulls together information from Indigo, as well as a few other sources, and allows controlling devices, etc. I started down the restful API route, but that API doesn't really give full details on the devices (http://forums.indigodomo.com/viewtopic. ... 09&t=14358).
I spent some time reverse engineering the XML protocol and have a client that get device statuses, do basic updates (turn on, turn off, etc.), but would still like to be able to control other devices--specifically hue lights and sonos.
I understand that I can build custom python plugins that control the custom devices on the server through custom actions, events, etc., but I don't think that helps with controlling those devices through a custom client? It also sounds like building IWS plugins isn't really recommended at this point since the they're going to be deprecated, and I'm not actually sure they'd be able to control the custom devices any better anyways since it looks like the restful apis are using the XML protocol to perform the actions anyways.
So I guess the root of the question is, is there a way to send custom actions to devices (for example set color of Hue bulb) remotely through a custom client. I don't need Indigo to provide a UI, I just need to be able to make the appropriate call to the server to trigger the action.
Thanks.
Working on a home automation dashboard that pulls together information from Indigo, as well as a few other sources, and allows controlling devices, etc. I started down the restful API route, but that API doesn't really give full details on the devices (http://forums.indigodomo.com/viewtopic. ... 09&t=14358).
I spent some time reverse engineering the XML protocol and have a client that get device statuses, do basic updates (turn on, turn off, etc.), but would still like to be able to control other devices--specifically hue lights and sonos.
I understand that I can build custom python plugins that control the custom devices on the server through custom actions, events, etc., but I don't think that helps with controlling those devices through a custom client? It also sounds like building IWS plugins isn't really recommended at this point since the they're going to be deprecated, and I'm not actually sure they'd be able to control the custom devices any better anyways since it looks like the restful apis are using the XML protocol to perform the actions anyways.
So I guess the root of the question is, is there a way to send custom actions to devices (for example set color of Hue bulb) remotely through a custom client. I don't need Indigo to provide a UI, I just need to be able to make the appropriate call to the server to trigger the action.
Thanks.
- RogueProeliator
- Posts: 2519
- Joined: Tue Nov 13, 2012 3:54 pm
- Location: Baton Rouge, LA
Re: XML Control Protocol
Unfortunately, that is not currently possible - I have that as a feature request in to Matt & Jay for use in DomoPad (Android client) but currently you have to make use of a plugin and IWS plugin to do what you want.So I guess the root of the question is, is there a way to send custom actions to devices (for example set color of Hue bulb) remotely through a custom client. I don't need Indigo to provide a UI, I just need to be able to make the appropriate call to the server to trigger the action.
HOWEVER, if you are interested in doing so you are welcome to load up the DomoPad Indigo Plugin and can execute those actions in the same way that DomoPad does from the Android client; I can send you the fairly simple format of the command if you wish (you pass in the plugin's ID, action name and a dictionary of the parameters appropriate for the action).
Adam
Re: XML Control Protocol
Hi Adam,
Yes, that would be extremely useful and much appreciated.
Matt/Jay +1 on that feature request!
Thanks!
Yes, that would be extremely useful and much appreciated.
Matt/Jay +1 on that feature request!
Thanks!