core: Unknown parameter in input: "Engine" - Amazon Polly tts
Home Assistant release with the issue:
arch armv7l
dev false
docker true
hassio false
os_name Linux
python_version 3.7.4
timezone Europe/London
version 0.100.1
virtualenv false
Last working Home Assistant release (if known):
0.99.3
Operating environment (Hass.io/Docker/Windows/etc.):
Client: Docker Engine - Community
Version: 19.03.3
API version: 1.40
Go version: go1.12.10
Git commit: a872fc2
Built: Tue Oct 8 01:12:14 2019
OS/Arch: linux/arm
Experimental: false
Kernel Version: 4.19.66-v7l+
Operating System: Raspbian GNU/Linux 10 (buster)
OSType: linux
Architecture: armv7l
CPUs: 4
Total Memory: 3.814GiB
docker image: homeassistant/raspberrypi4-homeassistant
Integration:
https://www.home-assistant.io/integrations/amazon_polly/
Description of problem:
Amazon Polly is broken as of build version 0.100.0b1. I get the error below whenever I make a tts request.
I have updated my configuration.yaml for neural support as detailed in the docs. Apologies if I am a bit premature on raising this issue but I waited for release 0.100 which produced the same error.
My region is ‘eu-west-1’ which is compatible this feature.
2019-10-10 20:17:15 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.2887036368] Parameter validation failed:
Unknown parameter in input: "Engine", must be one of: LexiconNames, OutputFormat, SampleRate, SpeechMarkTypes, Text, TextType, VoiceId, LanguageCode
Problem-relevant configuration.yaml
entries and (fill out even if it seems unimportant):
- platform: amazon_polly
aws_access_key_id: !secret aws_access_key_id
aws_secret_access_key: !secret aws_secret_access_key
region_name: !secret aws_region
text_type: ssml
voice: Amy
sample_rate: 24000
engine: neural
Traceback (if applicable):
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 133, in handle_call_service
connection.context(msg),
File "/usr/src/homeassistant/homeassistant/core.py", line 1233, in async_call
await asyncio.shield(self._execute_service(handler, service_call))
File "/usr/src/homeassistant/homeassistant/core.py", line 1258, in _execute_service
await handler.func(service_call)
File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 152, in async_say_handle
p_type, message, cache=cache, language=language, options=options
File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 326, in async_get_url
engine, key, message, use_cache, language, options
File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 337, in async_get_tts_audio
extension, data = await provider.async_get_tts_audio(message, language, options)
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/homeassistant/homeassistant/components/amazon_polly/tts.py", line 238, in get_tts_audio
VoiceId=voice_id,
File "/usr/local/lib/python3.7/site-packages/botocore/client.py", line 357, in _api_call
return self._make_api_call(operation_name, kwargs)
File "/usr/local/lib/python3.7/site-packages/botocore/client.py", line 634, in _make_api_call
api_params, operation_model, context=request_context)
File "/usr/local/lib/python3.7/site-packages/botocore/client.py", line 682, in _convert_to_request_dict
api_params, operation_model)
File "/usr/local/lib/python3.7/site-packages/botocore/validate.py", line 297, in serialize_to_request
raise ParamValidationError(report=report.generate_report())
botocore.exceptions.ParamValidationError: Parameter validation failed:
Unknown parameter in input: "Engine", must be one of: LexiconNames, OutputFormat, SampleRate, SpeechMarkTypes, Text, TextType, VoiceId, LanguageCode
Additional information:
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Reactions: 6
- Comments: 37 (10 by maintainers)
Upstream seems to be moving along on this nicely. Fingers crossed it’ll be in the next beta.
I can confirm this is broken as well. I have a pretty extensive TTS and it broke with the 100 release. I get the following error:
Going to watch this for a bit before reverting back… I can test if needed.
Okay. I think I’ve got it. There are some library conflicts. The aws component installs
aiobotocore
which installs an older version ofbotocore
which breaksboto3
(polly).I don’t see a compatible library match. aiobotocore installs botocore 1.12.189 boto3==1.9.233 installs botocore 1.12.248
But I don’t know how to fix it 😃
Remember to remove this fix before updating HA! I completely forgot I used the fix @tatunts mentioned and it broke polly. removed it from my CC folder and we’re back to normal! I probably spent an hour on something I should have remembered doing!
Everyone, if you can please test the fix and report back. The powers that be would like it tested before merging.
amazon_polly
is tested, butaws
androute53
have not. https://github.com/home-assistant/home-assistant/pull/28217Thanks @tatunts! This worked, my Polly integration is functioning again (until this makes it into an official HA release anyway). Cheers!
@llluis @tatunts it is working fine now!! Thanks!!
Working, thanks @tatunts
It’s not yet integrated in the official release.