Is there any interest in controlling Vera from xPL?
I took a little time today and started writing a perl program that polls Vera (with the the UI Simple example) and generates xPL events. The reason I’m looking into this in the first place is I’m interested in using EventGhost or Girder (see my posts under “Remote”) to interface some more complicated Android control panels with Vera, and both of those have xPL plugins.
I went with perl just because AnyEvent makes it pretty simple to do non-blocking I/O without using threads. I was trying to keep this pretty simple as I just wanted a proof of concept. To run it you would just need Perl and a few Perl Modules: AnyEvent, AnyEvent::HTTP, and JSON. It should be cross platform and probably plug computer friendly. I figure handling xPL events on a different machine is preferable to not tax Vera too much and because you will need an xPL hub running somewhere else anyway.
Right now I’ve only sending lighting.device trigger messages when something changes. The lighting scheme is surprisingly complicated, and I’ve coded up a bit more of the protocol but I’m not familiar at all with xPL and want to make sure I’m doing it right. I am not listening for events yet but there isn’t much code needed for that.
If there isn’t any interest I’m just going to clean this up enough for my own use. If there is I’m looking for someone who is willing to test out my code and tell me when I’m being dumb. If anyone has a good xPL enabled program to recommend to try controlling some devices I would also appreciate it.
If anyone is interested in xPL you can find more information here:
http://xplproject.org.uk/wiki/index.php?title=XPL_Message_Schema
http://xplproject.org.uk/wiki/index.php?title=XPL_Specification_Document
EDIT:
I now handle xPL lighting.basic messages to set the level of a light. So now I have sending and receiving of a subset of xPL messages working, all the basic functionality is there, it is just a matter of adding the ability to handle all the proper xPL schemas…