Migrate Vulcan to has entity name (#99020)

This commit is contained in:
Joost Lekkerkerker 2023-10-09 14:41:30 +02:00 committed by GitHub
parent 6393171fa4
commit b9090452de
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 9 deletions

View File

@ -3,6 +3,7 @@ from __future__ import annotations
from datetime import date, datetime, timedelta from datetime import date, datetime, timedelta
import logging import logging
from typing import cast
from zoneinfo import ZoneInfo from zoneinfo import ZoneInfo
from aiohttp import ClientConnectorError from aiohttp import ClientConnectorError
@ -56,26 +57,27 @@ async def async_setup_entry(
class VulcanCalendarEntity(CalendarEntity): class VulcanCalendarEntity(CalendarEntity):
"""A calendar entity.""" """A calendar entity."""
_attr_has_entity_name = True
_attr_translation_key = "calendar"
def __init__(self, client, data, entity_id) -> None: def __init__(self, client, data, entity_id) -> None:
"""Create the Calendar entity.""" """Create the Calendar entity."""
self.student_info = data["student_info"]
self._event: CalendarEvent | None = None self._event: CalendarEvent | None = None
self.client = client self.client = client
self.entity_id = entity_id self.entity_id = entity_id
self._unique_id = f"vulcan_calendar_{self.student_info['id']}" student_info = data["student_info"]
self._attr_name = f"Vulcan calendar - {self.student_info['full_name']}" self._attr_unique_id = f"vulcan_calendar_{student_info['id']}"
self._attr_unique_id = f"vulcan_calendar_{self.student_info['id']}"
self._attr_device_info = DeviceInfo( self._attr_device_info = DeviceInfo(
identifiers={(DOMAIN, f"calendar_{self.student_info['id']}")}, identifiers={(DOMAIN, f"calendar_{student_info['id']}")},
entry_type=DeviceEntryType.SERVICE, entry_type=DeviceEntryType.SERVICE,
name=f"{self.student_info['full_name']}: Calendar", name=cast(str, student_info["full_name"]),
model=( model=(
f"{self.student_info['full_name']} -" f"{student_info['full_name']} -"
f" {self.student_info['class']} {self.student_info['school']}" f" {student_info['class']} {student_info['school']}"
), ),
manufacturer="Uonet +", manufacturer="Uonet +",
configuration_url=( configuration_url=(
f"https://uonetplus.vulcan.net.pl/{self.student_info['symbol']}" f"https://uonetplus.vulcan.net.pl/{student_info['symbol']}"
), ),
) )

View File

@ -51,5 +51,12 @@
} }
} }
} }
},
"entity": {
"calendar": {
"calendar": {
"name": "[%key:component::calendar::title%]"
}
}
} }
} }