You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Logger: homeassistant.components.media_player
Source: helpers/entity_platform.py:366
integration: Media player (documentation, issues)
First occurred: 10:58:54 AM (2 occurrences)
Last logged: 11:20:47 AM
Error while setting up amplipi platform for media_player
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 366, in _async_setup_platform
await asyncio.shield(awaitable)
File "/config/custom_components/amplipi/media_player.py", line 85, in async_setup_entry
status = await amplipi.get_status()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/pyamplipi/amplipi.py", line 30, in get_status
return Status.parse_obj(response)
~~~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/pydantic/main.py", line 1223, in parse_obj
return cls.model_validate(obj)
~~~~~~~~~~~~~~~~~~^^^^^
File "/usr/local/lib/python3.13/site-packages/pydantic/main.py", line 627, in model_validate
return cls.pydantic_validator.validate_python(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
obj, strict=strict, from_attributes=from_attributes, context=context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
pydantic_core._pydantic_core.ValidationError: 114 validation errors for Status
sources.0.info.station
Field required [type=missing, input_value={'name': 'Group - Backyar...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.1.info.artist
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.1.info.track
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.1.info.album
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.1.info.station
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.2.info.artist
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.2.info.track
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.2.info.album
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.2.info.station
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.3.info.artist
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.3.info.track
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.3.info.album
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.3.info.station
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.0.user
Field required [type=missing, input_value={'id': 995, 'name': 'Aux'...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.0.password
Field required [type=missing, input_value={'id': 995, 'name': 'Aux'...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.0.station
Field required [type=missing, input_value={'id': 995, 'name': 'Aux'...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.0.url
Field required [type=missing, input_value={'id': 995, 'name': 'Aux'...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.0.logo
Field required [type=missing, input_value={'id': 995, 'name': 'Aux'...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.0.freq
Field required [type=missing, input_value={'id': 995, 'name': 'Aux'...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.0.client_id
Field required [type=missing, input_value={'id': 995, 'name': 'Aux'...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.0.token
Field required [type=missing, input_value={'id': 995, 'name': 'Aux'...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.1.user
Field required [type=missing, input_value={'id': 996, 'name': 'TV_B...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.1.password
Field required [type=missing, input_value={'id': 996, 'name': 'TV_B...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.1.station
Field required [type=missing, input_value={'id': 996, 'name': 'TV_B...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.1.url
Field required [type=missing, input_value={'id': 996, 'name': 'TV_B...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.1.logo
Field required [type=missing, input_value={'id': 996, 'name': 'TV_B...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.1.freq
Field required [type=missing, input_value={'id': 996, 'name': 'TV_B...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.1.client_id
Field required [type=missing, input_value={'id': 996, 'name': 'TV_B...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.1.token
Field required [type=missing, input_value={'id': 996, 'name': 'TV_B...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.2.user
Field required [type=missing, input_value={'id': 997, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.2.password
Field required [type=missing, input_value={'id': 997, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.2.station
Field required [type=missing, input_value={'id': 997, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.2.url
Field required [type=missing, input_value={'id': 997, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.2.logo
Field required [type=missing, input_value={'id': 997, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.2.freq
Field required [type=missing, input_value={'id': 997, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.2.client_id
Field required [type=missing, input_value={'id': 997, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.2.token
Field required [type=missing, input_value={'id': 997, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.3.user
Field required [type=missing, input_value={'id': 998, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.3.password
Field required [type=missing, input_value={'id': 998, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.3.station
Field required [type=missing, input_value={'id': 998, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.3.url
Field required [type=missing, input_value={'id': 998, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.3.logo
Field required [type=missing, input_value={'id': 998, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.3.freq
Field required [type=missing, input_value={'id': 998, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.3.client_id
Field required [type=missing, input_value={'id': 998, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.3.token
Field required [type=missing, input_value={'id': 998, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.4.user
Field required [type=missing, input_value={'id': 999, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.4.password
Field required [type=missing, input_value={'id': 999, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.4.station
Field required [type=missing, input_value={'id': 999, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.4.url
Field required [type=missing, input_value={'id': 999, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.4.logo
Field required [type=missing, input_value={'id': 999, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.4.freq
Field required [type=missing, input_value={'id': 999, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.4.client_id
Field required [type=missing, input_value={'id': 999, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.4.token
Field required [type=missing, input_value={'id': 999, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.5.user
Field required [type=missing, input_value={'id': 1001, 'name': 'Gro...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.5.password
Field required [type=missing, input_value={'id': 1001, 'name': 'Gro...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.5.station
Field required [type=missing, input_value={'id': 1001, 'name': 'Gro...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.5.url
Field required [type=missing, input_value={'id': 1001, 'name': 'Gro...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.5.logo
Field required [type=missing, input_value={'id': 1001, 'name': 'Gro...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.5.freq
Field required [type=missing, input_value={'id': 1001, 'name': 'Gro...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.5.client_id
Field required [type=missing, input_value={'id': 1001, 'name': 'Gro...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.5.token
Field required [type=missing, input_value={'id': 1001, 'name': 'Gro...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.6.user
Field required [type=missing, input_value={'id': 1002, 'name': 'Bac...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.6.password
Field required [type=missing, input_value={'id': 1002, 'name': 'Bac...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.6.station
Field required [type=missing, input_value={'id': 1002, 'name': 'Bac...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.6.url
Field required [type=missing, input_value={'id': 1002, 'name': 'Bac...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.6.logo
Field required [type=missing, input_value={'id': 1002, 'name': 'Bac...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.6.freq
Field required [type=missing, input_value={'id': 1002, 'name': 'Bac...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.6.client_id
Field required [type=missing, input_value={'id': 1002, 'name': 'Bac...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.6.token
Field required [type=missing, input_value={'id': 1002, 'name': 'Bac...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.sources
Field required [type=missing, input_value={'zones': [{'mute': True,...'mute': True, 'id': 5}]}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.0.name
Field required [type=missing, input_value={'mute': True, 'id': 0}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.0.source_id
Field required [type=missing, input_value={'mute': True, 'id': 0}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.0.vol
Field required [type=missing, input_value={'mute': True, 'id': 0}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.0.vol_f
Field required [type=missing, input_value={'mute': True, 'id': 0}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.0.vol_min
Field required [type=missing, input_value={'mute': True, 'id': 0}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.0.vol_max
Field required [type=missing, input_value={'mute': True, 'id': 0}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.0.disabled
Field required [type=missing, input_value={'mute': True, 'id': 0}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.1.name
Field required [type=missing, input_value={'mute': True, 'id': 1}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.1.source_id
Field required [type=missing, input_value={'mute': True, 'id': 1}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.1.vol
Field required [type=missing, input_value={'mute': True, 'id': 1}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.1.vol_f
Field required [type=missing, input_value={'mute': True, 'id': 1}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.1.vol_min
Field required [type=missing, input_value={'mute': True, 'id': 1}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.1.vol_max
Field required [type=missing, input_value={'mute': True, 'id': 1}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.1.disabled
Field required [type=missing, input_value={'mute': True, 'id': 1}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.2.name
Field required [type=missing, input_value={'mute': True, 'id': 2}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.2.source_id
Field required [type=missing, input_value={'mute': True, 'id': 2}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.2.vol
Field required [type=missing, input_value={'mute': True, 'id': 2}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.2.vol_f
Field required [type=missing, input_value={'mute': True, 'id': 2}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.2.vol_min
Field required [type=missing, input_value={'mute': True, 'id': 2}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.2.vol_max
Field required [type=missing, input_value={'mute': True, 'id': 2}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.2.disabled
Field required [type=missing, input_value={'mute': True, 'id': 2}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.3.name
Field required [type=missing, input_value={'mute': True, 'id': 3}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.3.source_id
Field required [type=missing, input_value={'mute': True, 'id': 3}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.3.vol
Field required [type=missing, input_value={'mute': True, 'id': 3}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.3.vol_f
Field required [type=missing, input_value={'mute': True, 'id': 3}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.3.vol_min
Field required [type=missing, input_value={'mute': True, 'id': 3}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.3.vol_max
Field required [type=missing, input_value={'mute': True, 'id': 3}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.3.disabled
Field required [type=missing, input_value={'mute': True, 'id': 3}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.4.name
Field required [type=missing, input_value={'mute': True, 'id': 4}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.4.source_id
Field required [type=missing, input_value={'mute': True, 'id': 4}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.4.vol
Field required [type=missing, input_value={'mute': True, 'id': 4}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.4.vol_f
Field required [type=missing, input_value={'mute': True, 'id': 4}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.4.vol_min
Field required [type=missing, input_value={'mute': True, 'id': 4}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.4.vol_max
Field required [type=missing, input_value={'mute': True, 'id': 4}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.4.disabled
Field required [type=missing, input_value={'mute': True, 'id': 4}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.5.name
Field required [type=missing, input_value={'mute': True, 'id': 5}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.5.source_id
Field required [type=missing, input_value={'mute': True, 'id': 5}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.5.vol
Field required [type=missing, input_value={'mute': True, 'id': 5}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.5.vol_f
Field required [type=missing, input_value={'mute': True, 'id': 5}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.5.vol_min
Field required [type=missing, input_value={'mute': True, 'id': 5}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.5.vol_max
Field required [type=missing, input_value={'mute': True, 'id': 5}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.5.disabled
Field required [type=missing, input_value={'mute': True, 'id': 5}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.groups
Field required [type=missing, input_value={'zones': [{'mute': True,...'mute': True, 'id': 5}]}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.commands
Field required [type=missing, input_value={'id': 10000, 'name': 'Mu...mute': True, 'id': 5}]}}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
The text was updated successfully, but these errors were encountered:
FYI, I think micro-nova has taken over the integration and releases are now coming from their repo, not this. I could be wrong though. You can download the micro-nova version from HACS in the same way.
After upgrading to HA 2025.1.0, entities no longer setup.
Amplipi HACS version 663d134
This error in the logs:
Logger: homeassistant.components.media_player
Source: helpers/entity_platform.py:366
integration: Media player (documentation, issues)
First occurred: 10:58:54 AM (2 occurrences)
Last logged: 11:20:47 AM
Error while setting up amplipi platform for media_player
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 366, in _async_setup_platform
await asyncio.shield(awaitable)
File "/config/custom_components/amplipi/media_player.py", line 85, in async_setup_entry
status = await amplipi.get_status()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/pyamplipi/amplipi.py", line 30, in get_status
return Status.parse_obj(response)
~~~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/pydantic/main.py", line 1223, in parse_obj
return cls.model_validate(obj)
~~~~~~~~~~~~~~~~~~^^^^^
File "/usr/local/lib/python3.13/site-packages/pydantic/main.py", line 627, in model_validate
return cls.pydantic_validator.validate_python(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
obj, strict=strict, from_attributes=from_attributes, context=context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
pydantic_core._pydantic_core.ValidationError: 114 validation errors for Status
sources.0.info.station
Field required [type=missing, input_value={'name': 'Group - Backyar...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.1.info.artist
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.1.info.track
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.1.info.album
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.1.info.station
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.2.info.artist
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.2.info.track
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.2.info.album
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.2.info.station
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.3.info.artist
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.3.info.track
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.3.info.album
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
sources.3.info.station
Field required [type=missing, input_value={'name': 'None', 'state':...', 'supported_cmds': []}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.0.user
Field required [type=missing, input_value={'id': 995, 'name': 'Aux'...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.0.password
Field required [type=missing, input_value={'id': 995, 'name': 'Aux'...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.0.station
Field required [type=missing, input_value={'id': 995, 'name': 'Aux'...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.0.url
Field required [type=missing, input_value={'id': 995, 'name': 'Aux'...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.0.logo
Field required [type=missing, input_value={'id': 995, 'name': 'Aux'...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.0.freq
Field required [type=missing, input_value={'id': 995, 'name': 'Aux'...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.0.client_id
Field required [type=missing, input_value={'id': 995, 'name': 'Aux'...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.0.token
Field required [type=missing, input_value={'id': 995, 'name': 'Aux'...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.1.user
Field required [type=missing, input_value={'id': 996, 'name': 'TV_B...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.1.password
Field required [type=missing, input_value={'id': 996, 'name': 'TV_B...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.1.station
Field required [type=missing, input_value={'id': 996, 'name': 'TV_B...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.1.url
Field required [type=missing, input_value={'id': 996, 'name': 'TV_B...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.1.logo
Field required [type=missing, input_value={'id': 996, 'name': 'TV_B...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.1.freq
Field required [type=missing, input_value={'id': 996, 'name': 'TV_B...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.1.client_id
Field required [type=missing, input_value={'id': 996, 'name': 'TV_B...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.1.token
Field required [type=missing, input_value={'id': 996, 'name': 'TV_B...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.2.user
Field required [type=missing, input_value={'id': 997, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.2.password
Field required [type=missing, input_value={'id': 997, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.2.station
Field required [type=missing, input_value={'id': 997, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.2.url
Field required [type=missing, input_value={'id': 997, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.2.logo
Field required [type=missing, input_value={'id': 997, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.2.freq
Field required [type=missing, input_value={'id': 997, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.2.client_id
Field required [type=missing, input_value={'id': 997, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.2.token
Field required [type=missing, input_value={'id': 997, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.3.user
Field required [type=missing, input_value={'id': 998, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.3.password
Field required [type=missing, input_value={'id': 998, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.3.station
Field required [type=missing, input_value={'id': 998, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.3.url
Field required [type=missing, input_value={'id': 998, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.3.logo
Field required [type=missing, input_value={'id': 998, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.3.freq
Field required [type=missing, input_value={'id': 998, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.3.client_id
Field required [type=missing, input_value={'id': 998, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.3.token
Field required [type=missing, input_value={'id': 998, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.4.user
Field required [type=missing, input_value={'id': 999, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.4.password
Field required [type=missing, input_value={'id': 999, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.4.station
Field required [type=missing, input_value={'id': 999, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.4.url
Field required [type=missing, input_value={'id': 999, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.4.logo
Field required [type=missing, input_value={'id': 999, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.4.freq
Field required [type=missing, input_value={'id': 999, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.4.client_id
Field required [type=missing, input_value={'id': 999, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.4.token
Field required [type=missing, input_value={'id': 999, 'name': 'Inpu...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.5.user
Field required [type=missing, input_value={'id': 1001, 'name': 'Gro...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.5.password
Field required [type=missing, input_value={'id': 1001, 'name': 'Gro...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.5.station
Field required [type=missing, input_value={'id': 1001, 'name': 'Gro...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.5.url
Field required [type=missing, input_value={'id': 1001, 'name': 'Gro...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.5.logo
Field required [type=missing, input_value={'id': 1001, 'name': 'Gro...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.5.freq
Field required [type=missing, input_value={'id': 1001, 'name': 'Gro...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.5.client_id
Field required [type=missing, input_value={'id': 1001, 'name': 'Gro...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.5.token
Field required [type=missing, input_value={'id': 1001, 'name': 'Gro...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.6.user
Field required [type=missing, input_value={'id': 1002, 'name': 'Bac...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.6.password
Field required [type=missing, input_value={'id': 1002, 'name': 'Bac...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.6.station
Field required [type=missing, input_value={'id': 1002, 'name': 'Bac...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.6.url
Field required [type=missing, input_value={'id': 1002, 'name': 'Bac...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.6.logo
Field required [type=missing, input_value={'id': 1002, 'name': 'Bac...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.6.freq
Field required [type=missing, input_value={'id': 1002, 'name': 'Bac...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.6.client_id
Field required [type=missing, input_value={'id': 1002, 'name': 'Bac...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
streams.6.token
Field required [type=missing, input_value={'id': 1002, 'name': 'Bac...lse, 'browsable': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.sources
Field required [type=missing, input_value={'zones': [{'mute': True,...'mute': True, 'id': 5}]}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.0.name
Field required [type=missing, input_value={'mute': True, 'id': 0}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.0.source_id
Field required [type=missing, input_value={'mute': True, 'id': 0}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.0.vol
Field required [type=missing, input_value={'mute': True, 'id': 0}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.0.vol_f
Field required [type=missing, input_value={'mute': True, 'id': 0}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.0.vol_min
Field required [type=missing, input_value={'mute': True, 'id': 0}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.0.vol_max
Field required [type=missing, input_value={'mute': True, 'id': 0}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.0.disabled
Field required [type=missing, input_value={'mute': True, 'id': 0}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.1.name
Field required [type=missing, input_value={'mute': True, 'id': 1}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.1.source_id
Field required [type=missing, input_value={'mute': True, 'id': 1}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.1.vol
Field required [type=missing, input_value={'mute': True, 'id': 1}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.1.vol_f
Field required [type=missing, input_value={'mute': True, 'id': 1}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.1.vol_min
Field required [type=missing, input_value={'mute': True, 'id': 1}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.1.vol_max
Field required [type=missing, input_value={'mute': True, 'id': 1}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.1.disabled
Field required [type=missing, input_value={'mute': True, 'id': 1}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.2.name
Field required [type=missing, input_value={'mute': True, 'id': 2}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.2.source_id
Field required [type=missing, input_value={'mute': True, 'id': 2}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.2.vol
Field required [type=missing, input_value={'mute': True, 'id': 2}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.2.vol_f
Field required [type=missing, input_value={'mute': True, 'id': 2}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.2.vol_min
Field required [type=missing, input_value={'mute': True, 'id': 2}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.2.vol_max
Field required [type=missing, input_value={'mute': True, 'id': 2}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.2.disabled
Field required [type=missing, input_value={'mute': True, 'id': 2}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.3.name
Field required [type=missing, input_value={'mute': True, 'id': 3}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.3.source_id
Field required [type=missing, input_value={'mute': True, 'id': 3}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.3.vol
Field required [type=missing, input_value={'mute': True, 'id': 3}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.3.vol_f
Field required [type=missing, input_value={'mute': True, 'id': 3}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.3.vol_min
Field required [type=missing, input_value={'mute': True, 'id': 3}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.3.vol_max
Field required [type=missing, input_value={'mute': True, 'id': 3}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.3.disabled
Field required [type=missing, input_value={'mute': True, 'id': 3}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.4.name
Field required [type=missing, input_value={'mute': True, 'id': 4}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.4.source_id
Field required [type=missing, input_value={'mute': True, 'id': 4}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.4.vol
Field required [type=missing, input_value={'mute': True, 'id': 4}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.4.vol_f
Field required [type=missing, input_value={'mute': True, 'id': 4}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.4.vol_min
Field required [type=missing, input_value={'mute': True, 'id': 4}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.4.vol_max
Field required [type=missing, input_value={'mute': True, 'id': 4}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.4.disabled
Field required [type=missing, input_value={'mute': True, 'id': 4}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.5.name
Field required [type=missing, input_value={'mute': True, 'id': 5}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.5.source_id
Field required [type=missing, input_value={'mute': True, 'id': 5}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.5.vol
Field required [type=missing, input_value={'mute': True, 'id': 5}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.5.vol_f
Field required [type=missing, input_value={'mute': True, 'id': 5}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.5.vol_min
Field required [type=missing, input_value={'mute': True, 'id': 5}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.5.vol_max
Field required [type=missing, input_value={'mute': True, 'id': 5}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.zones.5.disabled
Field required [type=missing, input_value={'mute': True, 'id': 5}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.state.groups
Field required [type=missing, input_value={'zones': [{'mute': True,...'mute': True, 'id': 5}]}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
presets.0.commands
Field required [type=missing, input_value={'id': 10000, 'name': 'Mu...mute': True, 'id': 5}]}}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
The text was updated successfully, but these errors were encountered: