Skip to content
Image of DENON HEOS HS2
Template

DENON HEOS HS2

by eReitan ConsultingBrand: DenonNo rating yet612 downloads

Content languageEnglish

Description

The Denon HEOS is a network connected, wireless, multi-room music system. The HEOS Command Line Interface (CLI) allows external control systems to manage, browse, play, and get status from the Denon HEOS products. The HEOS CLI is accessed through a telnet connection between the HEOS product and the control system. The control system sends commands and receives responses over the network connection. The CLI commands and responses are in human readable (ascii) format. The command is a text string and the responses are in JSON format. The commands and responses for browsing music servers and services use a RESTFUL like approach while other commands and responses are more static.

The HEOS products can be discovered using the UPnP SSDP protocol. Through discovery, the IP address of the HEOS products can be retrieved. Once the IP address is retrieved, a telnet connection to port 1255 can be opened to access the HEOS CLI and control the HEOS system. The HEOS product IP address can also be set statically and manually programmed into the control system.

To integrate with Loxone you need to identify the pid of the speaker/amplifier. All speakers and amplifiers has a unik PID (Play ID). To identify the PID open Putty Telnet connection on port 1255 and send the following command according to HEOS CLI CP 4.2.1: heos://player/get_players

First you have to create a login to your Heos account, as per HEOS CLI CP 4.1.3 HEOS Account Sign In: heos://system/sign_in?un=heos_username&pw=heos_password (un=HEOS account username and pw=HEOS account password)

The Login will expire, so the best solution is to create a login puls pr day.

After logging inn you can use this command to search for speakers/amplifiers:

heos://player/get_players {"heos": {"command": "player/get_players", "result": "success", "message": ""}, "payload": [{"name": "Stue", "pid": 2594533435, "gid": 2056576554, "model": "HEOS Amp", "version": "3.1.232", "ip": "192.168.117.115", "network": "wired", "lineout": 0, "serial": "ABY17179808993"}, {"name": "Stue TV", "pid": -23832334, "gid": 2091537354, "model": "HEOS HomeCinema", "version": "3.1.232", "ip": "192.168.117.113", "network": "wired", "lineout": 0, "serial": "AWAG9184544514"}]}

Livingroom PID:2594533435 Livingroom TV PID:-23832334

Create visual inputt for play, Pause, Mute and volume up/down (or use multimedia controller)

HEOS CLI CP 4.2.4 Set Play State Command: heos://player/set_play_state?pid=player_id&state=play_Pause (other state to be used Play/Stop) HEOS CLI CP 4.2.8 Volume Up Command: heos://player/volume_up?pid=player_id&step=step_level HEOS CLI CP 4.2.9 Volume Down Command: heos://player/volume_down?pid=player_id&step=step_level HEOS CLI CP 4.2.12 Toggle Mute Command: heos://player/toggle_mute?pid=player_id

It's also possible to group speakers and amps and use group commands to control multiple units at the same time, see HEOS CLI CP 4.3. Commands has to be created with GID (Group ID) insted of PID.

HEOS CLI CP4.3.6 Group Volume Up Command: heos://group/volume_up?gid=group_id&step=step_level HEOS CLI CP4.3.7 Group Volume Down Command: heos://group/volume_down?gid=group_id&step=step_level HEOS CLI CP4.3.10 Toggle Group Mute Command: heos://group/toggle_mute?gid=group_id

Ad your favorite radio channels in the Heos APP and you will find these channels in the list by using following command:

heos://browse/get_music_sources

{"heos": {"command": "browse/get_music_sources", "result": "success", "message": ""}, "payload": [{"name": "TuneIn", "image_url": "https://production.ws.skyegloup.com:443/media/images/service/logos/tunein.png", "type": "music_service", "sid": 3, "available": "false"}, {"name": "Deezer", "image_url": "https://production.ws.skyegloup.com:443/media/images/service/logos/deezer.png", "type": "music_service", "sid": 5, "available": "false"}, {"name": "Tidal", "image_url": "https://production.ws.skyegloup.com:443/media/images/service/logos/tidal.png", "type": "music_service", "sid": 10, "available": "false"}, {"name": "SoundCloud", "image_url": "https://production.ws.skyegloup.com:443/media/images/service/logos/soundcloud.png", "type": "music_service", "sid": 9, "available": "false"}, {"name": "Local Music", "image_url": "https://production.ws.skyegloup.com:443/media/images/service/logos/musicsource_logo_servers.png", "type": "heos_server", "sid": 1024, "available": "true"}, {"name": "Playlists", "image_url": "https://production.ws.skyegloup.com:443/media/images/service/logos/musicsource_logo_playlists.png", "type": "heos_service", "sid": 1025, "available": "true"}, {"name": "History", "image_url": "https://production.ws.skyegloup.com:443/media/images/service/logos/musicsource_logo_history.png", "type": "heos_service", "sid": 1026, "available": "true"}, {"name": "AUX Input", "image_url": "https://production.ws.skyegloup.com:443/media/images/service/logos/musicsource_logo_aux.png", "type": "heos_service", "sid": 1027, "available": "true"}, {"name": "Favorites", "image_url": "https://production.ws.skyegloup.com:443/media/images/service/logos/musicsource_logo_favorites.png", "type": "heos_service", "sid": 1028, "available": "true"}]}

For favotites (in this example) use sid=1028

heos://browse/browse?sid=1028 {"heos": {"command": "browse/browse", "result": "success", "message": "command under process&sid=1028"}} {"heos": {"command": "browse/browse", "result": "success", "message": "sid=1028&returned=6&count=6"}, "payload": [{"container": "no", "mid": "s15239", "type": "station", "playable": "yes", "name": "P5 Hits", "image_url": ""}, {"container": "no", "mid": "s18582", "type": "station", "playable": "yes", "name": "Radio Haugaland 105.6 (Top 40 %26 Pop Music)", "image_url": "http://cdn-profiles.tunein.com/s18582/images/logoq.jpg?t=154037"}, {"container": "no", "mid": "s2759", "type": "station", "playable": "yes", "name": "Radio 102 106.9 (World Talk)", "image_url": "http://cdn-radiotime-logos.tunein.com/s2759q.png"}, {"container": "no", "mid": "s6728", "type": "station", "playable": "yes", "name": "P4 Radio Hele Norge", "image_url": "http://cdn-profiles.tunein.com/s6728/images/logoq.png?t=151178"}, {"container": "no", "mid": "s15235", "type": "station", "playable": "yes", "name": "NRJ Norge", "image_url": "http://cdn-profiles.tunein.com/s15235/images/logoq.png"}, {"container": "no", "mid": "s286343", "type": "station", "playable": "yes", "name": "TOPP 40", "image_url": "http://cdn-profiles.tunein.com/s286343/images/logoq.png?t=151878"}], "options": [{"browse": [{"id": 20, "name": "Remove from HEOS Favorites"}]}]}

Copy Sid into a virtual output: heos://browse/play_stream?pid=2091537354&sid=1028&cid='NRJ Norge'&mid=s15235

You can use the radio block to select channels:

enjoy...

Inputs and outputs · 8

NameTypeCommandUnit
Heos PlayVirtualOutheos://player/set_play_state?pid=YOUR_PID&state=play\r\n
Heos PauseVirtualOutheos://player/set_play_state?pid=YOUR_PID&state=pause\r\n
Heos StopVirtualOutheos://player/set_play_state?pid=YOUR_PID&state=stop\r\n
Log in HeosVirtualOutheos://system/sign_in?un=YOUR_USERNAME&pw=YOUR_USERNAME\r\n
Heos MuteVirtualOutheos://player/toggle_mute?pid=YOUR_PID\r\n
Heos Volume UpVirtualOutheos://player/volume_up?pid=YOUR_PID&step=5\r\n
Heos Volume DownVirtualOutheos://player/volume_down?pid=YOUR_PID&step=5\r\n
Heos Play NextVirtualOutheos://player/play_next?pid=YOUR_PID

FAQ

No questions have been answered yet.

Ratings and comments

No ratings or comments yet.

Questions and answers

  1. Pid string

    Open

    I am not able to find where to input pid address

    1 reply

    1. Hi You have to change pid=player_id to your pid. If your PID=1234567. You have to change this in all the commands that contains pid=player_id.

      BR eirik

Report this entry

Report abuse

You have to be logged in to report an entry. Log in