Julius-Bendt / homebridge-sonos-player

Apache License 2.0
3 stars 0 forks source link

Homebridge sonos play

I couldn't find a working integration for playing mp3 files via the home app, thus, I created a small plugin that are able to send tracks to Sonos.

I Use this for an alarm - the switch is easily automatable inside the app.

Features:

The plugin allows you to create switches that when toggled on starts playing any mp3(and other formats that sonos supports) files.

You can customize volume, delay and timeout for these tracks, as well as which sonos devices should play the track.

Installing:

Using the homebridge web UI, or:

npm i -g homebridge-sonos-player

Configuration:

Either configure the plugin using the homebridge web ui, or though json:

{
  "platform": "SonosPlayerJub",
  "discoverFrom": "192.168.1.1"
  "switches": [
    {
      "name": "Switch name goes here - this will be seen in the home app",
      "trackUri": "Location of the mp3 file - must be located somewhere the Sonos devices can find it",
      "volume": 10,
      "delay": 100,
      "timeout": 10,
      "sonosSpeakerNames": ["Sonos-1"],
      "notification": true
    },
    {
      "name": "Switch name goes here - this will be seen in the home app",
      "trackUri": "http://(...)",
      "volume": 10,
      "delay": 100,
      "timeout": 10,
      "sonosSpeakerNames": ["Sonos-1", "Sonos-2"],
      "notification": false
    }
  ]
}

Switch object:

Thanks to:

A big thanks to bencevans for creating a node package to detect and send api calls to Sonos, and to svrooij for creating a typescript port. Without these, this plugin wouldn't have been created!