mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 03:07:37 +00:00
Add unique ID propery to braviatv entity (#33037)
* Add unique_id property * Use cid to generate unique_id * Remove debug file * Add _unique_id declaration * Suggested change * Remove unused self._id
This commit is contained in:
parent
513abcb7e5
commit
5c2bd8b743
@ -75,7 +75,11 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
|
|||||||
pin = host_config["pin"]
|
pin = host_config["pin"]
|
||||||
mac = host_config["mac"]
|
mac = host_config["mac"]
|
||||||
name = config.get(CONF_NAME)
|
name = config.get(CONF_NAME)
|
||||||
add_entities([BraviaTVDevice(host, mac, name, pin)])
|
braviarc = BraviaRC(host, mac)
|
||||||
|
braviarc.connect(pin, CLIENTID_PREFIX, NICKNAME)
|
||||||
|
unique_id = braviarc.get_system_info()["cid"].lower()
|
||||||
|
|
||||||
|
add_entities([BraviaTVDevice(braviarc, name, pin, unique_id)])
|
||||||
return
|
return
|
||||||
|
|
||||||
setup_bravia(config, pin, hass, add_entities)
|
setup_bravia(config, pin, hass, add_entities)
|
||||||
@ -111,8 +115,11 @@ def setup_bravia(config, pin, hass, add_entities):
|
|||||||
hass.config.path(BRAVIA_CONFIG_FILE),
|
hass.config.path(BRAVIA_CONFIG_FILE),
|
||||||
{host: {"pin": pin, "host": host, "mac": mac}},
|
{host: {"pin": pin, "host": host, "mac": mac}},
|
||||||
)
|
)
|
||||||
|
braviarc = BraviaRC(host, mac)
|
||||||
|
braviarc.connect(pin, CLIENTID_PREFIX, NICKNAME)
|
||||||
|
unique_id = braviarc.get_system_info()["cid"].lower()
|
||||||
|
|
||||||
add_entities([BraviaTVDevice(host, mac, name, pin)])
|
add_entities([BraviaTVDevice(braviarc, name, pin, unique_id)])
|
||||||
|
|
||||||
|
|
||||||
def request_configuration(config, hass, add_entities):
|
def request_configuration(config, hass, add_entities):
|
||||||
@ -154,11 +161,11 @@ def request_configuration(config, hass, add_entities):
|
|||||||
class BraviaTVDevice(MediaPlayerDevice):
|
class BraviaTVDevice(MediaPlayerDevice):
|
||||||
"""Representation of a Sony Bravia TV."""
|
"""Representation of a Sony Bravia TV."""
|
||||||
|
|
||||||
def __init__(self, host, mac, name, pin):
|
def __init__(self, client, name, pin, unique_id):
|
||||||
"""Initialize the Sony Bravia device."""
|
"""Initialize the Sony Bravia device."""
|
||||||
|
|
||||||
self._pin = pin
|
self._pin = pin
|
||||||
self._braviarc = BraviaRC(host, mac)
|
self._braviarc = client
|
||||||
self._name = name
|
self._name = name
|
||||||
self._state = STATE_OFF
|
self._state = STATE_OFF
|
||||||
self._muted = False
|
self._muted = False
|
||||||
@ -171,15 +178,14 @@ class BraviaTVDevice(MediaPlayerDevice):
|
|||||||
self._content_mapping = {}
|
self._content_mapping = {}
|
||||||
self._duration = None
|
self._duration = None
|
||||||
self._content_uri = None
|
self._content_uri = None
|
||||||
self._id = None
|
|
||||||
self._playing = False
|
self._playing = False
|
||||||
self._start_date_time = None
|
self._start_date_time = None
|
||||||
self._program_media_type = None
|
self._program_media_type = None
|
||||||
self._min_volume = None
|
self._min_volume = None
|
||||||
self._max_volume = None
|
self._max_volume = None
|
||||||
self._volume = None
|
self._volume = None
|
||||||
|
self._unique_id = unique_id
|
||||||
|
|
||||||
self._braviarc.connect(pin, CLIENTID_PREFIX, NICKNAME)
|
|
||||||
if self._braviarc.is_connected():
|
if self._braviarc.is_connected():
|
||||||
self.update()
|
self.update()
|
||||||
else:
|
else:
|
||||||
@ -254,6 +260,11 @@ class BraviaTVDevice(MediaPlayerDevice):
|
|||||||
"""Return the name of the device."""
|
"""Return the name of the device."""
|
||||||
return self._name
|
return self._name
|
||||||
|
|
||||||
|
@property
|
||||||
|
def unique_id(self):
|
||||||
|
"""Return a unique_id for this entity."""
|
||||||
|
return self._unique_id
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def state(self):
|
def state(self):
|
||||||
"""Return the state of the device."""
|
"""Return the state of the device."""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user