Fix siren turn on parameter filtering (#52947)

* Fix siren turn on parameter filtering

* fix test
This commit is contained in:
Raman Gupta 2021-07-12 22:18:04 -04:00 committed by GitHub
parent 6723942bf8
commit 92e4013f73
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 4 deletions

View File

@ -78,10 +78,13 @@ async def async_setup(hass: HomeAssistantType, config: ConfigType) -> bool:
siren: SirenEntity, call: ServiceCall
) -> None:
"""Handle turning a siren on."""
data = {
k: v
for k, v in call.data.items()
if k in (ATTR_TONE, ATTR_DURATION, ATTR_VOLUME_LEVEL)
}
await siren.async_turn_on(
**filter_turn_on_params(
siren, cast(SirenTurnOnServiceParameters, dict(call.data))
)
**filter_turn_on_params(siren, cast(SirenTurnOnServiceParameters, data))
)
component.async_register_entity_service(

View File

@ -105,4 +105,4 @@ async def test_turn_on_strip_attributes(hass):
blocking=True,
)
assert svc_call.called
assert svc_call.call_args_list[0] == call(**{ATTR_ENTITY_ID: [ENTITY_SIREN]})
assert svc_call.call_args_list[0] == call()