homebridge-sonos-homepod
v0.1.0-beta.1
Published
Exposes Sonos zones to Apple HomeKit as a HomePod-like SmartSpeaker tile plus an optional Television accessory for full media control.
Maintainers
Readme
homebridge-sonos-homepod
Exposes Sonos zones to Apple HomeKit as a HomePod-like SmartSpeaker tile plus an optional Television accessory for full media control.
⚠️ Read this first — honest scope. A true 1:1 HomePod (AirPlay 2 audio streaming from Control Center, album art on the tile, Siri "play music on …", stereo pairing, intercom) is not achievable through Homebridge. Those features require Apple's AirPlay 2 / MFi hardware certification, which is closed and cannot be emulated by any plugin — not this one, not homebridge-zp, not any other.
What this plugin does deliver is the closest the HomeKit Accessory Protocol allows: a native SmartSpeaker tile (looks like a speaker, play/pause/stop + volume) and a Television accessory (favorites as inputs, Remote-widget transport, absolute volume).
Features
| Capability | SmartSpeaker tile | Television accessory | | --- | --- | --- | | HomePod-style tile look | ✅ | ❌ (media/TV look) | | Play / Pause / Stop | ✅ | ✅ | | Volume / Mute | ✅ | ✅ (absolute + steps) | | Sonos favorites as inputs | ❌ | ✅ | | Remote-widget control (next/prev) | ❌ | ✅ | | AirPlay 2 audio routing, album art, Siri music | ❌ (not possible) | ❌ (not possible) |
Both accessory types are optional — enable either or both per your taste.
Installation
npm install -g homebridge-sonos-homepod@betaOr via the Homebridge UI: search for Sonos HomePod.
Configuration
{
"platforms": [
{
"platform": "SonosHomePod",
"exposeSmartSpeaker": true,
"exposeTelevision": true,
"pollInterval": 5,
"discoveryTimeout": 8000,
"zones": [
{ "name": "Wohnzimmer", "host": "192.168.1.50" }
]
}
]
}All fields are optional except platform. Zones are auto-discovered via SSDP; add
entries to zones only if discovery misses a speaker.
Adding the speakers in the Home app
Because the SmartSpeaker and Television services each require their own accessory category, every speaker is published as an external (unbridged) accessory. After restarting Homebridge:
- Open Home → Add Accessory → More options…
- Pick the Sonos accessory(ies) that appear.
- Enter your Homebridge setup code (the same PIN as your bridge).
Limitations
- Volume/mute responsiveness in the SmartSpeaker tile varies by iOS version.
- State is polled (default every 5 s), so changes made in the Sonos app appear with a short delay.
- Grouped zones are controlled via their coordinator; per-group topology management is not yet implemented.
License
Apache-2.0
