mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 03:07:37 +00:00
Add all models to diagnostics for Cambridge Audio (#129157)
This commit is contained in:
parent
0e789be09f
commit
16c8b1efab
@ -2,20 +2,22 @@
|
||||
|
||||
from typing import Any
|
||||
|
||||
from homeassistant.const import CONF_HOST
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.redact import async_redact_data
|
||||
|
||||
from . import CambridgeAudioConfigEntry
|
||||
|
||||
TO_REDACT = {CONF_HOST}
|
||||
|
||||
|
||||
async def async_get_config_entry_diagnostics(
|
||||
hass: HomeAssistant, entry: CambridgeAudioConfigEntry
|
||||
) -> dict[str, Any]:
|
||||
"""Return diagnostics for the provided config entry."""
|
||||
client = entry.runtime_data
|
||||
return async_redact_data(
|
||||
{"info": client.info, "sources": client.sources}, TO_REDACT
|
||||
)
|
||||
return {
|
||||
"display": client.display.to_dict(),
|
||||
"info": client.info.to_dict(),
|
||||
"now_playing": client.now_playing.to_dict(),
|
||||
"play_state": client.play_state.to_dict(),
|
||||
"presets_list": client.preset_list.to_dict(),
|
||||
"sources": [s.to_dict() for s in client.sources],
|
||||
"update": client.update.to_dict(),
|
||||
}
|
||||
|
@ -1,51 +1,196 @@
|
||||
# serializer version: 1
|
||||
# name: test_entry_diagnostics
|
||||
dict({
|
||||
'display': dict({
|
||||
'brightness': 'bright',
|
||||
}),
|
||||
'info': dict({
|
||||
'__type': "<class 'aiostreammagic.models.Info'>",
|
||||
'repr': "Info(name='Cambridge Audio CXNv2', model='CXNv2', timezone='America/Chicago', locale='en_GB', udn='02680b5c-1320-4d54-9f7c-3cfe915ad4c3', unit_id='0020c2d8', api_version='1.8')",
|
||||
'api_version': '1.8',
|
||||
'locale': 'en_GB',
|
||||
'model': 'CXNv2',
|
||||
'name': 'Cambridge Audio CXNv2',
|
||||
'timezone': 'America/Chicago',
|
||||
'udn': '02680b5c-1320-4d54-9f7c-3cfe915ad4c3',
|
||||
'unit_id': '0020c2d8',
|
||||
}),
|
||||
'now_playing': dict({
|
||||
'controls': list([
|
||||
'play_pause',
|
||||
'track_next',
|
||||
'track_previous',
|
||||
]),
|
||||
}),
|
||||
'play_state': dict({
|
||||
'metadata': dict({
|
||||
'album': "Greatest Hits: God's Favorite Band",
|
||||
'art_url': 'http://192.168.20.218:80/album-art-2d89?id=1:246',
|
||||
'artist': 'Green Day',
|
||||
'bitrate': None,
|
||||
'class_name': 'md.track',
|
||||
'codec': 'ALAC',
|
||||
'duration': 232,
|
||||
'encoding': None,
|
||||
'lossless': True,
|
||||
'mqa': 'none',
|
||||
'name': 'AirPlay',
|
||||
'radio_id': None,
|
||||
'sample_format': None,
|
||||
'sample_rate': 44100,
|
||||
'signal': None,
|
||||
'source': 'AIRPLAY',
|
||||
'station': None,
|
||||
'title': 'Holiday',
|
||||
}),
|
||||
'mode_repeat': 'off',
|
||||
'mode_shuffle': 'off',
|
||||
'position': 179,
|
||||
'presettable': False,
|
||||
'state': 'play',
|
||||
}),
|
||||
'presets_list': dict({
|
||||
'end': 99,
|
||||
'max_presets': 99,
|
||||
'presets': list([
|
||||
dict({
|
||||
'airable_radio_id': 5317566146608442,
|
||||
'art_url': 'https://static.airable.io/43/68/432868.png',
|
||||
'is_playing': False,
|
||||
'name': 'Chicago House Radio',
|
||||
'preset_class': 'stream.radio',
|
||||
'preset_id': 1,
|
||||
'state': 'OK',
|
||||
'type': 'Radio',
|
||||
}),
|
||||
dict({
|
||||
'airable_radio_id': None,
|
||||
'art_url': 'https://i.scdn.co/image/ab67616d0000b27325a5a1ed28871e8e53e62d59',
|
||||
'is_playing': True,
|
||||
'name': 'Spotify: Good & Evil',
|
||||
'preset_class': 'stream.service.spotify',
|
||||
'preset_id': 2,
|
||||
'state': 'OK',
|
||||
'type': 'Spotify',
|
||||
}),
|
||||
dict({
|
||||
'airable_radio_id': None,
|
||||
'art_url': None,
|
||||
'is_playing': False,
|
||||
'name': 'Unknown Preset Type',
|
||||
'preset_class': 'stream.unknown',
|
||||
'preset_id': 3,
|
||||
'state': 'OK',
|
||||
'type': 'Unknown',
|
||||
}),
|
||||
]),
|
||||
'presettable': True,
|
||||
'start': 1,
|
||||
}),
|
||||
'sources': list([
|
||||
dict({
|
||||
'__type': "<class 'aiostreammagic.models.Source'>",
|
||||
'repr': "Source(id='IR', name='Internet Radio', default_name='Internet Radio', nameable=False, ui_selectable=False, description='Internet Radio', description_locale='Internet Radio', preferred_order=9)",
|
||||
'default_name': 'Internet Radio',
|
||||
'description': 'Internet Radio',
|
||||
'description_locale': 'Internet Radio',
|
||||
'id': 'IR',
|
||||
'name': 'Internet Radio',
|
||||
'nameable': False,
|
||||
'preferred_order': 9,
|
||||
'ui_selectable': False,
|
||||
}),
|
||||
dict({
|
||||
'__type': "<class 'aiostreammagic.models.Source'>",
|
||||
'repr': "Source(id='USB_AUDIO', name='USB Audio', default_name='USB Audio', nameable=True, ui_selectable=True, description='USB Audio', description_locale='USB Audio', preferred_order=1)",
|
||||
'default_name': 'USB Audio',
|
||||
'description': 'USB Audio',
|
||||
'description_locale': 'USB Audio',
|
||||
'id': 'USB_AUDIO',
|
||||
'name': 'USB Audio',
|
||||
'nameable': True,
|
||||
'preferred_order': 1,
|
||||
'ui_selectable': True,
|
||||
}),
|
||||
dict({
|
||||
'__type': "<class 'aiostreammagic.models.Source'>",
|
||||
'repr': "Source(id='SPDIF_COAX', name='D2', default_name='D2', nameable=True, ui_selectable=False, description='Digital Co-axial', description_locale='Digital Co-axial', preferred_order=3)",
|
||||
'default_name': 'D2',
|
||||
'description': 'Digital Co-axial',
|
||||
'description_locale': 'Digital Co-axial',
|
||||
'id': 'SPDIF_COAX',
|
||||
'name': 'D2',
|
||||
'nameable': True,
|
||||
'preferred_order': 3,
|
||||
'ui_selectable': False,
|
||||
}),
|
||||
dict({
|
||||
'__type': "<class 'aiostreammagic.models.Source'>",
|
||||
'repr': "Source(id='SPDIF_TOSLINK', name='D1', default_name='D1', nameable=True, ui_selectable=False, description='Digital Optical', description_locale='Digital Optical', preferred_order=2)",
|
||||
'default_name': 'D1',
|
||||
'description': 'Digital Optical',
|
||||
'description_locale': 'Digital Optical',
|
||||
'id': 'SPDIF_TOSLINK',
|
||||
'name': 'D1',
|
||||
'nameable': True,
|
||||
'preferred_order': 2,
|
||||
'ui_selectable': False,
|
||||
}),
|
||||
dict({
|
||||
'__type': "<class 'aiostreammagic.models.Source'>",
|
||||
'repr': "Source(id='MEDIA_PLAYER', name='Media Library', default_name='Media Library', nameable=False, ui_selectable=True, description='Media Player', description_locale='Media Player', preferred_order=10)",
|
||||
'default_name': 'Media Library',
|
||||
'description': 'Media Player',
|
||||
'description_locale': 'Media Player',
|
||||
'id': 'MEDIA_PLAYER',
|
||||
'name': 'Media Library',
|
||||
'nameable': False,
|
||||
'preferred_order': 10,
|
||||
'ui_selectable': True,
|
||||
}),
|
||||
dict({
|
||||
'__type': "<class 'aiostreammagic.models.Source'>",
|
||||
'repr': "Source(id='AIRPLAY', name='AirPlay', default_name='AirPlay', nameable=False, ui_selectable=True, description='AirPlay', description_locale='AirPlay', preferred_order=11)",
|
||||
'default_name': 'AirPlay',
|
||||
'description': 'AirPlay',
|
||||
'description_locale': 'AirPlay',
|
||||
'id': 'AIRPLAY',
|
||||
'name': 'AirPlay',
|
||||
'nameable': False,
|
||||
'preferred_order': 11,
|
||||
'ui_selectable': True,
|
||||
}),
|
||||
dict({
|
||||
'__type': "<class 'aiostreammagic.models.Source'>",
|
||||
'repr': "Source(id='SPOTIFY', name='Spotify', default_name='Spotify', nameable=False, ui_selectable=True, description='Spotify', description_locale='Spotify', preferred_order=6)",
|
||||
'default_name': 'Spotify',
|
||||
'description': 'Spotify',
|
||||
'description_locale': 'Spotify',
|
||||
'id': 'SPOTIFY',
|
||||
'name': 'Spotify',
|
||||
'nameable': False,
|
||||
'preferred_order': 6,
|
||||
'ui_selectable': True,
|
||||
}),
|
||||
dict({
|
||||
'__type': "<class 'aiostreammagic.models.Source'>",
|
||||
'repr': "Source(id='CAST', name='Chromecast built-in', default_name='Chromecast built-in', nameable=False, ui_selectable=True, description='Chromecast built-in', description_locale='Chromecast built-in', preferred_order=8)",
|
||||
'default_name': 'Chromecast built-in',
|
||||
'description': 'Chromecast built-in',
|
||||
'description_locale': 'Chromecast built-in',
|
||||
'id': 'CAST',
|
||||
'name': 'Chromecast built-in',
|
||||
'nameable': False,
|
||||
'preferred_order': 8,
|
||||
'ui_selectable': True,
|
||||
}),
|
||||
dict({
|
||||
'__type': "<class 'aiostreammagic.models.Source'>",
|
||||
'repr': "Source(id='ROON', name='Roon Ready', default_name='Roon Ready', nameable=False, ui_selectable=False, description='Roon Ready', description_locale='Roon Ready', preferred_order=5)",
|
||||
'default_name': 'Roon Ready',
|
||||
'description': 'Roon Ready',
|
||||
'description_locale': 'Roon Ready',
|
||||
'id': 'ROON',
|
||||
'name': 'Roon Ready',
|
||||
'nameable': False,
|
||||
'preferred_order': 5,
|
||||
'ui_selectable': False,
|
||||
}),
|
||||
dict({
|
||||
'__type': "<class 'aiostreammagic.models.Source'>",
|
||||
'repr': "Source(id='TIDAL', name='TIDAL Connect', default_name='TIDAL Connect', nameable=False, ui_selectable=False, description='TIDAL', description_locale='TIDAL', preferred_order=7)",
|
||||
'default_name': 'TIDAL Connect',
|
||||
'description': 'TIDAL',
|
||||
'description_locale': 'TIDAL',
|
||||
'id': 'TIDAL',
|
||||
'name': 'TIDAL Connect',
|
||||
'nameable': False,
|
||||
'preferred_order': 7,
|
||||
'ui_selectable': False,
|
||||
}),
|
||||
]),
|
||||
'update': dict({
|
||||
'early_update': False,
|
||||
'update_available': False,
|
||||
'updating': False,
|
||||
}),
|
||||
})
|
||||
# ---
|
||||
|
Loading…
x
Reference in New Issue
Block a user