From ed7ac3c1f78ab17094c4228f1da1302097a56dbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20H=C3=B8yer=20Iversen?= Date: Sun, 24 May 2020 17:21:29 +0200 Subject: [PATCH] Add Open garage unique_id (#36074) --- homeassistant/components/opengarage/cover.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/opengarage/cover.py b/homeassistant/components/opengarage/cover.py index 70b4d8c98ee..cf6825c867b 100644 --- a/homeassistant/components/opengarage/cover.py +++ b/homeassistant/components/opengarage/cover.py @@ -25,6 +25,7 @@ from homeassistant.const import ( ) from homeassistant.helpers.aiohttp_client import async_get_clientsession import homeassistant.helpers.config_validation as cv +from homeassistant.helpers.device_registry import format_mac _LOGGER = logging.getLogger(__name__) @@ -72,8 +73,12 @@ async def async_setup_platform(hass, config, async_add_entities, discovery_info= device_config[CONF_VERIFY_SSL], async_get_clientsession(hass), ) - - covers.append(OpenGarageCover(device_config.get(CONF_NAME), open_garage)) + status = await open_garage.update_state() + covers.append( + OpenGarageCover( + device_config.get(CONF_NAME), open_garage, format_mac(status["mac"]) + ) + ) async_add_entities(covers, True) @@ -81,7 +86,7 @@ async def async_setup_platform(hass, config, async_add_entities, discovery_info= class OpenGarageCover(CoverEntity): """Representation of a OpenGarage cover.""" - def __init__(self, name, open_garage): + def __init__(self, name, open_garage, device_id): """Initialize the cover.""" self._name = name self._open_garage = open_garage @@ -89,6 +94,7 @@ class OpenGarageCover(CoverEntity): self._state_before_move = None self._device_state_attributes = {} self._available = True + self._device_id = device_id @property def name(self): @@ -181,3 +187,8 @@ class OpenGarageCover(CoverEntity): def supported_features(self): """Flag supported features.""" return SUPPORT_OPEN | SUPPORT_CLOSE + + @property + def unique_id(self): + """Return a unique ID.""" + return self._device_id