mirror of
https://github.com/home-assistant/core.git
synced 2025-07-18 18:57:06 +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"]
|
||||
mac = host_config["mac"]
|
||||
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
|
||||
|
||||
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),
|
||||
{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):
|
||||
@ -154,11 +161,11 @@ def request_configuration(config, hass, add_entities):
|
||||
class BraviaTVDevice(MediaPlayerDevice):
|
||||
"""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."""
|
||||
|
||||
self._pin = pin
|
||||
self._braviarc = BraviaRC(host, mac)
|
||||
self._braviarc = client
|
||||
self._name = name
|
||||
self._state = STATE_OFF
|
||||
self._muted = False
|
||||
@ -171,15 +178,14 @@ class BraviaTVDevice(MediaPlayerDevice):
|
||||
self._content_mapping = {}
|
||||
self._duration = None
|
||||
self._content_uri = None
|
||||
self._id = None
|
||||
self._playing = False
|
||||
self._start_date_time = None
|
||||
self._program_media_type = None
|
||||
self._min_volume = None
|
||||
self._max_volume = None
|
||||
self._volume = None
|
||||
self._unique_id = unique_id
|
||||
|
||||
self._braviarc.connect(pin, CLIENTID_PREFIX, NICKNAME)
|
||||
if self._braviarc.is_connected():
|
||||
self.update()
|
||||
else:
|
||||
@ -254,6 +260,11 @@ class BraviaTVDevice(MediaPlayerDevice):
|
||||
"""Return the name of the device."""
|
||||
return self._name
|
||||
|
||||
@property
|
||||
def unique_id(self):
|
||||
"""Return a unique_id for this entity."""
|
||||
return self._unique_id
|
||||
|
||||
@property
|
||||
def state(self):
|
||||
"""Return the state of the device."""
|
||||
|
Loading…
x
Reference in New Issue
Block a user