home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
74.05k stars 31.07k forks source link

denon avr missing sources #129656

Closed TheTrueRandom closed 2 days ago

TheTrueRandom commented 3 weeks ago

The problem

I'm using a Denon AVR-X2700H and added it to homeassistant. Everything works pretty much fine, the only issue is that the sources list is missing quite some entries. For example "8k", "Game", "DVD" which are all valid input sources and can be selected with the denon remote control, but don't appear in homeassistant.

I tried all combinations for the settings "Show all sources" and "Use Telnet connection" without success.

When enabling debug logs I noticed a few errors on startup, besides that everything in the logs seems normal and nothing I could relate to sources missing.

2024-11-01 22:32:52.070 DEBUG (MainThread) [denonavr.decorators] HTTP status error on request <Request('GET', 'http://192.168.11.103/goform/Deviceinfo.xml')>: Client error '403 Forbidden' for url 'http://192.168.11.103/goform/Deviceinfo.xml'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403
2024-11-01 22:32:52.071 DEBUG (MainThread) [denonavr.decorators] Exception raised, clearing cache: HTTPStatusError: Client error '403 Forbidden' for url 'http://192.168.11.103/goform/Deviceinfo.xml'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403
2024-11-01 22:32:52.072 DEBUG (MainThread) [denonavr.foundation] Request error on port 80 when identifying receiver, device is not a avr-x receiver: HTTPStatusError: Client error '403 Forbidden' for url 'http://192.168.11.103/goform/Deviceinfo.xml'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403
2024-11-01 22:32:52.096 INFO (MainThread) [denonavr.foundation] Identified avr-x-2016 receiver using port 8080
2024-11-01 22:32:52.096 DEBUG (MainThread) [denonavr.foundation] Getting device info
2024-11-01 22:32:52.104 DEBUG (MainThread) [denonavr.ssdp] Device http://192.168.11.103:60006/upnp/desc/aios_device/aios_device.xml has manufacturer Denon

Screenshot_2024-11-01_22-41-39

What version of Home Assistant Core has the issue?

core-2024.10.3

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant Container

Integration causing the issue

denonavr

Link to integration documentation on our website

https://www.home-assistant.io/integrations/denonavr/

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

home-assistant[bot] commented 3 weeks ago

Hey there @ol-iver, @starkillerog, mind taking a look at this issue as it has been labeled with an integration (denonavr) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `denonavr` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Renames the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign denonavr` Removes the current integration label and assignees on the issue, add the integration domain after the command. - `@home-assistant add-label needs-more-information` Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue. - `@home-assistant remove-label needs-more-information` Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


denonavr documentation denonavr source (message by IssueLinks)

ol-iver commented 6 days ago

The spec I used to build the integration is older than your receiver. It seems that it does not include all the sources of your Denon model.

Could you select the missing sources, run this script and attach the result? It includes the responses to the API calls of the integration. The resulting Deviceinfo.xml file might include the MAC address of your receiver. You might want to delete that before uploading. I'm pretty sure that I can add the missing sources with these information.

You could also open an issue for that at https://github.com/ol-iver/denonavr to attach your results.

TheTrueRandom commented 3 days ago

Sure.

Those files were generated, I upload only the 200 ones. (renamed to .txt because github won't let me upload .xml) AVR-X2700H-AppCommand-setup-8080-200.xml.txt AVR-X2700H-AppCommand-update-8080-200.xml.txt AVR-X2700H-Deviceinfo.xml-8080-200.xml.txt

AVR-X2700H-AppCommand-setup-80-403.xml
AVR-X2700H-AppCommand-update-80-403.xml
AVR-X2700H-Deviceinfo.xml-80-403.xml
AVR-X2700H-formMainZone_MainZoneXmlStatus-80-403.xml
AVR-X2700H-formMainZone_MainZoneXml-80-403.xml
AVR-X2700H-formNetAudio_StatusXml-80-403.xml
AVR-X2700H-formTuner_TunerXml-80-403.xml
AVR-X2700H-formTuner_HdXml-80-403.xml
AVR-X2700H-formZone2_Zone2XmlStatus-80-403.xml
AVR-X2700H-formZone3_Zone3XmlStatus-80-403.xml
AVR-X2700H-AppCommand-setup-8080-200.xml
AVR-X2700H-AppCommand-update-8080-200.xml
AVR-X2700H-Deviceinfo.xml-8080-200.xml
AVR-X2700H-formMainZone_MainZoneXmlStatus-8080-403.xml
AVR-X2700H-formMainZone_MainZoneXml-8080-403.xml
AVR-X2700H-formNetAudio_StatusXml-8080-403.xml
AVR-X2700H-formTuner_TunerXml-8080-403.xml
AVR-X2700H-formTuner_HdXml-8080-403.xml
AVR-X2700H-formZone2_Zone2XmlStatus-8080-403.xml
AVR-X2700H-formZone3_Zone3XmlStatus-8080-403.xml

Thank you.

ol-iver commented 3 days ago

In your receiver multiple sources are renamed to the same name (Integrated gfx). You can see this in the AVR-X2700H-AppCommand-update-8080-200.xml.txt file. When you give them unique names, you will see all sources.

<list>
<name>Blu-ray</name>
<rename>Integrated gfx  </rename>
</list>
<list>
<name>GAME</name>
<rename>Integrated gfx  </rename>
</list>
<list>
<name>AUX2</name>
<rename>Integrated gfx  </rename>
</list>
TheTrueRandom commented 2 days ago

I see. How/Where do I give them unique names (or remove the renames)? Any idea why they are renamed? So far I only used my remote control and the home-assistant integration.

TheTrueRandom commented 2 days ago

Ok the inputs can be renamed on the receiver webpage. Not sure why they were renamed in the first place though. The sources now correctly show in homeassistant. Thanks