/
/
/
1"""
2Sonos Player S1 provider for Music Assistant.
3
4Based on the SoCo library for Sonos which uses the legacy/V1 UPnP API.
5
6Note that large parts of this code are copied over from the Home Assistant
7integration for Sonos.
8"""
9
10from __future__ import annotations
11
12from typing import TYPE_CHECKING
13
14from music_assistant_models.enums import ProviderFeature
15
16from .provider import SonosPlayerProvider
17
18if TYPE_CHECKING:
19 from music_assistant_models.config_entries import ProviderConfig
20 from music_assistant_models.provider import ProviderManifest
21
22 from music_assistant.mass import MusicAssistant
23 from music_assistant.models import ProviderInstanceType
24
25SUPPORTED_FEATURES = {
26 ProviderFeature.SYNC_PLAYERS,
27}
28
29
30async def setup(
31 mass: MusicAssistant, manifest: ProviderManifest, config: ProviderConfig
32) -> ProviderInstanceType:
33 """Initialize provider(instance) with given configuration."""
34 return SonosPlayerProvider(mass, manifest, config, SUPPORTED_FEATURES)
35