Skip to content

Commit 9346f8d

Browse files
authored
Simplify blink service actions (home-assistant#146508)
1 parent 0af41d9 commit 9346f8d

File tree

2 files changed

+29
-27
lines changed

2 files changed

+29
-27
lines changed

homeassistant/components/blink/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
from .const import DEFAULT_SCAN_INTERVAL, DOMAIN, PLATFORMS
2727
from .coordinator import BlinkConfigEntry, BlinkUpdateCoordinator
28-
from .services import setup_services
28+
from .services import async_setup_services
2929

3030
_LOGGER = logging.getLogger(__name__)
3131

@@ -72,7 +72,7 @@ async def async_migrate_entry(hass: HomeAssistant, entry: BlinkConfigEntry) -> b
7272
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
7373
"""Set up Blink."""
7474

75-
setup_services(hass)
75+
async_setup_services(hass)
7676

7777
return True
7878

homeassistant/components/blink/services.py

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
from homeassistant.config_entries import ConfigEntryState
88
from homeassistant.const import CONF_PIN
9-
from homeassistant.core import HomeAssistant, ServiceCall
9+
from homeassistant.core import HomeAssistant, ServiceCall, callback
1010
from homeassistant.exceptions import HomeAssistantError, ServiceValidationError
1111
from homeassistant.helpers import config_validation as cv
1212

@@ -21,34 +21,36 @@
2121
)
2222

2323

24-
def setup_services(hass: HomeAssistant) -> None:
25-
"""Set up the services for the Blink integration."""
26-
27-
async def send_pin(call: ServiceCall):
28-
"""Call blink to send new pin."""
29-
config_entry: BlinkConfigEntry | None
30-
for entry_id in call.data[ATTR_CONFIG_ENTRY_ID]:
31-
if not (config_entry := hass.config_entries.async_get_entry(entry_id)):
32-
raise ServiceValidationError(
33-
translation_domain=DOMAIN,
34-
translation_key="integration_not_found",
35-
translation_placeholders={"target": DOMAIN},
36-
)
37-
if config_entry.state != ConfigEntryState.LOADED:
38-
raise HomeAssistantError(
39-
translation_domain=DOMAIN,
40-
translation_key="not_loaded",
41-
translation_placeholders={"target": config_entry.title},
42-
)
43-
coordinator = config_entry.runtime_data
44-
await coordinator.api.auth.send_auth_key(
45-
coordinator.api,
46-
call.data[CONF_PIN],
24+
async def _send_pin(call: ServiceCall) -> None:
25+
"""Call blink to send new pin."""
26+
config_entry: BlinkConfigEntry | None
27+
for entry_id in call.data[ATTR_CONFIG_ENTRY_ID]:
28+
if not (config_entry := call.hass.config_entries.async_get_entry(entry_id)):
29+
raise ServiceValidationError(
30+
translation_domain=DOMAIN,
31+
translation_key="integration_not_found",
32+
translation_placeholders={"target": DOMAIN},
33+
)
34+
if config_entry.state != ConfigEntryState.LOADED:
35+
raise HomeAssistantError(
36+
translation_domain=DOMAIN,
37+
translation_key="not_loaded",
38+
translation_placeholders={"target": config_entry.title},
4739
)
40+
coordinator = config_entry.runtime_data
41+
await coordinator.api.auth.send_auth_key(
42+
coordinator.api,
43+
call.data[CONF_PIN],
44+
)
45+
46+
47+
@callback
48+
def async_setup_services(hass: HomeAssistant) -> None:
49+
"""Set up the services for the Blink integration."""
4850

4951
hass.services.async_register(
5052
DOMAIN,
5153
SERVICE_SEND_PIN,
52-
send_pin,
54+
_send_pin,
5355
schema=SERVICE_SEND_PIN_SCHEMA,
5456
)

0 commit comments

Comments
 (0)