Use SignalType to improve typing [homekit] (#114297)

This commit is contained in:
Marc Mueller 2024-03-27 18:05:01 +01:00 committed by GitHub
parent e626cd12aa
commit 63e28f958d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 10 additions and 2 deletions

View File

@ -121,6 +121,7 @@ from .const import (
SERVICE_HOMEKIT_RESET_ACCESSORY, SERVICE_HOMEKIT_RESET_ACCESSORY,
SERVICE_HOMEKIT_UNPAIR, SERVICE_HOMEKIT_UNPAIR,
SHUTDOWN_TIMEOUT, SHUTDOWN_TIMEOUT,
SIGNAL_RELOAD_ENTITIES,
) )
from .iidmanager import AccessoryIIDStorage from .iidmanager import AccessoryIIDStorage
from .models import HomeKitEntryData from .models import HomeKitEntryData
@ -846,7 +847,7 @@ class HomeKit:
self.status = STATUS_WAIT self.status = STATUS_WAIT
self._cancel_reload_dispatcher = async_dispatcher_connect( self._cancel_reload_dispatcher = async_dispatcher_connect(
self.hass, self.hass,
f"homekit_reload_entities_{self._entry_id}", SIGNAL_RELOAD_ENTITIES.format(self._entry_id),
self.async_reload_accessories, self.async_reload_accessories,
) )
async_zc_instance = await zeroconf.async_get_async_instance(self.hass) async_zc_instance = await zeroconf.async_get_async_instance(self.hass)

View File

@ -84,6 +84,7 @@ from .const import (
MAX_VERSION_LENGTH, MAX_VERSION_LENGTH,
SERV_ACCESSORY_INFO, SERV_ACCESSORY_INFO,
SERV_BATTERY_SERVICE, SERV_BATTERY_SERVICE,
SIGNAL_RELOAD_ENTITIES,
TYPE_FAUCET, TYPE_FAUCET,
TYPE_OUTLET, TYPE_OUTLET,
TYPE_SHOWER, TYPE_SHOWER,
@ -621,7 +622,7 @@ class HomeAccessory(Accessory): # type: ignore[misc]
"""Reload and recreate an accessory and update the c# value in the mDNS record.""" """Reload and recreate an accessory and update the c# value in the mDNS record."""
async_dispatcher_send( async_dispatcher_send(
self.hass, self.hass,
f"homekit_reload_entities_{self.driver.entry_id}", SIGNAL_RELOAD_ENTITIES.format(self.driver.entry_id),
(self.entity_id,), (self.entity_id,),
) )

View File

@ -1,6 +1,9 @@
"""Constants used be the HomeKit component.""" """Constants used be the HomeKit component."""
from __future__ import annotations
from homeassistant.const import CONF_DEVICES from homeassistant.const import CONF_DEVICES
from homeassistant.util.signal_type import SignalTypeFormat
# #### Misc #### # #### Misc ####
DEBOUNCE_TIMEOUT = 0.5 DEBOUNCE_TIMEOUT = 0.5
@ -11,6 +14,9 @@ HOMEKIT_FILE = ".homekit.state"
SHUTDOWN_TIMEOUT = 30 SHUTDOWN_TIMEOUT = 30
CONF_ENTRY_INDEX = "index" CONF_ENTRY_INDEX = "index"
EMPTY_MAC = "00:00:00:00:00:00" EMPTY_MAC = "00:00:00:00:00:00"
SIGNAL_RELOAD_ENTITIES: SignalTypeFormat[tuple[str, ...]] = SignalTypeFormat(
"homekit_reload_entities_{}"
)
# ### Codecs #### # ### Codecs ####
VIDEO_CODEC_COPY = "copy" VIDEO_CODEC_COPY = "copy"