How to enable Airplay on older Sonos devices with Airconnect

Hi all,

I have a Coreelec box - Beelink GT King, and it is always on, so I thought I could use it with my older Sonos speakers that don’t support Airplay. This can be done using the great software Airconnect (https://github.com/philippe44/AirConnect)

It is very easy to set up, and it can actually be used to activate Airplay for all upnp devices - and also Chromecast with a small change in scripts. I will only show setup for Sonos here.

This is the code to put into SSH on your Coreelec box:

Create a folder

mkdir /storage/airconnect/

cd /storage/airconnect/

Download Airconnect

wget https://raw.githubusercontent.com/philippe44/AirConnect/master/bin/airupnp-arm

Make file executable:

chmod +x airupnp-arm

Edit a new service

nano /storage/.config/system.d/airupnp.service

In the nano editor paste:

[Unit]
Description=AirUPnP bridge
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/storage/airconnect/airupnp-arm -l 1000:2000 -o S1,S3,S5,S9,S12,ZP80,ZP90,ZP100,ZP120 -Z
Restart=on-failure
RestartSec=30

[Install]
WantedBy=multi-user.target

Then exit by ctrl+X - save file

In the file I have defined that it should only look for older Sonos devices not already supporting Airplay with the “-o S1, …” command. You can leave that part out if you want all your upnp devices listed.

Sonos player model numbers:
Play:1 : S1, S12
Play:3 : S3
Play:5 gen 1: S5
PlayBar: S9
ZonePlayers: ZP80, ZP90 (Connect), ZP100, ZP120 (Connect:Amp)

Then in SSH enable the new service:
systemctl enable airupnp.service

And then start the service:
systemctl start airupnp.service

Your players will now be available in Airplay compatible devices with their name and a (+)

The service will start when you reboot now. You can always disable with:
systemctl disable airupnp.service

Enjoy Airplay

1 Like

Works great but every time I reboot Kodi, I have to re enable the command

Hmm that is strange. Mine starts automatically every time I reboot.