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 typing import Any
|
||||||
|
|
||||||
from homeassistant.const import CONF_HOST
|
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.redact import async_redact_data
|
|
||||||
|
|
||||||
from . import CambridgeAudioConfigEntry
|
from . import CambridgeAudioConfigEntry
|
||||||
|
|
||||||
TO_REDACT = {CONF_HOST}
|
|
||||||
|
|
||||||
|
|
||||||
async def async_get_config_entry_diagnostics(
|
async def async_get_config_entry_diagnostics(
|
||||||
hass: HomeAssistant, entry: CambridgeAudioConfigEntry
|
hass: HomeAssistant, entry: CambridgeAudioConfigEntry
|
||||||
) -> dict[str, Any]:
|
) -> dict[str, Any]:
|
||||||
"""Return diagnostics for the provided config entry."""
|
"""Return diagnostics for the provided config entry."""
|
||||||
client = entry.runtime_data
|
client = entry.runtime_data
|
||||||
return async_redact_data(
|
return {
|
||||||
{"info": client.info, "sources": client.sources}, TO_REDACT
|
"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
|
# serializer version: 1
|
||||||
# name: test_entry_diagnostics
|
# name: test_entry_diagnostics
|
||||||
dict({
|
dict({
|
||||||
|
'display': dict({
|
||||||
|
'brightness': 'bright',
|
||||||
|
}),
|
||||||
'info': dict({
|
'info': dict({
|
||||||
'__type': "<class 'aiostreammagic.models.Info'>",
|
'api_version': '1.8',
|
||||||
'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')",
|
'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([
|
'sources': list([
|
||||||
dict({
|
dict({
|
||||||
'__type': "<class 'aiostreammagic.models.Source'>",
|
'default_name': 'Internet Radio',
|
||||||
'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)",
|
'description': 'Internet Radio',
|
||||||
|
'description_locale': 'Internet Radio',
|
||||||
|
'id': 'IR',
|
||||||
|
'name': 'Internet Radio',
|
||||||
|
'nameable': False,
|
||||||
|
'preferred_order': 9,
|
||||||
|
'ui_selectable': False,
|
||||||
}),
|
}),
|
||||||
dict({
|
dict({
|
||||||
'__type': "<class 'aiostreammagic.models.Source'>",
|
'default_name': 'USB Audio',
|
||||||
'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)",
|
'description': 'USB Audio',
|
||||||
|
'description_locale': 'USB Audio',
|
||||||
|
'id': 'USB_AUDIO',
|
||||||
|
'name': 'USB Audio',
|
||||||
|
'nameable': True,
|
||||||
|
'preferred_order': 1,
|
||||||
|
'ui_selectable': True,
|
||||||
}),
|
}),
|
||||||
dict({
|
dict({
|
||||||
'__type': "<class 'aiostreammagic.models.Source'>",
|
'default_name': 'D2',
|
||||||
'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)",
|
'description': 'Digital Co-axial',
|
||||||
|
'description_locale': 'Digital Co-axial',
|
||||||
|
'id': 'SPDIF_COAX',
|
||||||
|
'name': 'D2',
|
||||||
|
'nameable': True,
|
||||||
|
'preferred_order': 3,
|
||||||
|
'ui_selectable': False,
|
||||||
}),
|
}),
|
||||||
dict({
|
dict({
|
||||||
'__type': "<class 'aiostreammagic.models.Source'>",
|
'default_name': 'D1',
|
||||||
'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)",
|
'description': 'Digital Optical',
|
||||||
|
'description_locale': 'Digital Optical',
|
||||||
|
'id': 'SPDIF_TOSLINK',
|
||||||
|
'name': 'D1',
|
||||||
|
'nameable': True,
|
||||||
|
'preferred_order': 2,
|
||||||
|
'ui_selectable': False,
|
||||||
}),
|
}),
|
||||||
dict({
|
dict({
|
||||||
'__type': "<class 'aiostreammagic.models.Source'>",
|
'default_name': 'Media Library',
|
||||||
'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)",
|
'description': 'Media Player',
|
||||||
|
'description_locale': 'Media Player',
|
||||||
|
'id': 'MEDIA_PLAYER',
|
||||||
|
'name': 'Media Library',
|
||||||
|
'nameable': False,
|
||||||
|
'preferred_order': 10,
|
||||||
|
'ui_selectable': True,
|
||||||
}),
|
}),
|
||||||
dict({
|
dict({
|
||||||
'__type': "<class 'aiostreammagic.models.Source'>",
|
'default_name': 'AirPlay',
|
||||||
'repr': "Source(id='AIRPLAY', name='AirPlay', default_name='AirPlay', nameable=False, ui_selectable=True, description='AirPlay', description_locale='AirPlay', preferred_order=11)",
|
'description': 'AirPlay',
|
||||||
|
'description_locale': 'AirPlay',
|
||||||
|
'id': 'AIRPLAY',
|
||||||
|
'name': 'AirPlay',
|
||||||
|
'nameable': False,
|
||||||
|
'preferred_order': 11,
|
||||||
|
'ui_selectable': True,
|
||||||
}),
|
}),
|
||||||
dict({
|
dict({
|
||||||
'__type': "<class 'aiostreammagic.models.Source'>",
|
'default_name': 'Spotify',
|
||||||
'repr': "Source(id='SPOTIFY', name='Spotify', default_name='Spotify', nameable=False, ui_selectable=True, description='Spotify', description_locale='Spotify', preferred_order=6)",
|
'description': 'Spotify',
|
||||||
|
'description_locale': 'Spotify',
|
||||||
|
'id': 'SPOTIFY',
|
||||||
|
'name': 'Spotify',
|
||||||
|
'nameable': False,
|
||||||
|
'preferred_order': 6,
|
||||||
|
'ui_selectable': True,
|
||||||
}),
|
}),
|
||||||
dict({
|
dict({
|
||||||
'__type': "<class 'aiostreammagic.models.Source'>",
|
'default_name': 'Chromecast built-in',
|
||||||
'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)",
|
'description': 'Chromecast built-in',
|
||||||
|
'description_locale': 'Chromecast built-in',
|
||||||
|
'id': 'CAST',
|
||||||
|
'name': 'Chromecast built-in',
|
||||||
|
'nameable': False,
|
||||||
|
'preferred_order': 8,
|
||||||
|
'ui_selectable': True,
|
||||||
}),
|
}),
|
||||||
dict({
|
dict({
|
||||||
'__type': "<class 'aiostreammagic.models.Source'>",
|
'default_name': 'Roon Ready',
|
||||||
'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)",
|
'description': 'Roon Ready',
|
||||||
|
'description_locale': 'Roon Ready',
|
||||||
|
'id': 'ROON',
|
||||||
|
'name': 'Roon Ready',
|
||||||
|
'nameable': False,
|
||||||
|
'preferred_order': 5,
|
||||||
|
'ui_selectable': False,
|
||||||
}),
|
}),
|
||||||
dict({
|
dict({
|
||||||
'__type': "<class 'aiostreammagic.models.Source'>",
|
'default_name': 'TIDAL Connect',
|
||||||
'repr': "Source(id='TIDAL', name='TIDAL Connect', default_name='TIDAL Connect', nameable=False, ui_selectable=False, description='TIDAL', description_locale='TIDAL', preferred_order=7)",
|
'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