A little while back, I picked up a ClearOne XAP800 device. This is a 1u rackmount unit, and was originally sold as a microphone matrix, but it also supports line-level inputs - and with 12 inputs and 12 outputs (or 8/8 in XAP400 guise), with the ability to route any input to any output in any combination, as well as to stack up to 8 units together, to me, it makes a brilliant centrepiece to a multiroom audio setup.
So, comes to controlling it from openHAB. It’s got an RS232 connection on the back of it, and a defined list of commands…
So, I’ve been starting to write a Binding to perform some basic tasks:
- Source selection
Current state is that once a serial port is defined (a connection to a Stack), each connected Unit will be detected, and once the Unit is created as a Thing, each individual output Zone will be detected.
From here, Inputs 1-12 (or 1-8 for XAP400) can be selected as the Source for a Zone. If you want to have a source always mapped to a Zone, edit the Thing properties and remove this Input number from the comma-separated list of allowable inputs)
My current code is here, but I’ve not yet created a .jar (if anyone can provide guidance on how to do so, that will be appreciated!)
I also have a separate branch where I’m looking into methods for coping with multichannel audio, as currently this only supports Mono (single mono input to a single mono output) - currently if the output is defined as having more than 1 channel, it applies the same adjustments to input/output X+Y - but I’m also considering changing it from being based around the physical inputs & outputs on the device, and instead allowing you to specifically define your own Sources and Output Zones, and do some kind of mapping to allow it to support multiple channels in a better way…
Anyway, just wanted to get something out here for the community to have a first look at, and if anyone else has an XAP and wants to give this a try and become a tester and provide feedback, that’ll be great!