The first just makes the SB into a remote controlled device, using the MCV Device Types for AV gear. This would allow you to ‘pick’ the SB device in remote controls like SQRemote and map it’s commands to AV buttons.
This is for things like Amps, tuners, TVs etc. Where you can avoid having IR in the mix altogether. See the code examples for the Onkyo amp, Panasonic TV and the Matrix switch on code.mios.com for this option if you want to build a native driver for SB
The second makes the SB into a Pronto code proxy to some third party device over IR. This would require the SB to be able to send pronto codes. This option is for things like the GC100, the iTach line and SQremote ‘puck’. The interface that’s currently defined only works if the middleman device can send/proxy Pronto codes.
Code for this option can be captured/derived from the GC100 device imp. I’ve done this and can proxy IR codes.
So to put the pieces together, Vera “Generates” stub files for Option 1 when you go through the Remote wizard.
Inside each of these files are captured:
a) a Pronto code for a particular action on the Device that was selected.
b) a snippet of “Action” method that Vera (or SQRemote) can invoke to “push” that code to the IR Blaster.
Separately, Vera looks for IR Blasters in the system. These are identified by their DeviceType:
<deviceType>urn:schemas-micasaverde-com:device:IrTransmitter:1</deviceType>
but they also have to implement the service:
Internally, it’s this SendProntoCode method that’s invoked when someone “presses” a button in Vera or SQRemote. The implementation is expected to send the ProntoCode to the remote device (over USB, over Serial, over Ethernet/Wifi, etc)
In your case, since you have IRC codes you’d have to build “AV Device” files as well as a driver like above. The would then just pass the IRC code over the SendProntoCode method to the SB.
This is kinda hard to explain, but you have to understand all the pieces together, and yes… it would be possible, but you’d have to transform all the IRC code definitions, for each AV Device, into equivalent Vera Plugin files along with writing the tiny snippet to send the code over to SB.
Given these defns are in a standard format, you could write a script for parts of the transform.
IIUC, I would have to create one device of type urn:schemas-micasaverde-com:device:IrTransmitter:1 with a method SendProntoCode that sends the IR commands to the Squeezebox Server and one “large” (or more than one) (pseudo) AV device with methods that correspond to the IR codes required.
Sounds indeed like a task for a compiler rather than a human (input: LIRC files, ouput: Luup device files) …
Sounds indeed like a task for a compiler rather than a human (input: LIRC files, ouput: Luup device files) ... Smiley
yeap, that’s what I meant by this bit…
Given these defns are in a standard format, you could write a script for parts of the transform.
Note that each IIUC file would be transformed into a single pair of D_xxx and I_xxx.xml files for Vera, and these would “only” work for the SB, since you’d essentially be sending an IIUC “code” not a Pronto “code”.