
* 🔥 Removes octopress.js * 🔥 Removes use of root_url var * 🔥 Removes Octopress generator reference from feed * 🔥 Removes delicious support * 🔥 Removes support for Pinboard * 🔥 Removes support for Disqus * 🔥 Removes support for Google Plus * ↩️ Migrate custom after_footer to default template * ↩️ Migrate custom footer to default template * ↩️ Migrate custom header to default template * 🔥 Removes unused template files * 🚀 Places time to read directly in post template * 🚀 Removes unneeded capture from archive_post.html template * 🔥 🚀 Removes unused, but heaving sorting call in component page * 🚀 Merged javascripts into a single file * 🔥 Removes more uses of root_url * 🚀 Removal of unneeded captures from head * 🔥 🚀 Removal of expensive liquid HTML compressor * 🔥 Removes unneeded templates * 🚀 Replaces kramdown with GitHub's CommonMark 🚀 * 💄 Adds Prism code syntax highlighting * ✨ Adds support for redirect in Netlify * ↩️ 🔥 Let Netlify handle all developer doc redirects * ✏️ Fixes typo in redirects file: Netify -> Netlify * 🔥 Removes unused .themes folder * 🔥 Removes unused aside.html template * 🔥 Removes Disqus config leftover * 🔥 Removes rouge highlighter config * 🔥 Removes Octopress 🎉 * 💄 Adjust code block font size and adds soft wraps * 💄 Adds styling for inline code blocks * 💄 Improve styling of note/warning/info boxes + div support * 🔨 Rewrites all note/warning/info boxes
5.8 KiB
title, description, logo, ha_category, ha_release, ha_iot_class
title | description | logo | ha_category | ha_release | ha_iot_class | |
---|---|---|---|---|---|---|
Denon HEOS | Instructions on how to integrate Denon HEOS into Home Assistant. | heos.png |
|
0.92 | Local Push |
The HEOS integration adds support for HEOS capable products, such as speakers, amps, and receivers (Denon and Marantz) into Home Assistant. Features currently include:
- Each device is represented as a media player entity
- View the currently playing media
- Control play mode (play, pause, stop, next and previous), volume, mute and shuffle
- Clear playlist
- Select source from device physical inputs and HEOS favorites
Configuration
HEOS devices are discovered and setup automatically when the discovery integration is enabled. Alternatively, the integration can be setup through the frontend control panel integrations page or manually by adding the following to your configuration.yaml
file:
# Example configuration.yaml entry
heos:
host: IP_ADDRESS
{% configuration %} host: description: "Address of the device. Example: 192.168.1.32." required: true type: string {% endconfiguration %}
Services
Service heos.sign_in
Use the sign-in service to sign the connected controller into a HEOS account so that it can retreive and play HEOS favorites and playlists. An error message is logged if sign-in is unsuccessful. Example service data payload:
{
"username": "example@example.com",
"password": "password"
}
Attribute | Description |
---|---|
username |
The username or email of the HEOS account. [Required] |
password |
The password of the HEOS account. [Required] |
Service heos.sign_out
Use the sign-out service to sign the connected controller out of a HEOS account. An error message is logged if sign-out is unsuccessful. There are no parameters to this service.
Service media_player.play_media
Play Favorite
You can play a HEOS favorite by number or name with the media_player.play_media
service. Example service data payload:
{
"entity_id": "media_player.office",
"media_content_type": "favorite",
"media_content_id": "1"
}
Attribute | Description |
---|---|
entity_id |
entity_id of the player |
media_content_type |
Set to the value playlist |
media_content_id |
The nubmer (i.e. 1 ) or name (i.e. Thumbprint Radio ) of the HEOS favorite |
Play Playlist
You can play a HEOS playlist with the media_player.play_media
service. Example service data payload:
{
"entity_id": "media_player.office",
"media_content_type": "playlist",
"media_content_id": "Awesome Music"
}
Attribute | Description |
---|---|
entity_id |
entity_id of the player |
media_content_type |
Set to the value playlist |
media_content_id |
The name of the HEOS playlist |
Play Quick Select
You can play a HEOS Quick Select by nubmer or name with the media_player.play_media
service. Example service data payload:
{
"entity_id": "media_player.office",
"media_content_type": "quick_select",
"media_content_id": "1"
}
Attribute | Description |
---|---|
entity_id |
entity_id of the player |
media_content_type |
Set to the value quick_select |
media_content_id |
The quick select number (i.e. 1 ) or name (i.e. Quick Select 1 ) |
Play Url
You can play a URL through a HEOS media player using the media_player.play_media
service. The HEOS player must be able to reach the URL. Example service data payload:
{
"entity_id": "media_player.office",
"media_content_type": "url",
"media_content_id": "http://path.to/stream.mp3"
}
Attribute | Description |
---|---|
entity_id |
entity_id of the player to play the URL |
media_content_type |
Set to the value url |
media_content_id |
The full URL to the stream |
Notes
- HEOS groups are not currently supported.
- Receivers with multiple zones are represented as a single media player. They will be turned on when playback is started, but cannot be turned off by the integration at this time.
Troubleshooing
Debugging
The HEOS integration will log additional information about commands, events, and other messages when the log level is set to debug
. Add the the relevent line below to the configuration.yaml
to enable debug logging:
logger:
default: info
logs:
homeassistant.components.heos: debug
pyheos: debug
Missing Favorites
If the HEOS controller is not signed in to a HEOS account, HEOS favorites will not be populated in the media player source selection and the service media_player.play_media
for favorite
and playlist
will fail. Additionally, the following warning will be logged at startup:
IP_ADDRESS is not logged in to a HEOS account and will be unable to retrieve HEOS favorites: Use the 'heos.sign_in' service to sign-in to a HEOS account
To resolve this issue, use the heos.sign_out
service to sign the controller into an account as documented above. This only needs to be performed once, as the controller will remain signed in while the account credentails are valid.