Avoid having to work out the job type for each entity service at startup (#112557)
This commit is contained in:
parent
869128e951
commit
84455dbe1d
2 changed files with 11 additions and 2 deletions
|
@ -2014,9 +2014,10 @@ class Service:
|
||||||
service: str,
|
service: str,
|
||||||
context: Context | None = None,
|
context: Context | None = None,
|
||||||
supports_response: SupportsResponse = SupportsResponse.NONE,
|
supports_response: SupportsResponse = SupportsResponse.NONE,
|
||||||
|
job_type: HassJobType | None = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Initialize a service."""
|
"""Initialize a service."""
|
||||||
self.job = HassJob(func, f"service {domain}.{service}")
|
self.job = HassJob(func, f"service {domain}.{service}", job_type=job_type)
|
||||||
self.schema = schema
|
self.schema = schema
|
||||||
self.supports_response = supports_response
|
self.supports_response = supports_response
|
||||||
|
|
||||||
|
@ -2158,6 +2159,7 @@ class ServiceRegistry:
|
||||||
],
|
],
|
||||||
schema: vol.Schema | None = None,
|
schema: vol.Schema | None = None,
|
||||||
supports_response: SupportsResponse = SupportsResponse.NONE,
|
supports_response: SupportsResponse = SupportsResponse.NONE,
|
||||||
|
job_type: HassJobType | None = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Register a service.
|
"""Register a service.
|
||||||
|
|
||||||
|
@ -2168,7 +2170,12 @@ class ServiceRegistry:
|
||||||
domain = domain.lower()
|
domain = domain.lower()
|
||||||
service = service.lower()
|
service = service.lower()
|
||||||
service_obj = Service(
|
service_obj = Service(
|
||||||
service_func, schema, domain, service, supports_response=supports_response
|
service_func,
|
||||||
|
schema,
|
||||||
|
domain,
|
||||||
|
service,
|
||||||
|
supports_response=supports_response,
|
||||||
|
job_type=job_type,
|
||||||
)
|
)
|
||||||
|
|
||||||
if domain in self._services:
|
if domain in self._services:
|
||||||
|
|
|
@ -22,6 +22,7 @@ from homeassistant.const import (
|
||||||
from homeassistant.core import (
|
from homeassistant.core import (
|
||||||
Event,
|
Event,
|
||||||
HassJob,
|
HassJob,
|
||||||
|
HassJobType,
|
||||||
HomeAssistant,
|
HomeAssistant,
|
||||||
ServiceCall,
|
ServiceCall,
|
||||||
ServiceResponse,
|
ServiceResponse,
|
||||||
|
@ -278,6 +279,7 @@ class EntityComponent(Generic[_EntityT]):
|
||||||
),
|
),
|
||||||
schema,
|
schema,
|
||||||
supports_response,
|
supports_response,
|
||||||
|
job_type=HassJobType.Coroutinefunction,
|
||||||
)
|
)
|
||||||
|
|
||||||
async def async_setup_platform(
|
async def async_setup_platform(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue