From a86fe1845b61fdb32615f6eca07d02137c69fb19 Mon Sep 17 00:00:00 2001 From: Quentame Date: Wed, 4 Sep 2019 14:02:42 +0200 Subject: [PATCH 1/3] Add device_info to Linky integration --- homeassistant/components/linky/sensor.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/homeassistant/components/linky/sensor.py b/homeassistant/components/linky/sensor.py index bd2d38735d6192..c359b6918ee06f 100644 --- a/homeassistant/components/linky/sensor.py +++ b/homeassistant/components/linky/sensor.py @@ -18,6 +18,8 @@ from homeassistant.helpers.event import async_track_time_interval from homeassistant.helpers.typing import HomeAssistantType +from .const import DOMAIN + _LOGGER = logging.getLogger(__name__) SCAN_INTERVAL = timedelta(hours=4) @@ -114,6 +116,12 @@ def __init__(self, name, account: LinkyAccount, scale, when): self._username = account.username self._time = None self._consumption = None + self._unique_id = f"{DOMAIN}_{self._username}_{scale}_{when}" + + @property + def unique_id(self): + """Return a unique ID.""" + return self._unique_id @property def name(self): @@ -144,6 +152,15 @@ def device_state_attributes(self): CONF_USERNAME: self._username, } + @property + def device_info(self): + """Return device information.""" + return { + "identifiers": {(DOMAIN, self.unique_id)}, + "name": self.name, + "manufacturer": "Enedis", + } + async def async_update(self) -> None: """Retrieve the new data for the sensor.""" data = self._account.data[self._scale][self._when] From ab1d5ca55240d80e3672ce701959c58c42c638b4 Mon Sep 17 00:00:00 2001 From: Quentame Date: Fri, 6 Sep 2019 14:09:38 +0200 Subject: [PATCH 2/3] Remove useless SENSORS const --- homeassistant/components/linky/sensor.py | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/homeassistant/components/linky/sensor.py b/homeassistant/components/linky/sensor.py index c359b6918ee06f..357b322a1af9a4 100644 --- a/homeassistant/components/linky/sensor.py +++ b/homeassistant/components/linky/sensor.py @@ -30,17 +30,6 @@ INDEX_LAST = -2 ATTRIBUTION = "Data provided by Enedis" -SENSORS = { - "yesterday": ("Linky yesterday", DAILY, INDEX_LAST), - "current_month": ("Linky current month", MONTHLY, INDEX_CURRENT), - "last_month": ("Linky last month", MONTHLY, INDEX_LAST), - "current_year": ("Linky current year", YEARLY, INDEX_CURRENT), - "last_year": ("Linky last year", YEARLY, INDEX_LAST), -} -SENSORS_INDEX_LABEL = 0 -SENSORS_INDEX_SCALE = 1 -SENSORS_INDEX_WHEN = 2 - async def async_setup_platform(hass, config, async_add_entities, discovery_info=None): """Old way of setting up the Linky platform.""" From 2204e34cc3d339f830950b362c9f07bff5697c4f Mon Sep 17 00:00:00 2001 From: Quentame Date: Fri, 6 Sep 2019 16:08:46 +0200 Subject: [PATCH 3/3] Review: remove DOMAIN from the unique_id --- homeassistant/components/linky/sensor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/homeassistant/components/linky/sensor.py b/homeassistant/components/linky/sensor.py index 357b322a1af9a4..5ff04c5ee70a38 100644 --- a/homeassistant/components/linky/sensor.py +++ b/homeassistant/components/linky/sensor.py @@ -105,7 +105,7 @@ def __init__(self, name, account: LinkyAccount, scale, when): self._username = account.username self._time = None self._consumption = None - self._unique_id = f"{DOMAIN}_{self._username}_{scale}_{when}" + self._unique_id = f"{self._username}_{scale}_{when}" @property def unique_id(self):