I’ve been exploring the integration of my Trivum MusicCenter’s AirPlay receivers into OpenHAB, and I must say, it’s been an enlightening journey with a few bumps along the way. For those who might be interested, I’d like to share my experiences and a workaround that’s been helping me navigate the challenges.
First off, my setup includes multiple AirPlay receivers, each assigned to specific rooms in my home. The goal was to seamlessly control each speaker from OpenHAB, which seemed straightforward at first glance. However, I quickly noticed an inconsistency in how PulseAudio assigns names to these AirPlay sinks. The names were identical for all receivers, with only a numerical suffix differentiating them. This led to an issue where the assignment of sinks to specific rooms wasn’t reliable, as the numerical suffixes would change upon each discovery.
This variability made it difficult to assign OpenHAB pulseaudio things to the correct speakers consistently. For instance, the sink labeled ‘raop_output.arm-7.local.4’ might switch to ‘raop_output.arm-7.local.2’ after a restart, disrupting the setup. To tackle this, I’ve been manually reassigning the sinks each time, which, while functional, isn’t ideal for a seamless smart home experience.
In an effort to find a more permanent solution, I’ve reached out to the community and explored potential workarounds. One approach that’s shown promise is leveraging the device descriptions provided by iOS devices, which uniquely identify each AirPlay receiver. By scripting a solution that parses these descriptions and dynamically assigns the correct sink names, I’ve managed to maintain consistency across reboots and discoveries.
I’d love to hear from others who might have encountered similar issues or have suggestions for improving this integration. Whether it’s a tweak to the PulseAudio configuration or a more elegant scripting solution, your insights would be invaluable!
Thank you for your time, and I look forward to your thoughts on this matter.