Denon HEOS
heos
The Denon HEOS integration is used to connect a HEOS System to Home Assistant. HEOS is a wireless audio ecosystem that allows you to stream music to HEOS Built-in products from Denon and Marantz.
In Apple Home through HomeKit Bridge
What HomeKit Bridge makes of each kind of entity this integration creates, read from its source code. A device only gets the ones that apply to it.
| Entity | Shows up as | Note |
|---|---|---|
media_player | Media player (as switches) | Only TVs and receivers get a TV tile; other players show as power and play switches; Needs its own HomeKit Bridge in accessory mode |
What people report
Denon and Marantz HEOS speakers work locally; AVR zone and power control are not available, and very old firmware breaks setup.
- Works5
- Partly works3
- Not working2
| Device | In Home Assistant | In Apple Home | What they said | Source |
|---|---|---|---|---|
| Denon AVR-X2500H | Works Local | Still worked while Home 150 players went unavailableSaved copyI have the same problem, now running HA 2025.2.1. I attached a screenshot about the Denon software versions which are all up-to-date. The devices have static IP addresses. The AVR-X2500H is still working but the Home 150's are listed as not available anymore although the integration still shows them as entities. Excerpt saved from GitHub on 2026-10-23. | Issue #137817 · 2025-02 | |
| Denon HEOS 150 speaker | Works | Plays audio files triggered by Lutron Caseta PicoSaved copyYes, I'm testing them. One example that's easy to test: For my child's room we have a speaker (HEOS's Denon 150). I did two things. First, when the Lutron Caseta Pico switch turns off, then play an audio file via a URL to the Denon. When the switch turns lights on, then turn the sound file off. Also, if double click down then toggle. \- Could only use Lutron Caseta Pico, because Diva (wired) switches wouldn't work with a double press. \- Here is the documentation Claude Code created: https://pastebin.com/cPgXf8zi Another cool things related to this, I want to make sure I never accidentally … Excerpt saved from the Arctic Shift Reddit archive on 2026-10-23. | Reddit comment · 2025-09 | |
| Denon HEOS multi-room audio | Works | Recommended as working great with HASaved copyDenon HEOS or Yamaha MusicCast work great with HA. Excerpt saved from the Arctic Shift Reddit archive on 2026-10-23. | Reddit comment · 2025-10 | |
| Denon HEOS receiver | Works | Works great for multi-zone audioSaved copyDenon Heos works great. Get a Denon receiver that fits your needs and you're off to the races. I have 1 receiver that has 1 5.1 zone, plus 2 separate stereo zones. I'm pretty sure they have some with even more speakers. All my AV runs through it, meaning my Chromecast, roku, xbox, etc all plug into the Denon receiver and it outputs to my tv. All of that is controllable from home assistant and Google. Excerpt saved from the Arctic Shift Reddit archive on 2026-10-23. | Reddit comment · 2024-06 | |
| Denon/Marantz HEOS speakers | Works Local | Fully local; not cheaper than SonosSaved copyDenon/Marantz HEOS system is fine, fully local and they haven't yet decided to brick older devices for _reasons_, but it's not any cheaper than Sonos, so get that I guess. Excerpt saved from the Arctic Shift Reddit archive on 2026-10-23. | Reddit comment · 2025-08 | |
| Denon AVR-660H | Partly works Local | Grouping works; ungroup errors reportedSaved copyThe problem I have 3 Denon Home 150 and 1 Denon AVR-660H which are integrated into Home Assistant through the HEOS integration. I am able to group any player with another, no problem. The problem comes to light when I try to ungroup the players. If I send an ungroup action to each entity individually only one (living room) gets ungrouped. The others throw me following error: [code] This error persists at any time. As soon I restart them manually in the Heos mobile app, ungroupig works fine after that aswell. Here comes the weird part I can't figure out: After I put these speakers in a group … Excerpt saved from GitHub on 2026-10-23. | Issue #124497 · 2024-08 | |
| Denon Home 150 | Partly works Local | Grouping works but ungrouping errors on most playersSaved copyThe problem I have 3 Denon Home 150 and 1 Denon AVR-660H which are integrated into Home Assistant through the HEOS integration. I am able to group any player with another, no problem. The problem comes to light when I try to ungroup the players. If I send an ungroup action to each entity individually only one (living room) gets ungrouped. The others throw me following error: [code] This error persists at any time. As soon I restart them manually in the Heos mobile app, ungroupig works fine after that aswell. Here comes the weird part I can't figure out: After I put these speakers in a group … Excerpt saved from GitHub on 2026-10-23. | Issue #124497 · 2024-08 | |
| Denon/Marantz AVR receivers | Partly works Local | Zone selection and power on/off not controllable via HEOSSaved copySupported devices: Denon online manuals and product archive; Marantz online manuals and product archive. Limitations: AVR receiver features, such as zone selection/control and power on/off, cannot be controlled through this integration. Use the Universal Media Player to combine AVR receiver functionality with this integration. TTS is not supported. The maximum length of a URL that can be used in the playmedia` action is 255 characters due to a limitation in the HEOS firmware. Excerpt saved from home-assistant.io on 2026-10-23. | Docs | |
| Denon HEOS Link | Not working Local | Old firmware 1.583.147 does not report required player infoSaved copy2\. heos://player/get_players heos://player/get_players {"heos": {"command": "player/get_players", "result": "success", "message": ""}, "payload": [{"name": "Heos Link", "pid": -1662400449, "model": "HEOS Link"}, {"name": "Patio", "pid": 612545914, "model": "HEOS Amp", "version": "1.583.147", "ip": "192.168.5.53", "network": "wired", "lineout": 0}, {"name": "Study", "pid": 343050463, "model": "HEOS Amp", "version": "1.583.147", "ip": "192.168.5.52", "network": "wired", "lineout": 0}, {"name": "Kitchen", "pid": 1508235187, "model": "HEOS 5", "version": "1.583.147", "ip": "192.168.5.55", … Excerpt saved from GitHub on 2026-10-23. | Issue #137817 · 2025-02 | |
| Heos devices | Not working | Listed as unstableSaved copy… luton Caseta Envisalink (patches into the alarm system) Rachio sprinkler system Any Hue device (98% of the time) ismartgate pro Middle of the road Kasa devices (95% of the time) Sonos (97% of the time.. some drops) Unstable Any apple product Nest mini and nest audio Heos devices Most TVs: Sony, LG, Roku, etc. Excerpt saved from the Arctic Shift Reddit archive on 2026-10-23. | Reddit comment · 2026-02 |
Gathered from GitHub issues, pull requests, discussions and docs, and from r/homeassistant. These are individual reports, so check the linked thread and the date before you buy.
How it connects
Local push
Talks to the device on your network, and the device tells Home Assistant the moment something changes.
Found automatically over
- SSDP/UPnP
- Bonjour (zeroconf)
Details
| Installs (analytics) | 18,065 (2.55%) |
|---|---|
| Quality scale | Platinum |
| Added in | Home Assistant 0.92 |
| Set up in the UI | Yes |
| Maintainers | @andrewsayre |
Devices listed in its documentation
- Denon online manuals and product archive
- Marantz online manuals and product archive
Limitations from the docs
- AVR receiver features, such as zone selection/control and power on/off, cannot be controlled through this integration. Use the Universal Media Player to combine AVR receiver functionality with this integration.
- TTS is not supported.
- The maximum length of a URL that can be used in the playmedia` action is 255 characters due to a limitation in the HEOS firmware.
In ReReHome
Whatever HomeKit Bridge shares reaches Apple Home as normal HomeKit accessories behind your Home Assistant bridge, so ReReHome shows and controls them like any other.
Bridges get their own settings page listing the accessories behind them.