Heos (Denon) support

Tags: #<Tag:0x00007f5ca00f4ef8> #<Tag:0x00007f5ca00f4890>


I’m looking for a new hifi setup and I consider Heos (from Denon) or Sonos.
There is a Sonos and a Denon binding, but I don’t think the Denon binding supports Heos.
There is a API for Heos available:

I wonder if anyone already started a binding for Heos?


No one?
Has anyone tried to interact with a heos speaker?
It can listen on port 1522 for telnet commands, but this is not available for the end customers.
I know it supports upnp, but I couldn’t found any documentation.


I just got a pair of heos 1, I will probably start coding an binding soon.

1 Like

If I can help or debug, let me know.
You can use telnet on port 1255 to manage the heos devices:

I also found this for sonos: http://www.purple.org/sonos/
It uses upnp for discovery. I’m trying to figure out his code to see if I can adapt it for heos devices.

would be great to have a binding for denon heos. :wink:

I think there is already a newer CLI Protocol Specification available.

Hey there,

Any News on this Topic? Could you already start on a binding for denon heos?

I didn’t had the time (yet) to play with my Heos.
I’m currently busy to examine the velbus protocol from Velleman to integrate it with openHAB.


+1 for Heos support, that would be cool. Their protocol is really simple and from the looks of it it should support what the Denon and Sonos bindings are doing (did not check the details though).

Indeed, it’s al UPnP based.
For now, I only have the soundbar connected to my tv and use my harmony remote to control the volume.
If I want to play something else, I use the heos app.

Maybe, in the future, I will try to figure out the protocol.


+1 for Heos support! Just got two Heos 1 and would love to integrate them in my openhab wakeup scenarios :slight_smile:


Since it looks like noone is working on a Denon HEOS binding I would have a question if there is another way to control it. My usecases are just:

  • turn HEOS on
  • play last played (e.g. a radio station)
  • turn HEOS off

I looked for Logitech Harmony already but looks like it is not supported either.

Any ideas?


Some stuff I found previously but not tested: https://www.npmjs.com/package/heos

This is also usefull information to control HEOS:

I also downloaded this to see if I can adapt it to HEOS:


I am sorry this took so long, but I now have a usable version.


This binding will scan your network for a Heos and when you add it as a Thing it will use the first Heos to find the other Heos on your network.

Thanks for coding on this.
I’m currently not able to test.
Which commands are already implemented?


I was able to detect the heos devices I have.
I don’t have the time the test it more, but I was able to control the volume.


You can control (play/pause), volume, see what is playing and change radio station between your favorites


I’ve problem with bundle:

2016-12-06 10:38:15.051 [WARN ] [org.apache.felix.fileinstall        ] - Error while starting bundle: file:/usr/share/openhab2/addons/org.openhab.binding.heos-2.0.0-SNAPSHOT.jar
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.heos [209]
      Unresolved requirement: Import-Package: org.eclipse.smarthome.core.net
        at org.eclipse.osgi.container.Module.start(Module.java:434)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
        at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:393)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1245)[8:org.apache.felix.fileinstall:3.5.0]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1217)[8:org.apache.felix.fileinstall:3.5.0]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:509)[8:org.apache.felix.fileinstall:3.5.0]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:358)[8:org.apache.felix.fileinstall:3.5.0]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:310)[8:org.apache.felix.fileinstall:3.5.0]

openhab> bundle:list | grep -i heo
209 | Installed |  80 |    | Heos Binding

openhab> bundle:restart 209
Error executing command: Error restarting bundles:
        Unable to start bundle 209: Could not resolve module: org.openhab.binding.heos [209]
  Unresolved requirement: Import-Package: org.eclipse.smarthome.core.net

Any idea?

I use ubuntu and openhab2 offline beta4.

Would it be possible to share your source code on GitHub? I would like to review your code and I’m happy to help with implementing improvements.


This looks awesome! I’d love to help out too.

Ideally I’m looking for a way to control the Night Mode setting on the Soundbar. Controlling the volume can be done via the TV remote, but unfortunately Night Mode can’t.

Unfortunately, it’s not documented in that API doc, would there be a way to sniff to see what the command is to change the Night Mode setting?