diff --git a/homeassistant/components/motioneye/camera.py b/homeassistant/components/motioneye/camera.py index 428e2f31c81..dac5dd7093f 100644 --- a/homeassistant/components/motioneye/camera.py +++ b/homeassistant/components/motioneye/camera.py @@ -77,12 +77,14 @@ SCHEMA_TEXT_OVERLAY = vol.In( ) SCHEMA_SERVICE_SET_TEXT = vol.Schema( vol.All( - { - vol.Optional(KEY_TEXT_OVERLAY_LEFT): SCHEMA_TEXT_OVERLAY, - vol.Optional(KEY_TEXT_OVERLAY_CUSTOM_TEXT_LEFT): cv.string, - vol.Optional(KEY_TEXT_OVERLAY_RIGHT): SCHEMA_TEXT_OVERLAY, - vol.Optional(KEY_TEXT_OVERLAY_CUSTOM_TEXT_RIGHT): cv.string, - }, + cv.make_entity_service_schema( + { + vol.Optional(KEY_TEXT_OVERLAY_LEFT): SCHEMA_TEXT_OVERLAY, + vol.Optional(KEY_TEXT_OVERLAY_CUSTOM_TEXT_LEFT): cv.string, + vol.Optional(KEY_TEXT_OVERLAY_RIGHT): SCHEMA_TEXT_OVERLAY, + vol.Optional(KEY_TEXT_OVERLAY_CUSTOM_TEXT_RIGHT): cv.string, + }, + ), cv.has_at_least_one_key( KEY_TEXT_OVERLAY_LEFT, KEY_TEXT_OVERLAY_CUSTOM_TEXT_LEFT, @@ -90,7 +92,6 @@ SCHEMA_SERVICE_SET_TEXT = vol.Schema( KEY_TEXT_OVERLAY_CUSTOM_TEXT_RIGHT, ), ), - extra=vol.ALLOW_EXTRA, ) diff --git a/tests/components/motioneye/test_camera.py b/tests/components/motioneye/test_camera.py index b3d19237165..c1144256ae2 100644 --- a/tests/components/motioneye/test_camera.py +++ b/tests/components/motioneye/test_camera.py @@ -414,9 +414,9 @@ async def test_set_text_overlay_bad_entity_identifier(hass: HomeAssistant) -> No } client.reset_mock() - await hass.services.async_call(DOMAIN, SERVICE_SET_TEXT_OVERLAY, data) - await hass.async_block_till_done() - assert not client.async_set_camera.called + with pytest.raises(vol.error.MultipleInvalid): + await hass.services.async_call(DOMAIN, SERVICE_SET_TEXT_OVERLAY, data) + await hass.async_block_till_done() async def test_set_text_overlay_bad_empty(hass: HomeAssistant) -> None: