-
Notifications
You must be signed in to change notification settings - Fork 2
09 Sirius XM Streaming Server Add On
The Arylic amp HTTP API has the ability to play a stream directly from a URL:
http://amp_ip_address/httpapi.asp?command=setPlayerCmd:play:uri
However, SiriusXM does not have a standard URL/URI for streaming. A Python API has been developed by Christopher Bailey (Github: AngellusMortis) that creates an anonymous HLS stream that we can use at the URI for playing any subscribed SiriusXM station directly to the amp.
Notice: You must have a valid SiriusXM subscription to play any non-free channels. This repo nor any of my work is designed or intended to permit unauthorized access to SiriusXM content!
Since this is a Python application, it can be run on any system that supports Python 3.6+, including a Raspberry Pi.
However, I opted to run my server in a Docker container on a Proxmox server, using Docker-compose. A copy of the docker-compose.yml file that I used can be found in the /sirius-tft-touch-add-on folder of this repo.
While my code and samples are specfically designed for use with the DIY amp and Home Assistant, you can use the streaming server to play SiriusXM context on any device that can stream from a URL, like VLC Media Player, meaning there are numerous other potential applications.
Please see the following for full details on my implementation:
- YouTube Video: Local SiriusXM Server and Touch Controls for the DIY Amp
- Blog Article: Adding Local SiriusXM And Touch to the DIY Amp
Once the streaming server is up and running, you can add scripts and create a dashboard to easily start streaming any of your favorite stations (that are included in your subscription).
The code for creating the Home Assistant RESTful command that allows you to pass any valid SiriusXM channel ID to start the stream, along with the scripts and other YAML (including the dashboard YAML.. which I created a subview from my existing amp dashboard page) can be found in the /sirius-tft-touch-add-on folder of this repo.
Also refer to the above links for the YouTube video and blog article for more details.