Core: HEOS 5 error after adding HEOS Integration

Created on 30 Apr 2019  ·  9Comments  ·  Source: home-assistant/core

Home Assistant release with the issue:

0.92.1

Last working Home Assistant release (if known):

Operating environment (Hass.io/Docker/Windows/etc.):

Hass.io

Component/platform:

https://www.home-assistant.io/components/heos/

Description of problem:
I’m having problem with Heos 5 (this one is bought 4 years ago so it is NOT HS2 version). When I chose from dropdown menu IP of my speaker (Configuration -> Integrations -> Set up a new integration -> HEOS), it gives me "Success! Created config for Controller (192.168.0.23)". And I can see that it is available under Configuration -> Integrations -> HEOS Controller (192.168.0.23) but when I enter that integration it says “This integration has no devices.” and that speaker is not available anywhere in HA (0.92.1). I can also see that there are errors in log for that component (attached in Traceback section)

Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):


Traceback (if applicable):

Log Details (ERROR)
Tue Apr 30 2019 09:46:10 GMT+0200 (Central European Summer Time)
Error setting up entry Controller (192.168.0.23) for heos
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/homeassistant/config_entries.py", line 309, in async_setup
    hass, self)
  File "/usr/local/lib/python3.7/site-packages/homeassistant/components/heos/__init__.py", line 78, in async_setup_entry
    players = await controller.get_players()
  File "/usr/local/lib/python3.7/site-packages/pyheos/heos.py", line 82, in get_players
    player = HeosPlayer(self, data)
  File "/usr/local/lib/python3.7/site-packages/pyheos/player.py", line 155, in __init__
    self.from_data(data)
  File "/usr/local/lib/python3.7/site-packages/pyheos/player.py", line 180, in from_data
    self._ip_address = data['ip']
KeyError: 'ip'

Additional information:

heos problem in dependency

Most helpful comment

Fix should go out in 0.92.2. I can't promise there won't be other issues though, but I'll work with you to fix it if there are more issues... your device isn't conforming to the API specifications... :)

All 9 comments

Hey there @andrewsayre, mind taking a look at this issue as its been labeled with a integration (heos) you are listed as a codeowner for? Thanks!

_This is a automatic comment generated by codeowners-mention to help ensure issues and pull requests are seen by the right people._

Please post the firmware version reported from the HEOS app: Music tab -> Settings -> Help -> Check My System -> Software Versions.

Also tap Check for Update on that screen... if you’re current it will say so.

I just checked and I'm on latest version. Here are more details:

Model Name: HEOS 5
Name: Living Room
IP Address: 192.168.0.23
Revision: 3
Version: 1.505.140
Build: 141837
Module: 3.0
Release: Production
Locale: en_EU

Hmm... Would you be able to run a telnet command so we can see what is being returned in the payload?

  1. Telnet to the device IP on port 1255
  2. Enter the following command: heos://player/get_players and hit enter
  3. Past the output back here.

Here it is:

telnet 192.168.0.23 1255 Trying 192.168.0.23... Connected to 192.168.0.23. Escape character is '^]'. heos://player/get_players {"heos": {"command": "player/get_players", "result": "success", "message": ""}, "payload": [{"name": "Living Room", "pid": 68723180, "model": "HEOS 5"}]}

Thanks. There's a number of fields not being returned that are in the spec. The good news is they aren't critical for the integration, so I can make the code more tolerant. I should have a fix in shortly.

Fix should go out in 0.92.2. I can't promise there won't be other issues though, but I'll work with you to fix it if there are more issues... your device isn't conforming to the API specifications... :)

Thank you very much for your help @andrewsayre :) I finally can control my Heos over HA.

Currently only issue that I can see is that I can't select source from device physical inputs or HEOS favorites. Do you want me to open new issue for that?

Ok I found out your suggestion on community so I logged in HEOS over telnet :)
heos://system/sign_in?un=heos_username&pw=heos_password

So now I just can't switch to device physical inputs, but I can see all favorites.

In the HEOS app, does it show Inputs for the device? If the integration isn't logging errors, I suspect the API is not indicating there are any inputs available. Open a new issue though -- we can inspect what the API is returning to confirm.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

moskovskiy82 picture moskovskiy82  ·  3Comments

coolriku picture coolriku  ·  3Comments

MartinHjelmare picture MartinHjelmare  ·  3Comments

arangates picture arangates  ·  3Comments

i-am-shodan picture i-am-shodan  ·  3Comments