1 """Representation of Plex buttons."""
3 from __future__
import annotations
13 from .
import PlexServer
14 from .const
import CONF_SERVER_IDENTIFIER, DOMAIN, PLEX_UPDATE_PLATFORMS_SIGNAL
15 from .helpers
import get_plex_server
20 config_entry: ConfigEntry,
21 async_add_entities: AddEntitiesCallback,
23 """Set up Plex button from config entry."""
24 server_id: str = config_entry.data[CONF_SERVER_IDENTIFIER]
30 """Representation of a scan_clients button entity."""
32 _attr_entity_category = EntityCategory.CONFIG
33 _attr_has_entity_name =
True
34 _attr_translation_key =
"scan_clients"
36 def __init__(self, server_id: str, plex_server: PlexServer) ->
None:
37 """Initialize a scan_clients Plex button entity."""
41 identifiers={(DOMAIN, server_id)},
42 name=plex_server.friendly_name,
47 """Press the button."""
49 self.
hasshass, PLEX_UPDATE_PLATFORMS_SIGNAL.format(self.
server_idserver_id)
PlexServer get_plex_server(HomeAssistant hass, str server_id)
None async_dispatcher_send(HomeAssistant hass, str signal, *Any args)