wire82 / org.openhab.binding.heos Goto Github PK
View Code? Open in Web Editor NEWHeos Binding for OpenHab
License: Eclipse Public License 1.0
Heos Binding for OpenHab
License: Eclipse Public License 1.0
Hi @Wire82,
I noticed that you did not choose a license for this project yet. That's why I'd like to leave you this issue as a ToDo :) If you'd like to choose an open source license, https://choosealicense.com/ could support you. Very recommendable is the Eclipse Public License 1.0 which is the preferred license for the most OpenHab Add-Ons. Github has an easy-to-use feature for choosing a license for a repository which is described here.
Cheers,
Patrick
When I first attempted to edit the Username and Password of one of my bridge devices, the results did not seem to save.
When I edited the subsequently (also including a location edit) things seemed to work as I would expect.
Edits subsequent to that seem to work even without the Location edit.
I suspect this might in fact be an issue with the Paper UI itself.
Hi,
I have two HEOS One connected to network using cable (not WIFI).
I have configuration of HEOS through files:
Bridge heos:bridge:2159aebc-1cdc-2c29-3139-1f6d9c5f8669 "HEOS Bridge: Matylda" @ "HEOS" [ name="HEOS Bridge Matylda", ipAddress="192.168.199.246", userName="username", password="secret", heartBeat=60]
Bridge heos:bridge:c4c3c1e7-2875-f458-24b5-75b691e7b149 "HEOS Bridge: Marta" @ "HEOS" [ name="HEOS Bridge Marta", ipAddress="192.168.199.247", userName="username", password="secret", heartBeat=60]
Thing heos:player:1013171437 "HEOS 1: Matylda" @ "HEOS" [ pid="1013171437", type="Player", name="Matylda" , ipAddress="192.168.199.246" ]
Thing heos:player:-104736039 "HEOS 1: Marta" @ "HEOS" [ pid="-104736039", type="Player", name="Marta" , ipAddress="192.168.199.247" ]
Thing heos:group:1368813261 "HEOS 1: Matylda + Marta" @ "HEOS" [ gid="1013171437", name="Matylda + Marta", ipAddress="192.168.199.246", type="Group", memberHash="1368813261" ]
Thing heos:group:3724010187 "HEOS 1: Marta + Matylda" @ "HEOS" [ gid="-104736039", name="Marta + Matylda", ipAddress="192.168.199.247", type="Group", memberHash="3724010187" ]
And I have something like this in openhab.log every one minute:
==> /opt/openhab/userdata/logs/openhab.log <==
2019-01-14 22:50:36.681 [DEBUG] [binding.heos.internal.api.HeosSystem] - Sending Heos Heart Beat
2019-01-14 22:50:36.681 [WARN ] [binding.heos.internal.api.HeosSystem] - Connection to HEOS Network lost!
2019-01-14 22:50:36.681 [INFO ] [binding.heos.internal.api.HeosSystem] - Shutting down HEOS Heart Beat
2019-01-14 22:50:36.681 [INFO ] [binding.heos.internal.api.HeosSystem] - Stopping HEOS event line listener
2019-01-14 22:50:36.681 [INFO ] [binding.heos.internal.api.HeosSystem] - Reconnecting to Bridge with IP 192.168.199.247 @ port `1255`
Can anybody help?
Using openhab 2.3.0 from docker.
From the documentation, I cannot see how we can define groups in a heos.things file.
When I try to define a group, there seem to be multiple NullReferenceExceptions occuring due to groupMemberHash being null etc. Even if I specify all of those, I cannot set the groupMemberPidList, as this is stored in the thing properties (not accessible in the things file).
What I'd like to achieve is having a group for each speaker so that other speakers can join any other group when they want to also "listen" to the same audio that this speaker is playing.
Is this even possible? It seems like the group thing ID is generated from a member hash, so it changes each time a member is added/removed. Why not use the GID from the heos system for that?
The volume channel does currently now show the current volume (that was may set via the App or by using the buttons on the device itself), but only the last volume that was set via OpenHab.
I have 3 players, but only two of them are added as selection channels, so I cannot create "overall" group containing all players. This is my configuration:
Bridge heos:bridge:98b89fbb-9611-44e0-ded5-362971a59d7d "HEOS Bridge (HEOS Amp: Wohnzimmer)" [ name="HEOS Amp", ipAddress="192.168.0.14", heartBeat=60] {
Thing player 450590749 "HEOS Amp: Wohnzimmer" [ pid="450590749", type="Player", name="Wohnzimmer" ]
Thing player 388435769 "Heos Link: Schlafzimmer" [ pid="388435769", type="Player", name="Schlafzimmer" ]
Thing player -2050040747 "Heos 1: Badezimmer" [ pid="-2050040747", type="Player", name="Badezimmer" ]
}
The device "HEOS Amp: Wohnzimmer" is not getting added as a selection channel to the bridge, just "Heos Link: Schlafzimmer" and "Heos 1: Badezimmer". All player Things are getting created and working fine, just the selection channel on the bridge is missing.
Hello,
when I save a Amazon Music radio station as a Heos favorite I can see strings like this in Basic UI as the favorites entry name.
catalog/stations/A2WXS38LOV7JL3/eyJAY2xhc3MiOiJjb20uYW1hem9uLm11c2ljcGxheXF1ZXVlc2VydmljZS5wYWdpbmcuU3RhdGlvblBhZ2VUb2tlbiIsInF1ZXVlSWQiOiJmZDYyODJiZS1kMTZiLTQ0NzctODEyYy0wOWY1ZDk2OTIwMzAiLCJjdXN0b21lcklkIjoiQTNWMDQxOTdEVUc1UEoiLCJkZXZpY2VJZCI6IkM2NkJGNjQ3NkU4QUEyNUJEMzg1M0YxQjVDQ0IzQkI5MzVENTM4NzMiLCJkZXZpY2VUeXBlIjoiQTEzOTdWWkUwS1FUUEUiLCJtYXJrZXRwbGFjZUlkIjoiQTFQQTY3OTVVS01GUjkiLCJtdXNpY1RlcnJpdG9yeSI6IkRFIiwiY3VzdG9tZXJTdWJzY3JpcHRpb25zIjpbImphdmEudXRpbC5IYXNoU2V0IixbIkxJQlJBUlkiLCJQUklNRSIsIlNUT1JFIl1dLCJhZGRpdGlvbmFsTWV0YWRhdGEiOnsiQGNsYXNzIjoiY29tLmdvb2dsZS5jb21tb24uY29sbGVjdC5SZWd1bGFySW1tdXRhYmxlTWFwIiwiRU5USVRZX1RZUEUiOiJTVEFUSU9OIiwiU0VMRUNURURfU0VSVklDRV9USUVSIjoiUFJJTUUiLCJRVUVVRV9TSFVGRkxFIjoiZmFsc2UiLCJRVUVVRV9TRVFVRU5DRUQiOiJmYWxzZSIsIlNFTEVDVElPTl9TT1VSQ0VfVFlQRSI6IlBSSU1FX1GUQVRJT04iLCJTRUxFQ1RJT05fU09VUkNFX1NVQlRZUEUiOiI5N2I3YzQwZi1jYmMwLTQ5MTQtOTRkZi02Njc3ZTg0NDNhYjciLCJTRUxFQ1RJT05fU09VUkNFX0lEIjoiQTJXWFMzOExPVjdKTDMiLCJTRUxFQ1RJT05fU09VUkNFX1NFU1NJT05fSUQiOiIyMmEyOWJmMC0zM2MzLTRmOGItOTJhZC01YWViMjNkYTRkMjIifSwiaW5pdGlhbElkZW50aXR5SW5mb3JtYXRpb24iOlsiY29tLmdvb2dsZS5jb21tb24uY29sbGVjdC5SZWd1bGFySW1tdXRhYmxlTGlzdCIsW11dLCJleHBlcmllbmNlSWRlbnRpdHlJbmZvcm1hdGlvbiI6WyJjb20uZ29vZ2xlLmNvbW1vbi5jb2xsZWN0LlJlZ3VsYXJJbW11dGFibGVMaXN0IixbXV0sImNhbGxGb3JNb3JlSW5kZXgiOjk5LCJjdXJyZW50VHJhY2tJbmRleCI6MCwidHJhY2tzIjpbImphdmEudXRpbC5BcnJheUxpc3QiLFtdXSwic3RhdGlvbkluc3RhbmNlSWQiOiIyMmEyOWJmMC0zM2MzLTRmOGItOTJhZC01YWViMjNkYTRkMjIiLCJzYW1wbGVzIjpmYWxzZX0=/#chunk, catalog/stations/A2WXS38LOV7JL3/eyJAY2xhc3MiOiJjb20uYW1hem9uLm11c2ljcGxheXF1ZXVlc2VydmljZS5wYWdpbmcuU3RhdGlvblBhZ2VUb2tlbiIsInF1ZXVlSWQiOiJmZDYyODJiZS1kMTZiLTQ0NzctODEyYy0wOWY1ZDk2OTIwJzAiLCJjdXN0b21lcklkIjoiQTNWMDQxOTdEVUc1UEoiLCJkZXZpY2VJZCI6IkM2NkJGNjQ3NkU4QUEyNUJEMzg1M0YxQjVDQ0IzQkI5MzVENTM4NzMiLCJkZXZpY2VUeXBlIjoiQTEzOTdWWkUwS1FUUEUiLCJtYXJrZXRwbGFjZUlkIjoiQTFQQTY3OTVVS01GUjkiLCJtdXNpY1RlcnJpdG9yeSI6IkRFIiwiY3VzdG9tZXJTdWJzY3JpcHRpb25zIjpbImphdmEudXRpbC5IYXNoU2V0IixbIkxJQlJBUlkiLCJQUklNRSIsIlNUT1JFIl1dLCJhZGRpdGlvbmFsTWV0YWRhdGEiOnsiQGNsYXNzIjoiY29tLmdvb2dsZS5jb21tb24uY29sbGVjdC5SZWd1bGFySW1tdXRhYmxlTWFwIiwiRU5USVRZX1RZUEUiOiJTVEFUSU9OIiwiU0VMRUNURURfU0VSVklDRV9USUVSIjoiUFJJTUUiLCJRVUVVRV9TSFVGRkxFIjoiZmFsc2UiLCJRVUVVRV9TRVFVRU5DRUQiOiJmYWxzZSIsIlNFTEVDVElPTl9TT1VSQ0VfVFlQRSI6IlBSSU1FX1NUQVRJT04iLCJTRUxFQ1RJT05fU09VUkNFX1NVQlRZUEUiOiI5N2I3YzQwZi1jYmMwLTQ5MTQtOTRkZi02Njc3ZTg0NDNhYjciLCJTRUxFQ1RJT05fU09VUkNFX0lEIjoiQTJXWFMzOExPVjdKTDMiLCJTRUxFQ1RJT05fU09VUkNFX1NFU1NJT05fSUQiOiIyMmEyOWJmMC0zM2MzLTR1OGItOTJhZC01YWViMjNkYTRkMjIifSwiaW5pdGlhbElkZW50aXR5SW5mb3JtYXRpb24iOlsiY29tLmdvb2dsZS5jb21tb24uY29sbGVjdC5SZWd1bGFySW1tdXRhYmxlTGlzdCIsW11dLCJleHBlcmllbmNlSWRlbnRpdHlJbmZvcm1hdGlvbiI6WyJjb20uZ29vZ2xlLmNvbW1vbi5jb2xsZWN0LlJlZ3VsYXJJbW11dGFibGVMaXN0IixbXV0sImNhbGxGb3JNb3JlSW5kZXgiOjk5LCJjdXJyZW50VHJhY2tJbmRleCI6MCwidHJhY2tzIjpbImphdmEudXRpbC5BcnJheUxpc3QiLFtdXSwic3RhdGlvbkluc3RhbmNlSWQiOiIyMmEyOWJmMC0zM2MzLgRmOGItOTJhZC01YWViMjNkYTRkMjIiLCJzYW1wbGVzIjpmYWxzZX0=/#chunk
I should see the radio station name instead.
In Android app the selection just seems not to select the right favorite entry (an empty entry with no name gets selected), but the originally chosen entry is there and named correctly. So I assume that some information in the background does not match the favorites entry display name. Some kind of (id) mapping does not work as expected!?
All other Heos favorites are from tunein and they are named correctly (in the app and Basic UI) and if I choose one of them they get selected.
openHAB 2.5.10 Release Build
Bindings are at stock version
AVR is a Marantz NR1509
Is this a bug you can fix or am I doing something wrong?
Thanks for investigation!
If you need some more information, let me know.
Hello,
some error and warn after put it in openhab2-addons folder
Release Candidate RC1.4.1
2018-07-14 11:38:12.755 [ERROR] [org.openhab.binding.heos ] - FrameworkEvent ERROR - org.openhab.binding.heos
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.heos [208]
2018-07-14 11:38:14.386 [WARN ] [org.apache.felix.fileinstall ] - Error while starting bundle: file:/usr/share/openhab2/addons/org.openhab.binding.heos-2.4.0-SNAPSHOT.jar
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.heos [208]
2018-07-14 11:38:24.405 [WARN ] [org.apache.felix.fileinstall ] - Error while starting bundle: file:/usr/share/openhab2/addons/org.openhab.binding.heos-2.4.0-SNAPSHOT.jar
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.heos [208]
Ideally, the nameHash
and memberHash
parameters should not be paramaters for a HEOS group. They could be auto-generated at runtime (using the PIDs of the members as a base).
@Wire82 As you don't longer maintain repository, I would recommend to archive it and add a reference to the currently maintained version of the HEOS binding (https://github.com/openhab/openhab-addons/tree/main/bundles/org.openhab.binding.heos), so that users do not open issues at the wrong place.
The Inputs
channel should contain the name of the input which is currently active. This would make it easier to find out what the keywords of the relevant inputs are.
I cannot build the project, it seems like the problem is that MANIFEST.MF is not checked in...
Hello,
how can i install the addon because there is no .jar file!
thanks for the support!
Hi,
from time to time I have power outage. After that I have to restart openhab, because HEOS doesn't work. Is there any possibility to write some sort of reconnection/checking in this case?
In such case in openhab.log (with debug on) I see:
2019-01-10 07:30:29.829 [DEBUG] [binding.heos.internal.api.HeosSystem] - Sending Heos Heart Beat
2019-01-10 07:30:29.836 [DEBUG] [nding.heos.handler.HeosBridgeHandler] - HEOS send response: {"heos": {"command": "system/heart_beat", "result": "success", "message": ""}}
2019-01-10 07:30:31.210 [INFO ] [se.smarthome.model.script.heos.rules] - HEOS Volume: 10.0
2019-01-10 07:30:31.211 [DEBUG] [binding.heos.internal.api.HeosSystem] - Sending Command: heos://group/set_volume?gid=-104736039&level=12.0
2019-01-10 07:30:31.215 [DEBUG] [nding.heos.handler.HeosBridgeHandler] - HEOS send response: {"heos": {"command": "group/set_volume", "result": "fail", "message": "eid=2&text=ID Not Valid&gid=-104736039&level=12.0"}}
2019-01-10 07:30:31.215 [WARN ] [nding.heos.handler.HeosBridgeHandler] - HEOS System response failure with error code '2' and message 'ID Not Valid'
2019-01-10 07:30:31.220 [INFO ] [se.smarthome.model.script.heos.rules] - Tryb głośności HEOS: CRON
2019-01-10 07:30:31.221 [INFO ] [se.smarthome.model.script.heos.rules] - Tryb głośności HEOS: CRON
2019-01-10 07:30:31.221 [DEBUG] [nding.heos.handler.HeosBridgeHandler] - HEOS send response: {"heos": {"command": "group/set_volume", "result": "fail", "message": "eid=2&text=ID Not Valid&gid=-104736039&level=12.0"}}
2019-01-10 07:30:31.222 [WARN ] [nding.heos.handler.HeosBridgeHandler] - HEOS System response failure with error code '2' and message 'ID Not Valid'
2019-01-10 07:30:31.222 [DEBUG] [binding.heos.internal.api.HeosSystem] - Sending Command: heos://player/set_volume?pid=-104736039&level=12.0
2019-01-10 07:30:31.240 [DEBUG] [nding.heos.handler.HeosBridgeHandler] - HEOS send response: {"heos": {"command": "player/set_volume", "result": "success", "message": "pid=-104736039&level=12.0"}}
2019-01-10 07:30:31.241 [DEBUG] [binding.heos.internal.api.HeosSystem] - Sending Command: heos://player/set_volume?pid=1013171437&level=12.0
2019-01-10 07:30:31.322 [DEBUG] [nding.heos.handler.HeosBridgeHandler] - HEOS send response: {"heos": {"command": "player/set_volume", "result": "success", "message": "pid=1013171437&level=12.0"}}
2019-01-10 07:30:31.322 [DEBUG] [binding.heos.internal.api.HeosSystem] - Sending Command: heos://group/set_volume?gid=1013171437&level=12.0
2019-01-10 07:30:31.327 [DEBUG] [nding.heos.handler.HeosBridgeHandler] - HEOS send response: {"heos": {"command": "group/set_volume", "result": "fail", "message": "eid=2&text=ID Not Valid&gid=1013171437&level=12.0"}}
2019-01-10 07:30:31.327 [WARN ] [nding.heos.handler.HeosBridgeHandler] - HEOS System response failure with error code '2' and message 'ID Not Valid'
2019-01-10 07:30:31.342 [DEBUG] [nding.heos.handler.HeosBridgeHandler] - HEOS send response: {"heos": {"command": "group/set_volume", "result": "fail", "message": "eid=2&text=ID Not Valid&gid=1013171437&level=12.0"}}
2019-01-10 07:30:31.342 [WARN ] [nding.heos.handler.HeosBridgeHandler] - HEOS System response failure with error code '2' and message 'ID Not Valid'
2019-01-10 07:30:32.211 [INFO ] [se.smarthome.model.script.heos.rules] - HEOS Volume: RESCHEDULING
2019-01-10 07:31:02.213 [INFO ] [se.smarthome.model.script.heos.rules] - HEOS Volume: 12.0
2019-01-10 07:31:02.217 [DEBUG] [binding.heos.internal.api.HeosSystem] - Sending Command: heos://group/set_volume?gid=-104736039&level=14.0
2019-01-10 07:31:02.221 [DEBUG] [nding.heos.handler.HeosBridgeHandler] - HEOS send response: {"heos": {"command": "group/set_volume", "result": "fail", "message": "eid=2&text=ID Not Valid&gid=-104736039&level=14.0"}}
2019-01-10 07:31:02.221 [WARN ] [nding.heos.handler.HeosBridgeHandler] - HEOS System response failure with error code '2' and message 'ID Not Valid'
Or maybe I have something wrong in configuration. Please help.
When creating and deleting groups, the changes are not detected by the binding.
Only when I scan via the inbox of via Paper UI, changes are detected and processed.
I'm not sure, but I thought this was working in one of the previous versions.
Stef
When I control my HEOS speakers via the Denon app I can see the artwork (or station logo etc...).
We should add a channel (I think a channel is the correct term) of type Image that contains this data when available.
I get the following error message:
[ERROR] [org.openhab.binding.heos ] - FrameworkEvent ERROR - org.openhab.binding.heos
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.heos [211]
Unresolved requirement: Import-Package: org.eclipse.jdt.annotation; resolution:="optional"
Unresolved requirement: Import-Package: org.eclipse.smarthome.config.discovery.upnp
Currently, the group Thing just have a switch called "Ungroup". It would be more easy if this switch would be named "Group" and supporting both functionalities, grouping and ungrouping. ON -> GROUP, OFF -> UNGROUP. That would make it more easier to "recover" previously used groups or make it possible to circumvent dynamic grouping by just having a predefined group for the relevant use cases.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.