core: tts.say no longer working for any... cloud...google assistant etc

The problem

tts.cloud_say and tts.google_say were working in version before this latest. Now theyre not… all i get is UNKNOWN ERROR

image

What version of Home Assistant Core has the issue?

2022.3

What was the last working version of Home Assistant Core?

2022.2.9

What type of installation are you running?

Home Assistant Container

Integration causing the issue

text to speech

Link to integration documentation on our website

No response

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

2022-03-04 08:55:54 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [3843198256] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 27, in _handle_async_response
    await func(hass, connection, msg)
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 552, in handle_execute_script
    await script_obj.async_run(msg.get("variables"), context=context)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1243, in async_run
    await asyncio.shield(run.async_run())
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 349, in async_run
    await self._async_step(log_exceptions=False)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 367, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 570, in _async_call_service_step
    await service_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1636, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1673, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 206, in async_say_handle
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1636, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1673, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 668, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 931, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 705, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/cast/media_player.py", line 642, in async_play_media
    media_id = async_process_play_media_url(self.hass, media_id)
  File "/usr/src/homeassistant/homeassistant/components/media_player/browse_media.py", line 23, in async_process_play_media_url
    if media_content_id[0] != "/" and not is_hass_url(hass, media_content_id):
  File "/usr/src/homeassistant/homeassistant/helpers/network.py", line 38, in is_hass_url
    parsed = yarl.URL(normalize_url(url))
  File "/usr/src/homeassistant/homeassistant/util/network.py", line 86, in normalize_url
    return str(url.with_port(None))
  File "/usr/local/lib/python3.9/site-packages/yarl/_url.py", line 882, in with_port
    raise ValueError("port replacement is not allowed for relative URLs")
ValueError: port replacement is not allowed for relative URLs

Additional information

No response

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 1
  • Comments: 37 (15 by maintainers)

Most upvoted comments

Nice! We have now validation for this case, so should not happen for other users.

Only remove it if you forwarded port 80 with http and 443 for https. So it all depends on your setup. But i think it’s unrelated to this issue.

One thing that I did notice in the logs is this:

Failed to cast media https://.duckdns.org:8123/api/tts_proxy/aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d_en_-_google_translate.mp3?

It seems to have added the 8123 port, when I have not put the port in my configuration.yaml

Could this be the issue?

Well, this should be based on your external or internal url in settings in the gui not in configuration.yaml, that i think is deprecated.

same problem with tts not “speaking” anymore on google home since 2022.3.1 ; home assistant / configuration info / integration time for : Google Translate Text-to-Speech google_translate
line is empty (no time displayed) ; looks like not loaded…