Simplify blink service actions (#146508)

This commit is contained in:
epenet 2025-06-11 16:21:42 +02:00 committed by GitHub
parent 0af41d9cb1
commit 9346f8d658
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 29 additions and 27 deletions

View File

@ -25,7 +25,7 @@ from homeassistant.helpers.typing import ConfigType
from .const import DEFAULT_SCAN_INTERVAL, DOMAIN, PLATFORMS from .const import DEFAULT_SCAN_INTERVAL, DOMAIN, PLATFORMS
from .coordinator import BlinkConfigEntry, BlinkUpdateCoordinator from .coordinator import BlinkConfigEntry, BlinkUpdateCoordinator
from .services import setup_services from .services import async_setup_services
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@ -72,7 +72,7 @@ async def async_migrate_entry(hass: HomeAssistant, entry: BlinkConfigEntry) -> b
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
"""Set up Blink.""" """Set up Blink."""
setup_services(hass) async_setup_services(hass)
return True return True

View File

@ -6,7 +6,7 @@ import voluptuous as vol
from homeassistant.config_entries import ConfigEntryState from homeassistant.config_entries import ConfigEntryState
from homeassistant.const import CONF_PIN from homeassistant.const import CONF_PIN
from homeassistant.core import HomeAssistant, ServiceCall from homeassistant.core import HomeAssistant, ServiceCall, callback
from homeassistant.exceptions import HomeAssistantError, ServiceValidationError from homeassistant.exceptions import HomeAssistantError, ServiceValidationError
from homeassistant.helpers import config_validation as cv from homeassistant.helpers import config_validation as cv
@ -21,14 +21,11 @@ SERVICE_SEND_PIN_SCHEMA = vol.Schema(
) )
def setup_services(hass: HomeAssistant) -> None: async def _send_pin(call: ServiceCall) -> None:
"""Set up the services for the Blink integration."""
async def send_pin(call: ServiceCall):
"""Call blink to send new pin.""" """Call blink to send new pin."""
config_entry: BlinkConfigEntry | None config_entry: BlinkConfigEntry | None
for entry_id in call.data[ATTR_CONFIG_ENTRY_ID]: for entry_id in call.data[ATTR_CONFIG_ENTRY_ID]:
if not (config_entry := hass.config_entries.async_get_entry(entry_id)): if not (config_entry := call.hass.config_entries.async_get_entry(entry_id)):
raise ServiceValidationError( raise ServiceValidationError(
translation_domain=DOMAIN, translation_domain=DOMAIN,
translation_key="integration_not_found", translation_key="integration_not_found",
@ -46,9 +43,14 @@ def setup_services(hass: HomeAssistant) -> None:
call.data[CONF_PIN], call.data[CONF_PIN],
) )
@callback
def async_setup_services(hass: HomeAssistant) -> None:
"""Set up the services for the Blink integration."""
hass.services.async_register( hass.services.async_register(
DOMAIN, DOMAIN,
SERVICE_SEND_PIN, SERVICE_SEND_PIN,
send_pin, _send_pin,
schema=SERVICE_SEND_PIN_SCHEMA, schema=SERVICE_SEND_PIN_SCHEMA,
) )