Add logs on disconnect/reconnect for Cambridge Audio (#125904)
* Bump aiostreammagic to 2.3.0 * Add logging on disconnect/reconnect for Cambridge Audio
This commit is contained in:
parent
d855f70e3b
commit
d507953c70
1 changed files with 18 additions and 1 deletions
|
@ -3,18 +3,22 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import asyncio
|
import asyncio
|
||||||
|
import logging
|
||||||
|
|
||||||
from aiostreammagic import StreamMagicClient
|
from aiostreammagic import StreamMagicClient
|
||||||
|
from aiostreammagic.models import CallbackType
|
||||||
|
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import CONF_HOST, Platform
|
from homeassistant.const import CONF_HOST, Platform
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant, callback
|
||||||
from homeassistant.exceptions import ConfigEntryNotReady
|
from homeassistant.exceptions import ConfigEntryNotReady
|
||||||
|
|
||||||
from .const import CONNECT_TIMEOUT, STREAM_MAGIC_EXCEPTIONS
|
from .const import CONNECT_TIMEOUT, STREAM_MAGIC_EXCEPTIONS
|
||||||
|
|
||||||
PLATFORMS: list[Platform] = [Platform.MEDIA_PLAYER]
|
PLATFORMS: list[Platform] = [Platform.MEDIA_PLAYER]
|
||||||
|
|
||||||
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
type CambridgeAudioConfigEntry = ConfigEntry[StreamMagicClient]
|
type CambridgeAudioConfigEntry = ConfigEntry[StreamMagicClient]
|
||||||
|
|
||||||
|
|
||||||
|
@ -25,6 +29,19 @@ async def async_setup_entry(
|
||||||
|
|
||||||
client = StreamMagicClient(entry.data[CONF_HOST])
|
client = StreamMagicClient(entry.data[CONF_HOST])
|
||||||
|
|
||||||
|
@callback
|
||||||
|
async def _connection_update_callback(
|
||||||
|
_client: StreamMagicClient, _callback_type: CallbackType
|
||||||
|
) -> None:
|
||||||
|
"""Call when the device is notified of changes."""
|
||||||
|
if _callback_type == CallbackType.CONNECTION:
|
||||||
|
if _client.is_connected():
|
||||||
|
_LOGGER.warning("Reconnected to device at %s", entry.data[CONF_HOST])
|
||||||
|
else:
|
||||||
|
_LOGGER.warning("Disconnected from device at %s", entry.data[CONF_HOST])
|
||||||
|
|
||||||
|
await client.register_state_update_callbacks(_connection_update_callback)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
async with asyncio.timeout(CONNECT_TIMEOUT):
|
async with asyncio.timeout(CONNECT_TIMEOUT):
|
||||||
await client.connect()
|
await client.connect()
|
||||||
|
|
Loading…
Add table
Reference in a new issue