smf-service to bring AirPlay to Sonos-speakers

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

zos

Member
Oct 27, 2013
41
20
8
I think I'm not the only one who's unhappy with the fact, that Sonos-speakers aren't able to be used as AirPlay-devices. After a few web-searches I found a node.js-solution written by Stephen Wan (who really did a great job, congratulation for this!) .

I was playing around for a while before I got it working as a smf-service on my OmniOS-SOHO-Server. It was very bitchy because of some nice bugs and very specific requirements. I put all this together in an installer-script which you can download here or install with

wget -O - http://www.wp10455695.server-he.de/airsonos | perl

gea also has listed the script on his website, but menawhile it's outdated (@gea: feel free to update).

What the script does:
- install git
- install gnu-make
- set symlink /usr/bin/cc to /usr/bin/gcc
- create AirSonos daemon user and group 'airsonos' (no shell login, homedir /opt/airsonos)
- install node.js v0.10.28 to /opt/airsonos
- install airsonos to /opt/airsonos/lib/node_modules/airsonos
- set symlink /usr/bin/node-v0.10.28 to /opt/airsonos/bin/node
- patch 2 airsonos js-files to fix reported bugs (here and here)
- patch 1 airsonos js-file to make this version of node.js able to be used beside other node.js-version
- create a smf-service manifest for airsonos
- enable smf-services multicast and airsonos

So if anybody is going to install it, ignore lots of warnings during installation, the application should work after finishing the script. There will be a delay of roundabout 3 seconds after sending audio from an iOS / OS X device to the Sonos-speakers, but for e. g. playlists this fact can be ignored (only switching a lot between songs could be annoying :)

EDIT: Not to forget a Boot Environment will be created at the beginning of the script....
 
Last edited:
  • Like
Reactions: gea and whitey