From 35509d6f80411e33793786edd45645e2c1f4fa35 Mon Sep 17 00:00:00 2001 From: joostlek Date: Fri, 25 Aug 2023 12:15:14 +0200 Subject: [PATCH 1/3] Migrate Vulcan to has entity name --- homeassistant/components/vulcan/calendar.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/vulcan/calendar.py b/homeassistant/components/vulcan/calendar.py index 20c8ff78432de0..2dfbb3270a684f 100644 --- a/homeassistant/components/vulcan/calendar.py +++ b/homeassistant/components/vulcan/calendar.py @@ -56,6 +56,9 @@ async def async_setup_entry( class VulcanCalendarEntity(CalendarEntity): """A calendar entity.""" + _attr_has_entity_name = True + _attr_name = None + def __init__(self, client, data, entity_id) -> None: """Create the Calendar entity.""" self.student_info = data["student_info"] @@ -63,7 +66,6 @@ def __init__(self, client, data, entity_id) -> None: self.client = client self.entity_id = entity_id self._unique_id = f"vulcan_calendar_{self.student_info['id']}" - self._attr_name = f"Vulcan calendar - {self.student_info['full_name']}" self._attr_unique_id = f"vulcan_calendar_{self.student_info['id']}" self._attr_device_info = DeviceInfo( identifiers={(DOMAIN, f"calendar_{self.student_info['id']}")}, From ffac14d0ed88498be6107cbc25c38ac297cbb64b Mon Sep 17 00:00:00 2001 From: joostlek Date: Wed, 30 Aug 2023 15:51:04 +0200 Subject: [PATCH 2/3] Use calendar as name --- homeassistant/components/vulcan/calendar.py | 4 ++-- homeassistant/components/vulcan/strings.json | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/vulcan/calendar.py b/homeassistant/components/vulcan/calendar.py index 2dfbb3270a684f..a7f1e38fba71cf 100644 --- a/homeassistant/components/vulcan/calendar.py +++ b/homeassistant/components/vulcan/calendar.py @@ -57,7 +57,7 @@ class VulcanCalendarEntity(CalendarEntity): """A calendar entity.""" _attr_has_entity_name = True - _attr_name = None + _attr_translation_key = "calendar" def __init__(self, client, data, entity_id) -> None: """Create the Calendar entity.""" @@ -70,7 +70,7 @@ def __init__(self, client, data, entity_id) -> None: self._attr_device_info = DeviceInfo( identifiers={(DOMAIN, f"calendar_{self.student_info['id']}")}, entry_type=DeviceEntryType.SERVICE, - name=f"{self.student_info['full_name']}: Calendar", + name=f"{self.student_info['full_name']}", model=( f"{self.student_info['full_name']} -" f" {self.student_info['class']} {self.student_info['school']}" diff --git a/homeassistant/components/vulcan/strings.json b/homeassistant/components/vulcan/strings.json index b2b270e3422fc7..6f69deac7552b2 100644 --- a/homeassistant/components/vulcan/strings.json +++ b/homeassistant/components/vulcan/strings.json @@ -51,5 +51,12 @@ } } } + }, + "entity": { + "calendar": { + "calendar": { + "name": "[%key:component::calendar::title%]" + } + } } } From 9994dec0437e550e01ea8d21b6eb09a1771365d8 Mon Sep 17 00:00:00 2001 From: joostlek Date: Mon, 9 Oct 2023 14:02:55 +0200 Subject: [PATCH 3/3] Improve code --- homeassistant/components/vulcan/calendar.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/homeassistant/components/vulcan/calendar.py b/homeassistant/components/vulcan/calendar.py index a7f1e38fba71cf..073ac88fbda64c 100644 --- a/homeassistant/components/vulcan/calendar.py +++ b/homeassistant/components/vulcan/calendar.py @@ -3,6 +3,7 @@ from datetime import date, datetime, timedelta import logging +from typing import cast from zoneinfo import ZoneInfo from aiohttp import ClientConnectorError @@ -61,23 +62,22 @@ class VulcanCalendarEntity(CalendarEntity): def __init__(self, client, data, entity_id) -> None: """Create the Calendar entity.""" - self.student_info = data["student_info"] self._event: CalendarEvent | None = None self.client = client self.entity_id = entity_id - self._unique_id = f"vulcan_calendar_{self.student_info['id']}" - self._attr_unique_id = f"vulcan_calendar_{self.student_info['id']}" + student_info = data["student_info"] + self._attr_unique_id = f"vulcan_calendar_{student_info['id']}" self._attr_device_info = DeviceInfo( - identifiers={(DOMAIN, f"calendar_{self.student_info['id']}")}, + identifiers={(DOMAIN, f"calendar_{student_info['id']}")}, entry_type=DeviceEntryType.SERVICE, - name=f"{self.student_info['full_name']}", + name=cast(str, student_info["full_name"]), model=( - f"{self.student_info['full_name']} -" - f" {self.student_info['class']} {self.student_info['school']}" + f"{student_info['full_name']} -" + f" {student_info['class']} {student_info['school']}" ), manufacturer="Uonet +", configuration_url=( - f"https://uonetplus.vulcan.net.pl/{self.student_info['symbol']}" + f"https://uonetplus.vulcan.net.pl/{student_info['symbol']}" ), )