16
16
MediaPlayerEntityFeature ,
17
17
MediaPlayerState ,
18
18
)
19
- from homeassistant .const import CONF_HOST , CONF_PATH , CONF_PORT
19
+ from homeassistant .const import CONF_NAME , CONF_HOST , CONF_PATH , CONF_PORT
20
20
from homeassistant .core import HomeAssistant
21
21
from homeassistant .helpers .entity_platform import AddEntitiesCallback
22
22
from homeassistant .helpers .event import async_call_later
28
28
29
29
_logger = logging .getLogger (__package__ )
30
30
31
+ DEFAULT_NAME = 'mpv'
31
32
PLATFORM_SCHEMA = PLATFORM_SCHEMA .extend ({
33
+ vol .Optional (CONF_NAME , default = DEFAULT_NAME ): cv .string ,
32
34
vol .Required (CONF_SERVER ): vol .Any (
33
35
{
34
36
vol .Required (CONF_HOST ): cv .string ,
@@ -50,13 +52,20 @@ async def async_setup_platform(
50
52
) -> None :
51
53
server = config [CONF_SERVER ]
52
54
add_entities ([
53
- MpvEntity (server .get (CONF_HOST ), server .get (CONF_PORT ), server .get (CONF_PATH ), config [CONF_PROXY_MEDIA ])
55
+ MpvEntity (
56
+ name = config [CONF_NAME ],
57
+ host = server .get (CONF_HOST ),
58
+ port = server .get (CONF_PORT ),
59
+ socket = server .get (CONF_PATH ),
60
+ proxy_media = config [CONF_PROXY_MEDIA ]
61
+ )
54
62
])
55
63
56
64
57
65
class MpvEntity (MediaPlayerEntity ):
66
+ _attr_has_entity_name = True
67
+ _attr_name = None
58
68
_attr_available = False
59
- _attr_name = 'mpv'
60
69
_attr_should_poll = False
61
70
_attr_supported_features = (
62
71
MediaPlayerEntityFeature .BROWSE_MEDIA |
@@ -69,9 +78,9 @@ class MpvEntity(MediaPlayerEntity):
69
78
MediaPlayerEntityFeature .VOLUME_SET
70
79
)
71
80
72
- # TODO: playlist support
81
+ def __init__ (self , name : str , host : str = None , port : int = None , socket : str = None , proxy_media : bool = True ):
82
+ self ._attr_name = name
73
83
74
- def __init__ (self , host : str = None , port : int = None , socket : str = None , proxy_media : bool = True ):
75
84
self ._host = host
76
85
self ._port = port
77
86
self ._socket = socket
0 commit comments