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:
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?
heos://player/get_players and hit enterHere 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.
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... :)